@charset "utf-8";
:root{
--bk:#322d2c;
--bk_a01:rgba(0,0,0,.1);
--bk_a005:rgba(0,0,0,.05);
--bk_6:#666666;
--bk_c:#cccccc;
--be:#f5eec9;
--pbe:#faf7ea;
--lbr:#99705a;
--ivo:#ccc9bc;
--dgr:#355136;
--wh:#ffffff;
--wh_a01:rgba(255,255,255,.1);
--wh_a04:rgba(255,255,255,.4);
--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);
--px8_24:clamp(0.5rem, 0.251rem + 1.1vw, 1.5rem);
--px11_13:clamp(0.688rem, 0.656rem + 0.14vw, 0.813rem);
--px15_18:clamp(0.938rem, 0.891rem + 0.21vw, 1.125rem);
--px15_19:clamp(0.938rem, 0.875rem + 0.28vw, 1.188rem);
--px16_24:clamp(1rem, 0.876rem + 0.55vw, 1.5rem);
--px16_32:clamp(1rem, 0.751rem + 1.1vw, 2rem);
--px16_48:clamp(1rem, 0.503rem + 2.21vw, 3rem);
--px16_96:clamp(1rem, -0.243rem + 5.52vw, 6rem);
--px17_22:clamp(1.063rem, 0.985rem + 0.35vw, 1.375rem);
--px19_32:clamp(1.188rem, 0.985rem + 0.9vw, 2rem);
--px20_32:clamp(1.25rem, 1.064rem + 0.83vw, 2rem);
--px20_40:clamp(1.25rem, 0.939rem + 1.38vw, 2.5rem);
--px20_44:clamp(1.25rem, 0.877rem + 1.66vw, 2.75rem);
--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_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);
--px80_224:clamp(5rem, 2.762rem + 9.94vw, 14rem);
--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);
--min1024_px48_64:clamp(3rem, 1.694rem + 2.04vw, 4rem);
--min1024_px48_96:clamp(3rem, -0.918rem + 6.12vw, 6rem);
--min1024_px64_96:clamp(4rem, 1.388rem + 4.08vw, 6rem);

--contents01:clamp(1.5rem, -2.602rem + 18.23vw, 18rem)/*24_288 360_1808*/;
--sidebar:clamp(2rem, 1.751rem + 1.1vw, 3rem)/*32_48 360-1808*/;
--gm_inner:clamp(1.5rem, -7.735rem + 41.04vw, 30rem);
--gm_inner_img:clamp(1.25rem, -6.446rem + 34.2vw, 25rem);
--btn01_w:clamp(10.813rem, 10.144rem + 2.97vw, 13.5rem)/*173_216*/;
--btn02_w:clamp(8.813rem, 8.269rem + 2.42vw, 11rem)/*141_176*/;
--btn01_h:clamp(3.125rem, 2.783rem + 1.52vw, 4.5rem)/*50_72*/;
--arrow:clamp(0.75rem, 0.657rem + 0.41vw, 1.125rem)/*12_18*/;
--logo:clamp(4.5rem, 3.381rem + 4.97vw, 9rem)/*72_144*/;
--bgo:clamp(5.375rem, 2.236rem + 13.95vw, 18rem)/*86_288*/;
--plan:clamp(12.5rem, 10.635rem + 8.29vw, 20rem)/*200_320*/;
}

* {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; scrollbar-gutter:stable; overflow-x:hidden;}
@media only screen and (max-width:1023px){
    * {line-height:180%; font-weight:500; letter-spacing:0.05em;}
}
@media only screen and (min-width:1024px){
    * {line-height:180%; font-weight:500; letter-spacing:0.05em;}
}
@media only screen and (min-width:1808px){
    * {line-height:200%; font-weight:500; letter-spacing:0.1em;}
}

/*body*/
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: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_19);}
h1,h2,h3,h4,h5{margin:0; padding:0; line-height:1;}
.content_wrap{position:relative; overflow:hidden; 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:1095px){
.max1095_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:1583px){
.max1583_off{display:none!important;}
}
@media only screen and (min-width:1584px){
.min1584_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 .6s ease-out;}
.fadein.visible{opacity:1;}

/*fadeinup*/
.fadeinup{opacity:0; transform:translateY(30px); transition:opacity .6s ease-out,transform .6s ease-out;}
.fadeinup.visible{opacity:1; transform:translateY(0);}
.fadeinleft{opacity:0; transform:translateX(20px); transition:opacity .6s ease-out,transform .6s ease-out;}
.fadeinleft.visible{opacity:1; transform:translateX(0);}
.fadeinright{opacity:0; transform:translateX(-20px); transition:opacity .6s ease-out,transform .6s ease-out;}
.fadeinright.visible{opacity:1; transform:translateX(0);}

@media only screen and (max-width:1023px){
    .max1023_fadeinup{opacity:0; transform:translateY(30px); transition:opacity .6s ease-out,transform .6s ease-out;}
    .max1023_fadeinup.visible{opacity:1; transform:translateY(0);}
}

@media only screen and (min-width:1024px){
    .min1024_fadeinleft{opacity:0; transform:translateX(20px); transition:opacity .6s ease-out,transform .6s ease-out;}
    .min1024_fadeinleft.visible{opacity:1; transform:translateX(0);}
    .min1024_fadeinright{opacity:0; transform:translateX(-20px); transition:opacity .6s ease-out,transform .6s ease-out;}
    .min1024_fadeinright.visible{opacity:1; transform:translateX(0);}
    .min1024_fadeinup{opacity:0; transform:translateY(30px); transition:opacity .6s ease-out,transform .6s ease-out;}
    .min1024_fadeinup.visible{opacity:1; transform:translateY(0);}
    .min1024_fadein{opacity:0; transition:opacity .6s ease-out;}
    .min1024_fadein.visible{opacity:1;}
}
/* Keep content readable when fade-in JavaScript is unavailable. */
html:not(.fade-enabled) :is(.fadein, .fadeinup, .fadeinleft, .fadeinright, .max1023_fadeinup, .min1024_fadein, .min1024_fadeinup, .min1024_fadeinleft, .min1024_fadeinright){opacity:1; transform:none; transition:none;}
@media (prefers-reduced-motion:reduce), print{
    :is(.fadein, .fadeinup, .fadeinleft, .fadeinright, .max1023_fadeinup, .min1024_fadein, .min1024_fadeinup, .min1024_fadeinleft, .min1024_fadeinright){opacity:1; transform:none; transition:none;}
}
/*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*/
.hamburger{display:none; -webkit-appearance:none; appearance:none; border:0; padding:0; margin:0; background:transparent; touch-action:manipulation;}
.header{width:100%; display:flex; box-sizing:border-box; position:absolute; left:0; top:0; z-index:10;}
.header .logo{display:flex; justify-content:center; align-items:center; flex-shrink:0; overflow:hidden; position:absolute; z-index:2;}
.header .logo a{display:inline-block; width:var(--logo);}
.header .logo_sub{display:inline-block; width:var(--logo);}
.gm_open{box-sizing:border-box;}
.gm_inner{width:100%; box-sizing:border-box; position:relative; display:flex;}
.header .menu{width:100%; display:flex;}
.gm_menu{display:flex; flex-wrap:wrap; box-sizing:border-box;}
.gm_menu .title{display:flex; align-items:center;}
.gm_menu .title a{box-sizing:border-box; display:flex; align-items:center;}
.gm_menu .title a .ajust{color:inherit; line-height:inherit; letter-spacing:inherit; font-size:inherit;}
.header_plan{display:flex; justify-content:center; align-items:center; width:clamp(5.875rem, 5.098rem + 3.45vw, 9rem)/*94_144*/; height:clamp(3.125rem, 3.032rem + 0.41vw, 3.5rem)/*50_56*/; overflow:hidden; flex-shrink:0; box-sizing:border-box; border:1px solid var(--wh); transition:color .3s ease,background-color .3s ease,opacity .3s ease;}
.gm_menu .title a .main,
.header_plan .main{color:var(--wh); line-height:1;}
 @media only screen and (max-width:359px){
    .gm_open.active .gm_menu .title{width:100%; margin-bottom:1em;}
}
@media only screen and (min-width:360px) and (max-width:1023px){
    .gm_open.active .gm_menu .title{width:100%; margin-bottom:1.5em;}
}
@media only screen and (max-width:1023px){
    .hamburger .bar::before,
    .hamburger .bar::after{height:1px;}
}
@media only screen and (min-width:1024px){
    .hamburger .bar::before,
    .hamburger .bar::after{height:2px;}
}
@media only screen and (min-width:1024px) and (max-width:1247px){
    .gm_menu .title a .ajust{display:none;}
}
@media only screen and (max-width:1023px){
    .header{align-items:center;}
    .header .logo{left:clamp(1rem, 0.475rem + 2.75vw, 3rem)/*16_48*/; top:var(--px16_32);}
    .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:all .03s ease; top:clamp(1.25rem, 0.906rem + 1.53vw, 2.313rem)/*20_37*/; display:flex; flex-direction:column; justify-content:center;}
    .hamburger .bar{display:block; position:relative; width:100%; height:var(--max1023_px12_14); transition:all .3s ease;}
    .hamburger .bar::before,
    .hamburger .bar::after{display:block; content:""; position:absolute; left:0; background:var(--bk); filter:drop-shadow(0 1px 0px var(--wh)); pointer-events:none; transition:all .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.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(--bk);}
    .gm_open.active{display:block; opacity:100; overflow:hidden;}  
    .gm_open.active .gm_inner{padding-left:var(--gm_inner); padding-right:var(--gm_inner); display:flex; flex-direction:row; flex-wrap:nowrap; align-items:flex-start; gap:0; box-sizing:border-box; width:100%; height:100%; overflow:auto; position:relative;}
    .header .menu{flex-direction:column; align-items:flex-start; flex:1; min-width:0; margin:0;}
    .gm_open.active .logo_sub{width:calc(var(--logo) + 2.5em); padding-right:2.5em; box-sizing:border-box; flex-shrink:0; align-self:flex-start; margin:0; margin-top:var(--px48_96);}
    .gm_open.active .gm_menu{margin-top:var(--px48_96); margin-bottom:1em;}
    .gm_open.active .gm_menu .title a::before{content:""; display:inline-block; width:.5em; height:1px; background:var(--wh); margin-right:.5em;}
}
@media only screen and (min-width:1024px){
    .header{padding-top:var(--px24_48); padding-right:clamp(1.5rem, -4.378rem + 9.18vw, 6rem)/*24_96*/;}
    .header .logo{left:clamp(1.5rem, -12.214rem + 21.43vw, 12rem)/*24_192*/; top:var(--px24_48);}
    .gm,
    .gm_open,
    .gm_inner{width:100%; height:inherit;align-items:center; justify-content:flex-end;}
    .header .menu{align-items:center; box-sizing:border-box; width:auto;}
    .gm_inner .logo_sub{display:none;}
    .gm_menu{width:100%; justify-content:flex-end; margin-right:1.5em;}
    .gm_menu .title a{padding:0 1.05em; display:flex; justify-content:center; align-items:center;}
    .gm_menu .title a .main{white-space:nowrap; line-height:1;} 
    .gm_menu .title a .main,
    .header_plan .main{font-size:var(--px15_18);}
    .header.on{padding-right:0;}
    .header.on .gm{position:fixed; z-index:10000; left:0; top:0; width:100%; height:48px; box-sizing:border-box; background:rgba(50,45,44,.85); animation:gm_in .4s cubic-bezier(.22,1,.36,1) both;}
    @keyframes gm_in{from{opacity:0; transform:translateY(-16px);}to{opacity:1; transform:translateY(0);}}
    .header.on.is-hiding .gm{animation:gm_out .3s ease both;}
    @keyframes gm_out{from{opacity:1; transform:translateY(0);}to{opacity:0; transform:translateY(-16px);}}
    .header.on .menu{flex-direction:row; width:auto;}
    .header.on .gm_menu .title a{height:48px;}
    .header.on .header_plan{height:48px; border:0px solid var(--wh);}
    .header.on .title .main,
    .header.on .header_plan .main{font-size:15px;}
    .header.on .header_plan{border-width:0;}
    .header.on .header_plan::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--lbr);}
    
    .gm_menu .title:hover a{opacity:.75; transform:translateY(2px);}
    .header.on .gm_menu .title:hover a{opacity:.7; transform:translateY(0);}
}
@media only screen and (min-width:375px) and (max-width:575px){
    .gm_open.active .gm_inner{padding-left:56px;}
    .gm_open.active .gm_inner::before{content:""; display:block; height:100vh; width:24px; position:absolute; top:0; left:0; z-index:2; background:url("../img/parts/gm_inner_after.jpg") no-repeat center left / cover;}
    .gm_open.active .gm_inner::after{content:""; display:block; height:100vh; width:24px; position:absolute; top:0; right:0; z-index:2; background:url("../img/parts/gm_inner_after.jpg") no-repeat center right / cover;}
}
@media only screen and (min-width:576px) and (max-width:1023px){
    .gm_open.active .gm_inner::before,
    .gm_open.active .gm_inner::after{content:""; display:block; height:100vh; width:var(--gm_inner_img); 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;}
}

/*sidebar*/
.sidebar{position:fixed; right:0; bottom:0; transform:translateX(100%); transition:transform .3s ease; z-index:10; display:flex; flex-direction:column; justify-content:center; align-items:center; width:clamp(1.625rem, 1.159rem + 2.07vw, 3.5rem)/*26_56*/; box-sizing:border-box; background:var(--wh_a08);}
.side_pagetop{display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; color:var(--bk); transition:opacity .3s ease;}
.side_pagetop .arrow{display:inline-block; position:relative; width:1px; height:16px; margin-bottom:.75em; background:var(--bk);}
.side_pagetop .arrow::after{content:""; position:absolute; left:0; bottom:0; width:1px; height:0; background:var(--bk_c); transition:height .3s ease;}
.side_pagetop .main{display:flex; flex-direction:column; align-items:center; writing-mode:vertical-rl; font-size:var(--px11_13);  line-height:1;}
.sidebar.on{transform:translateX(0);}
@media only screen and (max-width:1023px){
    .sidebar{padding:1em 0;}
}
@media only screen and (min-width:1024px){
    .sidebar{padding:1.5em 0;}
    .side_pagetop:hover .arrow::after{height:16px;}
    .side_pagetop .arrow{width:1px;}
    .side_pagetop .arrow::after{width:1px;}
    .side_pagetop .main{font-weight:700;}
}

/* Opening loader */
html.is-site-scroll-locked, html.is-site-scroll-locked body{overflow:hidden!important; overscroll-behavior:none;}
.site_loader{position:fixed; inset:0; z-index:20000; display:grid; place-items:center; background:var(--bk); visibility:hidden; pointer-events:none; transform:translateY(-101%); transition:transform .75s cubic-bezier(.76,0,.24,1), visibility 0s .75s;}
html.is-site-loading .site_loader{visibility:visible; pointer-events:auto; transform:translateY(0); transition:none;}
.site_loader_inner{display:flex; flex-direction:column; align-items:center;}
.site_loader_logo{display:block; width:clamp(5rem, 3.5rem + 4vw, 8rem); height:auto;}
.site_loader_line{display:block; position:relative; width:64px; height:2px; margin-top:28px; overflow:hidden; background:var(--wh_a01);}
.site_loader_line::after{content:""; position:absolute; inset:0; background:var(--ivo);}
html.is-site-loading .site_loader_logo{animation:site_loader_logo_in .9s cubic-bezier(.22,1,.36,1) both;}
html.is-site-loading .site_loader_line::after{animation:site_loader_line 1.35s ease-in-out infinite;}
@keyframes site_loader_logo_in{from{opacity:0; transform:translateY(12px) scale(.95); filter:blur(4px);}to{opacity:1; transform:none; filter:blur(0);}}
@keyframes site_loader_line{0%{transform:translateX(-100%) scaleX(.4);}50%{transform:translateX(0) scaleX(1);}100%{transform:translateX(100%) scaleX(.4);}}
@media (prefers-reduced-motion:reduce){
    .site_loader{transition:none;}
    html.is-site-loading .site_loader_logo, html.is-site-loading .site_loader_line::after{animation:none;}
}

/*footer*/
.footer::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:url("../img/parts/footer_bg.jpg") no-repeat center top / cover;}
.footer{display:flex; flex-wrap:wrap; box-sizing:border-box; padding-top:var(--px48_96); padding-bottom:clamp(11.25rem, 8.453rem + 12.43vw, 22.5rem)/*180_360*/; position:relative;}
.footer .box{display:flex; flex-direction:column; align-items:flex-start;}
.footer_logo{width:var(--logo); display:inline-block; transition:all .3s ease;}
.footer .tel,
.footer .fax{display:inline-block;}
.footer .fax{pointer-events:none;}
.footer .tel .title,
.footer .fax .title{width:2.5em; display:inline-block;}
.footer .tel .num,
.footer .fax .num{display:inline-block;}
.footer .menu{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; width:100%;}
.footer .menu .title{display:flex; justify-content:flex-start; align-items:center; transition:all .3s ease;}
.footer .menu .title a{display:flex; align-items:center; width:auto;}
.footer .menu .title a::before{content:""; display:inline-block; background:var(--wh); width:.5em; height:1px; margin-right:.5em;}
.footer .menu .title a .main,
.footer .desc,
.footer .desc a,
.footer .desc span{letter-spacing:0.05em; color:var(--wh);}
@media only screen and (max-width:767px){  
    .footer .box{width:100%;}
    .footer .box01{margin-bottom:var(--px16_24);}
}
@media only screen and (min-width:768px) and (max-width:1023px){
    .footer .box01{width:25%;}
    .footer .box02{width:75%;}
}
@media only screen and (max-width:359px){  
    .footer .box03 .menu .title{width:100%;}
}
@media only screen and (min-width:360px) and (max-width:767px){
    .footer .box03 .menu .title{width:50%;}
}
@media only screen and (min-width:768px) and (max-width:1023px){
    .footer .box03 .menu::after{content:""; display:inline-block; width:33.3333%;}
    .footer .box03 .menu .title{width:33.3333%;}
}
@media only screen and (max-width:1023px){
    .footer{padding-left:var(--contents01); padding-right:var(--contents01); align-items:center;}
    .footer .box03{width:100%; order:-1; margin-bottom:2em;}
    .footer .box03 .menu .title{margin-bottom:.5em;}
}
@media only screen and (min-width:1024px){
    .footer{justify-content:flex-start; align-items:flex-start;}
    .footer .box03 .menu{margin-bottom:var(--px16_24);}
    .footer .box03 .menu::after{content:""; display:inline-block; width:33.3333%;}
    .footer .box03 .menu .title{width:33.3333%; margin-bottom:.75em;}
    .footer .footer_logo:hover{transform:translate(0,4px);}
    .footer .box03 .menu .title a:hover{transform:translate(4px,0);}
    .footer .menu .title a .main,
    .footer .desc,
    .footer .desc a,
    .footer .desc span{line-height:1.8;}
}
@media only screen and (min-width:1024px) and (max-width:1471px){
    .footer .box01{width:15%; margin-left:5%;}
    .footer .box02{width:75%; margin-right:5%;}
    .footer .box03{width:90%; margin-left:5%; order:-1;}
}
@media only screen and (min-width:1472px) and (max-width:1695px){
    .footer .box01{width:15%; margin-left:15%;}
    .footer .box02{width:55%; margin-right:15%;}
    .footer .box03{width:70%; margin-left:15%; order:-1;}
}
@media only screen and (min-width:1696px){
    .footer{justify-content:space-between;}
    .footer .box01{width:12.5%; margin-left:15%;}
    .footer .box02{width:27.5%;}
    .footer .box03{width:30%; margin-right:15%;}
    .footer .box03 .menu{margin-bottom:0;}
}

/*copyright*/
.copyright{display:flex; justify-content:flex-start; margin-top:var(--px64_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;}
    .copyright p{margin-bottom:16px;}
}
@media only screen and (min-width:1024px){
    .copyright{margin-left:5%;}
}
@media only screen and (min-width:1472px){
    .copyright{margin-left:15%;}
}

/*bnplan*/
.bnplan{position:relative; box-sizing:border-box; overflow:hidden; isolation:isolate; display:flex; justify-content:space-between;}
.bnplan .box{content:""; display:inline-block; position:relative; overflow:hidden;}
.bnplan .box::before{content:""; position:absolute; inset:0; transform:scale(1); transition:filter .3s ease, transform .8s cubic-bezier(.22,1,.36,1); pointer-events:none;}
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
    .bnplan:hover .box::before{transform:scale(1.06); filter:brightness(.6);}
}
.bnplan .text{display:flex; flex-direction:column; align-items:flex-start; position:absolute; bottom:0; transform:translate(var(--px24_48),calc(-1*var(--px24_48))); z-index:2;}
.bnplan .text .title{font-size:var(--px20_44); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}
.bnplan .text .sub{margin-top:var(--px8_24); font-size:var(--px16_32);}
.bnplan .text .title,
.bnplan .text .sub{color:var(--wh);}
@media only screen and (max-width:1023px){
    .bnplan{padding-left:var(--contents01); padding-right:var(--contents01);}
    .bnplan .box01{width:100%; height:var(--plan);}
    .bnplan .box02{display:none;}
    .bnplan .text{left:var(--contents01);}
}
@media only screen and (min-width:1024px){
    .bnplan{width:90%; margin-left:5%;}
    .bnplan .box{width:50%; height:clamp(14.063rem, 11.965rem + 9.32vw, 22.5rem)/*225_360*/;}
    .bnplan .box01::after{content:""; display:inline-block; position:absolute; right:0; top:0; width:1px; height:100%; background:var(--wh); z-index:2;}
    .bnplan .text{left:0;}
    .bnplan .btn01{position:relative;}
    .bnplan .btn01::after{content:''; position:absolute; top:0; right:0; width:0; height:100%; z-index:-1; transition:all .5s ease; pointer-events:none; background:var(--bk_a005);}
    .bnplan:hover .btn01::after{left:0; width:100%;}
}
@media only screen and (min-width:1472px){
    .bnplan{width:65%; margin-left:17.5%;}
}

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

/*header_sub*/
.header_sub{width:100%; position:relative;}
.header_sub::after{display:inline-block; content:""; position:absolute; left:0; top:0; width:100%; z-index:1; height:100%; background:linear-gradient(to bottom, rgba(0,0,0,.2) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,.2) 100%); pointer-events:none;}
@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:1023px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:1/.55;}
}
@media only screen and (min-width:1024px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:1/.5;}
}
@media only screen and (min-width:1472px){
	.header_sub,
	.header_sub .img_fit{aspect-ratio:1/0.43;}
}


.header_sub .title{position:absolute; right:var(--px16_96); bottom:clamp(1.25rem, 0.069rem + 5.25vw, 6rem)/*20_96*/; z-index:2; display:flex; flex-direction:column; align-items:flex-end; filter:drop-shadow(0px 0px 24px rgba(0,0,0,.6));}
.header_sub .title .main{font-size:var(--px20_44);}
.header_sub .title .sub{font-size:var(--px16_32); margin-top:var(--px8_24);}
.header_sub .title .main,
.header_sub .title .sub{color:var(--wh); line-height:1;}
