/* デンタルリメディアルセラピー研究会  共通スタイル
   方向性：実物の写真が主役。白とアイボリーの清潔感に、紺の文字と真鍮色を少しだけ。
   単一デザイン（ライト）として全色を明示 */
:root{
  --paper:#ffffff;
  --ivory:#f8f5ef;
  --mist:#eef3f8;
  --ink:#16233a;
  --sub:#46556a;
  --navy:#1b3a63;
  --accent:#2b6cb0;
  --rule:#dde4ec;
  --gold:#9a7436;
  --line-green:#06c755;
  --display:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:500;font-size:16px;line-height:1.8;padding-block:0 72px}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:800;color:var(--navy);line-height:1.45;margin:0;text-wrap:balance;letter-spacing:.02em}
p{margin:0}
a{color:inherit}
figure{margin:0}
.in{max-width:1080px;margin:0 auto;padding-inline:20px}
.sec{padding-block:56px}
.ivory{background:var(--ivory)}
.mist{background:var(--mist)}
.label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.18em;color:var(--gold);margin-bottom:6px}
h2{font-size:clamp(1.4rem,5.4vw,2.1rem);margin-bottom:20px}
.lead{color:var(--sub);font-size:.94rem;max-width:36em;margin:-8px 0 24px}
.small{font-size:.8rem;color:var(--sub);line-height:1.7}
.proto{background:#f3e8d6;color:#6d4d1a;font-size:.72rem;text-align:center;padding:4px 16px}
.check{display:inline-block;font-size:.66rem;font-weight:700;color:#6d4d1a;background:#f3e8d6;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px;white-space:nowrap}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 22px;border-radius:999px;font-family:var(--body);font-weight:700;font-size:.95rem;line-height:1.35;text-decoration:none;text-align:center;border:1.5px solid var(--navy);background:var(--paper);color:var(--navy)}
.btn.navy{background:var(--navy);color:#fff}
.btn.line{background:var(--line-green);border-color:var(--line-green);color:#fff}
.btn.block{width:100%}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.ico{width:20px;height:20px;flex:none}

/* header */
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule)}
.head .in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:34px;height:34px;border-radius:8px;object-fit:cover}
.brand b{display:block;font-family:var(--display);font-size:.86rem;line-height:1.3;color:var(--navy)}
.brand small{display:block;font-size:.6rem;letter-spacing:.12em;color:var(--sub)}
.nav{display:flex;gap:22px;font-size:.86rem}
.nav a{text-decoration:none}
@media (max-width:880px){.nav{display:none}}

/* hero：実技写真を大きく */
.hero{position:relative;background:var(--navy);overflow:hidden}
.hero-pic img{width:100%;height:clamp(440px,74vh,640px);object-fit:cover;object-position:50% 48%}
.hero-text{position:absolute;left:0;right:0;bottom:0;padding-block:96px 26px;background:linear-gradient(180deg,rgba(14,30,54,0) 0%,rgba(14,30,54,.72) 45%,rgba(14,30,54,.9) 100%)}
.hero .tag{display:inline-block;font-size:.72rem;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:3px 12px;margin-bottom:14px}
.hero h1{color:#fff;font-size:clamp(1.85rem,7.8vw,3.2rem);line-height:1.38;margin-bottom:10px}
.hero .sub{color:#e4ebf4;font-size:.86rem;text-wrap:balance}
@media (min-width:900px){
  .hero-pic img{height:600px;object-position:50% 35%}
  .hero-text{top:0;bottom:0;right:auto;width:58%;display:flex;align-items:flex-end;padding-block:48px;background:linear-gradient(90deg,rgba(14,30,54,.88) 0%,rgba(14,30,54,.6) 70%,rgba(14,30,54,0) 100%)}
  .hero-text .in{margin-left:max(20px,calc((100vw - 1080px)/2))}
}

/* intro */
.intro-text{font-size:.9rem;color:var(--sub);line-height:1.8}
.intro{background:var(--ivory)}
.intro .in{padding-block:22px 26px;display:grid;gap:18px}
.founder-mini{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.founder-mini img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:2px solid #fff;box-shadow:0 0 0 1px var(--rule)}
.founder-mini p{font-size:.86rem;color:var(--sub);line-height:1.7}
.founder-mini b{display:block;font-family:var(--display);color:var(--navy);font-size:.98rem}
.intro .btns .btn{flex:1 1 200px}
@media (min-width:900px){.intro .in{grid-template-columns:1fr auto;align-items:center}}

/* now open */
.open{background:var(--navy);color:#fff}
.open .in{padding-block:22px 24px}
.open h2{font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:.16em;color:#e9d3a8;margin-bottom:10px}
.open-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.open-item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);border-radius:12px;padding:12px 14px}
.open-item .d{font-family:var(--display);font-size:1.45rem;line-height:1;color:#e9d3a8;text-align:center;min-width:2.9em}
.open-item .d small{display:block;font-family:var(--body);font-size:.64rem;font-weight:700;color:#d5dfec;margin-top:5px}
.open-item b{display:block;font-size:.9rem;line-height:1.5}
.open-item span{font-size:.78rem;color:#d5dfec}
@media (max-width:680px){.open-list{grid-template-columns:1fr}}

/* reasons：写真1枚＋短い3項目 */
.reason-pic img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 55%;border-radius:16px;margin-bottom:12px}
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.reasons div{background:var(--ivory);border-radius:14px;padding:16px 14px}
.reasons .n{display:block;font-family:var(--display);color:var(--gold);font-size:.86rem}
.reasons b{display:block;font-family:var(--display);font-size:1.02rem;color:var(--navy);margin:2px 0 4px;line-height:1.45}
.reasons div span:last-child{font-size:.82rem;color:var(--sub);line-height:1.6;display:block}
@media (max-width:640px){.reasons{grid-template-columns:1fr}.reasons div{display:grid;grid-template-columns:2em 1fr;column-gap:8px}.reasons .n{grid-row:span 2;font-size:1.2rem}.reasons b{margin:0}}

@media (min-width:900px){.reason-pic img{aspect-ratio:21/8;object-position:50% 50%}}
.dat-full{max-width:900px;margin-inline:auto}

/* course cards：写真・見出し・紹介文 */
.courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:760px){.courses{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.card-pic{position:relative}
.card-pic img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card-pic figcaption,.sp-pic figcaption,.c-pic figcaption{position:absolute;right:8px;bottom:8px;font-size:.66rem;color:#fff;background:rgba(14,30,54,.6);padding:2px 8px;border-radius:999px}
.card-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--mist);color:var(--navy)}
.chip.on{background:var(--navy);color:#fff}
.card h3{font-size:1.18rem}
.card h3 .no{display:block;font-size:.78rem;color:var(--gold);font-weight:600;letter-spacing:.1em;margin-bottom:2px}
.card .catch{color:var(--sub);font-size:.9rem;line-height:1.75}
.meta{margin:2px 0 0;display:grid;font-size:.84rem;border-top:1px solid var(--rule)}
.meta div{display:grid;grid-template-columns:4.2em 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--rule)}
.meta dt{color:var(--sub);font-weight:700}
.meta dd{margin:0;min-width:0}
.card .btns,.special .btns{margin-top:auto;display:grid;gap:8px;padding-top:4px}
.card .btn,.special .btn{min-height:46px;font-size:.9rem}

/* 写真がない講座の枠 */
figure.empty{display:grid;place-content:center;justify-items:center;gap:2px;aspect-ratio:16/10;background:linear-gradient(135deg,var(--mist),var(--ivory));text-align:center;padding:12px}
figure.empty span{font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--gold)}
figure.empty b{font-family:var(--display);font-size:2rem;color:var(--navy);line-height:1.2}
figure.empty small{font-size:.7rem;color:var(--sub)}

/* DAT */
.dat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center}
.fig-slot{display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;aspect-ratio:4/3;border:1.5px dashed var(--gold);border-radius:16px;background:var(--paper);padding:16px}
.fig-slot span{font-size:.72rem;font-weight:700;color:var(--gold);letter-spacing:.1em}
.fig-slot b{font-family:var(--display);color:var(--navy);font-size:1.05rem}
.fig-slot small{font-size:.74rem;color:var(--sub);max-width:20em}
.dat-text{font-size:.9rem;color:var(--sub);margin-bottom:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.82rem;line-height:1.6;color:var(--sub)}
.two div{border-radius:12px;padding:12px}
.two b{display:block;font-size:.8rem;margin-bottom:2px}
.two .fact{background:var(--paper)}
.two .fact b{color:var(--navy)}
.two .hypo{background:#f6ecdc}
.two .hypo b{color:#6d4d1a}
@media (max-width:820px){.dat{grid-template-columns:1fr;gap:20px}.fig-slot{aspect-ratio:16/9;order:2}}

/* DAT 7つのライン */
.lines-head{display:flex;justify-content:space-between;align-items:baseline;margin:26px 0 10px}
.lines-head b{font-family:var(--display);color:var(--navy);font-size:1.1rem}
.lines-head span{font-size:.74rem;color:var(--sub)}
.lines{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:2px 20px 8px}
@media (min-width:760px){.lines{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));margin-inline:0;padding-inline:0}}
.line-card{scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--c);border-radius:12px;overflow:hidden;padding:0;cursor:pointer;font-family:var(--body);color:var(--ink)}
.line-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;background:#fff}
.line-card .t{padding:8px 10px 10px}
.line-card .n{display:block;font-family:var(--display);color:var(--c);font-size:.8rem}
.line-card b{display:block;font-size:.84rem;line-height:1.45;color:var(--navy)}
.dat-full{display:block;width:100%;margin-top:18px;padding:0;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;position:relative}
.dat-full img{width:100%}
.dat-full span{position:absolute;right:8px;bottom:8px;font-size:.74rem;font-weight:700;color:#fff;background:rgba(14,30,54,.7);padding:4px 10px;border-radius:999px}
.concept-note{font-size:.76rem;color:#6d4d1a;background:#f6ecdc;border-radius:8px;padding:8px 12px;margin-top:8px;line-height:1.6}
.viewer{border:none;padding:0;max-width:100vw;max-height:100vh;width:100%;height:100%;background:transparent}
.viewer::backdrop{background:rgba(10,20,36,.82)}
.viewer-in{position:relative;height:100%;overflow:auto;padding:52px 12px 24px}
.viewer .close{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:12px;width:44px;height:44px;border-radius:50%;border:none;background:#fff;color:var(--navy);font-size:1.4rem;cursor:pointer;z-index:2}
.viewer .wide{width:1536px;max-width:none}
.viewer .panel{max-width:560px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden}
.viewer .panel img{width:100%;background:#fff}
.viewer .panel .t{padding:16px 18px 20px;display:grid;gap:8px;font-size:.9rem;line-height:1.75}
.viewer .panel h3{font-size:1.2rem}
.viewer .panel .lbl{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:999px;background:#f6ecdc;color:#6d4d1a;width:max-content}
.viewer .panel .st{font-size:.82rem;color:var(--sub)}
.viewer .hint{color:#fff;font-size:.8rem;text-align:center;margin-bottom:8px}

/* special seminar */
.special{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #e4d3b4;border-radius:16px;overflow:hidden;background:var(--paper)}
.sp-pic{position:relative}
.sp-pic img{width:100%;height:100%;min-height:260px;object-fit:cover}
.special .sp{padding:18px 18px 20px;display:grid;gap:10px;align-content:start}
.special .kicker{font-size:.76rem;color:var(--gold);font-weight:700;letter-spacing:.06em}
.special h3{font-size:1.18rem}
.special p{color:var(--sub);font-size:.9rem;line-height:1.75}
@media (max-width:760px){.special{grid-template-columns:1fr}.sp-pic img{aspect-ratio:16/10;min-height:0}}

/* roles */
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:780px){.roles{grid-template-columns:1fr}}
.role{display:grid;gap:4px;padding:16px 18px;border-radius:14px;background:var(--ivory);text-decoration:none;border-left:4px solid var(--navy)}
.role .who{font-size:.74rem;font-weight:700;color:var(--gold);letter-spacing:.06em}
.role b{font-family:var(--display);font-size:1.02rem;color:var(--navy);line-height:1.5}
.role .rec{font-size:.8rem;color:var(--accent);font-weight:700}
.role .rec::before{content:"おすすめ："}

/* founder */
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center}
.f-pic img{width:100%;max-width:380px;height:auto;margin-inline:auto;border-radius:16px}
.founder .name{font-family:var(--display);font-size:1.5rem;font-weight:800;color:var(--navy)}
.founder .role-line{color:var(--sub);font-size:.84rem;margin:2px 0 14px}
.quote{font-family:var(--display);font-size:1.08rem;font-weight:600;line-height:1.75;color:var(--navy);border-left:3px solid var(--gold);padding-left:14px;margin-bottom:16px}
.creds{margin:0;padding-left:1.1em;font-size:.88rem}
.creds li{margin-bottom:2px}
@media (max-width:820px){.founder{grid-template-columns:1fr;gap:22px}.f-pic img{max-width:300px}}

/* story */
.story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.story img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.story figcaption{padding-top:10px;font-size:.84rem;color:var(--sub);line-height:1.65}
.story figcaption b{display:block;font-family:var(--display);font-size:1rem;color:var(--navy)}
@media (max-width:760px){
  .story{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding-inline:20px;padding-bottom:6px}
  .story figure{scroll-snap-align:start}
}

/* results */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.stat{background:var(--paper);border-radius:14px;padding:14px 10px;text-align:center}
.stat b{display:block;font-family:var(--display);font-size:clamp(1.7rem,7vw,2.4rem);color:var(--navy);line-height:1.15;font-variant-numeric:tabular-nums}
.stat b small{font-size:.45em;margin-left:2px}
.stat span{display:block;font-size:.74rem;color:var(--sub);line-height:1.5;margin-top:4px}
.prefs{display:flex;flex-wrap:wrap;gap:6px}
.prefs span{font-size:.78rem;background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:2px 10px}

/* line */
.cta{background:var(--navy);color:#fff;border-radius:20px;padding:30px 18px}
.cta h2{color:#fff}
.cta .label{color:#e9d3a8}
.cta .lead{color:#d5dfec}
.cta-list{display:grid;gap:8px}
.cta-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;background:var(--paper);color:var(--ink);text-decoration:none;border-radius:12px;padding:10px 14px;font-weight:700;font-size:.9rem;line-height:1.5}
.cta-list a small{display:block;font-weight:500;font-size:.74rem;color:var(--sub)}
.cta-list .g{display:inline-flex;align-items:center;gap:6px;flex:none;background:var(--line-green);color:#fff;font-size:.78rem;padding:6px 10px;border-radius:999px}

/* faq */
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;padding-block:14px;font-weight:700;font-size:.94rem;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";color:var(--gold);flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--sub);font-size:.9rem;padding-bottom:14px}

/* footer */
.foot{background:var(--ivory);border-top:1px solid var(--rule);font-size:.8rem;color:var(--sub)}
.foot .in{padding-block:26px;display:grid;gap:4px}
.foot b{font-family:var(--display);color:var(--navy);font-size:.94rem}

/* course page */
.c-hero{background:var(--ivory)}
.c-hero .in{padding-block:22px 32px;display:grid;gap:12px}
.back{font-size:.86rem;color:var(--sub);text-decoration:none}
.c-hero h1{font-size:clamp(1.5rem,6.4vw,2.4rem)}
.c-hero p{color:var(--sub);font-size:.94rem;max-width:36em}
.c-pic{position:relative}
.c-pic img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px}
.c-hero .btns{display:grid;gap:8px;max-width:520px}
.c-sec{padding-block:30px;border-bottom:1px solid var(--rule)}
.c-sec h2{font-size:clamp(1.2rem,5vw,1.6rem);margin-bottom:12px}
.learn{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem}
.learn li{display:grid;grid-template-columns:14px 1fr;gap:8px}
.learn li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:.75em}
.info{display:grid;grid-template-columns:6em 1fr;margin:0;border-top:2px solid var(--navy);font-size:.92rem}
.info dt,.info dd{margin:0;padding:10px 0;border-bottom:1px solid var(--rule)}
.info dt{color:var(--sub);font-weight:700}
.info dd{min-width:0;font-variant-numeric:tabular-nums}
.info dd.tbd{color:var(--sub);font-size:.86rem}
.scope{border-left:3px solid var(--gold);background:var(--ivory);padding:12px 14px;border-radius:0 10px 10px 0;font-size:.88rem;margin-top:14px}
.scope b{color:#6d4d1a}
.c-cta{background:var(--mist);border-radius:16px;padding:18px;display:grid;gap:10px}
.c-cta .btns{display:grid;gap:8px}
.others{display:grid;gap:8px}
.others a{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--rule);border-radius:12px;padding:12px 14px;text-decoration:none;font-weight:700;font-size:.9rem;color:var(--navy)}
.others small{display:block;font-weight:500;color:var(--sub)}

/* 講座ページの追加要素 */
.gallery{display:grid;gap:10px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.gallery figcaption{font-size:.8rem;color:var(--sub);margin-top:6px;line-height:1.6}
.c-facts{padding-top:20px}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem}
.check-list li{display:grid;grid-template-columns:20px 1fr;gap:8px;line-height:1.65}
.check-list li::before{content:"✓";color:var(--accent);font-weight:700}
.learn.tagged li{grid-template-columns:auto 1fr;gap:8px;align-items:baseline}
.learn.tagged li::before{display:none}
.tg{font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.tg.f{background:var(--mist);color:var(--navy)}
.tg.h{background:#f6ecdc;color:#6d4d1a}
.feature h3{font-size:1rem;margin:18px 0 8px}
.feat-pic{display:block;width:100%;padding:0;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;position:relative}
.feat-pic img{width:100%}
.feat-pic span{position:absolute;right:8px;bottom:8px;font-size:.72rem;font-weight:700;color:#fff;background:rgba(14,30,54,.7);padding:3px 10px;border-radius:999px}
.hypo-box{background:#f6ecdc;border-radius:12px;padding:14px 16px;margin-top:14px;font-size:.88rem;line-height:1.75}
.hypo-box b{display:block;color:#6d4d1a;font-size:.82rem;margin-bottom:4px}

/* 特定商取引法ページ */
.legal{padding-block:24px 56px}
.legal h1{font-size:clamp(1.4rem,6vw,2rem);margin:12px 0 8px}
.legal-list{margin-top:20px;grid-template-columns:9em 1fr}
.legal-list dd.todo{color:#9a5a1a;background:#fbf1e2;padding-inline:8px;border-radius:4px}
@media (max-width:520px){.legal-list{grid-template-columns:1fr}.legal-list dt{border-bottom:none;padding-bottom:0}}

/* 公開前の表示設定 */
.pending{position:relative}
.pending::after{content:"掲載承諾：確認中";position:absolute;left:8px;top:8px;z-index:3;font-size:.68rem;font-weight:700;color:#6d4d1a;background:#fbe7c4;border-radius:999px;padding:2px 9px;pointer-events:none}
.hero.no-photo{background:var(--navy)}
.hero.no-photo .hero-text{position:static;background:none;padding-block:48px 40px;width:auto}
.no-dat-figure .dat-full,.no-dat-figure .feat-pic,.no-dat-figure .concept-note{display:none!important}
.no-dat-figure .line-card .t{padding-top:12px}

/* 画面下の固定ボタン（コンパクト） */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.95);border-top:1px solid var(--rule);transition:transform .25s}
.bar .btn{flex:1;min-height:40px;padding:6px 8px;font-size:.84rem}
.bar.hide{transform:translateY(110%)}
@media (min-width:1000px){.bar{display:none}body{padding-block-end:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar{transition:none}}
.legal-list .todo-in{display:inline;color:#9a5a1a;background:#fbf1e2;padding:1px 6px;border-radius:4px;font-size:.92em}
.legal-list dd p{margin:0 0 4px}
.legal-list dd p:last-child{margin-bottom:0}
.pay-info{grid-template-columns:7.5em 1fr}
.flow{list-style:none;counter-reset:f;margin:0;padding:0;display:grid;gap:10px}
.flow li{counter-increment:f;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;line-height:1.65;font-size:.95rem}
.flow li::before{content:counter(f);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy,#1b3a63);color:#fff;font-weight:700;font-size:.85rem}
.hyoid-fig{margin:22px 0 6px;background:var(--paper);border-radius:16px;padding:18px 16px 14px;border:1px solid var(--rule)}
.hyoid-fig figcaption{display:grid;gap:4px;margin-bottom:8px}
.hyoid-fig figcaption b{font-family:var(--display);color:var(--navy);font-size:1.05rem}
.hyoid-fig figcaption span{font-size:.88rem;color:var(--sub)}
.hyoid-svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto}
.hyoid-legend{display:flex;gap:18px;justify-content:center;margin:8px 0 4px;font-size:.82rem;font-weight:700}
.hyoid-legend span::before{content:"";display:inline-block;width:22px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.hyoid-legend .up{color:var(--navy)}.hyoid-legend .up::before{background:#1b3a63}
.hyoid-legend .down{color:#6d4d1a}.hyoid-legend .down::before{background:#9a7436}
.card h3,.c-hero h1{word-break:keep-all;overflow-wrap:anywhere}
.gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
@media (min-width:900px){.c-pic img{max-height:440px}}
.jump{background:var(--ivory);border-block:1px solid var(--rule)}
.jump .in{display:flex;gap:8px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.jump .in::-webkit-scrollbar{display:none}
.jump a{flex:0 0 auto;font-size:.82rem;font-weight:700;color:var(--navy);text-decoration:none;background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:6px 14px}
@media (min-width:900px){.jump{display:none}}
.card-pic img{aspect-ratio:16/9}
html{scroll-padding-top:76px}
