@charset "utf-8";
:root{
    --bk:#000000;
    --bk_2:#222222;
    --bk_3:#333333;
    --bk_4:#444444;
    --bk_6:#666666;
    --bk_8:#888888;
    --bk_c:#cccccc;
    --bk_e:#eeeeee;
    --bk_ef:#efefef;
    --navy:#17184b;
    --wh:#ffffff;
    --wh_a06:rgba(255,255,255,.6);
    --wh_a08:rgba(255,255,255,.8);
    --wh_a09:rgba(255,255,255,.9);
    --px4_8:clamp(0.25rem, 0.188rem + 0.28vw, 0.5rem);
    --px8_16:clamp(0.5rem, 0.376rem + 0.55vw, 1rem);
    --px12_15:clamp(0.75rem, 0.703rem + 0.21vw, 0.938rem);
    --px12_16:clamp(0.75rem, 0.688rem + 0.28vw, 1rem);
    --px13_17:clamp(0.813rem, 0.75rem + 0.28vw, 1.063rem);
    --px14_15:clamp(0.875rem, 0.859rem + 0.07vw, 0.938rem);
    --px14_16:clamp(0.875rem, 0.844rem + 0.14vw, 1rem);
    --px15_16:clamp(0.938rem, 0.922rem + 0.07vw, 1rem);
    --px15_17:clamp(0.938rem, 0.906rem + 0.14vw, 1.063rem);
    --px16_20:clamp(1rem, 0.938rem + 0.28vw, 1.25rem);
    --px16_24:clamp(1rem, 0.876rem + 0.55vw, 1.5rem);
    --px16_32:clamp(1rem, 0.751rem + 1.1vw, 2rem);
    --px16_40:clamp(1rem, 0.627rem + 1.66vw, 2.5rem);
    --px16_48:clamp(1rem, 0.503rem + 2.21vw, 3rem);
    --px18_28:clamp(1.125rem, 0.97rem + 0.69vw, 1.75rem);
    --px18_34:clamp(1.125rem, 0.876rem + 1.1vw, 2.125rem);
    --px19_34:clamp(1.25rem, 1.032rem + 0.97vw, 2.125rem);
    --px20_32:clamp(1.25rem, 1.064rem + 0.83vw, 2rem);
    --px20_28:clamp(1.25rem, 1.126rem + 0.55vw, 1.75rem);
    --px20_40:clamp(1.25rem, 0.939rem + 1.38vw, 2.5rem);
    --px21_40:clamp(1.313rem, 1.017rem + 1.31vw, 2.5rem);
    --px24_32:clamp(1.5rem, 1.376rem + 0.55vw, 2rem);
    --px24_40:clamp(1.5rem, 1.251rem + 1.1vw, 2.5rem);
    --px24_56:clamp(1.5rem, 1.003rem + 2.21vw, 3.5rem);
    --px32_40:clamp(2rem, 1.876rem + 0.55vw, 2.5rem);
    --px32_48:clamp(2rem, 1.751rem + 1.1vw, 3rem);
    --px32_96:clamp(2rem, 1.006rem + 4.42vw, 6rem);
    --px40_96:clamp(2.5rem, 1.63rem + 3.87vw, 6rem);
    --px48_64:clamp(3rem, 2.751rem + 1.1vw, 4rem);
    --px48_96:clamp(3rem, 2.254rem + 3.31vw, 6rem);
    --px48_144:clamp(3rem, 1.508rem + 6.63vw, 9rem);
    --px64_144:clamp(4rem, 2.757rem + 5.52vw, 9rem);
    --px80_120:clamp(5rem, 4.378rem + 2.76vw, 7.5rem);
    --px80_168:clamp(5rem, 3.633rem + 6.08vw, 10.5rem);
    --px88_168:clamp(5.5rem, 4.257rem + 5.52vw, 10.5rem);

    --max1471_px4_8:clamp(0.25rem, 0.169rem + 0.36vw, 0.5rem);
    --max1471_px8_14:clamp(0.5rem, 0.378rem + 0.54vw, 0.875rem);
    --max1471_px8_16:clamp(0.5rem, 0.338rem + 0.bn_plan72vw, 1rem);
    --max1471_px16_24:clamp(1rem, 0.838rem + 0.72vw, 1.5rem);
    --max1471_px16_32:clamp(1rem, 0.676rem + 1.44vw, 2rem);
    --max1471_px24_32:clamp(1.5rem, 1.338rem + 0.72vw, 2rem);
    --max1471_px24_40:clamp(1.5rem, 1.176rem + 1.44vw, 2.5rem);
    --max1471_px28_40:clamp(1.75rem, 1.507rem + 1.08vw, 2.5rem);
    --max1471_px32_48:clamp(2rem, 1.676rem + 1.44vw, 3rem);
    --max1471_px32_64:clamp(2rem, 1.352rem + 2.88vw, 4rem);
    --max1471_px40_48:clamp(2.5rem, 2.338rem + 0.72vw, 3rem);
    --max1471_px48_64:clamp(3rem, 2.676rem + 1.44vw, 4rem);
    --max1471_px48_96:clamp(3rem, 2.028rem + 4.32vw, 6rem);
    --max1471_px40_580:clamp(2.5rem, -8.436rem + 48.6vw, 36.25rem);

    --min1472_px24_32:clamp(1.5rem, -0.69rem + 2.38vw, 2rem);
    --min1472_px40_48:clamp(2.5rem, 0.31rem + 2.38vw, 3rem);
    --min1472_px64_80:clamp(4rem, -0.381rem + 4.76vw, 5rem);
    --min1472_px64_96:clamp(4rem, -4.762rem + 9.52vw, 6rem);

    --contents:clamp(1.5rem, -3.198rem + 20.88vw, 16rem);/*24-256 360-1471*/ 
    --sidebar:clamp(2rem, 1.751rem + 1.1vw, 3rem);/*32-48 360-1808*/
    --logo_tate:clamp(1.813rem, 1.517rem + 1.31vw, 3rem);/*29-48 300-1808*/
    --logo_yoko:clamp(10rem, 8.943rem + 4.7vw, 14.25rem);/*160-228 300-1808*/
    --header_tel:clamp(8.25rem, 7.318rem + 4.14vw, 12rem);/*132-192 360-1808*/
}

* {margin:0; padding:0; font-family:"Zen Old Mincho", sans-serif ,"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro","メイリオ", Meiryo, serif; letter-spacing:0.05em; color:var(--bk);}
html{scroll-behavior:smooth;}
@media only screen and (max-width:1471px){
    * {line-height:180%; font-weight:400;}
}
@media only screen and (min-width:1472px){
    * {line-height:200%; font-weight:400;}
}

/*body*/
body{margin:0; padding:0; text-align:center; -webkit-text-size-adjust:100%; overflow-x:hidden!important; box-sizing:border-box; top:0!important; margin-top:0!important;
max-width:1920px; position:relative; vertical-align:middle;}
@media only screen and (min-width:1920px){
    body{margin-left:auto; margin-right:auto;}
}
video{outline:none; border:none;}
img{-ms-interpolation-mode: bicubic; border:none; margin:0; padding:0;}
ul{list-style-type:none; margin:0; padding:0;}
a{text-decoration:none; outline:none; transition:all 0.3s ease; line-height:1;}
a,p,span,th,td,li,small,dt,dd{box-sizing:border-box; margin:0; text-align:justify; font-size:var(--px15_17)}
h1,h2,h3,h4,h5{margin:0; padding:0; line-height:1;}
article{position:relative;}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img{image-rendering:-webkit-optimize-contrast;}
}

/*padding*/
.p168{padding-top:var(--px80_168); padding-bottom:var(--px80_168);}
.pt168{padding-top:var(--px80_168);}
.pb168{padding-bottom:var(--px80_168);}
.p_ajust01{padding-top:var(--px80_120); padding-bottom:var(--px80_120);}
.pt_ajust01{padding-top:var(--px80_120);}
.pb_ajust01{padding-bottom:var(--px80_120);}
.p_ajust02{padding-top:var(--px80_120); padding-bottom:var(--px80_168);}
.p_pat01{padding-bottom:var(--px88_168);}
@media only screen and (max-width:1471px){
    .p_pat02{padding-bottom:var(--px88_168);}
}
@media only screen and (min-width:1472px){
    .p_pat02{padding-bottom:clamp(5.5rem, 1.646rem + 17.13vw, 21rem);/*88_336*/}
}
@media only screen and (max-width:1471px){
    .p_pat03{padding-top:var(--px80_168); padding-bottom:var(--px80_168);}
}
@media only screen and (min-width:1472px){
    .p_pat03{padding-bottom:var(--px80_168);}
}
@media only screen and (max-width:1471px){
    .p_pat04{padding-top:var(--px80_168); padding-bottom:var(--px80_168);}
}
@media only screen and (min-width:1472px){
    .p_pat04{padding-top:clamp(5rem, 2.141rem + 12.71vw, 16.5rem)/*80_264*/; padding-bottom:var(--px80_168);}
}
@media only screen and (max-width:1471px){
    .p_pat05{padding-bottom:var(--px88_168);}
}
@media only screen and (min-width:1472px){
    .p_pat05{padding-bottom:188px;}
}
@media only screen and (max-width:1471px){
    .p_pat06{padding-top:var(--px80_168); padding-bottom:var(--px80_168);}
}
@media only screen and (min-width:1472px){
    .p_pat06{padding-bottom:var(--px80_120);}
}
/*contents*/
.contents{box-sizing:border-box;}
@media only screen and (max-width:1471px){
    .contents/*{padding-left:var(--contents); padding-right:var(--contents);*/}
}

/*br*/
@media only screen and (max-width:359px){
	.max359_off{display:none!important;}
}
@media only screen and (min-width:360px){
	.min360_off{display:none!important;}
}
@media only screen and (max-width:374px){
	.max374_off{display:none!important;}
}
@media only screen and (min-width:375px){
	.min375_off{display:none!important;}
}
@media only screen and (max-width:399px){
	.max399_off{display:none!important;}
}
@media only screen and (min-width:400px){
	.min400_off{display:none!important;}
}
@media only screen and (max-width:499px){
	.max499_off{display:none!important;}
}
@media only screen and (min-width:500px){
	.min500_off{display:none!important;}
}
@media only screen and (max-width:575px){
	.max575_off{display:none!important;}
}
@media only screen and (min-width:576px){
	.min576_off{display:none!important;}
}
@media only screen and (max-width:767px){
	.max767_off{display:none!important;}
}
@media only screen and (min-width:768px){
	.min768_off{display:none!important;}
}
@media only screen and (max-width:1023px){
	.max1023_off{display:none!important;}
}
@media only screen and (min-width:1024px){
	.min1024_off{display:none!important;}
}
@media only screen and (max-width:1247px){
	.max1247_off{display:none!important;}
}
@media only screen and (min-width:1248px){
	.min1248_off{display:none!important;}
}
@media only screen and (max-width:1471px){
	.max1471_off{display:none!important;}
}
@media only screen and (min-width:1472px){
	.min1472_off{display:none!important;}
}
@media only screen and (max-width:1695px){
	.max1695_off{display:none!important;}
}
@media only screen and (min-width:1696px){
	.min1696_off{display:none!important;}
}
@media only screen and (max-width:1807px){
	.max1807_off{display:none!important;}
}
@media only screen and (min-width:1808px){
	.min1808_off{display:none!important;}
}
@media only screen and (max-width:1895px){
	.max1895_off{display:none!important;}
}
@media only screen and (min-width:1896px){
	.min1896_off{display:none!important;}
}

/*loading*/
.loader_bg{position:fixed; left:0; top:0; width:100vw; height:100vh; z-index:10003; background:var(--wh); display:flex; justify-content:center; align-items:center;}
.loader_logo{opacity:0; width:clamp(2.125rem, 1.721rem + 1.8vw, 3.75rem); display:block;}

@keyframes loader_sp{0%{opacity:0; transform:translate(-10%,-35%);}100%{opacity:1; transform:translate(-10%,-25%);}}
@keyframes loader_pc{0%{opacity:0;}100%{opacity:1;}}
@media only screen and (max-width:1471px){
    .loader_logo{animation:loader_sp .8s ease-in-out .5s forwards;}
}
@media only screen and (min-width:1472px){
    .loader_logo{animation:loader_pc .8s ease-in-out .5s forwards;}
}

/*header*/
.header{display:flex; justify-content:space-between; box-sizing:border-box; transition:all .3s ease; margin-top:var(--px48_96);}
.header .logo{width:var(--logo_tate);}
.header .logo a{display:block;}
.header .header_l{display:flex; flex-direction:column; align-items:center; justify-content:space-between;}
@media only screen and (max-width:575px){
    .header .header_l{width:15%;}
    .header .header_r{width:85%;}
}
@media only screen and (min-width:576px) and (max-width:1247px){
    .header .header_l{width:10%;}
    .header .header_r{width:90%;}
}
@media only screen and (min-width:1248px) and (max-width:1471px){
    .header .header_l{width:7.5%;}
    .header .header_r{width:92.5%;}
}
@media only screen and (max-width:767px){
    .header .sub_pc{display:none;}
}
@media only screen and (min-width:768px){
    .header .sub_pc{display:flex; flex-direction:column; align-items:center;}
    .header .sub_pc .plan{display:flex; flex-direction:column; align-items:center;}
    .header .sub_pc .plan .arrow{content:""; display:inline-block; width:1px; height:var(--px16_24); margin-bottom:.75em; background:var(--bk_2); position:relative;}
    .header .sub_pc .plan .main{writing-mode:vertical-rl; line-height:1; letter-spacing:.1em;}
    .header .sub_pc .instagram{width:var(--px20_28); margin-top:1em;}
}
@media only screen and (min-width:1472px){
    .header{width:100%;}
    .hamburger{display:none;}
    .header .header_l{width:7.5%;}
    .header .header_r{width:85%; margin-right:7.5%; position:relative;}
    .header .sub_pc .instagram{margin-top:1.75em;}
    .header .sub_pc .plan .arrow::after{content:""; display:inline-block; width:1px; height:0; position:absolute; left:0; bottom:0; z-index:2; background:var(--wh_a06); transition:all .3s ease;}
    .header .sub_pc .plan:hover .arrow::after{height:var(--px16_24); top:0;}
}

/*gm*/
.gm_wrap{width:100%;}
.gm_open{box-sizing:border-box;}
.gm_inner{width:100%; box-sizing:border-box;}
.gm_menu{display:flex; flex-wrap:wrap;}
.gm_menu .title{display:flex;}
.gm_menu .main{line-height:1; writing-mode:vertical-rl;}
@media only screen and (min-width:768px) and (max-width:1471px){
    .gm_open.active .gm_inner::before,
    .gm_open.active .gm_inner::after{content:""; display:inline-block; height:100vh; width:clamp(10rem, -6.387rem + 34.14vw, 25rem); position:absolute; z-index:2;}
    .gm_open.active .gm_inner::before{background:url("../img/parts/gm_inner_before.jpg") no-repeat center center / cover; left:0;}
    .gm_open.active .gm_inner::after{background:url("../img/parts/gm_inner_after.jpg") no-repeat center center / cover; right:0;} 
}
@media only screen and (max-width:1471px){
    .gm{width:100%; height:0; margin-top:0; left:0; display:flex; align-items:center}
    .hamburger{position:fixed; z-index:10002; right:clamp(0.688rem, 0.262rem + 1.89vw, 2rem);
    width:var(--max1471_px28_40); height:var(--max1471_px8_14); cursor:pointer; display:block; transition:all .03s ease; top:clamp(1.25rem, 0.926rem + 1.44vw, 2.25rem);}
    .hamburger .bar{display:block; position:relative; width:100%; height:var(--max1471_px8_14); transition:all .3s ease;}
    .hamburger .bar::before,
    .hamburger .bar::after{display:block; content:""; position:absolute; left:0; height:1px; background:var(--bk_2); pointer-events:none; transition:all .3s ease;}
    .hamburger .bar::before{width:100%; top:0;}
    .hamburger .bar::after{width:100%; bottom:0;}
    .hamburger.fixed .bar,
    .hamburger.fixed .bar::before,
    .hamburger.fixed .bar::after{background:var(--bk_2);}
    .hamburger.active .bar{background:transparent;}
    .hamburger.active .bar::before,
    .hamburger.active .bar::after{width:100%; top:.5em; background:var(--bk_2); filter:drop-shadow(0 1px 0px #fff);}
    .hamburger.active .bar::before{transform:rotate(-45deg);}
    .hamburger.active .bar::after{transform:rotate(45deg);}
	.gm_open{display:none; z-index:10001; position:fixed; top:0; left:0; width:100%; height:100vh; opacity:0; transition:opacity .5s ease, visibility .5s ease; background:var(--wh);}
	.gm_open.active{display:block; opacity:100; overflow:hidden;}  
    .gm_open.active .gm_inner{padding-left:var(--max1471_px40_580); padding-right:var(--max1471_px40_580); display:flex; flex-direction:column; box-sizing:border-box; width:100%; height:100%; overflow:auto; position:relative;}   
    .gm_open.active .logo_sub{width:var(--logo_yoko); display:block; margin-left:auto; margin-right:auto; margin-bottom:var(--max1471_px40_48); margin-top:var(--max1471_px48_96);}
    .gm_open.active .gm_menu{justify-content:space-between; flex-direction:row-reverse; margin-bottom:var(--max1471_px40_48);}
    .gm_open.active .contact_sp,
    .gm_open.active .contact_sp a{display:flex; justify-content:flex-start; align-items:center;}
    .gm_open.active .contact_sp .arrow{content:""; display:inline-block; height:1px; width:var(--px16_24); background:var(--bk_2); position:relative; margin-left:.75em;}
    .gm_open.active .plan_sp{margin-bottom:var(--max1471_px40_48); display:inline-block;}
    .gm_open.active .plan_sp a{display:flex; justify-content:flex-start; align-items:center;}
    .gm_open.active .plan_sp .arrow{content:""; display:inline-block; height:1px; width:var(--px16_24); background:var(--bk_2); position:relative; margin-left:.75em;}
    .gm_open.active .address_sp{margin-bottom:clamp(0.625rem, 0.503rem + 0.54vw, 1rem);}
    .gm_open.active .tel_sp{display:flex; flex-direction:column;}
    .gm_open.active .tel_sp a{width:clamp(9.75rem, 9.304rem + 1.98vw, 11.125rem); display:inline-block; margin-bottom:4px;}
    .gm_open.active .instagram_sp{width:var(--px20_28);}

    .gm_open.active .tel_sp,
    .gm_open.active .contact_sp{margin-bottom:var(--px8_16);}
    
    .tel_sp_att{font-size:var(--px13_17); margin-left:-.5em;}
}
@media only screen and (min-width:1472px){
    .gm{transition:all .3s ease; position:absolute; right:0; top:0; z-index:2; width:100%;}
    .gm_open{width:100%;}
    .gm_inner{display:flex; justify-content:flex-end; align-items:center; transition:all .5s ease; width:100%; position:absolute; left:0; top:0; z-index:10; width:100%; height:48px; transform:translate(0,calc(-1*clamp(4rem, 1.81rem + 2.38vw, 4.5rem))); background:var(--wh_a09);}
    .gm .logo_sub{display:none; margin-left:2em; width:180px;}
    .gm_menu{flex-direction:row; justify-content:space-between; width:clamp(49.5rem, 25.405rem + 26.19vw, 55rem); transition:all .3s ease;}
    .gm_menu .title{box-sizing:border-box; justify-content:center; transform:translate(8px 0);}
    .gm_menu .title .main{display:flex; align-items:center; flex-direction:column; letter-spacing:.1em; color:var(--bk); writing-mode:horizontal-tb; font-size:var(--px15_16);}
    .gm_menu .title .main::after{content:""; display:inline-block; background:var(--bk_2); height:1px; width:0; transition:all .3s ease; transform:translate(0,0.75em)}
    .gm_menu .title:hover .main::after{width:100%;}
    
    .gm_open .contact_sp,
    .gm_open .plan_sp,
    .gm_open .tel_sp,
    .gm_open .address_sp,
    .gm_open .instagram_sp{display:none;}
}
@media only screen and (min-width:1472px){
    .header.on .gm_inner{position:fixed; transform:translate(0,0%); justify-content:space-between; padding-right:var(--px32_40);}
    .header.on .gm_menu{margin-top:0;}
    .header.on .gm_menu .title .main::after{transform:translate(0,0.5em)}
    .header.on .gm .logo_sub{display:block;}
}

/*fadein*/
.fadein{opacity:0; transition:all 1.0s ease-out;}
.fadein.visible{opacity:1;}

/*fadeinup*/
.fadeinup{opacity:0; transform:translateY(40px); transition:all 1.0s ease-out;}
.fadeinup.visible{opacity:1; transform:translateY(0);}
@media only screen and (max-width:1471px){
    .max1471_fadeinup{opacity:0; transform:translateY(40px); transition:all 1.0s ease-out;}
    .max1471_fadeinup.visible{opacity:1; transform:translateY(0);}
}
@media only screen and (min-width:1472px){
    .min1472_fadeinup{opacity:0; transform:translateY(40px); transition:all 1.0s ease-out;}
    .min1472_fadeinup.visible{opacity:1; transform:translateY(0);}
}

/*fadeindown*/
.fadeindown{opacity:0; transform:translateY(-40px); transition:all 1.0s ease-out;}
.fadeindown.visible{opacity:1; transform:translateY(0);}

/*tl_text*/
.tl_text{line-height:1;}
.tl_text span{opacity:0; display:inline-block; line-height:1;}
.tl_text span.tl_text_fadein{animation:tl_text_fadeIn 1s forwards;
animation-delay: calc(0.15s * var(--tl_text) + .4s);}
@keyframes tl_text_fadeIn{
    0%{opacity:0; transform:translateY(10%) scale(1.1);}
    100%{opacity:1; transform:translateY(0%) scale(1);}
}

.tl_text01 span{font-size:var(--px18_28); line-height:1; margin-bottom:.1em;}

.tl_text02 span{font-size:var(--px18_28); line-height:1;}
@media only screen and (max-width:767px){
    .tl_text02 span{margin-right:.1em;}
}
@media only screen and (min-width:768px){
    .tl_text02 span{margin-bottom:.1em;}
}

.tl_text03 span{font-size:var(--px18_28); line-height:1;}
@media only screen and (max-width:1471px){
    .tl_text03 span{margin-right:.1em;}
}
@media only screen and (min-width:1472px){
    .tl_text03 span{margin-bottom:.1em;}
}
.tl_text04 span{font-size:var(--px18_34); line-height:1; margin-right:.1em;}
.tl_text05 span{line-height:1; margin-right:.1em;}

.tl_text06 span{line-height:1; margin-right:.1em;}
@media only screen and (max-width:1471px){
    .tl_text06 span{font-size:var(--px18_34);}
}
@media only screen and (min-width:1472px){
    .tl_text06 span{font-size:var(--px18_28);}
}

.tl_text07 span{font-size:var(--px19_34); display:inline-block; line-height:1; margin-bottom:.1em;}

/*wipe*/
@media only screen and (min-width:1472px){
    .wipe{position:relative;}
    .wipe::after{content:''; position:absolute; z-index:1; right:-1%; bottom:0%; width:102%; height:100%; transition:all .6s ease-in-out; transition-delay:1s; opacity:1; background:var(--wh);}
    .wipe.visible::after{width:0%;}
}

/*wipe_tate*/
@media only screen and (min-width:1472px){
    .wipe_tate{position:relative;}
    .wipe_tate::after{content:''; position:absolute; z-index:1; right:-1%; bottom:-1%; width:102%; height:102%; transition:all .6s ease-in-out; transition-delay:1s; opacity:1; background:var(--bk_c);}
    .wipe_tate.visible::after{height:0%;}
}

/*fadeinleft*/
.fadeinleft{display:inline-block; opacity:0; transform:translate(30%,15%); transition:all 1.5s ease; transition-delay:1.2s;}
.fadeinleft.visible{opacity:1; transform:translate(0,0);}

/*fadeinright*/
.fadeinright{display:block; opacity:0; transform:translate(-20%,-15%); transition:all 1.25s ease; transition-delay:1.2s;}
.fadeinright.visible{opacity:1; transform:translate(0,0);}

/*zoomout*/
.zoomout{opacity:0; transform:scale(1.2); transition:all 1s ease; transition-delay:1s;}
.zoomout.visible{opacity:1; transform:scale(1);}

/*separator*/
.separator{opacity:0; transition:all 1s ease; transition-delay:.4s; background:var(--bk_c); width:0; height:1px; margin-left:auto; margin-right:auto; position:relative; transform:rotate(-90deg);}
.separator.visible{opacity:1; transform:rotate(0); width:var(--px80_168);}

/*lead_line*/
.lead_line{opacity:0; transition:all 1s ease; transition-delay:.8s; background:var(--bk_6); width:0; height:1px; margin-left:.75em;}
@media only screen and (max-width:359px){
    .lead_line{display:none;}
}
@media only screen and (max-width:1471px){
    .lead_line.visible{opacity:1; width:var(--max1471_px48_64);}
}
@media only screen and (min-width:1472px){
    .lead_line.visible{opacity:1; width:var(--min1472_px64_96);}
}

/*lead_line_tate*/
.lead_line_tate{content:""; display:inline-block; top:0; left:0;
opacity:0; transition:all 1s ease; transition-delay:.8s; background:var(--bk_6); width:1px; height:0;}
@media only screen and (max-width:1471px){
    .lead_line_tate.visible{opacity:1; height:var(--max1471_px48_64);}
}
@media only screen and (min-width:1472px){
    .lead_line_tate.visible{opacity:1; height:var(--min1472_px64_96);}
}

/*delay*/
.delay02{transition-delay:0.2s;}
.delay04{transition-delay:0.4s;}
.delay06{transition-delay:0.6s;}
.delay08{transition-delay:0.8s;}
.delay10{transition-delay:1.0s;}
.delay12{transition-delay:1.2s;}

/*sidebar*/
.sidebar{position:fixed; right:0!important; bottom:0!important; transition:all .3s ease; transform:translateX(100%); z-index:10; display:flex; flex-direction:column; justify-content:center; align-items:center; width:var(--sidebar); box-sizing:border-box; padding:1em 0;}
.side_plan{display:flex; flex-direction:column; align-items:center;}
.side_plan{margin-bottom:.75em;}
.side_plan .arrow{content:""; display:inline-block; width:1px; height:var(--px16_24); margin-bottom:.75em; background:var(--bk_2); position:relative;}
.side_plan .arrow::after{content:""; display:inline-block; width:1px; height:0; position:absolute; left:0; bottom:0; z-index:2; background:var(--wh_a06); transition:all .3s ease;}
.side_plan .main{writing-mode:vertical-rl; line-height:1; letter-spacing:.1em;}
.side_contact{margin-bottom:1.75em; width:var(--px24_32); display:block; background:var(--navy); border-radius:4px;}
.side_instagram{margin-top:1em; margin-bottom:1.75em; width:var(--px20_28);}
.side_pagetop{display:flex; flex-direction:column; justify-content:center; align-items:center; width:var(--sidebar); transition:all 0.3s ease;}
.side_pagetop .arrow{content:""; display:inline-block; width:1px; height:var(--px16_24); margin-bottom:.75em; background:var(--bk_2); position:relative;}
.side_pagetop .arrow::after{content:""; display:inline-block; width:1px; height:0; position:absolute; left:0; bottom:0; z-index:2; background:var(--wh_a06); transition:all .3s ease;}
.side_pagetop .main{writing-mode:vertical-rl; font-size:var(--px14_15); display:flex; flex-direction:column; align-items:center;}
.side_plan .main{font-size:var(--px15_16);}
@media only screen and (max-width:1471px){
    .sidebar.on{transform:translateX(0%);}
    #TOP02 .side_contact_fa,
    #FACILITIES .side_contact_in{display:none;}
    /*#SUB .side_contact{display:none!important;}*/
}
@media only screen and (min-width:1472px){
    .sidebar.on{transform:translateX(-25%);}
    .side_pagetop{margin-bottom:2em;}
    .side_plan:hover .arrow::after{height:var(--px16_24); top:0;}
    .side_pagetop:hover .arrow::after{height:var(--px16_24); top:0;}
    .side_contact{display:none;}
}

/*bn_plan*/
.bn_plan{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; position:relative; height:clamp(12.5rem, 9.392rem + 13.81vw, 25rem);}
.bn_plan .inner{height:100%; box-sizing:border-box; position:relative;}
.bn_plan .text{position:absolute; z-index:2; display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:flex-start; background:var(--wh); filter:drop-shadow(0px 0px 16px rgba(0,0,0,.1)); width:clamp(6.875rem, 5.974rem + 4.01vw, 10.5rem); height:clamp(10rem, 9.006rem + 4.42vw, 14rem); padding-top:clamp(0.75rem, 0.626rem + 0.55vw, 1.25rem); padding-left:clamp(1rem, 0.782rem + 0.97vw, 1.875rem); padding-right:clamp(1rem, 0.782rem + 0.97vw, 1.875rem); transition:all .3s ease;}
.bn_plan .text .main,
.bn_plan .text .sub_text{writing-mode:vertical-rl; letter-spacing:0.1em; transition:all .3s ease;}
.bn_plan .text .main{font-size:var(--px18_28); line-height:1.5; margin-left:-0.25em; margin-right:-0.25em; width:clamp(3.375rem, 2.909rem + 2.07vw, 5.25rem);}
.bn_plan .text .sub{align-self:flex-end; line-height:1; display:flex; flex-direction:column; align-items:center; transform:translate(0,var(--px16_24));}
.bn_plan .text .sub_text{line-height:1;}
.bn_plan .text .arrow{content:""; display:inline-block; background:var(--bk_2); width:1px; height:var(--px32_48); margin-top:.75em; position:relative; transition:all .3s ease;}
.bn_plan .inner02{background:url("../img/parts/bn_plan02.jpg") no-repeat center center / cover;}
@media only screen and (max-width:499px){
    .bn_plan .inner01{background:url("../img/parts/bn_plan01_sp.jpg") no-repeat center center / cover;}
}
@media only screen and (min-width:500px){
    .bn_plan .inner01{background:url("../img/parts/bn_plan01.jpg") no-repeat center center / cover;}
}
@media only screen and (max-width:767px){
    .bn_plan .inner01{width:100%;}
    .bn_plan .inner02{display:none;}
    .bn_plan .text{left:var(--max1471_px24_40); top:0; transform:translate(0,-15%);}
}
@media only screen and (min-width:768px){
    .bn_plan .inner{width:50%;}
    .bn_plan .text{right:5.88%; top:0; transform:translate(0,-31.7%);}
}
@media only screen and (min-width:1472px){
    .bn_plan{width:85%; margin-left:7.5%;}
    .bn_plan .text:hover{background:var(--bk_2);}
    .bn_plan .text:hover .main,
    .bn_plan .text:hover .sub_text{color:var(--wh);}
    .bn_plan .text:hover .arrow{background:var(--wh);}
    .bn_plan .text .arrow::before{content:""; display:inline-block; position:absolute; left:0; bottom:0; width:1px; height:0; background:var(--bk_c); transition:all .3s ease;}
    .bn_plan .text:hover .arrow::before{top:0; height:100%;}
}

/*footer*/
.footer{padding-top:var(--px48_144); padding-bottom:clamp(6rem, 5.254rem + 3.31vw, 9rem); position:relative;}
.footer_wrap{display:flex; justify-content:space-between; flex-wrap:wrap;}
.footer_wrap .box01{display:flex; flex-direction:column;}
.footer_logo{width:var(--logo_yoko); margin-bottom:20px;}
.footer_menu{display:flex; justify-content:space-between; flex-wrap:wrap; width:100%;}
.footer_menu .title{display:block;}
.footer_wrap .main{display:flex; align-items:center;}
.footer_wrap .main::before{content:""; display:inline-block; width:6px; height:1px; background:var(--bk_2); margin-right:8px;}
.footer_instagram{display:flex; align-items:center;}
.footer_instagram .icon{margin-right:.75em; width:var(--px20_28);}
.footer_instagram .text{letter-spacing:.1em;}
.footer_address,
.footer_address a{line-height:1.8;}
.footer_address a{display:inline-block;}
@media only screen and (max-width:499px){
    .footer_menu .title{width:100%;} 
}
@media only screen and (min-width:500px) and (max-width:1023px){
    .footer_menu .title{width:50%;} 
}
@media only screen and (min-width:1024px) and (max-width:1471px){
    .footer_menu .title{width:33.3333%;} 
}
@media only screen and (max-width:1471px){
    .footer{padding-left:var(--contents); padding-right:var(--contents);}
    .footer_wrap .box{width:100%;}
    .footer_bar{margin-top:1.5em; margin-bottom:1.5em; width:100%; height:1px; background:var(--bk_c);}
    .footer_menu{margin-bottom:.5em;}
    .footer_menu .title{margin-bottom:.5em;}
}
@media only screen and (min-width:1472px){
    .footer_bar{display:none;}
    .footer_wrap{align-items:flex-end;}
    .footer_wrap .box01{width:37.5%; margin-left:17.5%;}
    .footer_wrap .box02{width:27.5%; margin-right:17.5%;}
    .footer_menu{margin-bottom:.5em;}
    .footer_menu .title{width:50%; margin-bottom:.65em;}
}
@media only screen and (min-width:1696px){
    .footer_wrap .box01{width:35%; margin-left:20%;}
    .footer_wrap .box02{width:25%; margin-right:20%;}
}
.copyright{display:flex; margin-top:var(--px32_40);}
.copyright a{width:44px; height:13px; line-height:1; display:flex; align-items:center;}
.copyright p{line-height:1; letter-spacing:0; font-size:clamp(0.75rem, 0.72rem + 0.14vw, 0.875rem);}
@media only screen and (max-width:349px){
    .copyright{flex-direction:column;}
    .copyright a{margin-bottom:8px;}
    .copyright p{margin-bottom:16px;}
}
@media only screen and (min-width:350px){
    .copyright p{margin-left:10px;}
}
@media only screen and (min-width:1472px){
    .copyright{width:65%; margin-left:17.5%;}
}
@media only screen and (min-width:1696px){
    .copyright{width:60%; margin-left:20%;}
}

/*sub_mv*/
.sub_mv{position:relative; overflow:hidden;}
.sub_mv .lead{z-index:2; position:absolute; filter:drop-shadow(0px 0px 16px rgba(0,0,0,.6)); left:50%; top:50%; transform:translate(-50%,-50%);}
.sub_mv .lead_tate{width:var(--px21_40);}
.sub_mv .lead_yoko{width:clamp(10.563rem, 8.185rem + 10.57vw, 20.125rem);}
.sub_mv_gradient{position:absolute; right:0; top:0; width:40%; height:100%;}
@media only screen and (max-width:575px){
	.sub_mv{aspect-ratio:3/2;}
}
@media only screen and (min-width:576px) and (max-width:1247px){
	.sub_mv{aspect-ratio:1/.6;}
}
@media only screen and (min-width:1248px) and (max-width:1471px){
	.sub_mv{aspect-ratio:1/.5;}
}
@media only screen and (max-width:1471px){
    .sub_mv_gradient{background:linear-gradient(to left, rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 100%);}
}
@media only screen and (min-width:1472px){
	.sub_mv{vertical-align:bottom; aspect-ratio:1/0.471; width:100%;}
    .sub_mv_gradient{background:linear-gradient(to left, rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 100%);}
}

.sub_mv.cuisine{background:url("../img/cuisine/sub_mv.jpg")  no-repeat center center / cover;}
.sub_mv.facilities{background:url("../img/facilities/sub_mv.jpg")  no-repeat center center / cover;}
.sub_mv.recommend{background:url("../img/recommend/sub_mv.jpg")  no-repeat center center / cover;}
.sub_mv.access{background:url("../img/access/sub_mv.jpg")  no-repeat center center / cover;}
.sub_mv.news{background:url("../img/news/sub_mv.jpg")  no-repeat center center / cover;}

/*bn_contact*/
.bn_contact{display:flex; flex-direction:column; align-items:center; position:fixed; z-index:11; width:var(--sidebar);}
.bn_contact .icon{width:var(--px24_32); display:inline-block; background:var(--navy); margin-bottom:.75em; border-radius:4px; transition:all .3s ease;}
.bn_contact .main{writing-mode:vertical-rl;}
@media only screen and (max-width:1471px){
    .bn_contact{display:none;}
}
@media only screen and (min-width:1472px){
    .bn_contact{top:10em;}
    .bn_contact:hover .icon{background:var(--bk_6);}
}
@media only screen and (max-width:1471px){
    #TOP02 .header_l,
    #SUB .header_l,
    #FACILITIES .header_l{order:1;}
}
@media only screen and (min-width:1472px){
    #TOP02 .header_l,
    #SUB .header_l,
    #FACILITIES .header_l{order:1; width:7.5%;}
    #TOP02 .header_r,
    #SUB .header_r,
    #FACILITIES .header_r{margin-left:7.5%; margin-right:0;}
    
    #TOP02 .bn_contact,
    #SUB .bn_contact,
    #FACILITIES .bn_contact{left:3.5%; transform:translateX(-50%);}
    #TOP02 .bn_contact.on,
    #SUB .bn_contact.on,
    #FACILITIES .bn_contact.on{left:0%; transform:translateX(25%);}
}
