/* 前橋・足腰と脳の健康セミナー LP v3
   参考: 宇治山田歯科医院 歯科衛生士求人サイトの設計思想（多色・丸ゴシック・有機的な図形・吹き出し） */

:root{
  --ink:#544337; --ink-soft:#7A675A; --ink-faint:#9C8B7E;
  --orange:#F98725; --orange-deep:#C96A05; --orange-pale:#FFEAD2;
  --pink:#FF8DA9; --pink-deep:#CF4A5D; --pink-pale:#FFE6EC;
  --coral:#FF9167;
  --green:#519D5C; --green-deep:#3C7A45; --green-light:#7FB53F; --green-pale:#E6F2E3;
  --teal:#2E8B87;
  --yellow:#F9FF68; --yellow-deep:#F5D400; --yellow-pale:#FFFBD6;
  --purple:#8170B2; --purple-deep:#6A5A9C; --purple-pale:#EFEBF7;
  --blue:#7EC8E3; --blue-pale:#E4F4FA;
  --gold:#AD8C58; --gold-deep:#7C5F30;
  --cream:#FFF7ED; --cream-2:#FFF0DF; --sand:#F1EDE4; --white:#fff;
  --round:28px; --round-lg:40px;
  --wrap:1120px;
  --display:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  --script:"Kaushan Script",cursive;
  --serif:"Marcellus",Georgia,serif;
  --label:"Jost","Hiragino Sans",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.9;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul{list-style:none}
.nb{display:inline-block}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:200;border-radius:0 0 12px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--orange-deep);outline-offset:3px;border-radius:6px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:10px 20px;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);box-shadow:0 2px 16px rgba(84,67,55,.08);
}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo-mark{display:flex;gap:2.5px;align-items:flex-end;width:30px;height:30px;
  background:var(--green);border-radius:9px;padding:7px 6px;flex:none}
.logo-mark span{flex:1;background:#fff;border-radius:2px}
.logo-mark span:nth-child(1){height:52%}
.logo-mark span:nth-child(2){height:100%}
.logo-mark span:nth-child(3){height:72%}
.logo-text small{display:block;font-family:var(--label);font-size:10px;letter-spacing:.14em;
  color:var(--green-deep);font-weight:600;line-height:1.4}
.logo-text strong{display:block;font-family:var(--display);font-weight:900;font-size:16px;
  line-height:1.3;letter-spacing:.01em}
.header-right{display:flex;align-items:center;gap:14px}
.header-meta{text-align:right;line-height:1.45}
.header-meta strong{display:block;font-family:var(--label);font-size:17px;font-weight:600;letter-spacing:.02em}
.header-meta strong span{font-size:12px}
.header-meta>span{font-size:11.5px;color:var(--ink-soft)}
.entry-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:112px;min-height:44px;padding:0 22px;
  font-family:var(--label);font-weight:600;font-size:15px;letter-spacing:.16em;
  color:#fff;text-decoration:none;border-radius:999px;
  background:linear-gradient(100deg,var(--orange-deep),#E8724C 55%,var(--pink-deep));
  box-shadow:0 6px 14px rgba(201,106,5,.28);
}
.entry-button:hover{filter:brightness(1.06)}

/* ---------- hero ---------- */
.hero{position:relative;padding:44px 20px 0;overflow:hidden}
.blobs{position:absolute;inset:0;pointer-events:none;z-index:0}
.blob{position:absolute;border-radius:50%;opacity:.55}
.b1{width:420px;height:420px;background:var(--yellow);top:-150px;right:8%;opacity:.5}
.b2{width:300px;height:300px;background:var(--green-pale);bottom:120px;left:-110px;opacity:.9}
.b3{width:180px;height:180px;background:var(--pink-pale);top:230px;right:-60px}
.b4{width:130px;height:130px;background:var(--blue-pale);bottom:250px;right:34%}
.tri{position:absolute;width:0;height:0;opacity:.5}
.t1{border-left:52px solid transparent;border-right:52px solid transparent;
  border-bottom:88px solid var(--coral);top:110px;left:44%;transform:rotate(18deg);opacity:.32}
.t2{border-left:34px solid transparent;border-right:34px solid transparent;
  border-bottom:58px solid var(--green-light);bottom:170px;left:26%;transform:rotate(-24deg);opacity:.3}
.chev{position:absolute;top:300px;left:38%;width:66px;height:8px;background:var(--purple);
  border-radius:4px;box-shadow:0 16px 0 var(--purple),0 32px 0 var(--purple);
  transform:rotate(-12deg);opacity:.35}
.dots{position:absolute;width:96px;height:96px;opacity:.5;
  background-image:radial-gradient(var(--orange) 2.6px,transparent 2.6px);
  background-size:15px 15px}
.d1{top:60px;left:2%}
.d2{bottom:210px;right:6%}

.hero-inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;
  display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.script{font-family:var(--script);font-size:29px;color:var(--orange-deep);
  line-height:1;margin-bottom:14px;transform:rotate(-2deg);transform-origin:left center}
h1{font-family:var(--display);font-weight:900;line-height:1.32;letter-spacing:.005em;
  font-size:clamp(34px,4.4vw,60px)}
h1 .hl{display:block;position:relative;width:fit-content;padding:0 .12em}
h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.1em;height:.28em;
  border-radius:.14em;z-index:-1}
h1 .hl-green::after{background:var(--green-pale)}
h1 .hl-orange::after{background:var(--orange-pale)}
h1 .hl-green{color:var(--green-deep)}
h1 .hl-orange{color:var(--orange-deep)}
h1 .amp{display:block;font-family:var(--serif);font-size:.62em;color:var(--pink);
  line-height:1;margin:.06em 0 .04em}
h1 .tail{display:block;font-size:.72em}
.hero-lead{margin-top:20px;font-size:16.5px;color:var(--ink-soft);line-height:1.95;max-width:29em}
.hero-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.hero-pills li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:#fff;border:2px solid var(--sand);border-radius:999px;
  padding:8px 17px 8px 9px;font-size:14px;font-weight:700;line-height:1.5}
.pill-label{display:inline-block;background:var(--green);color:#fff;border-radius:999px;
  padding:2px 11px;font-size:11.5px;font-family:var(--label);letter-spacing:.06em;font-weight:600}
.hero-pills li:nth-child(2) .pill-label{background:var(--orange-deep)}
.hero-pills li:nth-child(3) .pill-label{background:var(--pink-deep)}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:60px;padding:0 34px;border-radius:999px;text-decoration:none;
  font-family:var(--display);font-weight:900;color:#fff;
  background:linear-gradient(100deg,var(--orange-deep),#E8724C 55%,var(--pink-deep));
  box-shadow:0 10px 22px rgba(201,106,5,.3);font-size:clamp(16px,4.2vw,19px)}
.cta .arw{font-size:1.1em;line-height:1}
.cta:hover{filter:brightness(1.06);transform:translateY(-1px)}
.cta-lg{margin-top:26px}

.hero-visual{position:relative;padding:12px 0 34px}
.shot{border-radius:var(--round-lg);overflow:hidden;background:#fff}
.shot-main{box-shadow:0 20px 46px rgba(84,67,55,.18);transform:rotate(-1.6deg)}
.shot-main img{width:100%;aspect-ratio:3/2;object-fit:cover}
.shot-round{position:absolute;right:-6px;bottom:-6px;width:38%;max-width:190px;
  border-radius:50%;border:7px solid #fff;box-shadow:0 14px 30px rgba(84,67,55,.2)}
.shot-round img{width:100%;aspect-ratio:1;object-fit:cover}
.shot-note{position:absolute;left:-14px;bottom:24px;
  background:var(--yellow);color:var(--ink);font-family:var(--display);font-weight:900;
  font-size:14px;line-height:1.5;padding:12px 18px;border-radius:18px;
  transform:rotate(-4deg);box-shadow:0 8px 18px rgba(84,67,55,.16)}

.anchor-nav{position:relative;z-index:1;max-width:var(--wrap);margin:26px auto 0;
  background:#fff;border-radius:22px;box-shadow:0 12px 30px rgba(84,67,55,.1);
  padding:6px 10px;transform:translateY(34px)}
.anchor-nav ul{display:flex;flex-wrap:wrap}
.anchor-nav li{flex:1 1 auto;min-width:140px}
.anchor-nav li+li{border-left:1px solid var(--sand)}
.anchor-nav a{display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:15px 8px 13px;text-decoration:none;font-family:var(--display);
  font-weight:700;font-size:14.5px;text-align:center;line-height:1.4}
.anchor-nav a:hover{color:var(--orange-deep)}
.dot{width:9px;height:9px;border-radius:50%;display:block}
.dot-green{background:var(--green)} .dot-gold{background:var(--gold)}
.dot-orange{background:var(--orange)} .dot-pink{background:var(--pink)}
.dot-purple{background:var(--purple)}

/* ---------- bands ---------- */
.band{position:relative;margin-top:34px;padding:96px 20px 74px;overflow:hidden;isolation:isolate}
.band-bg{position:absolute;inset:0;z-index:-2}
.band-bg img{width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,145,103,.94),rgba(207,74,93,.9))}
.band-inner{max-width:900px;margin:0 auto;text-align:center}
.band h2{font-family:var(--display);font-weight:900;color:#fff;
  font-size:clamp(25px,4.6vw,42px);line-height:1.5;text-shadow:0 2px 14px rgba(120,40,50,.3)}
.band-card{margin-top:28px;background:#fff;border-radius:var(--round);
  padding:30px 26px;box-shadow:0 18px 40px rgba(120,40,50,.18);text-align:left}
.band-card p+p{margin-top:16px}
.band-card p{font-size:16.5px;line-height:2}

/* ---------- section title ---------- */
.points{padding:78px 20px 20px}
.section-title{text-align:center;position:relative;max-width:var(--wrap);margin:0 auto 8px}
.badge{display:inline-block;background:var(--gold);color:#fff;border-radius:999px;
  font-family:var(--display);font-weight:700;font-size:14px;line-height:1.4;
  padding:12px 20px;position:relative;transform:rotate(-3deg)}
.badge::after{content:"";position:absolute;left:26px;bottom:-9px;border-left:9px solid transparent;
  border-right:9px solid transparent;border-top:11px solid var(--gold)}
.section-title h2{font-family:var(--display);font-weight:900;
  font-size:clamp(34px,6.4vw,64px);line-height:1.25;margin-top:12px}
.num-3{font-family:var(--serif);font-size:1.32em;color:var(--teal);
  margin-right:.06em;letter-spacing:.02em}
.en-sub{display:flex;align-items:center;justify-content:center;gap:14px;
  font-family:var(--label);font-size:12.5px;letter-spacing:.42em;color:var(--ink-faint);
  margin-top:10px;font-weight:500}
.en-sub .rule{width:34px;height:1px;background:currentColor;display:block}
.en-sub.light{color:rgba(255,255,255,.85)}

/* ---------- point ---------- */
.point{max-width:var(--wrap);margin:0 auto;padding:56px 0 10px}
.point-head{display:grid;grid-template-columns:96px 1fr;gap:0 22px;align-items:start}
.point-index{grid-row:1;display:flex;align-items:flex-start;gap:6px}
.vlabel{writing-mode:vertical-rl;font-family:var(--label);font-size:11px;letter-spacing:.34em;
  color:var(--ink-faint);padding-top:12px;font-weight:500}
.numeral{font-family:var(--serif);font-size:78px;line-height:.86;color:var(--ink)}
.point-lede h3{font-family:var(--display);font-weight:900;line-height:1.38;
  font-size:clamp(26px,4.2vw,42px)}
.mk{position:relative;display:inline-block;padding:0 .08em}
.mk::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.26em;border-radius:.13em;z-index:-1}
.mk-green{color:var(--green-deep)} .mk-green::after{background:var(--green-pale)}
.mk-purple{color:var(--purple-deep)} .mk-purple::after{background:var(--purple-pale)}
.mk-pink{color:var(--pink-deep)} .mk-pink::after{background:var(--pink-pale)}
.point-lede p{margin-top:18px;font-size:16.5px;line-height:2;color:var(--ink-soft);max-width:34em}
.point-photo{grid-column:1/-1;margin-top:30px;border-radius:var(--round-lg);overflow:hidden;
  box-shadow:0 18px 40px rgba(84,67,55,.14)}
.point-photo img{width:100%;aspect-ratio:16/8;object-fit:cover}
.point-01 .numeral{color:var(--green)}
.point-02 .numeral{color:var(--purple)}
.point-03 .numeral{color:var(--pink-deep)}

.point-01{position:relative}
.point-01::before{content:"";position:absolute;left:-8%;top:16%;width:260px;height:260px;
  border-radius:50%;background:var(--green-pale);opacity:.6;z-index:-1}

.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.feature-cards li{background:#fff;border-radius:var(--round);overflow:hidden;
  box-shadow:0 12px 28px rgba(84,67,55,.1);display:flex;flex-direction:column}
.fc-top{position:relative;height:132px;display:flex;align-items:center;justify-content:center}
.fc-photo{position:absolute;inset:0;background-size:cover;background-position:center}
.fc-a{background-image:url("assets/movement.jpg")}
.fc-b{background-image:url("assets/movement.jpg")}
.fc-c{background-image:url("assets/gen-walking.jpg")}
.fc-top::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.32)}
.bubble{position:relative;z-index:1;background:#fff;border-radius:999px;padding:9px 18px;
  font-family:var(--display);font-weight:900;font-size:14px;line-height:1.4;
  box-shadow:0 6px 14px rgba(84,67,55,.16)}
.bubble::after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-7px;
  border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #fff}
.bubble-yellow{background:var(--yellow)}
.bubble-yellow::after{border-top-color:var(--yellow)}
.bubble-blue{background:var(--blue-pale)}
.bubble-blue::after{border-top-color:var(--blue-pale)}
.bubble-pink{background:var(--pink-pale)}
.bubble-pink::after{border-top-color:var(--pink-pale)}
.fc-title{font-family:var(--display);font-weight:900;font-size:19px;line-height:1.5;
  color:#fff;padding:16px 20px;
  background-image:repeating-linear-gradient(-52deg,rgba(255,255,255,.14) 0 9px,transparent 9px 18px)}
.fc-green{background-color:var(--green)}
.fc-teal{background-color:var(--teal)}
.fc-orange{background-color:var(--orange-deep)}
.fc-body{padding:18px 20px 22px;font-size:15.5px;line-height:1.95;color:var(--ink-soft)}

.badge-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;justify-content:center}
.badge-row li{width:132px;height:132px;border-radius:50%;background:var(--pink-pale);
  border:3px dashed var(--pink);display:flex;align-items:center;justify-content:center;
  text-align:center;padding:10px}
.badge-row strong{font-family:var(--display);font-weight:900;font-size:15px;line-height:1.5;
  color:var(--pink-deep)}
.point-note{margin-top:24px;font-size:13.5px;color:var(--ink-faint);line-height:1.85}

/* ---------- hosts ---------- */
.hosts{position:relative;margin-top:74px;padding:66px 20px 78px;background:var(--sand)}
.en-display{font-family:var(--serif);font-size:clamp(52px,11vw,124px);line-height:.9;
  letter-spacing:.1em;color:rgba(173,140,88,.24);text-align:center}
.hosts-inner{max-width:var(--wrap);margin:-8px auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.section-kicker{font-family:var(--label);font-size:12.5px;letter-spacing:.28em;
  color:var(--gold-deep);font-weight:600}
.section-kicker.light{color:rgba(255,255,255,.9);text-align:center}
.hosts-lede h2{font-family:var(--display);font-weight:900;margin-top:10px;
  font-size:clamp(28px,4.4vw,44px);line-height:1.4}
.hosts-lede p{margin-top:18px;font-size:16.5px;line-height:2;color:var(--ink-soft)}
.host-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.host-cards li{background:#fff;border-radius:var(--round);padding:16px 16px 22px;
  box-shadow:0 12px 28px rgba(84,67,55,.1);text-align:center}
.host-cards figure{border-radius:20px;overflow:hidden;margin-bottom:14px}
.host-cards img{width:100%;aspect-ratio:4/5;object-fit:cover}
.host-cards img.king,.host-cards img.machapiro{object-position:50% 50%}
.host-role{display:inline-block;background:var(--gold);color:#fff;font-family:var(--label);
  font-size:11px;letter-spacing:.16em;padding:3px 14px;border-radius:999px;font-weight:600}
.host-name{font-family:var(--display);font-weight:900;font-size:18px;line-height:1.5;margin-top:9px}

/* ---------- outline ---------- */
.outline{position:relative;padding:74px 20px 82px;overflow:hidden;isolation:isolate}
.outline-bg{position:absolute;inset:0;z-index:-2}
.outline-bg img{width:100%;height:100%;object-fit:cover}
.outline::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(201,106,5,.94)}
.outline-head{text-align:center}
.outline-head h2{font-family:var(--display);font-weight:900;color:#fff;
  font-size:clamp(32px,6vw,58px);line-height:1.25}
.info-cards{max-width:var(--wrap);margin:34px auto 0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info-cards li{background:#fff;border-radius:24px;padding:22px 22px 24px;
  box-shadow:0 12px 26px rgba(120,60,0,.16)}
.ic-tag{display:inline-block;background:var(--orange-pale);color:var(--orange-deep);
  font-family:var(--display);font-weight:900;font-size:13px;padding:4px 15px;border-radius:999px}
.ic-main{font-family:var(--display);font-weight:900;font-size:20px;line-height:1.5;margin-top:12px}
.ic-sub{margin-top:8px;font-size:14.5px;line-height:1.9;color:var(--ink-soft)}

/* ---------- faq ---------- */
.faq{position:relative;padding:0 20px 76px;margin-top:70px}
.faq-head{position:relative;text-align:center;padding:52px 20px 40px;margin:0 -20px 34px;
  background:var(--yellow-pale);
  background-image:repeating-linear-gradient(-52deg,rgba(245,212,0,.3) 0 16px,transparent 16px 34px)}
.cloud{display:inline-block;position:relative;background:#fff;border-radius:999px;
  padding:20px 46px;box-shadow:0 10px 26px rgba(84,67,55,.12)}
.cloud::before,.cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.cloud::before{width:38px;height:38px;left:-14px;top:-11px}
.cloud::after{width:26px;height:26px;right:-8px;bottom:-9px}
.cloud span{position:relative;z-index:1;font-family:var(--display);font-weight:900;
  font-size:clamp(26px,5.2vw,42px);line-height:1.3}
.faq-list{max-width:860px;margin:0 auto}
.faq-list details{background:#fff;border-radius:20px;margin-bottom:14px;
  box-shadow:0 8px 20px rgba(84,67,55,.08);overflow:hidden}
.faq-list summary{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;
  cursor:pointer;padding:20px 52px 20px 22px;position:relative;
  font-family:var(--display);font-weight:900;font-size:16.5px;line-height:1.6;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:22px;top:26px;width:14px;height:14px;
  border-right:3px solid var(--orange-deep);border-bottom:3px solid var(--orange-deep);
  transform:rotate(45deg);border-radius:2px}
.faq-list details[open] summary::after{transform:rotate(225deg);top:30px}
.q{flex:none;width:28px;height:28px;border-radius:50%;background:var(--orange-deep);color:#fff;
  font-family:var(--label);font-size:14px;font-weight:600;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.faq-list details>div{padding:0 22px 22px 62px}
.faq-list details p{font-size:15.5px;line-height:2;color:var(--ink-soft)}

/* ---------- welcome ---------- */
.welcome{background:var(--cream-2);padding:64px 20px 72px;text-align:center}
.worry-bubbles{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:30px}
.worry-bubbles li{position:relative;background:#fff;border-radius:22px;padding:16px 22px;
  font-family:var(--display);font-weight:700;font-size:15px;line-height:1.5;
  box-shadow:0 8px 18px rgba(84,67,55,.1)}
.worry-bubbles li::after{content:"";position:absolute;left:28px;bottom:-9px;
  border-left:8px solid transparent;border-right:8px solid transparent;border-top:11px solid #fff}
.welcome h2{font-family:var(--display);font-weight:900;
  font-size:clamp(27px,5vw,44px);line-height:1.4}
.welcome-lead{max-width:40em;margin:18px auto 0;font-size:16.5px;line-height:2;color:var(--ink-soft)}
.notice{max-width:780px;margin:34px auto 0;background:#fff;border-radius:var(--round);
  padding:26px 26px 28px;text-align:left;border:2px solid var(--orange-pale)}
.notice-title{font-family:var(--display);font-weight:900;font-size:17px;color:var(--orange-deep)}
.notice ul{margin-top:12px}
.notice li{position:relative;padding-left:24px;font-size:15px;line-height:1.95;color:var(--ink-soft)}
.notice li+li{margin-top:8px}
.notice li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;
  border-radius:50%;background:var(--orange)}

/* ---------- entry ---------- */
.entry{position:relative;padding:56px 20px 84px;overflow:hidden;isolation:isolate;text-align:center}
.entry-bg{position:absolute;inset:0;z-index:-2}
.entry-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.entry::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,141,169,.95),rgba(207,74,93,.94))}
.entry-display{color:rgba(255,255,255,.4)}
.entry h2{font-family:var(--display);font-weight:900;color:#fff;margin-top:8px;
  font-size:clamp(25px,4.6vw,42px);line-height:1.5;text-shadow:0 2px 14px rgba(120,40,50,.28)}
.ticket{max-width:520px;margin:32px auto 0;background:#fff;border-radius:var(--round-lg);
  padding:32px 26px 30px;box-shadow:0 22px 48px rgba(120,40,50,.26)}
.ticket-type{display:inline-block;background:var(--pink-pale);color:var(--pink-deep);
  font-family:var(--display);font-weight:900;font-size:14px;padding:5px 20px;border-radius:999px}
.ticket-price{margin-top:12px;font-family:var(--serif);line-height:1;color:var(--ink)}
.ticket-price strong{font-size:clamp(52px,13vw,74px);font-weight:400;letter-spacing:.01em}
.ticket-price span{font-family:var(--display);font-weight:900;font-size:17px;margin-left:8px}
.ticket-facts{margin-top:22px;border-top:1px solid var(--sand);text-align:left}
.ticket-facts>div{display:flex;gap:14px;padding:11px 2px;border-bottom:1px solid var(--sand)}
.ticket-facts dt{flex:none;width:52px;font-family:var(--display);font-weight:900;font-size:14px}
.ticket-facts dd{font-size:15px;line-height:1.7}
.cta-entry{width:100%;margin-top:24px}
.cta-entry[aria-disabled="true"]{background:var(--sand);color:var(--ink-soft);
  box-shadow:none;cursor:default}
.cta-entry[aria-disabled="true"]:hover{filter:none;transform:none}
.application-status{margin-top:14px;font-size:14px;color:var(--ink-soft);line-height:1.8}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#fff;padding:52px 20px 96px}
.foot-inner{max-width:var(--wrap);margin:0 auto}
.foot-title{font-family:var(--display);font-weight:900;font-size:19px;line-height:1.7}
.foot-facts{margin-top:22px;max-width:640px}
.foot-facts>div{display:flex;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.foot-facts dt{flex:none;width:44px;font-family:var(--display);font-weight:900;font-size:14px;
  color:var(--yellow)}
.foot-facts dd{font-size:15px;line-height:1.8;color:rgba(255,255,255,.92)}
.foot-note{margin-top:20px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.72)}
.to-top{display:inline-block;margin-top:24px;font-size:14px;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}

/* ---------- mobile bar ---------- */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:99;display:none;
  align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97);box-shadow:0 -4px 20px rgba(84,67,55,.16)}
body.show-mobile-bar .mobile-bar{display:flex}
.mb-price{display:flex;flex-direction:column;line-height:1.25}
.mb-label{font-size:11px;color:var(--ink-soft)}
.mb-price strong{font-family:var(--display);font-weight:900;font-size:19px}
.mobile-bar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;color:#fff;
  font-family:var(--display);font-weight:900;font-size:15px;white-space:nowrap;
  background:linear-gradient(100deg,var(--orange-deep),#E8724C 55%,var(--pink-deep))}

/* ---------- responsive ---------- */
/* Reference-led polish: large organic photo frames, generous text leading. */
:root{--orange-deep:#A94C17;--pink-deep:#AC3E64;--ink-faint:#7A675A}
.entry-button,.cta,.mobile-bar a{background:linear-gradient(100deg,#A94C17,#AC3E64);box-shadow:0 6px 14px rgba(84,67,55,.12)}
h1{line-height:1.65;font-size:clamp(34px,4.1vw,58px)}
h1 .amp{line-height:1.6;color:var(--pink-deep);font-size:.5em;margin:0}
.hero{padding-bottom:36px}
.hero-inner{max-width:1320px;grid-template-columns:.95fr 1.05fr;gap:48px}
.hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0}
.shot-main{grid-column:1/-1;border:14px solid var(--blue);border-radius:90px 130px 80px 120px;box-shadow:none;transform:none}
.shot-round,.shot-second{position:static;width:100%;max-width:none;border:0;border-radius:70px 80px 40px 40px;background:var(--yellow-pale);box-shadow:none;padding:12px}
.shot-second{background:var(--pink-pale);border-radius:80px 70px 40px 40px}
.shot-round img,.shot-second img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:70px 70px 28px 28px}
.shot-round img,.shot-second img{object-position:50% 50%}
.shot figcaption{text-align:center;font-size:13px;font-weight:700;padding-top:12px;line-height:1.6}
.shot-note{display:none}
.anchor-nav{transform:none;margin-top:44px;border-radius:0;box-shadow:none}
.band{margin-top:0}.band h2{color:var(--ink);text-shadow:none}
.band::before{background:rgba(255,196,170,.92)}
.band-card{background:transparent;padding:0;max-width:760px;margin:30px auto 0;box-shadow:none;text-align:center}
.badge,.host-role{color:var(--ink);background:var(--yellow-pale)}
.pill-label{background:var(--green-deep)}
.point-head{grid-template-columns:150px 1fr;gap:0 28px}
.point-lede h3,.hosts h2,.welcome h2{line-height:1.65}
.point-lede{min-width:0}.point-lede p{max-width:100%}
.point-lede .nb{max-width:100%}
.fc-photo{display:none}.fc-top{height:84px;background:var(--yellow-pale)}
.feature-cards li:nth-child(2) .fc-top{background:var(--blue-pale)}
.feature-cards li:nth-child(3) .fc-top{background:var(--pink-pale)}
.point-index{padding-bottom:26px}
.fc-title{color:#fff;background-color:#3C7A45}
.fc-teal{background-color:#1F6B68}.fc-orange{background-color:#A9530A}
.badge-row strong{color:var(--ink)}
.num-3,.point-01 .numeral{color:var(--green-deep)}
.point-02 .numeral{color:var(--purple-deep)}
.outline::before{background:rgba(169,76,23,.96)}
.entry::before{background:rgba(255,230,236,.94)}
.entry h2,.entry .section-kicker.light{color:var(--ink);text-shadow:none}
.en-sub.light{color:#fff}
.fc-a{background-image:url("assets/movement.jpg")}.fc-c{background-image:url("assets/walking.jpg")}
.mobile-bar{visibility:hidden}.show-mobile-bar .mobile-bar{visibility:visible}
@media(min-width:1100px){
 .point-head{grid-template-columns:130px 1fr 480px;gap:0 28px;align-items:center}
 .point-photo{grid-column:3;grid-row:1;margin-top:0;border-radius:40px;box-shadow:none}
 .point-photo img{aspect-ratio:4/3}
 .point-lede h3{font-size:34px}
 .point-index{align-self:start}
}
@media(min-width:901px){.show-mobile-bar .mobile-bar{display:none}}
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr;gap:30px}
  .hero-visual{max-width:560px;margin:0 auto;width:100%}
  .hosts-inner{grid-template-columns:1fr;gap:32px}
  .feature-cards{grid-template-columns:1fr 1fr}
  .info-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .header-meta{display:none}
  .site-header{padding:9px 14px}
  .logo-text strong{font-size:14px}
  .entry-button{min-width:96px;min-height:42px;font-size:14px;padding:0 18px}
  .site-footer{padding-bottom:104px}
}
@media (max-width:760px){
  body{font-size:16px}
  .hero{padding-top:30px}
  .script{font-size:24px}
  .hero-lead{font-size:15.5px}
  .anchor-nav{padding:4px 6px;transform:translateY(28px)}
  .anchor-nav li{min-width:calc(50% - 1px)}
  .anchor-nav li:nth-child(odd){border-left:0}
  .anchor-nav li:nth-child(n+3){border-top:1px solid var(--sand)}
  .anchor-nav li:last-child{min-width:100%;border-left:0}
  .anchor-nav a{font-size:13.5px;padding:12px 6px 10px}
  .band{padding:84px 18px 62px}
  .band-card{padding:24px 20px}
  .band-card p{font-size:15.5px}
  .points{padding:60px 18px 10px}
  .point{padding:44px 0 6px}
  .point-head{grid-template-columns:1fr;gap:0}
  .point-index{align-items:center;gap:10px;margin-bottom:10px}
  .vlabel{writing-mode:horizontal-tb;padding-top:0;letter-spacing:.28em}
  .numeral{font-size:60px}
  .point-lede p{font-size:15.5px}
  .point-photo img{aspect-ratio:16/10}
  .point-01::before{display:none}
  .feature-cards{grid-template-columns:1fr;gap:18px}
  .fc-top{height:118px}
  .badge-row li{width:calc(50% - 8px);max-width:150px;height:auto;aspect-ratio:1}
  .hosts{padding:52px 18px 62px;margin-top:58px}
  .host-cards{gap:14px}
  .host-cards li{padding:12px 12px 18px}
  .host-name{font-size:16px}
  .outline{padding:58px 18px 64px}
  .info-cards{grid-template-columns:1fr;gap:14px}
  .info-cards li{padding:18px 20px 20px}
  .ic-main{font-size:18px}
  .faq{margin-top:56px;padding-bottom:60px}
  .faq-head{padding:40px 18px 32px;margin:0 -18px 26px}
  .faq-list summary{font-size:15.5px;padding:17px 46px 17px 18px;gap:10px}
  .faq-list summary::after{right:18px;top:23px;width:12px;height:12px}
  .faq-list details>div{padding:0 18px 20px 18px}
  .welcome{padding:52px 18px 60px}
  .worry-bubbles li{font-size:14px;padding:13px 18px}
  .notice{padding:22px 20px 24px}
  .entry{padding:44px 18px 70px}
  .ticket{padding:26px 20px 26px;border-radius:30px}
  .site-footer{padding:44px 18px 104px}
}
@media (max-width:400px){
  .shot-round{width:100%}
  .shot-note{left:-6px;font-size:13px;padding:10px 14px}
  .hero-pills li{font-size:13px;padding:7px 14px 7px 8px}
  .badge-row li{width:calc(50% - 8px)}
  .badge-row strong{font-size:14px}
}
@media(max-width:760px){
 .dots,.tri,.chev{display:none}
 .hero-visual{gap:12px}.shot-main{border-width:8px;border-radius:50px 70px 50px 70px}
 .shot-round,.shot-second{padding:8px;border-radius:45px 45px 24px 24px}
 .shot-round img,.shot-second img{height:auto;aspect-ratio:4/5;border-radius:40px 40px 20px 20px}
 .shot figcaption{font-size:11px;min-height:48px;padding:8px 4px 0}
 .shot-round figcaption .nb{display:block}
 .host-cards{grid-template-columns:1fr;max-width:380px;margin:auto;width:100%}
 .host-cards li{padding:18px}.host-cards figure{max-width:260px;margin:auto}
 .host-cards figure img{height:auto;aspect-ratio:4/5}
 .host-name{font-size:20px}
 .anchor-nav{margin-top:26px;transform:none}
 .point-index{margin-bottom:20px;padding:0}.numeral{line-height:1.2}
}

/* 参考サイトに合わせた手書き風の英字アクセント */
.script-mini{font-family:var(--script);font-size:22px;line-height:1;margin-bottom:8px;
  transform:rotate(-2deg);transform-origin:left center;width:fit-content}
.script-green{color:var(--green-deep)}
.script-purple{color:var(--purple-deep)}
.script-pink{color:var(--pink-deep)}
.script-orange{color:var(--orange-deep)}
.script-center{margin-left:auto;margin-right:auto;transform-origin:center;margin-bottom:14px}
@media (max-width:760px){.script-mini{font-size:19px;margin-bottom:6px}}

/* ---------- v4: タイトル周り・講師肩書き・持ち帰れること ---------- */
.hero-sub{font-family:var(--display);font-weight:900;font-size:clamp(16px,2.3vw,22px);
  line-height:1.7;color:var(--pink-deep);margin-bottom:10px}
.hero-note{margin-top:14px;font-size:12.5px;line-height:1.85;color:var(--ink-faint);max-width:30em}
.host-title{font-family:var(--display);font-weight:700;font-size:13.5px;line-height:1.6;
  color:var(--gold-deep);margin-top:10px}
.host-title+.host-name{margin-top:3px}

.value{padding:76px 20px 12px;background:var(--cream-2)}
.value-list{max-width:880px;margin:36px auto 0}
.value-list li{display:grid;grid-template-columns:64px 1fr;gap:0 18px;align-items:start;
  background:#fff;border-radius:var(--round);padding:22px 26px 24px;
  box-shadow:0 10px 24px rgba(84,67,55,.09)}
.value-list li+li{margin-top:16px}
.v-num{font-family:var(--serif);font-size:38px;line-height:1;color:var(--green-deep)}
.value-list li:nth-child(2) .v-num{color:var(--teal)}
.value-list li:nth-child(3) .v-num{color:var(--purple-deep)}
.value-list li:nth-child(4) .v-num{color:var(--orange-deep)}
.value-list li:nth-child(5) .v-num{color:var(--pink-deep)}
.v-title{font-family:var(--display);font-weight:900;font-size:18.5px;line-height:1.6}
.v-body{margin-top:9px;font-size:15.5px;line-height:1.95;color:var(--ink-soft)}
.value-close{max-width:880px;margin:28px auto 0;text-align:center;
  font-family:var(--display);font-weight:700;font-size:16.5px;line-height:1.95;color:var(--ink)}
@media (max-width:760px){
  .value{padding:60px 18px 10px}
  .value-list li{grid-template-columns:1fr;gap:0;padding:20px 20px 22px}
  .v-num{font-size:30px;display:block;margin-bottom:6px}
  .v-title{font-size:17px}
  .v-body{font-size:15px}
  .value-close{font-size:15.5px;text-align:left}
  .hero-note{font-size:12px}
  .hero-sub{font-size:16px}
}
@media (max-width:385px){
  .section-title h2{font-size:28px}
}
.value-note{max-width:880px;margin:20px auto 0;font-size:13px;line-height:1.85;
  color:var(--ink-faint);text-align:center}
@media (max-width:760px){.value-note{text-align:left;font-size:12.5px}}
