@charset "utf-8";
:root{
--bk:#121212;
--bk_6:#666666;
--bk_9:#999999;
--bk_a:#aaaaaa;
--bk_c:#cccccc;
--bk_d:#dddddd;
--bk_a01:rgba(0,0,0,.1);
--bk_a003:rgba(0,0,0,.03);
--bk_a005:rgba(0,0,0,.05);
--ch:#1c1d21;
--dg:#222538;
--wh:#f5f3f0;
--wh_a01:rgba(245,243,240,.1);
--wh_a04:rgba(245,243,240,.4);
--wh_a06:rgba(245,243,240,.6);
--wh_a08:rgba(245,243,240,.8);
--wh_a09:rgba(245,243,240,.9);
--px4_8:clamp(0.25rem, 0.188rem + 0.28vw, 0.5rem);
--px8_16:clamp(0.5rem, 0.376rem + 0.55vw, 1rem);
--px8_24:clamp(0.5rem, 0.251rem + 1.1vw, 1.5rem);
--px11_13:clamp(0.688rem, 0.656rem + 0.14vw, 0.813rem);
--px13_17:clamp(0.813rem, 0.75rem + 0.28vw, 1.063rem);
--px15_17:clamp(0.938rem, 0.906rem + 0.14vw, 1.063rem);
--px16_24:clamp(1rem, 0.876rem + 0.55vw, 1.5rem);
--px16_32:clamp(1rem, 0.751rem + 1.1vw, 2rem);
--px16_96:clamp(1rem, -0.243rem + 5.52vw, 6rem);
--px18_28:clamp(1.125rem, 0.97rem + 0.69vw, 1.75rem);
--px20_36:clamp(1.25rem, 1.001rem + 1.1vw, 2.25rem);
--px20_40:clamp(1.25rem, 0.939rem + 1.38vw, 2.5rem);
--px20_48:clamp(1.25rem, 0.815rem + 1.93vw, 3rem);
--px24_32:clamp(1.5rem, 1.376rem + 0.55vw, 2rem);
--px24_40:clamp(1.5rem, 1.251rem + 1.1vw, 2.5rem);
--px24_48:clamp(1.5rem, 1.127rem + 1.66vw, 3rem);
--px24_64:clamp(1.5rem, 0.878rem + 2.76vw, 4rem);
--px24_96:clamp(1.5rem, 0.381rem + 4.97vw, 6rem);
--px32_40:clamp(2rem, 1.876rem + 0.55vw, 2.5rem);
--px32_48:clamp(2rem, 1.751rem + 1.1vw, 3rem);
--px32_64:clamp(2rem, 1.503rem + 2.21vw, 4rem);
--px48_64:clamp(3rem, 2.751rem + 1.1vw, 4rem);
--px48_96:clamp(3rem, 2.254rem + 3.31vw, 6rem);
--px64_120:clamp(4rem, 3.13rem + 3.87vw, 7.5rem);
--px64_144:clamp(4rem, 2.757rem + 5.52vw, 9rem);
--px64_168:clamp(4rem, 2.384rem + 7.18vw, 10.5rem);
--px64_192:clamp(4rem, 2.011rem + 8.84vw, 12rem);
--px192_288:clamp(12rem, 10.508rem + 6.63vw, 18rem);

--px720_1920:clamp(45rem, 26.354rem + 82.87vw, 120rem);
--max1023_px12_14:clamp(0.75rem, 0.682rem + 0.3vw, 0.875rem);
--max1023_px16_28:clamp(1rem, 0.593rem + 1.81vw, 1.75rem);
--max1023_px24_28:clamp(1.5rem, 1.364rem + 0.6vw, 1.75rem);

--contents01:clamp(1.5rem, -2.602rem + 18.23vw, 18rem)/*24_288 360_1808*/;
--gm_inner:clamp(4rem, -7.403rem + 50.68vw, 25rem)/*64_400*/;
--flex_d_nav:clamp(1rem, 0.503rem + 2.21vw, 3rem);
--flex_d_nav_size:clamp(2rem, 1.767rem + 0.65vw, 2.5rem);
--logo_tate:clamp(2.563rem, 1.925rem + 2.83vw, 5.125rem)/*41_82*/;
--logo_yoko:clamp(8.375rem, 6.293rem + 9.25vw, 16.75rem)/*134_268*/;
--img_height01:clamp(20rem, 13.629rem + 28.31vw, 45.625rem)/*320_730*/;
--btn_w:clamp(10.813rem, 10.517rem + 1.31vw, 12rem)/*173_192*/;
--btn_h:clamp(2.813rem, 2.642rem + 0.76vw, 3.5rem)/*45_56*/;
--ch01_w:clamp(27.5rem, 24.235rem + 5.1vw, 30rem)/*440_480*/;
--bn_h:clamp(13.75rem, 10.331rem + 15.19vw, 27.5rem)/*220_440*/;
--map_h:clamp(15rem, 9.406rem + 24.86vw, 37.5rem)/*240_600*/;
}
* {margin:0; padding:0; font-family:"Zen Old Mincho","Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro",serif; color:var(--bk);}
html{scroll-behavior:smooth;}
@media only screen and (max-width:1023px){
    * {line-height:1.8; font-weight:500; letter-spacing:0.05em;}
}
@media only screen and (min-width:1024px){
    * {line-height:2; font-weight:500; letter-spacing:0.05em;}
}
@media only screen and (min-width:1472px){
    * {line-height:2.5; font-weight:500; letter-spacing:0.1em;}
}

/*body*/
body{animation:loading 1s; position:relative; vertical-align:middle;}
@keyframes loading{
    0%{opacity:0;} 100%{opacity:1;}
}
body::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--wh);}
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; position:relative; vertical-align:middle;}
@media only screen and (max-width:1023px){
    body{width:100%;}
}
@media only screen and (min-width:1024px){
    body{width:100%;}
}
@media only screen and (min-width:1920px){
    body{margin-left:auto; margin-right:auto; max-width:1920px;}
}
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:opacity .3s ease, transform .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; z-index:0;}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
img{image-rendering:-webkit-optimize-contrast;}
}

/*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;}
}

/*fadein*/
.fadein{opacity:0; transition:opacity .8s ease-out, transform .8s ease-out;}
.fadein.visible{opacity:1;}

/*fadeinup*/
.fadeinup{opacity:0; transform:translate3d(0,20px,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
.fadeinup.visible{opacity:1; transform:translate3d(0,0,0);}
.fadeinleft{opacity:0; transform:translate3d(20px,0,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
.fadeinleft.visible{opacity:1; transform:translate3d(0,0,0);}
.fadeinright{opacity:0; transform:translate3d(-20px,0,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
.fadeinright.visible{opacity:1; transform:translate3d(0,0,0);}
@media only screen and (max-width:1023px){
    .max1023_fadeinup{opacity:0; transform:translate3d(0,20px,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
    .max1023_fadeinup.visible{opacity:1; transform:translate3d(0,0,0);}
}
@media only screen and (min-width:1024px){
    .min1024_fadeinleft{opacity:0; transform:translate3d(20px,0,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
    .min1024_fadeinleft.visible{opacity:1; transform:translate3d(0,0,0);}
    .min1024_fadeinright{opacity:0; transform:translate3d(-20px,0,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
    .min1024_fadeinright.visible{opacity:1; transform:translate3d(0,0,0);}
    .min1024_fadeinup{opacity:0; transform:translate3d(0,20px,0); transition:opacity .8s ease-out, transform .8s ease-out; backface-visibility:hidden;}
    .min1024_fadeinup.visible{opacity:1; transform:translate3d(0,0,0);}
    .fadeintt{opacity:0; transform:translate3d(0,20px,0); transition:opacity .8s ease, transform .8s ease; backface-visibility:hidden; will-change:opacity, transform; perspective:1000px; -webkit-font-smoothing:antialiased;}
    .fadeintt.visible{opacity:1; transform:translate3d(0,0,0);}
}

/*zoomout*/
.zoomout{transform:scale(1.1,1.1); transition:opacity .8s ease-out, transform 4s ease-out; backface-visibility:hidden;}
.zoomout.visible{transform:scale(1.0,1.0);}

/*line*/
.interval_line{position:relative; width:100%; height:var(--px64_192);}
.interval_line .line_rotate{content:""; display:inline-block; position:absolute; left:50%; top:50%; z-index:2; width:1px; height:var(--px24_48); background:var(--bk);}
.line_rotate{transform:translate3d(0%,-50%,0) rotate(-90deg); transition:opacity .6s ease-out, transform .6s ease-out; transition-delay:0.2s;}
.line_rotate.visible{transform:translate3d(0%,-50%,0) rotate(0deg);}

.line_yoko_lead{display:flex; justify-content:flex-start; transform-origin:left center; background:var(--bk); width:var(--px48_96); height:1px; transform:scaleX(0); transition:transform 1.4s ease-out; transition-delay:0.4s; backface-visibility:hidden; will-change:transform; margin-left:1em;}
.line_yoko_lead.visible{transform:scaleX(1);}

.line_yoko_cl{display:flex; background:var(--bk); width:var(--px48_96); height:1px; margin-top:var(--px24_32); margin-bottom:var(--px16_24); transform:scaleX(0); transition:transform 1.4s ease-out; transition-delay:0.4s; backface-visibility:hidden; will-change:transform;}
.line_yoko_cl.visible{transform:scaleX(1);}
@media only screen and (max-width:1023px){
    .line_yoko_cl{justify-content:center; transform-origin:center center;}
}
@media only screen and (min-width:1024px){
    .line_yoko_cl{justify-content:flex-start; transform-origin:left center;}
}

.line_yoko_c{display:flex; justify-content:center; background:var(--bk); width:var(--px48_96); height:1px; margin-top:var(--px24_32); margin-bottom:var(--px16_24); transform:scaleX(0); 
transform-origin:center center; transition:transform 1s ease-out; transition-delay:0.4s; backface-visibility:hidden; will-change:transform;}
.line_yoko_c.visible{transform:scaleX(1);}
.line_yoko_c_wh{background:var(--wh);}
.line_yoko_c_ajust01{margin-bottom:var(--px24_48);}

.line_tate_c{display:flex; justify-content:center; background:var(--bk); width:1px; height:var(--px24_48); margin-top:1em; transform:scaleY(0); 
transform-origin:center top; transition:transform 1s ease-out; transition-delay:0.4s; backface-visibility:hidden; will-change:transform;}
.line_tate_c.visible{transform:scaleY(1);}
.line_tate_c_wh{background:var(--wh);}

/*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;}

/*header*/
.header{width:100%; display:flex; box-sizing:border-box; left:0; top:0; z-index:10;}
.header .logo{width:var(--logo_tate)!important; display:inline-block; box-sizing:border-box;}
.header .logo a{display:inline-block; width:var(--logo_tate)!important;}
.header .logo_sub{width:var(--logo_yoko)!important; display:inline-block; box-sizing:border-box;}
.gm_open{box-sizing:border-box;}
.gm_inner{width:100%; box-sizing:border-box; position:relative; display:flex;}
.header .menu{width:100%; display:flex; box-sizing:border-box;}
.gm_menu{display:flex; flex-wrap:wrap; box-sizing:border-box;}
.gm_menu .title{display:flex; justify-content:flex-start; align-items:center; box-sizing:border-box;}
.gm_menu .main{line-height:1; white-space:nowrap;}
@media only screen and (max-width:1023px){
    .header{position:absolute; align-items:center; padding-left:var(--max1023_px16_28); padding-top:var(--px24_48);}
    .gm{width:100%; height:0; margin-top:0; left:0; display:flex; align-items:center}
    .hamburger{position:fixed; z-index:10003; right:var(--max1023_px16_28);
    width:clamp(1.75rem, 1.411rem + 1.51vw, 2.375rem)/*28_38*/; height:var(--max1023_px24_28); cursor:pointer; transition:opacity .05s ease, transform .05s ease; top:clamp(1.188rem, 0.95rem + 1.06vw, 1.625rem)/*19_26*/; display:flex; flex-direction:column; justify-content:center;}
    .hamburger .bar{display:block; position:relative; width:100%; height:var(--max1023_px12_14); transition:opacity .3s ease, transform .3s ease;}
    .hamburger .bar::before,
    .hamburger .bar::after{display:block; content:""; position:absolute; left:0; height:1px; background:var(--bk); filter:drop-shadow(0 1px 0px var(--wh)); pointer-events:none; transition:opacity .3s ease, transform .3s ease;}
    .hamburger .bar::before{width:100%; top:0;}
    .hamburger .bar::after{width:100%; bottom:0;}
    .hamburger.on .bar::before,
    .hamburger.on .bar::after{background:var(--bk); filter:drop-shadow(0 1px 0px var(--wh));}
    .hamburger.fixed .bar,
    .hamburger.fixed .bar::before,
    .hamburger.fixed .bar::after{background:var(--wh);}
    .hamburger.active .bar{background:transparent;}
    .hamburger.active .bar::before,
    .hamburger.active .bar::after{width:100%; top:.5em; background:var(--bk); filter:drop-shadow(0 1px 0px var(--wh));}
    .hamburger.active .bar::before{transform:rotate(-45deg);}
    .hamburger.active .bar::after{transform:rotate(45deg);}
    .gm_open{display:none; z-index:10002; 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{display:flex; flex-direction:column; box-sizing:border-box; width:100%; height:100%; overflow:auto; position:relative;}
    .gm_open.active .gm_menu{margin-bottom:var(--px8_16); justify-content:space-between;}
    .gm_open.active .logo_sub{margin-bottom:var(--px16_24); margin-top:clamp(3rem, 2.457rem + 2.41vw, 4rem)/*48_64*/;}
    .gm_open.active .gm_menu .title{padding-top:.75em; padding-bottom:.75em;}
    .gm_open.active .gm_menu .title a{display:flex; justify-content:flex-start; align-items:center;}
    .gm_open.active .gm_menu .title a::before{display:inline-block; content:""; background:var(--bk); height:1px; width:4px; margin-right:.35em;}
}
@media only screen and (min-width:1024px){
    .header{position:fixed; top:0; justify-content:space-between; padding-top:var(--px24_48); pointer-events:none;}
    .header .logo{margin-left:clamp(2rem, -3.224rem + 8.16vw, 6rem)/*32_96*/; transition:opacity 0.5s ease, visibility 0.5s; opacity:1; visibility:visible; pointer-events:visible;}
    .gm,
    .gm_open,
    .gm_inner{width:100%; height:inherit;}
    .gm_inner{align-items:center; justify-content:flex-end;}
    .header .menu{flex-direction:column-reverse; align-items:flex-end; box-sizing:border-box; padding-right:var(--px32_48);}
    .gm_inner .logo_sub{display:none;}
    .gm_menu{justify-content:space-between; align-items:flex-start; margin-right:-1em; width:clamp(22.813rem, 19.466rem + 5.23vw, 25.375rem)/*365_406*/; transition:opacity .3s ease, transform .3s ease, width .5s ease-out; will-change:width;}
    .gm_menu .title{display:flex; justify-content:center; align-items:center; transition:opacity .3s ease, visibility .3s ease; width:11.1111111%; pointer-events:visible;}
    .gm_menu .title a{display:flex; justify-content:center; align-items:flex-start; width:100%;}
    .gm_menu .title .main{display:inline-block; writing-mode:vertical-rl; color:var(--bk); transition:opacity .3s ease, color .3s ease;}
    .gm_menu.is-white .title .main{color:var(--wh)!important;}
    .gm_menu .title:hover{opacity:.75;}
    .header.on .logo{opacity:0; visibility:hidden;}
    .header.on .gm_menu{width:365px;}
    .header.on .gm_menu .title .main{font-size:16px;}
}
@media only screen and (max-width:359px){
    .gm_open.active .gm_inner{padding-left:var(--contents01); padding-right:var(--contents01);}
    .gm_open.active .gm_menu .title{width:100%;}
}
@media only screen and (min-width:360px) and (max-width:1023px){
    .gm_open.active .logo_sub{transform:translate(var(--px24_48),0);}
    .gm_open.active .menu{padding:0 var(--px24_48);}
    .gm_open.active .gm_menu .title{width:50%;}
    
    .gm_open.active .gm_inner{padding-left:var(--gm_inner);}
    .gm_open.active .gm_inner::before{content:""; display:block; height:100vh; width:var(--gm_inner); 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;}
}
@media only screen and (max-width:359px){
    .header .desc{display:none;}
}
@media only screen and (min-width:360px) and (max-width:1023px){
    .header .desc{display:inline-block; padding:0 var(--px24_48); margin-top:1em;}
    .header .tel,
    .header .fax{display:inline-block;}
    .header .fax{pointer-events:none;}
    .header .tel .title,
    .header .fax .title{width:2.75em; display:inline-block;}
    .header .tel .num,
    .header .fax .num{display:inline-block;}
    .header .fax .num a{display:inline-block;}
    .header .desc,
    .header .tel,
    .header .fax,
    .header .title,
    .header .num{line-height:1.8;}
}
@media only screen and (min-width:1024px){
    .header .desc{display:none;}
}

/*scroll*/
.scroll{display:inline-block; content:""; width:1px; height:var(--px32_64); background:var(--wh); position:absolute; bottom:0; z-index:2;}
.scroll .inner{display:inline-block; content:""; width:100%; height:100%; position:relative;}
.scroll .inner::before{position:absolute; display:inline-block; content:""; width:1px; height:50%; left:0; top:0; background:var(--bk_a); animation:scroll_anime 2s infinite ease-out;}
@keyframes scroll_anime{0%{height:0;} 30%{height:100%;} 45%{height:100%;top:0;} 100%{height:0;top:100%;}}
.scroll .main{writing-mode:vertical-rl; white-space:nowrap; position:absolute; left:50%; top:0; transform:translate(-50%,-110%); color:var(--wh); font-size:var(--px13_17);}
@media only screen and (max-width:499px){
    .scroll{display:none!important;}
}
@media only screen and (max-width:1023px){
    .scroll{left:var(--max1023_px16_28); transform:translate(clamp(0.938rem, 0.802rem + 0.6vw, 1.188rem),0)/*15_19*/;}
}
@media only screen and (min-width:1024px){
    .scroll{left:clamp(2rem, -3.224rem + 8.16vw, 6rem)/*32_96*/;}
}

/*sidebar*/
.sidebar{width:var(--px32_40); height:var(--px32_40); overflow:hidden; border-radius:50%; position:fixed; transition:opacity .5s ease, visibility .5s, transform .5s ease; opacity:0; visibility:hidden; will-change:transform, opacity; background:#232429;}
.sidebar .wrap{display:inline-block; width:100%; height:100%; }
.sidebar.on{opacity:1; visibility:visible;}
@media only screen and (max-width:1023px){
  .sidebar{right:var(--px16_24); bottom:var(--px16_24);}
}
@media only screen and (min-width:1024px){
  .sidebar{right:var(--px32_40); bottom:var(--px32_40); transform:translate(0,-10%);}
  .sidebar:hover{opacity:.75;}
}

/*bnplan*/
.bnplan{width:100%; height:var(--bn_h); box-sizing:border-box;}
.bnplan_wrap{width:100%; height:inherit; display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; box-sizing:border-box; position:relative;}
.bnplan .box{position:relative; height:100%; display:inline-block; transition:opacity .3s ease, filter .3s ease;}
.bnplan .text{position:absolute; left:var(--px16_96); top:0; z-index:2; width:clamp(4.5rem, 4.127rem + 1.66vw, 6rem)/*72_96*/;}
.bnplan .wrap{width:100%; height:100%; background-color:var(--ch); display:flex; justify-content:center; align-items:flex-start; box-sizing:border-box; padding:20px 0; transition:background-color .3s ease, transform .3s ease, opacity .3s ease;}
.bnplan .text .inner{display:flex; justify-content:space-between; align-items:flex-start; width:clamp(2.5rem, 2.314rem + 0.83vw, 3.25rem)/*40_52*/;}
.bnplan .text .title{display:flex; flex-direction:column; align-items:center;}
.bnplan .text .main{font-size:var(--px18_28); line-height:1; white-space:nowrap; letter-spacing:0.05em;}
.bnplan .text .sub{font-size:var(--px13_17);}
.bnplan .text .main,
.bnplan .text .sub{color:var(--wh); writing-mode:vertical-rl;}
.bnplan .text .arrow{width:1px; height:var(--px16_24); background:var(--wh); margin-top:.5em;}
@media only screen and (max-width:1023px){
    .bnplan{padding-left:var(--contents01); padding-right:var(--contents01);}
    .bnplan .box{width:100%;}
    .bnplan .box02{display:none;}
    .bnplan .text{transform:translate(0,-12%);}
}
@media only screen and (min-width:1024px){
    .bnplan .bnplan_wrap{width:90%; margin-left:5%;}
    .bnplan .box{width:50%;}
    .bnplan .text{transform:translate(0,-17.2661%);}
    .bnplan .box02::before{content:""; display:inline-block; position:absolute; left:0; top:0; width:1px; height:100%; background:var(--wh); z-index:2;}
    .bnplan_wrap:hover .box{filter:brightness(.6);}
    .bnplan_wrap:hover .wrap{transform:translateY(4px); background:var(--dg);}
}
@media only screen and (min-width:1472px){
    .bnplan .bnplan_wrap{width:80%; margin-left:10%;}
    .cuisine .bnplan .bnplan_wrap,
    .charge .bnplan .bnplan_wrap,
    .access .bnplan .bnplan_wrap,
    .news .bnplan .bnplan_wrap{width:70%; margin-left:15%;}
}

.bnplan .box01{background:url("../img/parts/bnplan01.jpg") no-repeat center center / cover;}
.bnplan .box02{background:url("../img/parts/bnplan02.jpg") no-repeat center center / cover;}

@media only screen and (max-width:1023px){
    .bnplan .point{right:0; bottom:0; transform:translate(15%,40%);}
}
@media only screen and (min-width:1024px){
    .bnplan .point{right:0; bottom:0; transform:translate(15%,40%);}
}
@media only screen and (min-width:1472px){
    .bnplan .point{transform:translate(57.1428%,55.2995%);}
}

/*footer*/
.footer{width:100%; box-sizing:border-box;}
.footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; box-sizing:border-box; position:relative; padding-top:var(--px48_96); width:100%;}
.footer .box{display:flex; flex-direction:column; align-items:flex-start;}
.logo_footer{width:var(--logo_yoko); display:inline-block; margin-bottom:var(--px16_24);}
.footer .tel,
.footer .fax{display:inline-block;}
.footer .fax{pointer-events:none;}
.footer .tel .title,
.footer .fax .title{width:2.75em; display:inline-block;}
.footer .tel .num,
.footer .fax .num{display:inline-block;}
.footer .fax .num a{display:inline-block; color:var(--wh)!important;}
.footer .menu{display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; width:100%;}
.footer .menu .title{display:flex; justify-content:flex-start; align-items:center;}
.footer .menu .title a{display:flex; justify-content:flex-start; align-items:center;}
.footer .menu .title a::before{content:""; display:inline-block; background:var(--wh); width:4px; height:1px; margin-right:.35em;}
.footer .menu .title a,
.footer .main,
.footer .main span{color:var(--wh); line-height:1;}
.footer .desc,
.footer .tel,
.footer .fax,
.footer .title,
.footer .num{color:var(--wh); line-height:1.8;}
@media only screen and (max-width:399px){
    .footer .desc,
    .footer .tel,
    .footer .fax,
    .footer .title,
    .footer .num{white-space:nowrap;}
}
@media only screen and (max-width:359px){
    .footer .menu .title{width:100%;}
}
@media only screen and (min-width:360px) and (max-width:575px){
    .footer .menu .title{width:50%;}
}
@media only screen and (min-width:576px) and (max-width:767px){
    .footer .menu .title{width:33.3333%;}
}
@media only screen and (min-width:768px) and (max-width:1023px){
    .footer .menu::after{content:""; display:inline-block; width:33.3333%;}
    .footer .menu .title{width:25%;}
}
@media only screen and (max-width:1023px){
    .footer{padding-left:var(--contents01); padding-right:var(--contents01);}
    .footer .wrap{flex-direction:column; align-items:flex-start;}
    .footer .box{width:100%;}   
    .footer .box02{order:-1; margin-bottom:var(--px32_40);}
    .footer .menu .title{margin-bottom:1.5em;}
}
@media only screen and (min-width:1024px){
    .footer .box01{width:40%; margin-left:5%;}
    .footer .box02{width:50%; margin-right:5%;}
    .footer .menu .title{width:25%; margin-bottom:1.5em;}
    .footer .menu .title a:hover{opacity:.75; transform:translateX(2px);}
}
@media only screen and (min-width:1472px){
    .footer .box01{width:30%; margin-left:15%;}
    .footer .box02{width:40%; margin-right:15%;}
}

/*copyright*/
.copyright{display:flex; justify-content:flex-start; margin-bottom:clamp(6rem, 4.881rem + 4.97vw, 10.5rem)/*96_168*/; box-sizing:border-box; width:100%;}
.copyright a{width:44px; height:13px; line-height:1; display:flex; align-items:center; margin-right:.5em;}
.copyright p{line-height:1; letter-spacing:0; font-size:var(--px11_13); color:var(--wh);}
@media only screen and (max-width:349px){
    .copyright{flex-direction:column;}
    .copyright a{margin-bottom:8px;}
}
@media only screen and (max-width:1023px){
    .copyright{margin-top:2em;}
}
@media only screen and (min-width:1024px){
    .copyright{width:90%; margin-left:5%; margin-top:5em;}
}
@media only screen and (min-width:1472px){
    .copyright{width:70%; margin-left:15%;}
}

/*header_sub*/
.header_sub{width:100%; position:relative; overflow:hidden;}
.header_sub::after{display:inline-block; content:""; position:absolute; left:0; top:0; width:100%; z-index:1; height:100%; pointer-events:none;}
@media only screen and (max-width:1023px){
    .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,50%) 0%,rgba(0,0,0,0) 100%);}
}
@media only screen and (min-width:1024px){
    .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,60%) 0%,rgba(0,0,0,0) 100%);}
}
@media only screen and (max-width:575px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:3/2;}
}
@media only screen and (min-width:576px) and (max-width:1471px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:1/.6;}
}
@media only screen and (min-width:1472px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:auto; height:100vh;}
}
.header_sub .img{position:absolute; left:0; top:0; width:100%; height:100%; z-index:-1; overflow:hidden;}

.header_sub .title{width:clamp(2.813rem, 2.315rem + 2.21vw, 4.813rem)/*45_77*/; position:absolute; z-index:2; display:flex; flex-direction:column;}
.header_sub .wrap{display:flex; justify-content:space-between; align-items:flex-start; width:100%;}
.header_sub .title,
.header_sub .title .main,
.header_sub .title .add{filter:drop-shadow(0px 0px 24px rgba(0,0,0,1));}
.header_sub .title .main,
.header_sub .title .sub,
.header_sub .title .add{color:var(--wh);}
.header_sub .title .main,
.header_sub .title .sub{writing-mode:vertical-rl;}
.header_sub .title .main{font-size:clamp(1.375rem, 0.971rem + 1.8vw, 3rem)/*22_48*/; line-height:1;}
.header_sub .title .add{white-space:nowrap; font-size:clamp(0.938rem, 0.86rem + 0.35vw, 1.25rem)/*15_20*/;}

.header_sub .title{left:50%; bottom:50%; transform:translate(-50%,50%); align-items:center;}
.header_sub .title .add{text-align:center; margin-top:var(--px16_24);}
@media only screen and (max-width:374px){
    .concept .header_sub .add{display:none;}
}
@media only screen and (min-width:375px) and (max-width:499px){
    .concept .header_sub .title{bottom:0; transform:translate(-50%,calc(-1*var(--px24_40)));}
}
@media only screen and (min-width:1024px){
    .concept .header_sub .add{line-height:2.5; letter-spacing:0.3em!important;}
}
@media only screen and (min-width:1472px){
    .concept .header_sub .add{line-height:3;}
}

@media only screen and (max-width:1023px){
    .access .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,20%) 0%,rgba(0,0,0,0) 100%);}
    .news .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,20%) 0%,rgba(0,0,0,0) 100%);}
}
@media only screen and (min-width:1024px){
    .access .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,30%) 0%,rgba(0,0,0,0) 100%);}
    .news .header_sub::after{background:linear-gradient(to bottom, rgba(0,0,0,30%) 0%,rgba(0,0,0,0) 100%);}
}

.shukubo .header_sub .title,
.shukubo .header_sub .title .main,
.shukubo .header_sub .title .add{filter:drop-shadow(0px 0px 24px rgba(0,0,0,.4));}
