
.sub main{padding-top:0}
.sh{background:var(--night);color:#fff;padding:calc(110px + clamp(2.5rem,5vw,4.5rem)) 0 clamp(3.5rem,7vw,6rem)}
.shg{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.crumb{font:600 1rem/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:1.4rem}
.crumb a{color:var(--orange);text-decoration:none}.crumb a:hover{text-decoration:underline}
.sh h1{font:700 clamp(2.4rem,5.4vw,4.6rem)/1.02 var(--fh);letter-spacing:-.035em;margin-bottom:1.4rem}
.lead{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.6;max-width:38rem;color:rgba(255,255,255,.92)}
.sh .btns{margin-top:2rem}
.shp{position:relative;aspect-ratio:4/4.4;border-radius:14px;overflow:hidden}
.shp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.si{padding:clamp(3.5rem,7vw,6rem) 0;text-align:center}
.si .wrap{max-width:52rem}
.sil{font:700 clamp(1.5rem,2.8vw,2.3rem)/1.25 var(--fh);letter-spacing:-.02em;margin-bottom:1.4rem}
.si p:not(.sil){font-size:1.2rem;line-height:1.65}
.sw2{background:var(--sand);padding:clamp(4rem,8vw,7rem) 0}
.sw2 h2{font:700 clamp(2rem,4vw,3.3rem)/1.08 var(--fh);letter-spacing:-.03em;text-align:center;max-width:46rem;margin:0 auto clamp(2.2rem,4vw,3.5rem)}
.sb{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,5rem)}
.sb li{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem 0;border-top:1.5px solid rgba(20,32,58,.22)}
.sb svg{width:28px;height:28px;flex:none;margin-top:.1rem}
.sb h3{font:700 1.3rem/1.25 var(--fh);margin-bottom:.4rem}
.sb p{font-size:1.1rem;line-height:1.6;color:var(--muted)}
.sc{background:var(--night);color:#fff;padding:clamp(4rem,8vw,7rem) 0}
.sch{text-align:center;max-width:44rem;margin:0 auto clamp(2.2rem,4vw,3.5rem)}
.sch h2{font:700 clamp(2rem,4vw,3.3rem)/1.08 var(--fh);letter-spacing:-.03em;margin-bottom:1.1rem}
.sch p{font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,.85)}
.scg{list-style:none;padding:0;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2rem);max-width:50rem}
.scg li{background:#1A2744;border-top:3px solid var(--orange);padding:clamp(1.6rem,2.6vw,2.2rem)}
.scg .swi{width:56px;height:56px;border-radius:50%;background:var(--night);color:var(--orange);display:grid;place-items:center;margin-bottom:1.2rem}
.scg .swi svg{width:28px;height:28px}
.scg h3{font:700 1.5rem/1.2 var(--fh);margin-bottom:.6rem}
.scg p{font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.85)}
.scn{text-align:center;font:600 1.2rem/1.4 var(--fb);margin-top:clamp(2rem,4vw,3rem)}
.sp{background:var(--sand);padding:clamp(4rem,8vw,7rem) 0}
.spg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.sp h2{font:700 clamp(1.9rem,3.4vw,2.9rem)/1.1 var(--fh);letter-spacing:-.03em}
.sp .lab2{text-align:left}
.spt{border-left:4px solid var(--orange);padding-left:clamp(1.4rem,3vw,2.4rem)}
.spt p{font-size:1.2rem;line-height:1.65}.spt p+p{margin-top:1rem;font-weight:700}
.sx{text-align:center;padding:clamp(4.5rem,9vw,8rem) 0;background:var(--cream)}
.sx .wrap{max-width:46rem}
.sx h2{font:700 clamp(2.1rem,4.4vw,3.6rem)/1.05 var(--fh);letter-spacing:-.03em;margin-bottom:1.3rem}
.sx p{font-size:1.2rem;line-height:1.65}
.sxs{font-weight:700;margin:1.2rem 0 2rem}
@media (max-width:900px){.spg{grid-template-columns:1fr}.shg{grid-template-columns:1fr}.shp{aspect-ratio:4/3}.sb,.scg{grid-template-columns:1fr}.sh .btns .btn,.sx .btn{width:100%}.sh{padding-top:calc(90px + 2rem)}}

/*stl*/
.stl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,3.5vw,3rem) clamp(1.5rem,3vw,3rem)}
.stl li{border-top:3px solid var(--ink);padding-top:1.4rem}
.stl .sn{width:52px;height:52px;border-radius:50%;background:var(--night);color:var(--orange);display:grid;place-items:center;font:700 1.5rem/1 var(--fh);margin-bottom:1.1rem}
.stl h3{font:700 1.35rem/1.2 var(--fh);letter-spacing:-.015em;margin-bottom:.6rem}
.stl p{font-size:1.1rem;line-height:1.6;color:var(--muted)}
.sb5 li:last-child{grid-column:1/-1}
@media (max-width:900px){.stl{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.stl{grid-template-columns:1fr}.sb5 li:last-child{grid-column:auto}}

/*over*/
.ov{padding:clamp(4rem,8vw,7rem) 0}
.ovh{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.ovh h2{font:700 clamp(2.1rem,4.4vw,3.6rem)/1.05 var(--fh);letter-spacing:-.03em}
.ovf{list-style:none;padding:0;margin:0 auto clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem);max-width:60rem}
.ovf li{border-top:3px solid var(--ink);padding-top:1.1rem}
.ovf b{display:block;font:700 clamp(2.2rem,4vw,3.4rem)/1 var(--fh);letter-spacing:-.03em;color:var(--ink);margin-bottom:.5rem}
.ovf span{font-size:1.1rem;line-height:1.45;color:var(--muted)}
.ovt{max-width:44rem;margin:0 auto}
.ovt p{font-size:1.2rem;line-height:1.7;margin-bottom:1.3rem}
.ovt blockquote{margin:2rem 0 2.2rem;padding-left:clamp(1.2rem,3vw,2rem);border-left:4px solid var(--orange);font:700 clamp(1.5rem,2.8vw,2.2rem)/1.2 var(--fh);letter-spacing:-.02em}
.ovc{text-align:center}.ovc .ovb{font-weight:700}
.ovi{list-style:none;padding:0;margin:clamp(2rem,4vw,3rem) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.ovi li{border-top:3px solid var(--ink);padding-top:1.4rem}
.ovi .swi{width:56px;height:56px;border-radius:50%;background:var(--night);color:var(--orange);display:grid;place-items:center;margin-bottom:1.1rem}
.ovi .swi svg{width:28px;height:28px}
.ovi h3{font:700 1.3rem/1.2 var(--fh);margin-bottom:.5rem}
.ovi p{font-size:1.1rem;line-height:1.55;color:var(--muted)}
.om{background:var(--night);color:#fff;padding:clamp(4.5rem,9vw,8rem) 0;text-align:center}
.om .wrap{max-width:50rem}
.om .lab2{color:var(--orange)}
.om h2{font:700 clamp(2.1rem,4.6vw,3.8rem)/1.06 var(--fh);letter-spacing:-.03em;margin-bottom:1.4rem}
.om p:not(.lab2){font-size:1.25rem;line-height:1.65;color:rgba(255,255,255,.88)}
@media (max-width:900px){.ovf,.ovi{grid-template-columns:1fr}.ovf li{display:grid;grid-template-columns:auto 1fr;column-gap:1.2rem;align-items:center}.ovf b{margin:0}}
@media (min-width:600px) and (max-width:900px){.ovi{grid-template-columns:1fr 1fr}}

/*contact2*/
.cform .rq{display:none}.cform[data-off="1"] .rq{display:inline}
.nb{margin-top:.5rem!important}.nb span{min-height:44px;font-size:1rem}
.cform [hidden]{display:none!important}

/*contact*/
.sh-s{padding-bottom:clamp(2.5rem,5vw,4rem)}
.sh-s h1{font:700 clamp(2.2rem,4.8vw,4rem)/1.05 var(--fh);letter-spacing:-.035em;margin-bottom:1.1rem;max-width:44rem}
.sh-s .lead{max-width:40rem}
.cf{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,7rem)}
.cfg{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.cform fieldset{border:0;border-top:3px solid var(--ink);padding:1.3rem 0 .6rem;margin:0 0 1.8rem;min-width:0}
.cform legend{font:700 1.4rem/1.2 var(--fh);letter-spacing:-.015em;padding:0 1rem 0 0;float:left;width:100%;margin-bottom:1.2rem}
.cform legend+*{clear:both}
.opt{font:500 1rem/1.4 var(--fb);color:var(--muted);letter-spacing:0}
.req{font-size:1rem;color:var(--muted);margin-bottom:1.5rem}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.4rem}
.fl{margin-bottom:1.3rem;min-width:0}
.fl label,.lb{display:block;font:600 1rem/1.3 var(--fb);margin-bottom:.5rem}
.cform b{color:var(--red)}
.cform input:not([type=radio]):not([type=checkbox]),.cform select,.cform textarea{width:100%;min-height:52px;padding:.7rem .9rem;font:400 1rem/1.4 var(--fb);color:var(--ink);background:#fff;border:1.5px solid rgba(20,32,58,.4);border-radius:8px}
.cform textarea{min-height:140px;resize:vertical}
.cform input:focus-visible,.cform select:focus-visible,.cform textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-color:var(--ink)}
.cform [aria-invalid=true]{border-color:var(--red);border-width:2px}
.err{color:var(--red);font:600 1rem/1.4 var(--fb);margin-top:.4rem}
.hint{font-size:1rem;color:var(--muted);margin-top:.4rem;line-height:1.4}
.chs{display:flex;flex-wrap:wrap;gap:.6rem}
.ch{position:relative;display:inline-flex;cursor:pointer;margin:0!important}
.ch input{position:absolute;opacity:0;width:1px;height:1px}
.ch span{display:inline-flex;align-items:center;min-height:48px;padding:.5rem 1.1rem;border:1.5px solid rgba(20,32,58,.4);border-radius:999px;background:#fff;font:500 1rem/1.3 var(--fb);transition:background .15s,color .15s}
.ch:hover span{border-color:var(--ink)}
.ch input:checked+span{background:var(--night);color:#fff;border-color:var(--night)}
.ch input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.ck{display:flex}.ck span{border-radius:8px;border:0;background:transparent;padding:.4rem 0 .4rem 2.2rem;min-height:44px;position:relative;font-weight:400;line-height:1.5;display:block}
.ck span::before{content:"";position:absolute;left:0;top:.5rem;width:24px;height:24px;border:1.5px solid rgba(20,32,58,.5);border-radius:5px;background:#fff}
.ck input:checked+span{background:transparent;color:var(--ink)}
.ck input:checked+span::before{background:var(--night) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23E9822B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;border-color:var(--night)}
.ck input:focus-visible+span::before{outline:3px solid var(--orange);outline-offset:2px}
.ck a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-9999px}
.cform>div>.btn,.cform .btn{width:100%;max-width:22rem;min-height:58px;font-size:1.1rem}
.cok{background:var(--sand);border-left:5px solid var(--orange);padding:clamp(1.6rem,3vw,2.4rem);border-radius:0 12px 12px 0}
.cok h2{font:700 clamp(1.8rem,3vw,2.5rem)/1.1 var(--fh);margin-bottom:.8rem}
.cok p{font-size:1.15rem;line-height:1.6}.cnote{margin-top:1rem;font-size:1rem!important;color:var(--muted)}
.cs{position:sticky;top:110px}
.csb{background:var(--sand);padding:clamp(1.5rem,2.6vw,2.2rem);border-radius:12px;margin-bottom:1.2rem}
.csb h2{font:700 1.35rem/1.2 var(--fh);margin-bottom:.8rem}
.cs .cl{list-style:none;padding:0;margin:0}
.cs .cl a,.cs .cl span{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-size:1.1rem;color:var(--ink);text-decoration:none}
.cs .cl span{color:var(--muted);font-style:italic}
.cs .cl svg{width:22px;height:22px;color:var(--orange);flex:none}
.cs .cl a:hover{text-decoration:underline}
.csn{list-style:none;padding:0;margin:0}
.csn li{display:flex;gap:.9rem;align-items:center;padding:.6rem 0;font-size:1.1rem;line-height:1.4}
.csn b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--night);color:var(--orange);display:grid;place-items:center;font:700 1.05rem/1 var(--fh)}
@media (max-width:900px){.cfg{grid-template-columns:1fr}.cs{position:static}.fg2{grid-template-columns:1fr}.cform .btn{max-width:none}}

/*plan*/
.st4{grid-template-columns:repeat(4,minmax(0,1fr))}
.scp li{text-align:left}
@media (max-width:1000px){.st4{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.st4{grid-template-columns:1fr}}

/*vw*/
.vwn{background:var(--sand);padding:1.6rem 0}
.vwt{font:700 1rem/1 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.vwc{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem}
.vwc a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem 1rem;border:1.5px solid rgba(20,32,58,.4);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font:500 1rem/1.3 var(--fb)}
.vwc a:hover{background:var(--night);color:#fff}
.vw{padding:clamp(3.5rem,7vw,6rem) 0}
.vwg{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,5vw,4rem) clamp(2rem,5vw,5rem)}
.vwg li{border-top:3px solid var(--ink);padding-top:1.5rem;display:flex;flex-direction:column;scroll-margin-top:110px}
.vwg .swi{width:56px;height:56px;border-radius:50%;background:var(--night);color:var(--orange);display:grid;place-items:center;margin-bottom:1.1rem}
.vwg .swi svg{width:28px;height:28px}
.vwg h2{font:700 clamp(1.5rem,2.4vw,2rem)/1.15 var(--fh);letter-spacing:-.02em;margin-bottom:.8rem}
.vwg p{font-size:1.1rem;line-height:1.65;margin-bottom:1.4rem}
.vwa{margin-top:auto;display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center}
.vwa .btn{min-height:48px;padding:.6rem 1.3rem}
.vwl{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font:700 1.05rem/1 var(--fb);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--orange)}
.vwl:hover{color:var(--red)}
@media (max-width:900px){.vwg{grid-template-columns:1fr}}

/*lg*/
.lg{padding:clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,7rem)}
.lgw{max-width:48rem}
.lg h2{font:700 clamp(1.4rem,2.2vw,1.8rem)/1.2 var(--fh);letter-spacing:-.015em;margin:2.4rem 0 .8rem;scroll-margin-top:110px}
.lg p,.lg li{font-size:1.1rem;line-height:1.7}
.lg p{margin-bottom:1rem}
.lg ul{margin:0 0 1rem;padding-left:1.4rem}.lg li{margin-bottom:.5rem}
.lg a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.lg-meta{color:var(--muted);margin-bottom:1.4rem!important}
.lg-note{background:var(--sand);border-left:4px solid var(--orange);padding:1rem 1.2rem;border-radius:0 8px 8px 0}
.ph{background:#FBE9A8;border-radius:4px;padding:0 .3em;color:var(--ink)}

/*pf*/
.pf{padding:clamp(2.5rem,5vw,4.5rem) 0 0}
.pf figure{margin:0;border-radius:14px;overflow:hidden;background:var(--sand)}
.pf img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
.pf2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.7rem,1.6vw,1.2rem)}
.pf2 img{aspect-ratio:4/5}
@media (min-width:900px){.pf2{max-width:60rem;margin-inline:auto}}
@media (max-width:700px){.pf img{aspect-ratio:4/3}}

/*hs*/
.hero-s{display:flex;align-items:flex-end;height:auto;max-height:none;min-height:clamp(430px,58svh,640px)}
.hero-s .ho{position:relative;width:100%;padding-top:calc(92px + 2.5rem)}
@media(max-width:900px){.hero-s .ho{padding-top:calc(72px + 2rem)}}
