
:root{--ink:#211b18;--cream:#fbf7f2;--brown:#231915;--taupe:#8b7771;--gold:#a4876f;--line:#e7ddd5}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Noto Serif JP",serif;line-height:1.65;padding-bottom:116px}
button,a{font:inherit}.header{position:sticky;top:0;z-index:50;height:62px;padding:7px 14px;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #eee}
.brand{display:block;width:132px;height:46px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}
.header nav{display:none}.header-btn{margin-left:auto;background:var(--brown);color:#fff;border:0;padding:10px 14px;font-size:8px;letter-spacing:.12em}
.section{padding:50px 18px}.eyebrow{margin:0 0 7px;color:var(--gold);font-size:8px;letter-spacing:.2em;text-transform:uppercase}.light{color:#d9c3b2}
h1,h2,h3{font-family:"Noto Serif JP",serif;font-weight:500}
.hero{padding:34px 18px 48px;background:radial-gradient(circle at 88% 8%,rgba(222,205,232,.32),transparent 28%),radial-gradient(circle at 10% 72%,rgba(236,214,221,.28),transparent 26%),linear-gradient(145deg,#fff,#faf5ef);overflow:hidden}
.hero-copy h1{font-size:32px;line-height:1.36;margin:0 0 14px}.hero-copy h1 span{white-space:nowrap}.lead{font-size:11px;color:#746a63;margin:0 0 17px}
.value-badge{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:max-content;max-width:100%;margin-bottom:14px;padding:10px 12px;border:1px solid rgba(164,135,111,.28);border-radius:999px;background:rgba(255,255,255,.76)}
.value-badge span{font-size:7px;color:#8a7b70}.value-badge strong,.value-badge b{font-family:"Noto Serif JP";font-size:13px}.value-badge i{font-style:normal;color:#b59a83}
.hero-actions{display:flex;align-items:center;gap:12px}.hero-actions small{font-size:7px;color:#8a8079}
.dark-btn,.white-btn,.outline-btn{border:0;padding:12px 18px;font-size:9px}.dark-btn{background:var(--brown);color:#fff}.white-btn{background:#fff;color:var(--brown)}.outline-btn{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.hero-visual{position:relative;margin-top:22px}.hero-visual img{display:block;width:100%;height:270px;object-fit:cover;border-radius:24px 24px 74px 24px}
.hero-card{position:absolute;right:10px;bottom:-12px;width:126px;padding:14px 15px;background:rgba(255,255,255,.93);border-radius:26px 8px 26px 26px;box-shadow:0 12px 30px rgba(60,40,30,.1)}
.hero-card b{display:block;font-family:"Cormorant Garamond";font-size:38px;line-height:1}.hero-card span,.hero-card small{display:block;color:#786d65;font-size:6px;letter-spacing:.08em}
.flower{position:absolute;border-radius:50% 40% 55% 45%;opacity:.55}.flower-a{width:78px;height:78px;right:-17px;top:-22px;background:rgba(213,224,235,.55);transform:rotate(25deg)}.flower-b{width:45px;height:45px;left:-12px;bottom:25px;background:rgba(240,218,230,.62);transform:rotate(-18deg)}
.worry{padding:34px 18px}.worry-cloud{position:relative;padding:26px 16px 22px;background:var(--cream);border-radius:42% 58% 46% 54% / 22% 26% 74% 78%;overflow:hidden}
.worry-cloud:before,.worry-cloud:after{content:"";position:absolute;border-radius:50%;background:#fff;opacity:.7}.worry-cloud:before{width:92px;height:92px;left:-42px;top:18px}.worry-cloud:after{width:70px;height:70px;right:-24px;bottom:-8px}
.worry-title{text-align:center;position:relative;z-index:2}.worry-title h2{font-size:21px;margin:0 0 16px}.worry-items{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;position:relative;z-index:2}
.worry-items div{text-align:center;padding:10px 3px}.worry-items span{display:block;font-size:7px;color:#aa8b72}.worry-items b{font-family:"Noto Serif JP";font-size:9px;font-weight:500;line-height:1.55}
.plan{display:grid;grid-template-columns:1.25fr .75fr;margin:0 18px 34px}.plan-main{padding:25px 19px;background:var(--brown);color:#fff}.plan-value{font-size:8px;color:#cdbdb1;margin:0 0 6px}
.plan-main h2{margin:0 0 14px;font-size:14px}.plan-main h2 small{font-size:9px}.plan-main h2 strong{font-size:31px}.plan-main h2 span{font-size:7px}
.plan-main ul{list-style:none;margin:0 0 17px;padding:0}.plan-main li{font-size:8px;padding:6px 0;border-top:1px solid rgba(255,255,255,.12)}
.plan-side{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f2e8df;border-radius:0 38px 38px 0}.plan-side span{font-family:"Cormorant Garamond";font-size:62px;line-height:.9}.plan-side p{text-align:center;font-size:6px;letter-spacing:.14em}
.steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2{font-size:23px;line-height:1.5;margin:0 0 19px}.step-grid{display:grid;gap:8px}
.step-grid article{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center;border:1px solid var(--line);padding:14px;background:#fff}.step-grid span{font-family:"Cormorant Garamond";font-size:25px;color:#b39a83}
.step-grid h3{font-size:11px;margin:0}.step-grid p{font-size:8px;color:#7b716a;margin:0}
.menu{background:var(--cream)}.section-head>p{font-size:8px;color:#81766f}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.menu-grid article{display:grid;grid-template-columns:26px 1fr;align-items:center;background:#fff;border-radius:18px;padding:13px 11px}.menu-grid span{font-size:7px;color:#aa8a70}.menu-grid b{font-family:"Noto Serif JP";font-size:9px;font-weight:500}
.mid-cta{margin-top:15px;padding:16px;background:var(--brown);color:#fff;border-radius:4px 28px 4px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mid-cta small{display:block;font-size:6px;color:#c8b8ac}.mid-cta b{font-family:"Noto Serif JP";font-size:11px;font-weight:500}
.belief{padding:50px 18px;text-align:center;color:#fff;background:linear-gradient(145deg,#241915,#15100d)}.quote{font-size:40px;color:#8e7460;margin:0}.belief h2{font-size:26px;margin:7px 0 11px}.belief>p:not(.eyebrow):not(.quote){font-size:8px;color:#cbbcb1}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:23px;border-top:1px solid #49382f;border-bottom:1px solid #49382f}.stats div{padding:12px 3px;border-right:1px solid #49382f}.stats div:last-child{border-right:0}.stats b{display:block;font-family:"Cormorant Garamond";font-size:24px}.stats span{font-size:6px;color:#9f8b7d}
.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.visual-grid article{overflow:hidden;border-radius:24px;background:#fff}.visual-grid article.large{grid-column:1/-1}.visual-grid img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}.visual-grid .large img{aspect-ratio:16/10}.visual-grid p{font-size:8px;margin:7px 9px 10px}
.machine{background:#faf6f1}.machine-copy>p:last-child{font-size:8px;color:#796e67}.machine-cards{display:grid;gap:8px;margin-top:17px}.machine-cards article{position:relative;padding:15px 15px 15px 45px;background:#fff;border-radius:22px 8px 22px 8px}
.machine-cards span{position:absolute;left:14px;top:14px;color:#b09279;font-size:8px}.machine-cards b{display:block;font-family:"Noto Serif JP";font-size:10px;font-weight:500}.machine-cards p{font-size:8px;color:#7b7068;margin:3px 0 0}
.faq details{border-top:1px solid var(--line);padding:13px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:9px}.faq details p{font-size:8px;color:#766c65}
.access{display:grid;gap:20px}.access dl{margin:14px 0}.access dl div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:8px}.access dt{color:#97897f}.access dd{margin:0}
.map-card{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;text-align:center;background:radial-gradient(circle at 30% 30%,rgba(214,226,238,.38),transparent 32%),linear-gradient(145deg,#f3ebe4,#fbf7f2);border-radius:46% 54% 36% 64% / 46% 38% 62% 54%}
.map-card span{font-family:"Cormorant Garamond";font-size:44px;color:#aa937f}.map-card b{font-family:"Noto Serif JP";font-size:11px;font-weight:500}.map-card small{font-size:7px;margin-top:8px}
.final-cta{padding:48px 18px 95px;text-align:center;background:linear-gradient(145deg,#2b1f19,#16100d);color:#fff}.final-cta h2{font-family:"Noto Serif JP";font-size:26px;line-height:1.48;margin:0 0 9px}.final-cta>p:not(.eyebrow){font-size:8px;color:#d2c1b5}
footer{padding:20px 18px;display:flex;align-items:center;justify-content:space-between}footer img{width:120px;height:44px;object-fit:contain}footer small{font-size:6px;color:#978b83}
.sticky-banner{position:fixed;left:10px;right:10px;bottom:10px;z-index:70;display:grid;grid-template-columns:1fr 1fr;gap:8px}.sticky-card{min-height:75px;border:0;color:#fff;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;text-align:left;padding:14px 15px 12px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.sticky-card small{grid-column:1;font-size:7px;letter-spacing:.1em;opacity:.86;margin-bottom:5px}.sticky-card strong{grid-column:1;font-family:"Noto Serif JP";font-size:12px}.sticky-card span{grid-column:2;grid-row:1/3;font-size:18px}
.sticky-consult{background:linear-gradient(180deg,#8e7c76,#82706a)}.sticky-apply{background:radial-gradient(circle at 86% 42%,rgba(164,103,55,.24),transparent 34%),linear-gradient(135deg,#241b17,#1d1512)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(min-width:780px){
 body{padding-bottom:0}.header{height:74px;padding:8px 32px}.brand{width:168px;height:56px}.header nav{display:flex;margin-left:auto;gap:25px}.header nav a{font-size:9px;letter-spacing:.1em;text-decoration:none;color:#6d625b}.header-btn{margin-left:8px}
 .hero,.section,.worry,.belief,.access{max-width:1120px;margin:auto}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;padding:66px 36px}.hero-copy h1{font-size:55px}.hero-visual{margin-top:0}.hero-visual img{height:510px}
 .worry{padding:44px 36px}.worry-cloud{padding:34px 38px}.worry-items b{font-size:12px}.plan{max-width:850px;margin:0 auto 54px}.section{padding:76px 36px}
 .step-grid{grid-template-columns:repeat(3,1fr)}.step-grid article{display:block;min-height:145px}.menu-grid{grid-template-columns:repeat(3,1fr)}
 .visual-grid{grid-template-columns:1.2fr .8fr .8fr}.visual-grid article.large{grid-column:auto}.visual-grid .large img,.visual-grid img{aspect-ratio:4/3}
 .machine{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px}.access{grid-template-columns:1.2fr .8fr;padding:76px 36px}.sticky-banner{left:auto;right:24px;width:580px}
}

.menu-grid article>div{min-width:0}
.menu-grid small{display:block;margin-top:2px;font-size:7px;line-height:1.45;color:#8a7d74}
.menu-grid em{display:block;margin-top:5px;font-family:"Noto Serif JP";font-size:8px;font-style:normal;color:#6d5b4f}
@media(max-width:420px){
  .menu-grid article{grid-template-columns:22px 1fr;padding:12px 9px}
  .menu-grid b{font-size:8.5px;line-height:1.45}
  .menu-grid small{font-size:6.5px}
  .menu-grid em{font-size:7.5px}
}


/* v7 revisions */
.hero{position:relative}
.hero::before{
  content:"✿";
  position:absolute;
  left:14px;
  top:62px;
  font-size:66px;
  color:rgba(193,150,170,.13);
  transform:rotate(-12deg);
  pointer-events:none;
}
.hero::after{
  content:"❀";
  position:absolute;
  right:26px;
  bottom:28px;
  font-size:92px;
  color:rgba(175,156,209,.10);
  transform:rotate(18deg);
  pointer-events:none;
}
.hero-visual::before{
  content:"✿";
  position:absolute;
  left:-6px;
  top:-10px;
  font-size:48px;
  color:rgba(226,190,157,.18);
  z-index:2;
  pointer-events:none;
}
.service-summary{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0 0 16px;
  max-width:100%;
}
.service-chip{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(164,135,111,.18);
  border-radius:20px;
  padding:10px 13px;
  box-shadow:0 8px 24px rgba(73,49,35,.04);
}
.service-chip strong{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:11px;
  font-weight:600;
  color:#2b211c;
}
.service-chip small{
  display:block;
  margin-top:2px;
  font-size:7px;
  color:#7d7168;
}
.worry-title h2{margin-bottom:18px}
.worry-items{
  grid-template-columns:1fr;
  gap:10px;
}
.worry-items div{
  background:rgba(255,255,255,.95);
  border-radius:28px;
  padding:14px 10px 16px;
  position:relative;
  box-shadow:0 8px 22px rgba(75,56,41,.06);
}
.worry-items div::after{
  content:"";
  position:absolute;
  left:22px;
  bottom:-8px;
  width:18px;
  height:18px;
  background:rgba(255,255,255,.95);
  border-radius:0 0 14px 0;
  transform:rotate(32deg);
}
.worry-items b{
  font-size:10px;
  line-height:1.65;
}
.visual-split{
  display:grid;
  gap:18px;
}
.visual-panel{
  background:#fff;
  border-radius:28px;
  padding:16px;
  box-shadow:0 10px 24px rgba(70,50,33,.05);
}
.panel-head small{
  display:block;
  font-size:7px;
  letter-spacing:.14em;
  color:#a4876f;
  margin-bottom:4px;
}
.panel-head h3{
  margin:0 0 12px;
  font-size:16px;
}
.visual-panel img{
  width:100%;
  display:block;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:20px;
}
.panel-note{
  margin:10px 2px 0;
  font-size:8px;
  color:#766c65;
}
.photo-placeholder{
  min-height:230px;
  border:1.5px dashed #ceb8a5;
  border-radius:22px;
  background:linear-gradient(145deg,#f9f3ed,#fff);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
}
.photo-placeholder span{
  font-family:"Noto Serif JP",serif;
  font-size:11px;
  color:#9b876f;
  line-height:1.7;
}
.comment-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.comment-card{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  align-items:flex-start;
  background:#fbf7f2;
  border-radius:18px;
  padding:10px 12px;
}
.avatar-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  background:#efe5dd;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
}
.comment-card p{
  margin:0;
  font-size:8px;
  color:#6f655e;
  line-height:1.7;
}
.machine-head h2{margin-bottom:16px}
.machine-photo-grid{
  display:grid;
  gap:14px;
}
.machine-photo-card{
  background:#fff;
  border-radius:26px;
  padding:14px;
  box-shadow:0 10px 24px rgba(70,50,33,.05);
}
.machine-placeholder{
  min-height:180px;
  border:1.5px dashed #ceb8a5;
  border-radius:20px;
  background:linear-gradient(145deg,#faf4ef,#fff);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
}
.machine-placeholder span{
  font-family:"Noto Serif JP",serif;
  font-size:11px;
  color:#9b876f;
  line-height:1.7;
}
.machine-text{
  margin-top:12px;
}
.machine-text span{
  display:block;
  font-size:8px;
  color:#b09279;
  margin-bottom:2px;
}
.machine-text b{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:12px;
  font-weight:600;
}
.machine-text p{
  margin:4px 0 0;
  font-size:8px;
  color:#7b7068;
  line-height:1.7;
}
.machine-media{
  margin:0;
  overflow:hidden;
  border:1px solid #d8e4e9;
  border-radius:20px;
  background:linear-gradient(145deg,#edf5f8,#fff);
}
.machine-media img,
.machine-media video{
  display:block;
  width:100%;
}
.machine-media-single img{
  aspect-ratio:4/5;
  object-fit:cover;
}
.machine-media-clear{
  display:grid;
  gap:8px;
  padding:8px;
}
.machine-media-clear video{
  max-height:430px;
  border-radius:14px;
  background:#263238;
  object-fit:contain;
}
.machine-photo-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.machine-photo-pair img{
  aspect-ratio:1/1;
  border-radius:14px;
  background:#fff;
  object-fit:contain;
}
.sticky-card{
  min-height:52px;
  padding:10px 13px 9px;
}
.sticky-card small{
  font-size:6px;
  margin-bottom:3px;
}
.sticky-card strong{
  font-size:10px;
}
.sticky-card span{
  font-size:15px;
}
@media(min-width:780px){
  .service-summary{grid-template-columns:repeat(3,1fr)}
  .worry-items{grid-template-columns:repeat(3,1fr)}
  .visual-split{grid-template-columns:1fr 1fr;align-items:start}
  .machine-photo-grid{grid-template-columns:1fr 1fr}
  .sticky-card{min-height:56px}
}


/* v8 readability + richer visual treatment */
body{
  background:
    radial-gradient(circle at 8% 10%, rgba(247,237,224,.55), transparent 26%),
    radial-gradient(circle at 92% 18%, rgba(243,227,211,.45), transparent 28%),
    linear-gradient(180deg,#fff 0%,#fdfaf6 100%);
  font-size:16px;
}

.hero{
  background:
    radial-gradient(circle at 88% 8%,rgba(222,205,232,.34),transparent 28%),
    radial-gradient(circle at 10% 72%,rgba(236,214,221,.34),transparent 26%),
    radial-gradient(circle at 58% 16%,rgba(235,216,177,.18),transparent 22%),
    linear-gradient(140deg,#fffdfb 0%,#faf4ed 48%,#f6eee6 100%);
  box-shadow: inset 0 -1px 0 rgba(176,142,112,.12);
}
.hero::before{
  content:"✿";
  left:12px;
  top:56px;
  font-size:84px;
  color:rgba(193,150,170,.16);
}
.hero::after{
  content:"❀";
  right:22px;
  bottom:18px;
  font-size:112px;
  color:rgba(186,166,126,.13);
}
.hero-copy{
  position:relative;
  z-index:2;
}
.hero-copy::before{
  content:"";
  position:absolute;
  left:-10px;
  top:-6px;
  width:220px;
  height:220px;
  background:
    linear-gradient(130deg,rgba(255,255,255,.65),rgba(255,255,255,0)),
    repeating-linear-gradient(120deg, rgba(198,172,146,.08) 0 2px, rgba(255,255,255,0) 2px 16px);
  border-radius:48% 52% 56% 44% / 40% 48% 52% 60%;
  filter:blur(.2px);
  pointer-events:none;
  z-index:-1;
}
.hero-brand{
  margin:0 0 10px;
  font-family:"Cormorant Garamond","Noto Serif JP",serif;
  font-size:22px;
  line-height:1.1;
  color:#7f6654;
  letter-spacing:.04em;
}
.hero-copy h1{
  font-size:36px;
  line-height:1.3;
  margin:0 0 16px;
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
.lead{
  font-size:13px;
  line-height:1.9;
  color:#5f554f;
  margin:0 0 18px;
  font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-weight:500;
}
.lead strong{
  font-weight:700;
  color:#2e221d;
}
.service-summary{
  gap:10px;
  margin-bottom:18px;
}
.service-chip{
  border-radius:22px;
  padding:12px 14px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(250,244,237,.88)),
    repeating-linear-gradient(120deg, rgba(187,152,112,.05) 0 2px, rgba(255,255,255,0) 2px 18px);
  border:1px solid rgba(177,146,119,.26);
}
.service-chip strong{
  font-size:12px;
  font-weight:700;
}
.service-chip small{
  font-size:8px;
  line-height:1.6;
  font-family:"Hiragino Maru Gothic ProN","YuGothic","Noto Sans JP",sans-serif;
  font-weight:600;
}
.hero-actions small{
  font-size:8px;
  font-weight:700;
}
.dark-btn,.white-btn,.outline-btn{
  font-size:10px;
  font-weight:700;
}
.hero-visual img{
  border:1px solid rgba(188,160,128,.25);
  box-shadow:0 16px 40px rgba(96,70,48,.10);
}
.hero-card{
  width:136px;
  padding:15px 16px;
}
.hero-card span,.hero-card small{
  font-size:6.5px;
  font-weight:700;
}

.worry-cloud{
  background:
    linear-gradient(140deg,#fffaf6,#f9f2eb),
    repeating-linear-gradient(120deg, rgba(185,151,124,.04) 0 1px, rgba(255,255,255,0) 1px 18px);
}
.worry-title h2{
  font-size:24px;
}
.worry-items span{
  font-size:8px;
  font-weight:700;
}
.worry-items b{
  font-size:11px;
  font-weight:700;
  font-family:"Hiragino Maru Gothic ProN","YuGothic","Noto Sans JP",sans-serif;
}

.plan-main h2 strong{
  font-size:34px;
}
.plan-main li{
  font-size:9px;
  font-weight:600;
}
.plan-value{
  font-size:9px;
  font-weight:700;
}
.plan-side p{
  font-size:7px;
  font-weight:700;
}

.steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2{
  font-size:25px;
}
.step-grid h3{
  font-size:12px;
  font-weight:700;
}
.step-grid p{
  font-size:9px;
  line-height:1.7;
  font-weight:600;
}
.step-grid article{
  border-radius:14px;
}

.section-head>p,
.menu-grid small,
.panel-note,
.comment-card p,
.machine-text p,
.faq details p,
.access dl div,
.final-cta>p:not(.eyebrow),
.map-card small{
  font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

.menu-grid article{
  border-radius:20px;
  box-shadow:0 8px 18px rgba(71,51,35,.04);
}
.menu-grid b{
  font-size:10px;
  font-weight:700;
  line-height:1.55;
}
.menu-grid small{
  font-size:7.5px;
  font-weight:600;
}
.menu-grid em{
  font-size:8.5px;
  font-weight:700;
}
.mid-cta{
  border-radius:16px 34px 16px 34px;
}
.mid-cta b{
  font-size:12px;
}
.mid-cta small{
  font-size:7px;
  font-weight:700;
}

.belief{
  background:
    radial-gradient(circle at 18% 22%, rgba(190,162,116,.10), transparent 22%),
    radial-gradient(circle at 82% 80%, rgba(211,194,230,.08), transparent 18%),
    linear-gradient(145deg,#281b16,#17110e);
}
.belief h2{
  font-size:28px;
}
.belief>p:not(.eyebrow):not(.quote){
  font-size:9px;
  line-height:1.9;
}
.stats b{
  font-size:26px;
}

.visual-panel{
  background:
    linear-gradient(145deg,#fff,#fcf8f3),
    repeating-linear-gradient(125deg, rgba(185,152,119,.03) 0 1px, rgba(255,255,255,0) 1px 18px);
}
.panel-head h3{
  font-size:18px;
}
.panel-head small{
  font-size:7.5px;
  font-weight:700;
}
.panel-note{
  font-size:9px;
  line-height:1.8;
  font-weight:600;
}
.photo-placeholder span{
  font-size:12px;
  font-weight:700;
}
.comment-card p{
  font-size:9px;
  font-weight:600;
}
.avatar-icon{
  font-size:16px;
}

.machine{
  background:
    linear-gradient(145deg,#fbf6f0,#f8f1e9),
    repeating-linear-gradient(125deg, rgba(184,150,118,.04) 0 1px, rgba(255,255,255,0) 1px 18px);
}
.machine-head h2{
  font-size:26px;
}
.machine-placeholder span{
  font-size:12px;
  font-weight:700;
}
.machine-text b{
  font-size:13px;
}
.machine-text p{
  font-size:9px;
  line-height:1.8;
  font-weight:600;
}
.machine-text span{
  font-size:8px;
  font-weight:700;
}

.faq summary{
  font-size:10px;
  font-weight:700;
}
.faq details p{
  font-size:9px;
  line-height:1.8;
  font-weight:600;
}
.access dl div{
  font-size:9px;
  line-height:1.8;
  font-weight:600;
}
.map-card span{
  font-size:48px;
}
.map-card b{
  font-size:12px;
  font-weight:700;
}
.map-card small{
  font-size:8px;
  font-weight:700;
}

.final-cta{
  background:
    radial-gradient(circle at 20% 24%, rgba(190,162,116,.10), transparent 20%),
    linear-gradient(145deg,#2d201a,#17110e);
}
.final-cta h2{
  font-size:28px;
}
.final-cta>p:not(.eyebrow){
  font-size:9px;
  line-height:1.8;
  font-weight:700;
}
footer small{
  font-size:7px;
  font-weight:600;
}

.sticky-card{
  min-height:52px;
}
.sticky-card small{
  font-size:6.5px;
  font-weight:700;
}
.sticky-card strong{
  font-size:10.5px;
  font-weight:700;
}

@media(max-width:420px){
  .hero-copy h1{font-size:33px}
  .lead{font-size:12px}
  .service-chip strong{font-size:11px}
  .service-chip small{font-size:7.5px}
  .steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2,.worry-title h2{font-size:22px}
}

@media(min-width:780px){
  .hero-brand{
    font-size:28px;
    margin-bottom:12px;
  }
  .hero-copy h1{
    font-size:58px;
  }
  .lead{
    font-size:15px;
  }
  .service-chip strong{
    font-size:13px;
  }
  .service-chip small{
    font-size:8.5px;
  }
  .steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2{
    font-size:32px;
  }
  .worry-title h2{
    font-size:29px;
  }
}


/* v9 stronger girly background + typography + animation */
body{
  background:
    radial-gradient(circle at 8% 12%, rgba(246,220,231,.55), transparent 20%),
    radial-gradient(circle at 88% 9%, rgba(239,225,199,.55), transparent 24%),
    radial-gradient(circle at 18% 78%, rgba(222,218,243,.45), transparent 18%),
    radial-gradient(circle at 94% 82%, rgba(255,232,241,.44), transparent 22%),
    linear-gradient(180deg,#fff 0%,#fdf9f5 38%,#fbf4ef 100%);
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(115deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 42%),
    repeating-linear-gradient(130deg, rgba(196,163,129,.05) 0 1px, rgba(255,255,255,0) 1px 22px),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.22), transparent 13%),
    radial-gradient(circle at 75% 65%, rgba(255,255,255,.18), transparent 11%);
  mix-blend-mode:screen;
  z-index:0;
}
main, header, footer, .sticky-banner{position:relative;z-index:1}

.header{
  background:
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,251,247,.92)),
    repeating-linear-gradient(125deg, rgba(193,162,129,.04) 0 1px, rgba(255,255,255,0) 1px 20px);
}
.header-btn{
  font-weight:800;
  border-radius:999px;
}

.hero{
  background:
    radial-gradient(circle at 88% 8%,rgba(230,204,227,.44),transparent 28%),
    radial-gradient(circle at 10% 72%,rgba(243,214,226,.46),transparent 26%),
    radial-gradient(circle at 58% 16%,rgba(240,221,187,.24),transparent 22%),
    radial-gradient(circle at 24% 32%,rgba(255,255,255,.48),transparent 19%),
    linear-gradient(140deg,#fffefc 0%,#fbf4ef 48%,#f7efe8 100%);
  overflow:hidden;
}
.hero::before{
  content:"✿";
  left:8px;
  top:62px;
  font-size:96px;
  color:rgba(215,144,177,.18);
  animation:floatPetal 8s ease-in-out infinite;
}
.hero::after{
  content:"❀";
  right:18px;
  bottom:18px;
  font-size:126px;
  color:rgba(194,165,118,.16);
  animation:floatPetal 10s ease-in-out infinite reverse;
}
.hero-copy::after{
  content:"❁";
  position:absolute;
  right:8px;
  top:24px;
  font-size:30px;
  color:rgba(194,158,182,.22);
  pointer-events:none;
}
.hero-brand{
  font-size:24px;
  font-weight:700;
  letter-spacing:.05em;
}
.hero-copy h1{
  font-size:37px;
  font-weight:700;
}
.hero-copy h1 span{
  font-family:"M PLUS Rounded 1c","Noto Serif JP",sans-serif;
  font-weight:800;
}
.lead{
  font-size:13px;
  font-weight:600;
  line-height:1.95;
}
.eyebrow{
  font-weight:800;
}
.service-chip{
  background:
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(252,242,237,.90)),
    radial-gradient(circle at 85% 20%, rgba(244,220,230,.30), transparent 24%),
    repeating-linear-gradient(120deg, rgba(188,155,118,.06) 0 1px, rgba(255,255,255,0) 1px 18px);
  box-shadow:0 12px 26px rgba(102,72,47,.08);
}
.service-chip strong{
  font-size:13px;
  font-weight:800;
}
.service-chip small{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","YuGothic",sans-serif;
  font-size:8.5px;
  font-weight:700;
}
.dark-btn,.white-btn,.outline-btn{
  font-weight:800;
  border-radius:999px;
}
.hero-actions small{
  font-size:8.5px;
  font-weight:800;
}
.hero-card{
  animation:floatCard 4.6s ease-in-out infinite;
}
.hero-card b{
  font-weight:700;
}
.hero-card span,.hero-card small{
  font-size:7px;
  font-weight:800;
}

.worry-cloud{
  background:
    linear-gradient(140deg,#fffaf6,#f9f0ea),
    radial-gradient(circle at 18% 20%, rgba(248,221,230,.28), transparent 22%),
    radial-gradient(circle at 86% 72%, rgba(230,221,194,.20), transparent 20%),
    repeating-linear-gradient(125deg, rgba(184,150,118,.04) 0 1px, rgba(255,255,255,0) 1px 20px);
}
.worry-title h2{
  font-size:25px;
  font-weight:700;
}
.worry-items div{
  background:
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,247,.96));
  border:1px solid rgba(214,193,175,.45);
}
.worry-items b{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","YuGothic",sans-serif;
  font-size:11px;
  font-weight:800;
}
.worry-items span{
  font-size:8px;
  font-weight:800;
}

.plan-main{
  background:
    radial-gradient(circle at 12% 14%, rgba(205,170,126,.13), transparent 22%),
    linear-gradient(145deg,#261b16,#17110e);
}
.plan-main h2 strong{
  font-size:36px;
  font-weight:700;
}
.plan-main li,
.plan-value{
  font-size:9.5px;
  font-weight:700;
}
.plan-side{
  background:
    linear-gradient(145deg,#f4ece4,#ecdfd4),
    radial-gradient(circle at 76% 22%, rgba(241,217,228,.26), transparent 23%);
}

.steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2{
  font-size:26px;
  font-weight:700;
}
.step-grid article{
  box-shadow:0 8px 20px rgba(76,55,39,.04);
}
.step-grid h3{
  font-size:12px;
  font-weight:800;
}
.step-grid p{
  font-size:9.3px;
  font-weight:700;
}
.step-grid span{
  font-weight:700;
}

.menu{
  background:
    linear-gradient(180deg,#fdf8f3 0%,#fbf3ed 100%);
}
.section-head>p{
  font-size:9px;
  font-weight:700;
}
.menu-grid article{
  background:
    linear-gradient(145deg,#fff,#fffaf6),
    radial-gradient(circle at 84% 18%, rgba(245,224,233,.24), transparent 22%);
  border:1px solid rgba(226,210,196,.45);
}
.menu-grid b{
  font-size:10.5px;
  font-weight:800;
}
.menu-grid small{
  font-size:8px;
  font-weight:700;
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","YuGothic",sans-serif;
}
.menu-grid em{
  font-size:8.8px;
  font-weight:800;
}
.mid-cta{
  background:
    radial-gradient(circle at 16% 22%, rgba(196,164,126,.14), transparent 18%),
    linear-gradient(145deg,#241a16,#17110e);
  box-shadow:0 14px 28px rgba(54,38,29,.12);
}
.mid-cta b{
  font-size:12.5px;
  font-weight:800;
}
.mid-cta small{
  font-size:7.4px;
  font-weight:800;
}

.belief{
  background:
    radial-gradient(circle at 18% 22%, rgba(201,171,119,.14), transparent 22%),
    radial-gradient(circle at 82% 80%, rgba(220,198,236,.11), transparent 18%),
    linear-gradient(145deg,#2a1c17,#15100d);
}
.belief h2{
  font-size:29px;
  font-weight:700;
}
.belief>p:not(.eyebrow):not(.quote){
  font-size:9.5px;
  font-weight:600;
}
.stats b{
  font-size:27px;
  font-weight:700;
}

.visual-panel{
  background:
    linear-gradient(145deg,#fff,#fcf7f2),
    radial-gradient(circle at 78% 20%, rgba(245,222,231,.20), transparent 24%),
    repeating-linear-gradient(125deg, rgba(185,152,119,.03) 0 1px, rgba(255,255,255,0) 1px 18px);
}
.panel-head h3{
  font-size:19px;
  font-weight:700;
}
.panel-head small{
  font-size:8px;
  font-weight:800;
}
.panel-note{
  font-size:9.5px;
  font-weight:700;
}
.photo-placeholder{
  background:
    linear-gradient(145deg,#fdf6f0,#fff),
    radial-gradient(circle at 82% 22%, rgba(244,222,229,.22), transparent 24%);
}
.photo-placeholder span{
  font-size:12px;
  font-weight:800;
}
.comment-card{
  background:
    linear-gradient(145deg,#fcf8f4,#fff);
}
.comment-card p{
  font-size:9.2px;
  font-weight:700;
}
.avatar-icon{
  box-shadow:0 6px 14px rgba(98,72,47,.08);
}

.machine{
  background:
    linear-gradient(145deg,#fcf8f3,#f7efe8),
    radial-gradient(circle at 14% 20%, rgba(248,224,233,.16), transparent 20%),
    radial-gradient(circle at 86% 74%, rgba(231,219,194,.18), transparent 24%),
    repeating-linear-gradient(125deg, rgba(184,150,118,.04) 0 1px, rgba(255,255,255,0) 1px 18px);
}
.machine-head h2{
  font-size:27px;
  font-weight:700;
}
.machine-photo-card{
  background:
    linear-gradient(145deg,#fff,#fff9f5),
    radial-gradient(circle at 84% 22%, rgba(243,221,230,.20), transparent 24%);
}
.machine-placeholder{
  background:
    linear-gradient(145deg,#fcf7f2,#fff),
    radial-gradient(circle at 18% 22%, rgba(237,225,197,.16), transparent 24%);
}
.machine-placeholder span{
  font-size:12px;
  font-weight:800;
}
.machine-text b{
  font-size:13px;
  font-weight:800;
}
.machine-text p{
  font-size:9.2px;
  font-weight:700;
}

.faq summary{
  font-size:10.3px;
  font-weight:800;
}
.faq details p{
  font-size:9.2px;
  font-weight:700;
}
.access dl div{
  font-size:9.2px;
  font-weight:700;
}
.map-card{
  background:
    radial-gradient(circle at 30% 30%,rgba(231,213,228,.34),transparent 24%),
    radial-gradient(circle at 78% 62%,rgba(222,228,238,.30),transparent 24%),
    linear-gradient(145deg,#f7efe8,#fdf9f5);
}
.map-card span{
  font-size:50px;
  font-weight:700;
}
.map-card b{
  font-size:12.5px;
  font-weight:800;
}
.map-card small{
  font-size:8px;
  font-weight:800;
}

.final-cta{
  background:
    radial-gradient(circle at 20% 24%, rgba(196,167,119,.13), transparent 20%),
    radial-gradient(circle at 82% 68%, rgba(219,196,233,.10), transparent 18%),
    linear-gradient(145deg,#2e201a,#17110e);
}
.final-cta h2{
  font-size:29px;
  font-weight:700;
}
.final-cta>p:not(.eyebrow){
  font-size:9.5px;
  font-weight:800;
}

footer small{
  font-size:7px;
  font-weight:700;
}

.sticky-card{
  min-height:52px;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.sticky-card small{
  font-size:6.7px;
  font-weight:800;
}
.sticky-card strong{
  font-size:10.8px;
  font-weight:800;
}
.sticky-consult{
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.10), transparent 20%),
    linear-gradient(180deg,#9a8882,#816f69);
}
.sticky-apply{
  background:
    radial-gradient(circle at 86% 42%,rgba(198,136,85,.28),transparent 34%),
    radial-gradient(circle at 24% 20%, rgba(197,169,122,.12), transparent 18%),
    linear-gradient(135deg,#2a1d18,#1b1410);
}

/* stronger reveal animations */
.reveal{
  opacity:0;
  transform:translateY(42px) scale(.96);
  filter:blur(8px);
  transition:
    opacity .95s cubic-bezier(.19,1,.22,1),
    transform .95s cubic-bezier(.19,1,.22,1),
    filter .95s cubic-bezier(.19,1,.22,1);
  will-change:opacity,transform,filter;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}
.reveal:nth-of-type(odd).is-visible{
  animation:sectionPop .95s cubic-bezier(.2,.8,.2,1);
}

@keyframes floatPetal{
  0%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-10px) rotate(6deg)}
  100%{transform:translateY(0) rotate(0deg)}
}
@keyframes floatCard{
  0%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
  100%{transform:translateY(0)}
}
@keyframes sectionPop{
  0%{transform:translateY(42px) scale(.94)}
  55%{transform:translateY(-6px) scale(1.01)}
  100%{transform:translateY(0) scale(1)}
}

@media(max-width:420px){
  .hero-brand{font-size:23px}
  .hero-copy h1{font-size:34px}
  .lead{font-size:12.5px}
  .service-chip strong{font-size:12px}
  .service-chip small{font-size:8px}
  .steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2,.worry-title h2{font-size:23px}
}

@media(min-width:780px){
  .hero-brand{
    font-size:30px;
  }
  .hero-copy h1{
    font-size:60px;
  }
  .lead{
    font-size:15.5px;
  }
  .service-chip strong{
    font-size:14px;
  }
  .service-chip small{
    font-size:8.8px;
  }
  .steps h2,.menu h2,.visuals h2,.machine h2,.faq h2,.access h2,.final-cta h2{
    font-size:33px;
  }
  .worry-title h2{
    font-size:30px;
  }
}


/* v10: worry section shape fix + sticky banner reliability */
body{
  padding-bottom:136px;
}

.worry{
  padding-top:22px;
}
.worry-cloud{
  border-radius:34px !important;
  padding:26px 16px 18px !important;
  background:
    linear-gradient(145deg,#fffaf7,#f9f0ea),
    radial-gradient(circle at 12% 18%, rgba(248,223,232,.28), transparent 22%),
    radial-gradient(circle at 86% 74%, rgba(230,219,193,.22), transparent 20%),
    repeating-linear-gradient(125deg, rgba(187,154,121,.04) 0 1px, rgba(255,255,255,0) 1px 18px) !important;
  overflow:visible !important;
}
.worry-cloud::before,
.worry-cloud::after{
  display:none !important;
}
.worry-title{
  margin-bottom:16px;
}
.worry-title h2{
  line-height:1.45;
  margin-bottom:0;
}

.worry-items{
  grid-template-columns:1fr !important;
  gap:14px !important;
}
.worry-items div{
  position:relative;
  text-align:center;
  padding:16px 12px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(214,193,175,.52);
  background:
    linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,249,245,.97)) !important;
  box-shadow:0 12px 24px rgba(80,59,42,.06);
}
.worry-items div::before{
  content:"";
  position:absolute;
  left:18px;
  bottom:-12px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(214,193,175,.42);
  box-shadow:0 6px 14px rgba(80,59,42,.05);
}
.worry-items div::after{
  content:"";
  position:absolute;
  left:8px;
  bottom:-24px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  border:1px solid rgba(214,193,175,.38);
  box-shadow:0 4px 10px rgba(80,59,42,.05);
  transform:none !important;
}
.worry-items span{
  display:block;
  margin-bottom:6px;
  font-size:8px;
  font-weight:800;
}
.worry-items b{
  display:block;
  font-size:11.5px;
  font-weight:800;
  line-height:1.7;
}
@media(min-width:780px){
  .worry-cloud{
    padding:34px 34px 28px !important;
  }
  .worry-items{
    grid-template-columns:repeat(3,1fr) !important;
    gap:16px !important;
  }
  .worry-items div{
    min-height:148px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .worry-items b{
    font-size:12px;
  }
}

/* Sticky banner more reliable on iPhone browsers */
.sticky-banner{
  position:fixed !important;
  left:12px !important;
  right:12px !important;
  bottom:max(10px, env(safe-area-inset-bottom)) !important;
  z-index:9999 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  pointer-events:auto;
}
.sticky-banner::before{
  content:"";
  position:absolute;
  inset:-8px -4px -8px -4px;
  border-radius:28px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:-1;
}
.sticky-card{
  min-height:54px !important;
  padding:10px 13px 9px !important;
  border-radius:18px !important;
  position:relative;
  overflow:hidden;
}
.sticky-card small{
  font-size:6.8px !important;
  margin-bottom:2px !important;
}
.sticky-card strong{
  font-size:10.5px !important;
}
.sticky-card span{
  font-size:16px !important;
}
.sticky-consult{
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.12), transparent 20%),
    linear-gradient(180deg,#95827b,#7f6d66) !important;
}
.sticky-apply{
  background:
    radial-gradient(circle at 78% 50%, rgba(193,128,80,.26), transparent 34%),
    radial-gradient(circle at 20% 18%, rgba(201,171,119,.14), transparent 18%),
    linear-gradient(135deg,#2b1e18,#17110f) !important;
}

/* slightly stronger floating visibility */
.sticky-banner{
  animation:stickyLift .55s ease-out both;
}
@keyframes stickyLift{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}


/* v11: larger worry/menu text + redesigned hero */
.hero{
  display:grid;
  gap:18px;
  padding:28px 18px 42px;
  background:
    radial-gradient(circle at 88% 8%,rgba(244,206,224,.42),transparent 28%),
    radial-gradient(circle at 10% 72%,rgba(240,214,227,.38),transparent 26%),
    radial-gradient(circle at 62% 18%,rgba(236,221,192,.26),transparent 20%),
    linear-gradient(145deg,#fffefb,#f9f0ea 58%,#f6ebe4 100%) !important;
}
.hero-copy h1,
.hero-copy h1 span{
  font-family:"Noto Serif JP",serif !important;
  font-weight:700 !important;
  letter-spacing:.02em;
}
.hero-copy h1{
  font-size:34px !important;
  line-height:1.42 !important;
  margin:0 0 14px !important;
}
.hero-copy h1 span{
  white-space:normal !important;
}
.hero-brand{
  margin:0 0 10px;
  font-family:"Cormorant Garamond","Noto Serif JP",serif;
  font-size:24px;
  font-weight:700;
  color:#7f6654;
  letter-spacing:.04em;
}
.lead{
  font-size:12.5px !important;
  line-height:1.9 !important;
  color:#5d524b !important;
  margin:0 0 16px !important;
}
.lead strong{color:#2f221d}
.hero-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
}
.hero-pill-row span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(182,154,127,.24);
  box-shadow:0 8px 18px rgba(81,58,39,.05);
  font-size:10px;
  font-weight:800;
  color:#4a3a30;
  letter-spacing:.02em;
}
.hero-focus-card{
  padding:16px 15px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(252,245,240,.94));
  border:1px solid rgba(196,170,141,.24);
  box-shadow:0 14px 28px rgba(73,50,34,.06);
}
.hero-focus-card small,
.hero-bottom-card small{
  display:block;
  margin-bottom:7px;
  font-size:8px;
  letter-spacing:.14em;
  font-weight:800;
}
.hero-focus-card b,
.hero-bottom-card b{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
}
.hero-focus-card ul,
.hero-bottom-card ul{
  margin:10px 0 0;
  padding:0;
  list-style:none;
}
.hero-focus-card li,
.hero-bottom-card li,
.hero-bottom-card p{
  position:relative;
  margin:0;
  padding:0 0 0 14px;
  font-size:10px;
  line-height:1.85;
  color:#675b54;
  font-weight:700;
}
.hero-focus-card li + li,
.hero-bottom-card li + li{margin-top:2px}
.hero-focus-card li::before,
.hero-bottom-card li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:0;
  color:#b48d73;
  font-size:9px;
}
.hero-visual{
  margin-top:0 !important;
}
.hero-visual img{
  height:300px !important;
  border-radius:28px 28px 90px 28px !important;
}
.hero-card{
  right:12px !important;
  bottom:-10px !important;
  width:138px !important;
}
.hero-bottom{
  display:grid;
  gap:10px;
}
.hero-bottom-card{
  position:relative;
  overflow:hidden;
  padding:16px 15px 15px;
  border-radius:28px;
  box-shadow:0 14px 28px rgba(73,50,34,.08);
}
.hero-bottom-dark{
  color:#fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(189,136,88,.28), transparent 24%),
    linear-gradient(145deg,#2b1d18,#17110e);
}
.hero-bottom-dark p{
  padding-left:0;
  color:#f5ece6;
  line-height:1.9;
  margin-top:10px;
}
.hero-bottom-light{
  background:linear-gradient(145deg,#fff,#fcf4ef);
  border:1px solid rgba(202,177,149,.24);
}
.hero-bottom-light b{color:#2d221c}
.scroll-cue{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  font-size:9px;
  font-weight:800;
  color:#8d715d;
  letter-spacing:.18em;
}
.scroll-cue span{
  position:relative;
  display:inline-block;
  width:16px;
  height:24px;
  border:1.5px solid rgba(141,113,93,.55);
  border-radius:999px;
}
.scroll-cue span::before{
  content:"";
  position:absolute;
  left:50%;
  top:5px;
  width:3px;
  height:6px;
  border-radius:999px;
  background:#8d715d;
  transform:translateX(-50%);
  animation:scrollNudge 1.5s ease-in-out infinite;
}
@keyframes scrollNudge{
  0%{opacity:0;transform:translate(-50%,0)}
  30%{opacity:1}
  70%{opacity:1}
  100%{opacity:0;transform:translate(-50%,8px)}
}

/* Larger text for worry cards and menu list */
.worry-items div{
  padding:18px 14px 20px !important;
}
.worry-items span{
  font-size:9px !important;
  margin-bottom:7px !important;
}
.worry-items b{
  font-family:"Noto Serif JP",serif !important;
  font-size:13.2px !important;
  font-weight:700 !important;
  line-height:1.75 !important;
}
.menu-grid{
  gap:10px !important;
}
.menu-grid article{
  padding:14px 12px !important;
}
.menu-grid b{
  font-size:11.8px !important;
  font-weight:700 !important;
  line-height:1.55 !important;
}
.menu-grid small{
  font-size:9px !important;
  line-height:1.55 !important;
  margin-top:3px !important;
}
.menu-grid em{
  font-size:9.5px !important;
  font-weight:700 !important;
  margin-top:6px !important;
}

@media(max-width:420px){
  .hero-copy h1{font-size:33px !important}
  .hero-brand{font-size:22px}
  .lead{font-size:12px !important}
  .hero-pill-row span{font-size:9.5px}
  .hero-focus-card b,.hero-bottom-card b{font-size:15px}
  .hero-focus-card li,.hero-bottom-card li,.hero-bottom-card p{font-size:10px}
  .menu-grid b{font-size:11px !important}
  .menu-grid small{font-size:8.6px !important}
  .menu-grid em{font-size:9px !important}
}
@media(min-width:780px){
  .hero{
    grid-template-columns:1.02fr .98fr;
    align-items:start;
    gap:28px 40px;
    padding:52px 36px 56px;
  }
  .hero-copy h1{font-size:54px !important}
  .lead{font-size:15px !important; max-width:590px}
  .hero-pill-row span{font-size:11px; min-height:38px}
  .hero-focus-card{padding:20px 20px 18px; max-width:620px}
  .hero-focus-card b,.hero-bottom-card b{font-size:20px}
  .hero-focus-card li,.hero-bottom-card li,.hero-bottom-card p{font-size:11.5px}
  .hero-visual img{height:460px !important}
  .hero-bottom{
    grid-column:1 / -1;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .hero-bottom-card{padding:20px 20px 18px}
  .worry-items b{font-size:14px !important}
  .menu-grid b{font-size:12.5px !important}
  .menu-grid small{font-size:9.5px !important}
  .menu-grid em{font-size:9.8px !important}
}


/* v12: hero copy tweak, transparent logo, serif font on highlighted supporting text */
.brand{
  background:transparent !important;
  overflow:visible !important;
}
.brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block;
  background:transparent !important;
}
.hero-copy h1{
  font-size:33px !important;
  line-height:1.4 !important;
}
.hero-copy h1 span{
  font-family:"Noto Serif JP",serif !important;
  font-weight:700 !important;
}
.lead,
.section-head > p,
.menu-grid small,
.menu-grid em{
  font-family:"Noto Serif JP",serif !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.lead{
  font-size:12.7px !important;
  line-height:1.95 !important;
}
.section-head > p{
  font-size:10.5px !important;
  line-height:1.8 !important;
  color:#6c5d53 !important;
}
.menu-grid small{
  font-size:9.2px !important;
  color:#786960 !important;
}
.menu-grid em{
  font-size:9.6px !important;
  color:#66564a !important;
}
@media(min-width:780px){
  .hero-copy h1{font-size:52px !important}
  .lead{font-size:15px !important}
  .section-head > p{font-size:12px !important}
  .menu-grid small{font-size:10px !important}
  .menu-grid em{font-size:10.2px !important}
}


/* v13: cleaner hero line breaks */
.hero-copy h1{
  font-size:31px !important;
  line-height:1.32 !important;
  letter-spacing:.01em !important;
}
.hero-copy h1 .hero-line{
  display:block;
}
.hero-copy h1 .hero-line + .hero-line{
  margin-top:2px;
}
.lead{
  font-size:12.1px !important;
  line-height:1.86 !important;
}
.lead .lead-line{
  display:block;
}
.lead .lead-line + .lead-line{
  margin-top:3px;
}
@media(max-width:380px){
  .hero-copy h1{font-size:29px !important}
  .lead{font-size:11.5px !important}
}
@media(min-width:780px){
  .hero-copy h1{font-size:50px !important; line-height:1.28 !important}
  .lead{font-size:14.6px !important}
  .lead .lead-line + .lead-line{margin-top:4px}
}


/* v14: belief stats numeric font + slightly stronger 通い放題 emphasis */
.highlight-term{
  position:relative;
  display:inline-block;
  color:#7f5f4f;
  font-weight:700;
  text-shadow:0 1px 0 rgba(255,255,255,.55), 0 6px 18px rgba(184,138,111,.12);
}
.highlight-term::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:.08em;
  height:.28em;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(214,181,156,.18), rgba(240,206,220,.35));
  z-index:-1;
}
.stats b{
  font-family:Inter,"Noto Serif JP",serif !important;
  font-size:29px !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  line-height:1;
}
@media(min-width:780px){
  .stats b{font-size:36px !important}
}


/* v15: stats numerals match monthly plan 33,000 font */
.stats b{
  font-family:"Cormorant Garamond","Noto Serif JP",serif !important;
  font-size:34px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  line-height:.92 !important;
}
@media(min-width:780px){
  .stats b{font-size:42px !important}
}


/* v16: approved numeric display treatment */
.plan-main h2 strong,
.stats b{
  font-family:"Cormorant Garamond",serif !important;
  font-weight:500 !important;
  font-variant-numeric:lining-nums tabular-nums;
  letter-spacing:.015em !important;
}
.plan-main h2 strong{
  font-size:36px !important;
  line-height:.95 !important;
}
.stats b{
  font-size:36px !important;
  line-height:.95 !important;
}
@media(min-width:780px){
  .plan-main h2 strong{font-size:48px !important}
  .stats b{font-size:46px !important}
}


/* v17: blue × gray × white / unlimited plan refresh */
:root{
  --ink:#263238;
  --cream:#f8fbfc;
  --brown:#34434a;
  --taupe:#91a8b3;
  --gold:#7898a8;
  --line:#d9e3e7;
}
body{
  color:var(--ink);
  background:#fbfdfe;
  background-image:
    radial-gradient(circle at 90% 3%,rgba(207,228,237,.42),transparent 23%),
    radial-gradient(circle at 3% 34%,rgba(227,231,233,.58),transparent 25%),
    linear-gradient(145deg,#ffffff 0%,#f8fbfc 48%,#edf5f8 100%);
}
.header{
  background:rgba(250,252,253,.93) !important;
  border-bottom:1px solid rgba(145,175,189,.22) !important;
}
.header-btn{background:#34434a !important}
.eyebrow{color:#7898a8 !important}.light{color:#cfe4ed !important}
.hero{
  background:
    radial-gradient(circle at 88% 8%,rgba(207,228,237,.70),transparent 29%),
    radial-gradient(circle at 7% 72%,rgba(227,231,233,.64),transparent 28%),
    repeating-linear-gradient(118deg,rgba(145,175,189,.045) 0 2px,transparent 2px 17px),
    linear-gradient(145deg,#fff 0%,#f8fbfc 48%,#edf5f8 100%) !important;
}
.hero-copy::before{
  background:linear-gradient(130deg,rgba(255,255,255,.76),rgba(255,255,255,0)),repeating-linear-gradient(120deg,rgba(120,152,168,.10) 0 2px,rgba(255,255,255,0) 2px 16px) !important;
}
.hero-brand{color:#668391 !important}
.hero-copy h1,.hero-copy h1 span{color:#263238}
.highlight-term{color:#5e879a !important}
.highlight-term::after{background:linear-gradient(90deg,rgba(207,228,237,.35),rgba(145,175,189,.50)) !important;height:.32em !important}
.lead{color:#516068 !important}.lead strong{color:#263238 !important}
.hero-pill-row span,.hero-focus-card,.hero-bottom-light,.worry-cloud,.menu-grid article,.step-grid article,.visual-panel,.machine-photo-card,.faq details{
  border-color:#d8e4e9 !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 14px 38px rgba(91,119,132,.08) !important;
}
.hero-pill-row span{color:#50636c !important}
.hero-focus-card small,.hero-bottom-card small{color:#7898a8 !important}
.hero-bottom-dark,.belief,.plan-main,.final-cta{background:#34434a !important}
.hero-bottom-dark{background:linear-gradient(145deg,#34434a,#263238) !important}
.hero-bottom-light{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(232,243,247,.92)) !important}
.hero-visual img{filter:saturate(.84) contrast(.97) brightness(1.03)}
.hero-card{background:rgba(255,255,255,.91) !important;color:#34434a !important;border:1px solid rgba(145,175,189,.36) !important}
.hero-card b{font-size:28px !important;letter-spacing:.04em;color:#5d7f8e !important}
.hero-card span,.hero-card small{color:#607580 !important}
.worry{background:linear-gradient(180deg,#f6fafc,#edf5f8) !important}
.worry-items>div::after,.worry-items>div::before{background:#e8f3f7 !important}
.plan{box-shadow:0 24px 60px rgba(76,101,112,.16) !important}
.plan-side{background:linear-gradient(145deg,#e8f3f7,#dcecf3) !important;color:#34434a !important}
.plan-side span{color:#7898a8 !important}
.interval-note{margin:13px 0 17px;padding:11px 12px;border:1px solid rgba(207,228,237,.34);background:rgba(255,255,255,.07);border-radius:12px}
.interval-note b{display:block;margin-bottom:4px;font-family:"Noto Serif JP",serif;font-size:8.5px;color:#e8f3f7}
.interval-note span{display:block;font-size:7.5px;line-height:1.75;color:#e3e9ec}
.menu{background:linear-gradient(180deg,#ffffff,#f5f9fb) !important}
.menu-grid article>span,.step-grid span,.machine-text>span{color:#7898a8 !important}
.mid-cta{background:linear-gradient(135deg,#e8f3f7,#f8fbfc) !important;border-color:#cfe0e7 !important}
.outline-btn{border-color:#7898a8 !important;color:#496674 !important}
.belief{background:
  radial-gradient(circle at 80% 15%,rgba(145,175,189,.20),transparent 30%),
  linear-gradient(145deg,#34434a,#263238) !important;
}
.stats{border-color:#536872 !important}.stats div{border-color:#536872 !important}.stats span{color:#b8c9d0 !important}
.visuals{background:linear-gradient(180deg,#fbfdfe,#eef5f8) !important}
.panel-note strong{font-family:"Noto Serif JP",serif;color:#4f6c79;font-size:11px}
.machine{background:#f7fafb !important}
.photo-placeholder,.machine-placeholder{background:linear-gradient(145deg,#edf5f8,#e3e7e9) !important;color:#7898a8 !important;border-color:#cddde4 !important}
.map-card{background:linear-gradient(145deg,#dcecf3,#f2f6f8) !important;color:#34434a !important}
.final-cta{background:linear-gradient(145deg,#34434a,#263238) !important}
.sticky-cta .sticky-consult{background:#91a8b3 !important}.sticky-cta .sticky-join{background:#34434a !important}
@media(min-width:780px){.interval-note b{font-size:10px}.interval-note span{font-size:9px}}


/* Demo refinement: Meta-ad landing flow, clearer pricing, and readable conditions. */
.hero-location{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 14px;
  font-family:"Noto Serif JP",serif;
  font-size:10.5px;
  font-weight:600;
  color:#637d8a;
}
.hero-location span{color:#a4bac4}
.hero-price{
  display:flex;
  align-items:baseline;
  gap:5px;
  width:fit-content;
  margin:0 0 15px;
  padding:8px 0 10px;
  border-bottom:1px solid rgba(120,152,168,.32);
  color:#34434a;
}
.hero-price>span{font-family:"Noto Serif JP",serif;font-size:13px;font-weight:600}
.hero-price strong{
  font-family:"Cormorant Garamond",serif;
  font-size:39px;
  font-weight:500;
  letter-spacing:.025em;
  line-height:.93;
}
.hero-price-tax{margin-left:5px;font-size:10px;color:#708691}
.hero-rule{
  margin:0 0 15px;
  font-size:10.5px;
  line-height:1.75;
  color:#637b87;
}
.hero-card b{font-size:18px !important;letter-spacing:.025em !important}
.plan-main li{font-size:10px;line-height:1.65}
.interval-note b{font-size:11px !important;line-height:1.6}
.interval-note span{font-size:10px !important;line-height:1.75}
.value-section,.rules{background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(242,248,250,.86))}
.value-section h2,.rules h2{
  margin:0 0 12px;
  font-size:25px;
  font-weight:600;
  line-height:1.58;
}
.value-intro{
  margin:0 0 18px;
  font-family:"Noto Serif JP",serif;
  font-size:12px;
  font-weight:600;
  line-height:1.85;
  color:#536b77;
}
.value-comparison{
  overflow:hidden;
  border:1px solid #d7e4ea;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 44px rgba(87,115,129,.09);
}
.value-list{padding:8px 17px}
.value-list>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  min-height:53px;
  border-bottom:1px solid #e8eef1;
}
.value-list>div:last-child{border-bottom:0}
.value-list>div>span{font-size:10.5px;font-weight:600;line-height:1.55;color:#52626a}
.value-list>div>strong{
  white-space:nowrap;
  font-family:"Cormorant Garamond",serif;
  font-size:21px;
  font-weight:600;
  color:#506b78;
}
.value-list>div>strong>span{margin-left:2px;font-family:"Noto Serif JP",serif;font-size:10px}
.value-membership{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:22px 14px 20px;
  color:#fff;
  text-align:center;
  background:linear-gradient(145deg,#40545e,#29383f);
}
.value-membership>small{font-size:8px;letter-spacing:.19em;color:#c9dde6}
.value-membership>span{font-family:"Noto Serif JP",serif;font-size:14px;font-weight:600}
.value-membership>strong{font-family:"Cormorant Garamond",serif;font-size:41px;font-weight:500;line-height:1.12}
.value-membership>strong>small{margin-left:5px;font-family:"Noto Serif JP",serif;font-size:12px;font-weight:500}
.value-note{margin:12px 3px 0;font-size:10.5px;line-height:1.75;color:#71818a}
.rules{padding-top:24px}
.rule-grid{display:grid;gap:11px;margin-top:20px}
.rule-grid article{
  position:relative;
  padding:17px 15px 16px 52px;
  border:1px solid #dae5e9;
  border-radius:20px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 28px rgba(88,116,128,.06);
}
.rule-grid article>span{position:absolute;top:15px;left:15px;font-family:"Cormorant Garamond",serif;font-size:24px;color:#7898a8}
.rule-grid h3{margin:0 0 5px;font-size:13px;font-weight:600;line-height:1.55}
.rule-grid p{margin:0;font-size:11px;line-height:1.8;color:#62727a}
.menu-category{margin-top:24px}
.category-heading{margin:0 0 12px;padding-left:10px;border-left:2px solid #92adba}
.category-heading small{font-size:8px;font-weight:600;letter-spacing:.14em;color:#7898a8}
.category-heading h3{margin:3px 0 0;font-size:14px;font-weight:600;line-height:1.6}
.menu-grid-featured{grid-template-columns:1fr !important}
.menu-grid-featured article{min-height:90px}
.menu-grid-featured article b{font-size:14px !important}
.menu-grid-featured article em{font-size:11px !important}
.comment-card p{font-size:11px !important;line-height:1.75 !important}
.comment-card p strong{font-family:"Noto Serif JP",serif;color:#4f6c79}
.belief>p:not(.eyebrow):not(.quote){font-size:11.5px !important;line-height:1.9}
.step-grid{grid-template-columns:1fr !important}
.step-grid article{display:grid !important;grid-template-columns:48px 1fr;min-height:auto !important;gap:11px}
.step-grid h3{font-size:14px !important;font-weight:600}
.step-grid p{margin-top:4px;font-size:11px !important;line-height:1.75}
.faq details{margin-bottom:8px;padding:16px 14px !important;border:1px solid #d8e4e9 !important;border-radius:15px}
.faq summary{font-family:"Noto Serif JP",serif;font-size:12px !important;font-weight:600;line-height:1.7;cursor:pointer}
.faq details p{margin:12px 0 2px;font-size:11.5px !important;line-height:1.85 !important;color:#586b75 !important}
.access dl div{font-size:11px !important;line-height:1.75}
.final-cta>p:not(.eyebrow){font-size:11.5px !important}
@media(max-width:380px){
  .hero-location{font-size:9.5px}
  .hero-copy h1{font-size:28px !important}
  .hero-price strong{font-size:36px}
  .hero-rule{font-size:9.5px}
  .value-list>div>span{font-size:9.5px}
  .value-list>div>strong{font-size:19px}
  .value-section h2,.rules h2{font-size:23px}
}
@media(min-width:780px){
  .mobile-only{display:none}
  .hero-location{font-size:12px}
  .hero-price strong{font-size:49px}
  .hero-price>span{font-size:15px}
  .hero-rule{font-size:11.5px}
  .hero-card b{font-size:20px !important}
  .plan-main li{font-size:11px}
  .interval-note b{font-size:12px !important}
  .interval-note span{font-size:11px !important}
  .value-section h2,.rules h2{font-size:31px}
  .value-intro{font-size:14px}
  .value-comparison{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}
  .value-list{padding:14px 24px}
  .value-list>div{min-height:57px}
  .value-list>div>span{font-size:12px}
  .value-list>div>strong{font-size:24px}
  .value-membership{justify-content:center}
  .value-membership>strong{font-size:49px}
  .rule-grid{grid-template-columns:repeat(3,1fr)}
  .rule-grid article{padding:52px 16px 18px}
  .rule-grid article>span{top:14px;left:16px}
  .category-heading h3{font-size:17px}
  .menu-grid-featured article{max-width:540px}
  .step-grid{max-width:760px}
  .step-grid h3{font-size:15px !important}
  .step-grid p,.faq details p{font-size:12px !important}
  .faq summary{font-size:13px !important}
}
