
body{margin:0;background:#F6F5F1}
a{color:#10151C;text-decoration:none}
a:hover{opacity:.65}
.root{font-family:'Noto Sans JP',system-ui,-apple-system,'Hiragino Sans',sans-serif;color:#10151C;-webkit-font-smoothing:antialiased}
.btn:hover{opacity:.85}

/* ---------- 基本（動きが使えない環境でも読める静的な見た目） ---------- */
.act{position:relative;min-height:640px;overflow:hidden;--cx:62%;--cy:46%}
.a1{background:linear-gradient(160deg,#0A1A26,#0D2C40)}
.a2{background:linear-gradient(160deg,#0D1A10,#1A2D12)}
.a3{background:linear-gradient(160deg,#1F1805,#33230A)}
.a4{background:linear-gradient(160deg,#0B0F14,#141B26)}
.scn{display:none;position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none}
.tx{position:absolute;z-index:2;left:8%;right:8%;bottom:110px;max-width:600px}
.av{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05) brightness(.85)}
.asc{position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 35%),linear-gradient(90deg,rgba(var(--rgb),.78) 0%,rgba(var(--rgb),.45) 50%,rgba(var(--rgb),.15) 100%)}
.asc::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;background:var(--tint);mix-blend-mode:multiply}
.a1{--rgb:6,16,26;--tint:rgba(13,70,110,.3)}
.a2{--rgb:8,20,10;--tint:rgba(40,90,15,.3)}
.a3{--rgb:26,16,4;--tint:rgba(120,70,5,.28)}
.a4{--rgb:12,12,14;--tint:rgba(60,45,20,.2)}
.hud{display:none}
.ring{position:absolute;left:var(--cx);top:var(--cy);width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;border:1px solid rgba(77,177,230,.6)}
.ring.r-b{width:340px;height:340px;margin:-170px 0 0 -170px}
.drop{position:absolute;left:var(--cx);top:var(--cy);width:34px;height:46px;margin:-23px 0 0 -17px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:linear-gradient(#BFE6FA,#4DB1E6);box-shadow:0 0 60px 12px rgba(77,177,230,.45)}
.surface{position:absolute;left:var(--cx);top:var(--cy);width:380px;height:1px;margin:90px 0 0 -190px;background:rgba(191,230,250,.5)}
.box{position:absolute;top:var(--cy);width:150px;height:120px;margin-top:-60px;border-radius:14px;background:linear-gradient(#F4F1EA,#D4CFC1)}
.box::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:14px;margin-left:-7px;background:#7FC41F}
.b1{left:26%}.b2{left:44%}.b3{left:62%}
.floor{position:absolute;left:0;right:0;top:var(--cy);height:1px;margin-top:80px;background:rgba(255,255,255,.18)}
.sun{position:absolute;left:var(--cx);top:var(--cy);width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,#FFF3B0,#F7DC0E 35%,rgba(245,154,12,.55) 55%,rgba(245,154,12,0) 72%)}
.orbit{position:absolute;left:var(--cx);top:var(--cy);width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;border:2px dashed rgba(247,220,14,.6)}
.sp{position:absolute;left:var(--cx);top:var(--cy);width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;mix-blend-mode:screen}
.sp1{background:radial-gradient(circle,#F59A0C,rgba(245,154,12,.15) 70%);transform:translate(-50px,-20px)}
.sp2{background:radial-gradient(circle,#7FC41F,rgba(127,196,31,.15) 70%);transform:translate(50px,-20px)}
.sp3{background:radial-gradient(circle,#4DB1E6,rgba(77,177,230,.15) 70%);transform:translate(0,44px)}
.gring{position:absolute;left:var(--cx);top:var(--cy);width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;border:12px solid #F7DC0E;box-shadow:0 0 70px rgba(247,220,14,.45)}
.cn{flex:0 1 110px;min-width:48px;display:flex;align-items:center}
.cb{position:relative;width:100%;height:2px;background:#10151C;transform-origin:left}
.cb::after{content:"";position:absolute;right:-1px;top:-4px;width:10px;height:10px;border-top:2px solid #10151C;border-right:2px solid #10151C;transform:rotate(45deg)}
.rb{flex:1;height:2px;background:#4A7A0E;transform-origin:right;position:relative}
.rb.rb-l::before{content:"";position:absolute;left:-1px;top:-4px;width:10px;height:10px;border-left:2px solid #4A7A0E;border-bottom:2px solid #4A7A0E;transform:rotate(45deg)}
.kv{position:relative;height:520px;overflow:hidden}
.kr{position:absolute;left:50%;top:200px;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;border:8px solid #F7DC0E;opacity:.7}
.hd{position:absolute;left:50%;top:200px;width:152px;height:250px;margin-left:-76px;transform-origin:50% 0;transform:rotate(var(--a)) translateY(-36px)}
.hd1{--a:0deg;color:#F59A0C;z-index:1}
.hd2{--a:120deg;color:#7FC41F;z-index:2}
.hd3{--a:240deg;color:#4DB1E6;z-index:3}

/* ---------- ヒーロー（背景動画＋文字が読める色合い） ---------- */
.hvph{position:absolute;left:0;top:0;right:0;bottom:0;background:url(/assets/hero_poster.jpg) center/cover no-repeat,#12333A}
.vdot{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:radial-gradient(circle,rgba(255,255,255,.34) 0 1px,transparent 1.45px),radial-gradient(circle,rgba(0,0,0,.38) 0 1px,transparent 1.45px);background-size:5px 5px;background-position:0 0,2.5px 2.5px}
.mcard .vdot{z-index:-1}
.hv{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.8)}
.hscrim{position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,17,.66) 0%,rgba(8,12,17,.4) 42%,rgba(8,12,17,.72) 100%)}
.mcard{position:relative;overflow:hidden;isolation:isolate}
.mv{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.9) brightness(.85)}
.mscrim{position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;background:linear-gradient(90deg,rgba(12,16,22,.84) 0%,rgba(12,16,22,.62) 55%,rgba(12,16,22,.42) 100%)}
.mbar{position:absolute;left:0;top:0;right:0;height:6px;display:flex;z-index:1}
.mbar span{flex:1}
.lg{display:inline-flex;align-items:center;gap:14px;padding:6px 0}
.lg .lm{height:44px;width:auto;display:block}
.lg .lw{height:34px;width:auto;display:block}
@media (max-width:600px){.lg .lm{height:36px}.lg .lw{height:27px}}
@media (prefers-reduced-motion:reduce){.mv{display:none}}
.hscrim::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(18,64,58,.3);mix-blend-mode:multiply}
.hx h1,.hx p{text-shadow:0 2px 28px rgba(0,0,0,.35)}
@media (prefers-reduced-motion:reduce){.hv,.av,.asc{display:none}.scn{display:block}}

/* ---------- スクロールに連動して動く部分（対応ブラウザのみ・動きを減らす設定では静止） ---------- */
@media (prefers-reduced-motion: no-preference){
@supports (animation-timeline: view()){
.story{view-timeline:--story block;height:calc(max(100vh,560px) + 2240px)}
.stage{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden}
.act{position:absolute;left:0;top:0;right:0;bottom:0;min-height:0;opacity:0}
.hud{display:block}
.a1{--s:contain 0%;--e:contain 28%;animation-name:fadeFirst}
.a2{--s:contain 24%;--e:contain 54%;animation-name:fadeMid}
.a3{--s:contain 50%;--e:contain 80%;animation-name:fadeMid}
.a4{--s:contain 76%;--e:contain 100%;animation-name:fadeLast}
.act,.act .tx,.act .scn *{animation-timeline:--story;animation-range:var(--s) var(--e);animation-timing-function:linear;animation-fill-mode:both}
.a1 .tx{animation-name:riseFirst}
.a2 .tx,.a3 .tx{animation-name:riseMid}
.a4 .tx{animation-name:riseLast}
.drop{animation-name:dropMove}
.ring.r-a{animation-name:ringGrow}
.ring.r-b{animation-name:ringGrow2}
.b1{animation-name:slide1}
.b2{animation-name:slide2}
.b3{animation-name:slide3}
.sun{animation-name:sunUp}
.orbit{animation-name:spin}
.sp1{animation-name:cv1}
.sp2{animation-name:cv2}
.sp3{animation-name:cv3}
.gring{animation-name:gringIn}
.hbar{transform:scaleX(0);animation-name:grow;animation-timeline:--story;animation-range:contain 0% contain 100%;animation-timing-function:linear;animation-fill-mode:both}

.hx,.o1,.o2{animation-timeline:view();animation-range:exit 0% exit 85%;animation-timing-function:linear;animation-fill-mode:both}
.hx{animation-name:heroOut}
.o1{animation-name:orbA}
.o2{animation-name:orbB}
.rv{animation-name:rv;animation-timeline:view();animation-range:entry 0% entry 45%;animation-timing-function:linear;animation-fill-mode:both}
.hl{color:#7B828C;animation-name:hl;animation-timeline:view();animation-timing-function:linear;animation-fill-mode:both}
.h1{animation-range:cover 16% cover 28%}
.h2{animation-range:cover 24% cover 36%}
.h3{animation-range:cover 32% cover 44%}
.h4{animation-range:cover 40% cover 52%}

.dg{view-timeline:--dg block}
.dn,.dg .cb{animation-timeline:--dg;animation-timing-function:linear;animation-fill-mode:both}
.dn{animation-name:nodeIn}
.dg .cb{animation-name:lineGrow}
.n1{animation-range:cover 8% cover 20%}
.c1 .cb{animation-range:cover 16% cover 28%}
.n2{animation-range:cover 24% cover 34%}
.c2 .cb{animation-range:cover 30% cover 42%}
.n3{animation-range:cover 38% cover 48%}
.rt{view-timeline:--rt block}
.rt .rb,.rt .rl{animation-timeline:--dg;animation-timing-function:linear;animation-fill-mode:both}
.rt .rb{animation-name:lineGrow;animation-range:cover 44% cover 58%}
.rt .rl{animation-name:nodeIn;animation-range:cover 48% cover 58%}

.kv{view-timeline:--kv block}
.hd,.kr{animation-timeline:--kv;animation-timing-function:ease-out;animation-fill-mode:both}
.hd{animation-name:hIn;animation-range:cover 8% cover 46%}
.hd2{animation-range:cover 12% cover 48%}
.hd3{animation-range:cover 16% cover 50%}
.kr{animation-name:krBurst;animation-range:cover 46% cover 68%;opacity:1}
}
}

@keyframes fadeFirst{0%,88%{opacity:1}100%{opacity:0}}
@keyframes fadeMid{0%{opacity:0}12%,88%{opacity:1}100%{opacity:0}}
@keyframes fadeLast{0%{opacity:0}12%,100%{opacity:1}}
@keyframes riseFirst{0%,70%{transform:none}100%{transform:translateY(-36px)}}
@keyframes riseMid{0%{transform:translateY(48px)}18%,70%{transform:none}100%{transform:translateY(-36px)}}
@keyframes riseLast{0%{transform:translateY(48px)}18%,100%{transform:none}}
@keyframes dropMove{from{transform:translateY(-190px)}to{transform:translateY(150px)}}
@keyframes ringGrow{from{transform:scale(.45);opacity:.9}to{transform:scale(1.5);opacity:0}}
@keyframes ringGrow2{from{transform:scale(.3);opacity:.9}to{transform:scale(1.9);opacity:0}}
@keyframes slide1{from{transform:translateX(-640px)}to{transform:translateX(560px)}}
@keyframes slide2{from{transform:translateX(-860px)}to{transform:translateX(420px)}}
@keyframes slide3{from{transform:translateX(-1060px)}to{transform:translateX(300px)}}
@keyframes sunUp{from{transform:translateY(140px) scale(.7)}to{transform:translateY(-20px) scale(1.15)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(140deg)}}
@keyframes cv1{from{transform:translate(-420px,-200px)}to{transform:translate(-50px,-20px)}}
@keyframes cv2{from{transform:translate(420px,-200px)}to{transform:translate(50px,-20px)}}
@keyframes cv3{from{transform:translate(0,340px)}to{transform:translate(0,44px)}}
@keyframes gringIn{0%,40%{opacity:0;transform:scale(.5)}100%{opacity:1;transform:scale(1)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes heroOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-90px) scale(.96)}}
@keyframes orbA{from{transform:translateY(0)}to{transform:translateY(160px)}}
@keyframes orbB{from{transform:translateY(0)}to{transform:translateY(-120px)}}
@keyframes rv{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}
@keyframes hl{from{color:#7B828C}to{color:#10151C}}
@keyframes nodeIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lineGrowY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes hIn{from{opacity:0;transform:rotate(var(--a)) translateY(460px)}35%{opacity:1}to{opacity:1;transform:rotate(var(--a)) translateY(-36px)}}
@keyframes krBurst{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(1.9)}}

@media (max-width:700px){
.sec{padding-left:20px!important;padding-right:20px!important}
.act{--cx:50%;--cy:30%}
.ring{width:340px;height:340px;margin:-170px 0 0 -170px}
.ring.r-b{width:220px;height:220px;margin:-110px 0 0 -110px}
.sun,.orbit{width:300px;height:300px;margin:-150px 0 0 -150px}
.gring{width:260px;height:260px;margin:-130px 0 0 -130px}
.sp{width:150px;height:150px;margin:-75px 0 0 -75px}
.b1{left:10%}.b2{left:34%}.b3{left:58%}
.box{width:110px;height:90px;margin-top:-45px}
.dg{flex-direction:column}
.cn{flex:0 0 56px;justify-content:center}
.dg .cb{width:2px;height:100%;transform-origin:top;animation-name:lineGrowY}
.cb::after{right:auto;left:-4px;top:auto;bottom:-1px;transform:rotate(135deg)}
.kv{height:440px}
.hd{width:122px;height:200px;margin-left:-61px;top:170px}
.kr{width:240px;height:240px;margin:-120px 0 0 -120px;top:170px}
}

/* ---------- C案：明暗ミックス・柱ごとに1色 ---------- */
.ser{font-family:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif}
.eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.3em}
.mk{background:linear-gradient(transparent 62%,#F7DC0E 62%)}
.rm{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:999px;border:1px solid #10151C;font-size:14px;font-weight:700}
.rm::after{content:"→";font-size:15px}
.hl2{display:block;height:1px;background:rgba(16,21,28,.18);margin:28px 0}

.tri{position:relative;width:min(560px,86vw);aspect-ratio:1/1;margin:0 auto}
.tc{position:absolute;width:58%;aspect-ratio:1/1;border-radius:50%;box-sizing:border-box;border:1.5px solid;mix-blend-mode:multiply}
.tc1{left:21%;top:2%;background:rgba(245,154,12,.2);border-color:#F59A0C}
.tc2{left:2%;top:35%;background:rgba(127,196,31,.22);border-color:#7FC41F}
.tc3{left:40%;top:35%;background:rgba(77,177,230,.22);border-color:#4DB1E6}
.tv{position:absolute;left:50%;top:54%;width:17%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:#F7DC0E;display:grid;place-items:center;font-weight:700;font-size:clamp(14px,1.8vw,20px);color:#10151C;z-index:2}
.tl{position:absolute;transform:translate(-50%,-50%);text-align:center;z-index:2;line-height:1.35}
.tl span{display:block;font-size:11px;letter-spacing:.24em;font-weight:700}
.tl b{display:block;font-size:clamp(16px,2vw,22px)}
.tl1{left:50%;top:16%;color:#A85600}
.tl2{left:20%;top:72%;color:#3D6A08}
.tl3{left:80%;top:72%;color:#17709F}

.pil{position:relative;background:#F1EEE6}
.pl-art{display:none}
.pt{padding:96px 24px;box-sizing:border-box}
.pm{display:block;width:100%;max-width:420px;margin:0 auto 36px;aspect-ratio:3/4;background:#E4DFD3;overflow:hidden}
.pm svg{width:100%;height:100%;display:block}
.pt-in{max-width:560px;margin:0 auto}
.big{margin:0;font-size:clamp(40px,5.6vw,76px);line-height:1.1;font-weight:700;letter-spacing:-.02em}
.toc{position:absolute;left:32px;bottom:30px;z-index:3;display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.1em;color:#10151C}
.toc span{display:flex;align-items:center;gap:10px}
.toc i{width:8px;height:8px;border-radius:50%;display:inline-block}

.pcard{display:block}
.pcard .im{aspect-ratio:3/2;overflow:hidden;background:#DDD8CC}
.pcard img{width:100%;height:100%;object-fit:cover;display:block}
.nrow{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:baseline;padding:22px 0;border-top:1px solid rgba(16,21,28,.16)}
.nrow:last-child{border-bottom:1px solid rgba(16,21,28,.16)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(16,21,28,.16);border-left:1px solid rgba(16,21,28,.16)}
.pgrid div{display:grid;place-items:center;padding:32px 22px;min-height:120px;border-right:1px solid rgba(16,21,28,.16);border-bottom:1px solid rgba(16,21,28,.16);background:#FFFFFF}
.pgrid img{max-width:100%;max-height:56px;width:auto;height:auto;filter:grayscale(1) contrast(1.05);opacity:.85}
@media (max-width:700px){.pgrid{grid-template-columns:repeat(2,1fr)}}

.ctabg{position:relative;overflow:hidden;background:#F1EEE6;padding:clamp(48px,9vw,120px) 24px;isolation:isolate}
.ctabg .sh{position:absolute;z-index:-1}
.sh1{left:-6%;top:-20%;width:46%;height:90%;background:#F7DC0E;clip-path:polygon(0 0,100% 0,0 100%)}
.sh2{right:-4%;top:-10%;width:42%;height:80%;background:#F59A0C;clip-path:polygon(100% 0,100% 100%,0 0)}
.sh3{left:-4%;bottom:-16%;width:44%;height:80%;background:#4DB1E6;clip-path:polygon(0 100%,0 0,100% 100%)}
.sh4{right:-6%;bottom:-18%;width:48%;height:90%;background:#7FC41F;clip-path:polygon(100% 100%,100% 0,0 100%)}
.ctacard{max-width:760px;margin:0 auto;background:#FFFFFF;padding:clamp(36px,6vw,72px);text-align:center;box-sizing:border-box}

@media (min-width:900px){
@supports (animation-timeline: view()){
@media (prefers-reduced-motion: no-preference){
.pil{display:grid;grid-template-columns:42% 1fr;view-timeline:--pil block}
.pl-art{display:block;position:sticky;top:0;height:100vh;align-self:start;background:#E4DFD3;overflow:hidden}
.pt{min-height:100vh;display:flex;align-items:center;padding:0 6vw}
.pm{display:none}
.pa{position:absolute;left:0;top:0;right:0;bottom:0}
.pa svg{width:100%;height:100%;display:block}
.pa,.ti{animation-timeline:--pil;animation-timing-function:linear;animation-fill-mode:both}
.pa1{animation-name:pOut;animation-range:contain 16% contain 32%}
.pa2{opacity:0;animation-name:pMid;animation-range:contain 16% contain 84%}
.pa3{opacity:0;animation-name:pIn;animation-range:contain 68% contain 84%}
.ti1{animation-name:tOut;animation-range:contain 16% contain 32%}
.ti2{animation-name:tMid;animation-range:contain 16% contain 84%}
.ti3{animation-name:tIn;animation-range:contain 68% contain 84%}
}
}
}
@media (prefers-reduced-motion: no-preference){
@supports (animation-timeline: view()){
.tri{view-timeline:--tri block}
.tc,.tl,.tv{animation-timeline:--tri;animation-timing-function:ease-out;animation-fill-mode:both}
.tc1{animation-name:triA;animation-range:cover 10% cover 42%}
.tc2{animation-name:triB;animation-range:cover 12% cover 44%}
.tc3{animation-name:triC;animation-range:cover 14% cover 46%}
.tl{animation-name:fadeOnly;animation-range:cover 34% cover 50%}
.tv{animation-name:popIn;animation-range:cover 38% cover 54%}
}
}
@keyframes pOut{from{opacity:1}to{opacity:0}}
@keyframes pMid{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes pIn{from{opacity:0}to{opacity:1}}
@keyframes tOut{from{opacity:1}to{opacity:.3}}
@keyframes tMid{0%{opacity:.3}20%{opacity:1}80%{opacity:1}100%{opacity:.3}}
@keyframes tIn{from{opacity:.3}to{opacity:1}}
@keyframes triA{from{opacity:0;transform:translate(0,-28%)}to{opacity:1;transform:none}}
@keyframes triB{from{opacity:0;transform:translate(-28%,20%)}to{opacity:1;transform:none}}
@keyframes triC{from{opacity:0;transform:translate(28%,20%)}to{opacity:1;transform:none}}
@keyframes fadeOnly{from{opacity:0}to{opacity:1}}
@keyframes popIn{from{opacity:0;transform:translate(-50%,-50%) scale(.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

body{word-break:auto-phrase;line-break:strict}
p,li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.ka{font-size:.62em}
.fitc{container-type:inline-size}
.fit{display:block;white-space:nowrap;font-size:min(var(--fs),calc(100cqw / var(--w)))}
.cl{display:inline-block;text-wrap:balance}
@media (max-width:640px){.fit{white-space:normal;font-size:var(--fs)}}

.pc{font-size:16px;line-height:2.1;color:#2B323C}.pc p{margin:0 0 20px}.pc h2{margin:48px 0 14px;font-size:clamp(20px,2.4vw,26px);line-height:1.5;font-weight:700;font-family:'Noto Serif JP',serif;padding-left:16px;border-left:6px solid #F7DC0E}
.pc img{max-width:100%;height:auto;display:block;margin:0 auto}.pc figure{margin:28px 0}.pc ul,.pc ol{margin:0 0 24px;padding-left:1.4em}.pc li{margin:6px 0}.pc a{color:#17709F;text-decoration:underline;text-underline-offset:3px}.pc a.rm{color:#10151C;text-decoration:none}
.pc .tw{overflow-x:auto;margin:0 0 24px}.pc table{border-collapse:collapse;width:100%;font-size:15px}.pc td,.pc th{border:1px solid rgba(16,21,28,.18);padding:10px 14px;text-align:left;vertical-align:top;background:#fff}.pc th{background:#EFEDE6}
.pc .fm iframe{width:100%;height:1400px;border:0;background:#fff;border-radius:12px}.pc details{border-top:1px solid rgba(16,21,28,.16)}.pc details:last-of-type{border-bottom:1px solid rgba(16,21,28,.16)}
.wide{max-width:1100px}
.pc .steps2{display:grid;grid-template-columns:1fr;gap:24px;margin:32px 0}
.pc .st{background:#fff;border-top:5px solid #ccc;padding:28px 26px 30px;text-align:left}
.pc .st .sn{margin:14px 0 14px;font-family:'Noto Sans JP',sans-serif;font-size:20px;font-weight:900;letter-spacing:.08em;line-height:1.3}
.pc .st p{margin:0 0 10px;font-size:15px;line-height:1.9;color:#2B323C;text-align:left}
@media (min-width:640px){.pc .steps2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.pc .steps2{grid-template-columns:repeat(3,1fr)}}
.pc .steps{display:grid;grid-template-columns:1fr;gap:20px;margin:32px 0}.pc .steps figure{margin:0}
@media (min-width:560px){.pc .steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.pc .steps{grid-template-columns:repeat(3,1fr);gap:24px}}
.mfaq summary{display:block;position:relative;padding-right:44px}.mfaq summary::after{position:absolute;right:4px;top:0;font-size:24px}
.lrows{border-top:1px solid rgba(16,21,28,.16)}.lrow{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;padding:24px 4px;border-bottom:1px solid rgba(16,21,28,.16)}
.lrow .d{font-size:13px;letter-spacing:.1em;color:#5B6470}.lrow .c{font-size:12px;padding:3px 12px;border:1px solid rgba(16,21,28,.3);border-radius:999px}.lrow .t{flex:1;min-width:240px;font-size:16px;line-height:1.7}.lrow .ar{color:#A85600}
.pager{margin-top:40px;display:flex;flex-wrap:wrap;gap:8px}.pager a{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(16,21,28,.3);border-radius:999px;font-size:14px;background:#fff}.pager a.on{background:#10151C;color:#fff;border-color:#10151C}

body{word-break:auto-phrase;line-break:strict}
p,li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.ka{font-size:.62em}
.fitc{container-type:inline-size}
.fit{display:block;white-space:nowrap;font-size:min(var(--fs),calc(100cqw / var(--w)))}
.cl{display:inline-block;text-wrap:balance}
.fitc{flex:1 1 0;min-width:0;width:100%}@media (max-width:640px){.fitc{container-type:normal}} @media (max-width:640px){.fit{white-space:normal;font-size:var(--fs)}}

.lnx{position:relative;overflow:hidden;padding:110px 48px;background:#FBF8EF}
.lnx .lb{position:absolute;border-radius:50%;opacity:.9;pointer-events:none}.lb1{width:180px;height:180px;background:#F7DC0E;left:-50px;top:50px}.lb2{width:90px;height:90px;background:#4DB1E6;right:6%;top:46px}.lb3{width:140px;height:140px;background:#7FC41F;right:-40px;bottom:60px}.lb4{width:60px;height:60px;background:#E4243C;left:8%;bottom:50px}
.lnx-card{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;max-width:1100px;padding:64px 56px;background:#fff;border-radius:36px;box-shadow:0 24px 60px -24px rgba(16,21,28,.25);border:2px solid #10151C}
.lnx-lead{margin:26px 0 0;font-size:17px;line-height:2;font-weight:700;color:#10151C}.lnx-sub{margin:16px 0 0;font-size:15px;line-height:2;color:#3E4651}.lnx-sub strong{background:linear-gradient(transparent 62%,#F7DC0E 62%)}
.lnx-cta{margin:32px 0 0}.lnx-btn{display:inline-flex;align-items:center;gap:12px;padding:18px 34px;border-radius:999px;background:#06C755;color:#fff;font-weight:700;font-size:16px;box-shadow:0 6px 0 #04903f;transition:transform .15s,box-shadow .15s}.lnx-btn:hover{transform:translateY(3px);box-shadow:0 3px 0 #04903f}.lnx-btn i{font-style:normal}
.lnx-note{margin:18px 0 0;font-size:13px;color:#5B6470}
.lnx-vis{position:relative;display:grid;gap:18px;justify-items:start}
.bub{position:relative;padding:16px 22px;border-radius:26px;border:2px solid #10151C;max-width:300px;box-shadow:4px 4px 0 #10151C}.bub b{display:block;font-size:17px}.bub small{display:block;margin-top:4px;font-size:12px;color:#3E4651}
.bub::after{content:"";position:absolute;bottom:-12px;width:20px;height:20px;background:inherit;border-right:2px solid #10151C;border-bottom:2px solid #10151C;transform:rotate(45deg) skew(10deg,10deg)}
.b1{background:#FFF3A8;transform:rotate(-3deg)}.b1::after{left:34px}.b2{background:#CFEBFA;justify-self:end;transform:rotate(2deg)}.b2::after{right:34px}.b3{background:#DDF1B8;transform:rotate(-2deg)}.b3::after{left:44px}
@media (max-width:860px){.lnx{padding:80px 20px}.lnx-card{grid-template-columns:1fr;padding:40px 26px;border-radius:28px}.lnx-vis{justify-items:stretch}.bub{max-width:none}.lb1{width:120px;height:120px}}
@media (prefers-reduced-motion:no-preference){.bub{animation:bfl 5s ease-in-out infinite}.b2{animation-delay:-1.6s}.b3{animation-delay:-3.2s}}
@keyframes bfl{50%{translate:0 -6px}}
