@charset "utf-8";
/*
	Last Update: 2026/03/09
	Auther: yt
*/
:root {
	--c-beige:#F8E5C0;
	--c-beige-o:#FCF2E0;
	--c-black:#282828;
	--c-white:#FFFFFF;
	--c-red:#D73C16;
	--c-blue-o:#F4F7FE;
}

/*===================================================================
	base layout
===================================================================*/
.wrapper2, .wrapper2-t { padding-top:40px; }
.wrapper2, .wrapper2-b { padding-bottom:40px; }
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:60px; }
	.wrapper, .wrapper-b { padding-bottom:60px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:80px; }
	.wrapper, .wrapper-b { padding-bottom:80px; }
}

.center, .center2, .center3 { padding-left:20px; padding-right:20px; }
.center { max-width:1100px; }
.center2 { max-width:900px; }
.center3 { max-width:600px; }


/*===================================================================
	color / font
===================================================================*/



/*===================================================================
	common class
===================================================================*/


/*===================================================================
	button
===================================================================*/
.button._type1 { display:inline-block; padding:7px; border:1px solid #282828; border-radius:40px; background:transparent; width:177px; max-width:100%; }
.button._type1 .main { font-family:"Zen Kaku Gothic New"; display:flex; align-items:center; text-align:left; padding-left:10px; padding-right:40px; min-height:36px; background:url(../image/btn_arrow.svg) no-repeat right center / 36px auto; font-size:.9em; font-weight:500; letter-spacing:.1em; }
@media (max-width: 767px) {
	.button._type1 { width:138px; }
	.button._type1 .main { padding-right:23px; background-size:23px auto; min-height:23px; }
}

.button._type2 { display:inline-block; padding:10px 20px; border:1px solid #282828; border-radius:40px; background:transparent; min-width:164px; max-width:100%; text-align:center; }
.button._type2 .main { font-weight:500; font-size:.95em; letter-spacing:.1em; line-height:1.4; }


/*===================================================================
	hl
===================================================================*/
.hl_1 { margin-bottom:30px; }
.hl_1 .sub { display:inline-flex; align-items:center; height:40px; font-weight:bold; color:var(--c-red); padding:0 30px; position:relative; margin-bottom:5px; letter-spacing:.1em; }
.hl_1 .sub::before,
.hl_1 .sub::after { content:''; display:block; width:2px; height:100%; background:var(--c-red); position:absolute; top:50%; }
.hl_1 .sub::before { left:10px; transform:translateY(-50%) rotate(-20deg); }
.hl_1 .sub::after { right:10px; transform:translateY(-50%) rotate(20deg); }
.hl_1 .main { font-family:"Zen Kaku Gothic New"; font-weight:bold; font-size:2em; letter-spacing:.1em; } 


/*===================================================================
	layout
===================================================================*/
#base:not(.open) .head_navi_wrap { display:none !important; }
.head_navi_wrap { position:fixed; top:0; right:0; z-index:2000; width:100%; height:100%; display:flex; }
.head_navi_wrap .image_wrap { position:relative; }
.head_navi_wrap .image_wrap img { height:100%; width:auto; object-fit:cover; }
.head_navi_wrap .navi_wrap { flex:1; display:flex; flex-direction:column; align-items:center;  justify-content:space-evenly; background:var(--c-black); color:var(--c-white); padding:120px 20px 20px; container-type:size; min-width:300px; }
.head_navi_wrap .navi_wrap a { color:var(--c-white); }
#head_navi ul { display:flex; gap:min(40px, 8cqw); flex-direction:row-reverse; }
#head_navi ul li a .main { display:inline-block; width:calc(1em + 4px); line-height:1.2; padding:0 2px; }
#head_navi ul li a:hover .main { border-right:1px solid var(--c-white); }
#head_navi_sub ul { display:grid; grid-template-columns:1fr; gap:10px; }
#head_navi_sub ul li a { display:inline-flex; min-height:30px; padding-left:40px; font-size:1.1em; font-weight:500; background:no-repeat left center / auto 30px; }
#head_navi_sub ul li a._instagram { background-image:url(../image/icon_instagram.png); }
#head_navi_sub ul li a._store { background-image:url(../image/icon_store.png); }
#btn_open { position:fixed; width:80px; top:20px; right:20px; z-index:3000; }
#btn_open a { position:relative; display:inline-block; width:100%; aspect-ratio:80/72; background:url(../image/menu_open.png) no-repeat center center / contain; }
#base.open #btn_open a { background-image:url(../image/menu_close.png); }
@media (max-aspect-ratio: 1150/1270) {
	.head_navi_wrap .image_wrap img { display:none; }
}
@media (max-width: 767px) {
	#btn_open { width:60px; }
	.head_navi_wrap .navi_wrap { padding:90px 20px 80px; gap:40px; }
	#head_navi  { flex:1; display:flex; align-items:center; justify-content:center; }
}

#foot { font-family:"Zen Kaku Gothic New"; position:relative; background:url(../image/foot_bg.jpg) no-repeat center center / cover; aspect-ratio:1440/867; padding:2% 10%; margin-top:100px; }
#foot .foot_fixed_btn { position:fixed; bottom:20px; right:20px; z-index:1000; width:264px; }
#foot .foot_fixed_btn.is_end { position:absolute; bottom:calc(100% + 20px); }
#foot .foot_fixed_btn a { display:inline-block; filter:drop-shadow(0 19px 17px rgba(35,24,21,.3)); }
#foot .foot_inner { display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-end; height:100%; gap:2em; margin-bottom:2%; }
#foot .foot_inner .foot_logo img { width:25vw; }
#foot .foot_navi ul { display:grid; grid-template-columns:repeat(2, auto); gap:.75em 2em; }
#foot .foot_navi ul li a { font-size:1em; font-weight:bold; line-height:1.6; }
#foot #copyright { text-align:center; font-weight:bold; font-size:1em; }
@media (min-width: 1441px) {
	#foot { font-size:calc((100vw / 1440px) * 1em); }
}
@media (max-width: 991px) {
	#foot { padding:2% 5%; }
}
@media (max-width: 767px) {
	#foot { aspect-ratio:auto; padding:0; background:var(--c-blue-o); }
	#foot .foot_fixed_btn { right:50%; transform:translateX(42%); }
	#foot .foot_inner { gap:0; margin:0; }
	#foot .foot_inner .foot_logo { background:url(../image/foot_bg-sp.jpg) no-repeat center center / cover; aspect-ratio:375/536; width:100%; display:flex; align-items:flex-end; justify-content:flex-end; padding:13.333vw 5vw; }
	#foot .foot_inner .foot_logo img { width:64vw; }
	#foot .foot_inner .foot_navi { padding:5vw 5vw 10vw; }
	#foot .foot_inner .foot_navi ul li { text-align:right; }
	#foot .foot_inner .foot_navi ul li a { font-size:max(1em, calc((100vw / 375px) * 1em)); }
	#foot #copyright { padding-bottom:2.5vw; }
}