*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#fbfaf4; --cream:#f3f1e7; --cream2:#e9e5d6; --card:#ffffff;
  --ink:#26352b; --ink-soft:#586056;
  --green:#1c3a2c; --green-deep:#142a20;
  --gold:#bfa15a; --gold-deep:#9c7f33; --gold-soft:#e6d6a6;
  --enji:#b5202a; --enji-deep:#8d1820;
  --line:#e2dcc8;
}
html{scroll-behavior:smooth}
body{font-family:"Noto Serif JP","Shippori Mincho",serif;color:var(--ink);background:var(--bg);line-height:2.05;font-size:16px;font-weight:500;-webkit-font-smoothing:antialiased;padding-bottom:66px}
.serif{font-family:"Shippori Mincho",serif}
img{max-width:100%;display:block}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.narrow{max-width:740px;margin-left:auto;margin-right:auto}
section{padding:68px 0}
.em{color:var(--enji);font-weight:700}
.center{text-align:center}
.alt{background:var(--cream)}
.white{background:#fff}
.alt2{background:var(--cream2)}
p+p{margin-top:14px}

.eyebrow{display:inline-block;font-family:"Shippori Mincho",serif;color:var(--gold-deep);font-size:.92rem;letter-spacing:.16em;margin-bottom:12px}
.title{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(1.5rem,3.6vw,2.05rem);color:var(--ink);line-height:1.65;margin-bottom:16px}
.title .g{color:var(--enji)}
.deco{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 28px;color:var(--gold)}
.deco::before,.deco::after{content:"";width:34px;height:1px;background:var(--gold)}
.deco span{font-size:.78rem}
.lead{font-size:1.04rem;color:var(--ink);max-width:720px;margin:0 auto;text-align:center}
.tx{color:var(--ink-soft)}

.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:40px;padding:16px 38px;font-size:1rem;transition:transform .2s,box-shadow .2s}
.btn-main{background:linear-gradient(180deg,var(--enji),var(--enji-deep));color:#fff;box-shadow:0 10px 26px rgba(192,67,47,.3)}
.btn-main:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#fff;box-shadow:0 10px 26px rgba(168,127,39,.28)}
.btn-line{background:#06c755;color:#fff;box-shadow:0 10px 24px rgba(6,199,85,.3)}
.btn-ghost{border:1.5px solid var(--gold-deep);color:var(--gold-deep)}

header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--green);box-shadow:0 2px 12px rgba(0,0,0,.14)}
.nav{display:flex;align-items:center;justify-content:space-between;height:58px}
.logo{font-family:"Shippori Mincho",serif;font-weight:700;color:#fff;font-size:1rem;text-decoration:none}
.logo small{display:block;font-size:.55rem;letter-spacing:.22em;color:var(--gold-soft)}
.nav-links{display:flex;gap:20px;list-style:none;align-items:center}
.nav-links a{color:#f0ece0;text-decoration:none;font-size:.82rem;font-weight:500}
.nav-cta{background:var(--enji);color:#fff!important;padding:8px 18px;border-radius:30px;font-size:.79rem!important;font-weight:700}
@media(max-width:880px){.nav-links{display:none}}

.hero{padding-top:58px;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;
 background:radial-gradient(130% 90% at 50% 0%, #fff6e0 0%, var(--cream) 45%, var(--cream2) 100%)}
.hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(198,154,62,.18),transparent 70%);top:-160px;right:-120px}
.hero::after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(192,67,47,.1),transparent 70%);bottom:-160px;left:-120px}
.hero-in{position:relative;z-index:2;padding:54px 22px;max-width:860px}
.hero .badge{display:inline-block;background:var(--ink);color:#fff;font-size:.77rem;font-weight:700;letter-spacing:.05em;padding:7px 20px;border-radius:30px;margin-bottom:24px}
.hero h1{font-family:"Shippori Mincho",serif;font-weight:800;font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.5;color:var(--ink);margin-bottom:8px}
.hero h1 .g{color:var(--enji)}
.hero h1 .sm{display:block;font-size:.4em;color:var(--gold-deep);font-weight:700;letter-spacing:.06em;margin-bottom:16px}
.hero .sub{font-size:1.02rem;color:var(--ink-soft);max-width:640px;margin:22px auto 0}
.hero-card{margin:30px auto 0;max-width:640px;width:100%;background:var(--card);border:1px solid var(--gold-soft);border-radius:16px;padding:24px 34px;box-shadow:0 18px 40px rgba(150,120,50,.14)}
.hero-card .med{font-size:.81rem;color:var(--gold-deep);font-weight:700;margin-bottom:6px}
.hero-card .term{font-family:"Shippori Mincho",serif;font-size:1.1rem;color:var(--ink)}
.hero-card .term b{color:var(--enji)}
.early{display:inline-block;background:var(--enji);color:#fff;font-size:.75rem;font-weight:700;padding:3px 14px;border-radius:20px;margin:9px 0 3px}
.price{display:flex;gap:12px;justify-content:center;align-items:baseline;flex-wrap:wrap}
.price s{color:var(--ink-soft);font-size:.94rem}
.price .now{font-family:"Shippori Mincho",serif;font-weight:700;font-size:1.95rem;color:var(--enji);line-height:1}
.price .now small{font-size:.84rem}
.hero-cta{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.figure{display:block;width:100%;max-width:760px;height:auto;margin:28px auto 0;border-radius:16px;box-shadow:0 16px 38px rgba(120,95,40,.16)}
.figure.sm{max-width:440px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:760px;margin:28px auto 0}
.two img{width:100%;border-radius:14px;box-shadow:0 12px 30px rgba(120,95,40,.16);background:#fff}
@media(max-width:680px){.two{grid-template-columns:1fr}}

.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,52px);align-items:center;max-width:1000px;margin:0 auto}
.feat.rev .fm{order:2}
.fm img{width:100%;border-radius:16px;box-shadow:0 16px 38px rgba(120,95,40,.18)}
.fb p{color:var(--ink-soft)}
@media(max-width:800px){.feat{grid-template-columns:1fr;gap:22px}.feat.rev .fm{order:0}}

.checks{max-width:720px;margin:0 auto;display:grid;gap:11px}
.check{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px 14px 48px;position:relative;font-size:.95rem}
.check::before{content:"✓";position:absolute;left:18px;top:13px;color:var(--enji);font-weight:700;font-size:1.05rem}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.c3{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 22px;text-align:center;border-top:4px solid var(--gold)}
.c3 h3{font-family:"Shippori Mincho",serif;color:var(--ink);font-size:1.08rem;margin-bottom:8px}
.c3 p{font-size:.87rem;color:var(--ink-soft)}
@media(max-width:780px){.cards3{grid-template-columns:1fr}}

.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bx{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 20px;text-align:center}
.bx .k{font-family:"Shippori Mincho",serif;color:#fff;background:var(--enji);width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:1rem}
.bx b{color:var(--ink);display:block;font-family:"Shippori Mincho",serif;margin-bottom:4px}
.bx p{font-size:.85rem;color:var(--ink-soft)}
@media(max-width:780px){.bgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.bgrid{grid-template-columns:1fr}}

.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:24px auto 0}
.tc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 20px;border-top:4px solid var(--gold)}
.tc .h{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.tc .h img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.tc .nm{font-family:"Shippori Mincho",serif;font-weight:700;font-size:.89rem}
.tc .ro{font-size:.74rem;color:var(--ink-soft)}
.tc .tt{font-family:"Shippori Mincho",serif;color:var(--enji);font-size:.96rem;margin-bottom:6px}
.tc p{font-size:.85rem;color:var(--ink-soft)}
@media(max-width:880px){.tgrid{grid-template-columns:1fr}}

.stats{display:flex;justify-content:center;gap:clamp(26px,6vw,60px);flex-wrap:wrap;margin:34px auto 0}
.st{text-align:center}
.st .n{font-family:"Shippori Mincho",serif;font-weight:800;font-size:2.7rem;color:var(--enji);line-height:1}
.st .l{font-size:.81rem;color:var(--ink-soft);margin-top:4px}

.steps{counter-reset:s;max-width:760px;margin:0 auto;display:grid;gap:14px}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px 18px 64px;position:relative}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--enji);color:#fff;font-family:"Shippori Mincho",serif;font-weight:700;display:flex;align-items:center;justify-content:center}
.step h4{font-family:"Shippori Mincho",serif;color:var(--ink);font-size:1rem;margin-bottom:3px}
.step p{font-size:.86rem;color:var(--ink-soft)}

.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px;margin:28px auto 0}
.gal img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;box-shadow:0 10px 24px rgba(120,95,40,.14)}
@media(max-width:780px){.gal{grid-template-columns:1fr}}

.season{background:var(--card);border:1px solid var(--gold-soft);border-radius:18px;padding:clamp(24px,4vw,38px);max-width:800px;margin:0 auto;box-shadow:0 14px 34px rgba(150,120,50,.12)}
.season .k{text-align:center;font-family:"Shippori Mincho",serif;font-size:2rem;color:var(--enji);letter-spacing:.08em;margin-bottom:6px}
.season h3{font-family:"Shippori Mincho",serif;color:var(--gold-deep);text-align:center;font-size:1.18rem;margin-bottom:14px;line-height:1.6}
.season p{color:var(--ink-soft);margin-bottom:12px;font-size:.94rem}
.season ul{list-style:none;margin:14px 0;display:grid;gap:8px}
.season li{padding-left:22px;position:relative;font-size:.92rem}
.season li::before{content:"●";position:absolute;left:0;color:var(--gold);font-size:.5rem;top:9px}

.doc{max-width:800px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:30px 32px}
.doc .who{font-family:"Shippori Mincho",serif;font-weight:700;margin-bottom:10px}
.doc p{font-size:.94rem;color:var(--ink-soft)}

.qband{background:linear-gradient(160deg,#3a2f24,#2b231a);color:#f0e7d6;text-align:center}
.qband .eyebrow{color:var(--gold-soft)}
.qband .title{color:#fff}
.qband p{color:#d9cdb8}
.qband .big{font-family:"Shippori Mincho",serif;font-size:clamp(1.2rem,2.8vw,1.5rem);color:#fff;line-height:1.9}
.qband .big b{color:#ffd76a}

.book{display:grid;grid-template-columns:0.7fr 1.3fr;gap:36px;align-items:center;max-width:840px;margin:0 auto}
.book img{width:100%;max-width:260px;border-radius:6px;box-shadow:0 16px 38px rgba(0,0,0,.26);margin:0 auto}
@media(max-width:760px){.book{grid-template-columns:1fr;gap:22px}}

.apply{background:radial-gradient(120% 90% at 50% 0%, #fff3d6, var(--cream2));text-align:center}
.applybox{max-width:560px;margin:0 auto;background:var(--card);border:2px solid var(--gold-soft);border-radius:18px;padding:36px 30px;box-shadow:0 18px 44px rgba(150,120,50,.16)}
.applybox .term{font-family:"Shippori Mincho",serif;font-size:1.12rem;color:var(--ink);margin-bottom:8px}
.applybox .term b{color:var(--enji)}
.applybox .note{font-size:.82rem;color:var(--ink-soft);margin-top:16px}
.applybox .btn{width:100%;max-width:340px;margin:6px auto 0}

details{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:11px;max-width:760px;margin-left:auto;margin-right:auto}
summary{cursor:pointer;padding:16px 44px 16px 20px;font-weight:700;color:var(--ink);font-size:.93rem;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--gold-deep);font-size:1.3rem}
details[open] summary::after{content:"−"}
details .a{padding:0 20px 18px;color:var(--ink-soft);font-size:.89rem}

footer{background:#2b231a;color:#bdb09a;padding:46px 0 28px;text-align:center;font-size:.85rem}
footer .logo{color:#fff;display:inline-block;margin-bottom:12px}
footer .links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:12px 0}
footer .links a{color:#bdb09a;text-decoration:none}
.copy{border-top:1px solid #463a2c;padding-top:16px;margin-top:16px;color:#84785f;font-size:.77rem}

.sticky{position:fixed;left:0;right:0;bottom:0;z-index:110;background:rgba(43,35,26,.97);backdrop-filter:blur(6px);color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 14px;border-top:2px solid var(--gold)}
.sticky .t{font-size:.83rem}
.sticky .t b{color:#ffd76a;font-size:1.02rem}
.sticky .t s{color:#9d917a;font-size:.76rem}
.sticky a{background:var(--enji);color:#fff;text-decoration:none;font-weight:700;padding:11px 22px;border-radius:30px;white-space:nowrap;font-size:.88rem}
@media(max-width:560px){.sticky .t s{display:none}}

/* ===== メリハリ強化（明朝メイン） ===== */
.nav-links a,.btn,.nav-cta,.eyebrow,.badge,.early,.check,.tc .ro,.st .l,.cap,.note,.sticky,.med{font-family:"Zen Kaku Gothic New",sans-serif}
section{padding:90px 0}
.hero h1{font-size:clamp(2.3rem,6.8vw,4rem);font-weight:800;letter-spacing:.01em}
.title{font-size:clamp(1.7rem,4vw,2.4rem)}
.lead{font-size:1.12rem;line-height:2.15}
.statement{font-family:"Shippori Mincho",serif;font-weight:800;font-size:clamp(1.7rem,4.4vw,2.5rem);line-height:1.85;text-align:center;color:var(--ink);letter-spacing:.02em;margin:10px auto}
.statement .r{color:var(--enji)}
.qband .big{font-size:clamp(1.4rem,3.2vw,1.85rem)}
.eyebrow{font-size:.86rem;letter-spacing:.22em}

/* ===== HERO 2カラム（深緑×赤×金 モック準拠） ===== */
.hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;text-align:left;min-height:92vh;padding-top:60px}
.hero-in{max-width:none;padding:64px clamp(24px,5vw,72px);text-align:left}
.hero h1{text-align:left;color:var(--ink)}
.hero h1 .g{color:var(--enji)}
.hero .sub{text-align:left;margin:22px 0 0;color:var(--ink-soft)}
.hero .sub .g{color:var(--enji);font-weight:700}
.gold-line{display:flex;align-items:center;gap:14px;color:var(--gold-deep);font-size:.9rem;margin:30px 0 20px;font-family:"Zen Kaku Gothic New"}
.gold-line::before{content:"";height:1px;width:30px;background:var(--gold)}
.gold-line::after{content:"";height:1px;flex:1;background:var(--gold);opacity:.5}
.hero-bigcta{font-size:1.12rem;padding:18px 34px;border-radius:44px;box-shadow:0 12px 28px rgba(181,32,42,.34)}
.hero-sub2{font-size:.83rem;color:var(--ink-soft);margin-top:14px;font-family:"Zen Kaku Gothic New"}
.hero-right{position:relative;height:100%;min-height:440px;overflow:hidden;background:radial-gradient(circle at 52% 42%, #fff7e6 0%, #f5edd9 60%, #efe6d2 100%)}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-right.noimg::after{content:"イラスト準備中";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold-deep);font-size:.9rem;opacity:.6}
@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:auto}.hero-right{height:64vw;max-height:460px}.hero-in{padding:38px 22px 48px}}

/* ===== HERO 画像版（PDFバランス準拠・断食合宿） ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero{display:block!important;min-height:0!important;padding-top:58px!important;padding-bottom:0!important;background:var(--cream)!important;overflow:hidden}
.hero::before,.hero::after{display:none!important}
.hero-img{display:block;line-height:0}
.hero-img img{width:100%;height:auto;display:block}

/* ===== トンマナ：左寄せエディトリアル ===== */
.eyebrow.red{color:var(--enji);font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;letter-spacing:.22em;font-size:.82rem}
.empathy-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,60px);align-items:start;max-width:1180px;margin:0;padding-left:7.5vw;padding-right:22px}
@media(max-width:780px){.empathy-grid{padding-left:22px}}
.eb-left .title{text-align:left;font-size:clamp(1.8rem,4.2vw,2.5rem);line-height:1.6}
.eb-left .tx{font-size:1rem;line-height:2.1}
.eb-list{display:grid;gap:14px}
.ec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px 18px 48px;position:relative;box-shadow:0 6px 18px rgba(120,95,40,.08);font-size:.98rem}
.ec::before{content:"";position:absolute;left:20px;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--gold)}
@media(max-width:820px){.empathy-grid{grid-template-columns:1fr;gap:24px}}

/* ===== 決定稿トンマナ：左寄せ宣言＋3ステップ ===== */
.lblock{text-align:left}
.title.lt{text-align:left}
.title.big2{font-size:clamp(1.5rem,4.6vw,2.8rem)}
.declare{font-family:"Shippori Mincho",serif;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.95;color:var(--ink);margin-top:24px}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.s3{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0;overflow:hidden;box-shadow:0 8px 20px rgba(120,95,40,.08);text-align:center}
.s3-img{width:100%;aspect-ratio:1/1;overflow:hidden;background:#fdfcf7;position:relative}
.s3-serif{position:absolute;top:12px;left:14px;z-index:2;font-family:"Yomogi",cursive;color:var(--ink);font-size:.98rem;line-height:1.35;text-shadow:0 1px 2px rgba(255,255,255,.85)}
.s3-img img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block}
.s3 .n{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--enji);color:#fff;font-family:"Shippori Mincho",serif;font-size:1.25rem;margin:-25px auto 12px;position:relative;z-index:2;border:3px solid #fff;box-shadow:0 5px 12px rgba(120,30,30,.25)}
.s3 h3{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.3rem;margin-bottom:10px}
.s3 p{font-size:.92rem;color:var(--ink-soft);line-height:2;text-align:left;padding:0 26px 28px}
@media(max-width:780px){.steps3{grid-template-columns:1fr}.s3-img{aspect-ratio:16/10}}

/* 改行制御：禁則を厳格化＋フレーズ単位で折り返す */
.title,.declare,.lead,.tx,.s3 h3,.s3 p,.eb-left h2{line-break:strict;overflow-wrap:anywhere}
.nb{display:inline-block;white-space:nowrap}

/* EAT TO FAST ブロックの野菜・果物・穀物アクセント */
.has-accent{position:relative;overflow:hidden;padding-top:150px}
.has-accent .wrap{position:relative;z-index:1}
.eat-accent{position:absolute;top:0;left:0;width:100%;height:210px;background:url("images/eat_accent.jpg") center top/cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 28%,transparent 96%);mask-image:linear-gradient(to bottom,#000 28%,transparent 96%);opacity:.9;pointer-events:none;z-index:0}
.eat-accent.b{top:auto;bottom:0;background-image:url("images/eat_accent_b.jpg");height:140px;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 92%);mask-image:linear-gradient(to top,#000 10%,transparent 92%);opacity:.55}
@media(max-width:780px){.has-accent{padding-top:118px}.eat-accent{height:150px}}

/* ヒーロー左端（見出し開始＝約7.5%）に本文を揃える左寄せ */
.wrap.hl{max-width:none;margin:0;padding-left:7.5vw;padding-right:22px}
.wrap.hl>*{max-width:880px}
.wrap.hlw{max-width:none;margin:0;padding-left:7.5vw;padding-right:7.5vw}
@media(max-width:780px){.wrap.hl,.wrap.hlw{padding-left:22px}.wrap.hlw{padding-right:22px}.wrap.hl>*{max-width:none}}

/* ほんとのこと言うね：文章＋さゆりんイラスト 2カラム */
.talk-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(26px,4vw,48px);align-items:start;max-width:1180px;margin:0;padding-left:7.5vw;padding-right:22px}
.talk-text>*{max-width:660px}
.talk-img{margin:0;max-width:340px;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(120,95,40,.18);border:1px solid var(--gold-soft)}
.talk-img img{display:block;width:100%;height:auto}
@media(max-width:820px){.talk-grid{grid-template-columns:1fr;gap:20px;padding-left:22px}.talk-img{max-width:280px}}

/* ブロック6 変化リスト（2カラム） */
.winlist{grid-template-columns:repeat(2,1fr)}
@media(max-width:600px){.winlist{grid-template-columns:1fr}}

/* ブロック8 現世利益カード */
.blessgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.bcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;padding:24px 22px;box-shadow:0 8px 20px rgba(120,95,40,.08)}
.bcard .bk{display:inline-block;background:var(--enji);color:#fff;font-family:"Shippori Mincho",serif;font-size:1rem;padding:5px 18px;border-radius:30px}
.bc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.bc-ic{height:54px;width:auto;flex:none;mix-blend-mode:multiply}
.bcard p{font-family:"Shippori Mincho",serif;font-size:1rem;color:var(--ink);line-height:1.85}
.bcard{transition:transform .25s ease,box-shadow .25s ease}
.bcard:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(150,120,50,.2)}
@media(max-width:900px){.blessgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blessgrid{grid-template-columns:1fr}}

/* 締めを1行で */
.declare.one{font-size:clamp(1rem,2.3vw,1.4rem);white-space:nowrap}
@media(max-width:680px){.declare.one{white-space:normal;font-size:1.05rem}}

/* ブロック6 水流背景 + カードホバー */
.watersec{position:relative;overflow:hidden}
.water-bg{position:absolute;top:0;right:0;width:60%;height:100%;background:url("images/mizu_bg.jpg") center right/cover no-repeat;opacity:.5;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent);mask-image:linear-gradient(to left,#000 55%,transparent);pointer-events:none;z-index:0}
.watersec .wrap{position:relative;z-index:1}
.winlist .ec{transition:transform .25s ease,box-shadow .25s ease}
.winlist .ec:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(70,110,130,.18)}
@media(max-width:780px){.water-bg{width:100%;opacity:.26}}

/* ブロック7 放電背景 */
.houdensec{position:relative;overflow:hidden}
.houden-bg{position:absolute;top:0;right:0;width:52%;height:100%;background:url("images/houden_bg.jpg") center right/cover no-repeat;opacity:.6;-webkit-mask-image:linear-gradient(to left,#000 48%,transparent);mask-image:linear-gradient(to left,#000 48%,transparent);pointer-events:none;z-index:0}
.houdensec .wrap{position:relative;z-index:1}
@media(max-width:780px){.houden-bg{width:100%;opacity:.2}}

/* ブロック12 レイアウト（イラスト右フロート） */
.hara-in{max-width:1180px;margin:0;padding-left:7.5vw;padding-right:22px}
.hara-img{float:right;width:33%;max-width:430px;margin:0 0 18px 44px}
.hara-img img{width:100%;height:auto;display:block}
.hara-in .harawords{clear:both}
.hara-in .title,.hara-in .declare,.hara-in .tx{max-width:760px}
@media(max-width:820px){.hara-in{padding-left:22px}.hara-img{float:none;width:72%;max-width:320px;margin:0 0 16px}}

/* ブロック12 腹言葉チップ */
.harawords{display:flex;flex-wrap:wrap;gap:11px;margin:24px 0 8px}
.hw{font-family:"Shippori Mincho",serif;background:var(--cream);border:1px solid var(--gold-soft);color:var(--green);font-size:1.08rem;padding:9px 20px;border-radius:30px;box-shadow:0 4px 12px rgba(150,120,50,.08);transition:transform .25s ease}
.hw:hover{transform:translateY(-3px)}
.tx strong,.declare strong{color:var(--enji);font-weight:700}

/* ブロック9 レッドカーペット（文字列と画像列を分割・重なり防止） */
.centersec{background:#fff;overflow:hidden}
.center-grid{display:grid;grid-template-columns:1.05fr .82fr;align-items:start}
.center-text{padding:2px 48px 24px 7.5vw}
.center-text>*{max-width:600px}
.center-imgwrap{margin:0;align-self:stretch;display:block}
.center-imgwrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
@media(max-width:820px){.center-grid{grid-template-columns:1fr}.center-text{padding:44px 22px 6px}.center-imgwrap img{height:auto;max-height:520px}}

/* ===== 仕上げ：スクロールリビール（段階的フェードアップ） ===== */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,.7,.3,1),transform .8s cubic-bezier(.16,.7,.3,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1!important;transform:none!important;transition:none}}

/* ===== 仕上げ：赤の小タイトルにエディトリアルな先頭ルール ===== */
.eyebrow.red{position:relative;padding-left:34px}
.eyebrow.red::before{content:"";position:absolute;left:0;top:.62em;width:24px;height:2px;background:var(--enji)}

/* ===== 仕上げ：紙の質感（ごく薄いグレイン）で奥行き ===== */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.028;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== 仕上げ：emの赤に控えめな下線アクセント ===== */
.declare .em{background-image:linear-gradient(transparent 62%,rgba(181,32,42,.14) 0);background-repeat:no-repeat}

/* ===== ブロック13 腸脳相関 簡易図解 ===== */
.gutbrain{display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:30px 0 14px;flex-wrap:wrap}
.gb-node{background:#fff;border:1px solid var(--gold-soft);border-radius:16px;padding:20px 30px;text-align:center;box-shadow:0 8px 22px rgba(120,95,40,.1);min-width:150px}
.gb-node b{display:block;font-family:"Shippori Mincho",serif;font-size:1.35rem;color:var(--green);line-height:1.3}
.gb-node small{display:block;margin-top:4px;font-size:.78rem;color:var(--ink-soft);letter-spacing:.04em}
.gb-node.gb-gut{border:1.5px solid var(--enji);background:linear-gradient(180deg,#fff,#fff7f3)}
.gb-node.gb-gut b{color:var(--enji-deep)}
.gb-bridge{display:flex;flex-direction:column;align-items:center;color:var(--enji);line-height:1}
.gb-arrows{font-size:2rem;font-weight:700}
.gb-bridge em{font-style:normal;font-size:.74rem;color:var(--gold-deep);letter-spacing:.14em;margin-top:4px}
.gb-tags{display:flex;flex-wrap:wrap;gap:9px;margin:6px 0 4px}
.gb-tags span{font-family:"Zen Kaku Gothic New",sans-serif;font-size:.8rem;font-weight:700;color:var(--green);background:var(--cream);border:1px solid var(--line);border-radius:30px;padding:6px 16px}
.note{font-size:.74rem;color:var(--ink-soft);opacity:.8;margin-top:14px;line-height:1.7}
@media(max-width:600px){.gutbrain{justify-content:center}.gb-bridge .gb-arrows{transform:rotate(90deg)}}

/* ===== ブロック13 脳腸相関 図解画像 ===== */
.sci-fig{margin:28px 0;max-width:520px;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(120,95,40,.16);border:1px solid var(--line);background:#fff}
.sci-fig img{width:100%;height:auto;display:block}

/* block13 図解：余白に小さく溶け込ませる */
.hara-img.sci{width:34%;max-width:400px;margin-top:6px}
.hara-img.sci img{mix-blend-mode:multiply}
@media(max-width:820px){.hara-img.sci{width:62%;max-width:300px}}

/* block14 メッセージボトル動画（右フロート） */
.hara-img.bottle{width:36%;max-width:420px}
.hara-img.bottle video{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 16px 36px rgba(120,95,40,.2)}
@media(max-width:820px){.hara-img.bottle{width:82%;max-width:360px}}

/* ===== タイポgrafi統一ルール（タイプスケール） ===== */
:root{
  --fs-eyebrow:.82rem;            /* 小タイトル（赤英語） */
  --fs-h2:clamp(1.7rem,3.4vw,2.4rem);   /* 見出し（全ブロック共通） */
  --fs-lead:clamp(1.15rem,2vw,1.45rem); /* リード文・declare */
  --fs-body:clamp(.95rem,1.35vw,1.05rem); /* 本文 tx */
}
.eyebrow.red{font-size:var(--fs-eyebrow)}
.title{font-size:var(--fs-h2);line-height:1.5}
.title.lt{font-size:var(--fs-h2);line-height:1.5}
.title.lt.big2{font-size:var(--fs-h2);line-height:1.5}
.eb-left .title{font-size:var(--fs-h2);line-height:1.5}
.declare{font-size:var(--fs-lead);line-height:1.9}
.declare.one{font-size:clamp(1rem,2vw,1.28rem)}
.tx{font-size:var(--fs-body);line-height:2}

/* ===== ストック写真の配置（EAT/STILL STUCK/REAL REASON） ===== */
.hara-img.eatfig{width:42%;max-width:470px}
.hara-img.bellyfig{width:34%;max-width:360px}
@media(max-width:820px){.hara-img.eatfig,.hara-img.bellyfig{float:none;width:90%;max-width:420px;margin:0 0 18px}}

/* やさぐれ写真＋吹き出し */
.yasagure-fig{position:relative;margin:20px 0 4px;max-width:360px}
.yasagure-fig img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 12px 28px rgba(60,50,30,.22)}
.yasagure-fig .bubble{position:absolute;top:-16px;right:-10px;background:#fff;color:var(--ink);border:1px solid #b9b9b9;font-family:"Yomogi",cursive;font-size:.86rem;line-height:1.35;text-align:center;padding:10px 16px;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:2}
.yasagure-fig .bubble::after{content:"";position:absolute;bottom:-8px;left:24px;width:14px;height:14px;background:#fff;border-right:1px solid #b9b9b9;border-bottom:1px solid #b9b9b9;transform:rotate(45deg)}

/* 参加者の声 吹き出し */
.voices{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0 6px}
.voice{position:relative;display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid #cfc8b4;border-radius:16px;padding:11px 20px 11px 12px;font-family:"Shippori Mincho",serif;font-size:1rem;color:var(--ink);box-shadow:0 6px 16px rgba(120,95,40,.09)}
.voice.plain{padding:13px 20px;color:var(--ink-soft)}
.vav{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--gold-soft)}
.voice::after{content:"";position:absolute;left:26px;bottom:-8px;width:14px;height:14px;background:#fff;border-right:1px solid #cfc8b4;border-bottom:1px solid #cfc8b4;transform:rotate(45deg)}

/* スムージーを見出し位置に寄せる */
.hara-img.eatfig{margin-top:34px}
@media(max-width:820px){.yasagure-fig{margin:18px auto 4px}}

/* ご神事・パカチョ イラスト配置 */
.hara-img.goshinjifig{width:31%;max-width:310px}
.hara-img.pakachofig{width:34%;max-width:330px}
@media(max-width:820px){.hara-img.goshinjifig,.hara-img.pakachofig{float:none;width:90%;max-width:420px;margin:0 0 18px}}

/* ブロック16 物語フレーム＋書籍レコメンド */
.story-frame{max-width:780px;margin-top:8px;border:1.5px solid var(--gold-soft);border-radius:16px;padding:clamp(26px,4vw,44px);background:#fffdf8;box-shadow:0 10px 30px rgba(150,120,50,.07)}
.story-frame .tx+.tx{margin-top:14px}
.story-frame .declare{margin-top:22px}
.book-rec{display:inline-flex;align-items:center;gap:16px;margin-top:24px;padding:12px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.book-rec img{width:62px;height:auto;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.book-rec span{font-family:"Shippori Mincho",serif;font-size:.96rem;color:var(--ink)}
.book-rec b{color:var(--enji)}

/* こんなふうに感じていませんか：項目ホバー */
.ec{transition:transform .22s ease,box-shadow .22s ease}
.ec:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(120,95,40,.14)}
/* お便りテキストは動画の下で右端まで回り込む */
.hara-in .tx.eat-letter{max-width:none}

/* ブロック16 MY STORY 雑誌コラム */
.mystory-grid{display:grid;grid-template-columns:1.5fr .92fr;gap:clamp(24px,3vw,40px);align-items:start;max-width:1180px;margin:0;padding-left:7.5vw;padding-right:22px}
.story-col>*{max-width:none}
.profile-card{background:#fffdf8;border:1px solid var(--gold-soft);border-radius:14px;padding:26px 24px;box-shadow:0 10px 28px rgba(150,120,50,.08)}
.pf-label{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--enji);font-size:.74rem;font-weight:700;letter-spacing:.14em}
.pf-name{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.35rem;margin:4px 0 14px}
.pf-photo{float:left;width:clamp(150px,22vw,240px);height:auto;border-radius:12px;margin:4px 28px 14px 0;box-shadow:0 12px 28px rgba(120,95,40,.18)}
.pf-bio{font-size:.86rem;line-height:1.95;color:var(--ink-soft)}
.pf-books{clear:both;margin-top:22px;max-width:540px}
.pf-books-ttl{font-family:"Shippori Mincho",serif;color:var(--gold-deep);font-size:.85rem;letter-spacing:.1em;margin-bottom:10px}
.pf-books img{width:100%;height:auto;border-radius:6px}
@media(max-width:780px){.pf-photo{width:130px;margin-right:18px}}

/* ============================================================
   レイアウト全面統一：中央寄せ・横いっぱい・広々（右余白の解消）
   ============================================================ */
.wrap.hl,.wrap.hlw,.hara-in,.empathy-grid,.talk-grid,.mystory-grid{
  max-width:1180px;margin-left:auto;margin-right:auto;
  padding-left:clamp(22px,5vw,46px);padding-right:clamp(22px,5vw,46px)
}
/* 文字の幅制限を解除（広々と全幅で流す） */
.wrap.hl>*,.hara-in .title,.hara-in .declare,.hara-in .tx,.talk-text>*,.story-frame,.center-text>*{max-width:none}
@media(max-width:780px){
  .wrap.hl,.wrap.hlw,.hara-in,.empathy-grid,.talk-grid,.mystory-grid{padding-left:22px;padding-right:22px}
}

/* 著書サムネは小さめに固定（全幅化の上書きを戻す） */
.wrap.hl .pf-books{max-width:300px}

/* 夏バテ サブ見出し */
.sub-q{font-family:"Shippori Mincho",serif;font-weight:700;color:var(--green);font-size:1.18rem;margin:26px 0 6px}

/* 13期募集セクション */
.entry-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(22px,3vw,38px);align-items:start;margin-top:28px}
.info-table{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(120,95,40,.08)}
.info-table>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line)}
.info-table>div:last-child{border-bottom:0}
.info-table dt{font-family:"Shippori Mincho",serif;color:var(--green);background:var(--cream);padding:14px 16px;font-size:.92rem}
.info-table dd{padding:14px 16px;color:var(--ink);font-size:.92rem;margin:0}
.entry-offer{background:linear-gradient(180deg,#fffdf8,#fff);border:1.5px solid var(--gold-soft);border-radius:16px;padding:28px 24px;box-shadow:0 14px 34px rgba(150,120,50,.14);text-align:center}
.of-normal{color:var(--ink-soft);font-size:.95rem}
.of-now{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:10px 0 2px;flex-wrap:wrap}
.of-badge{background:var(--enji);color:#fff;font-size:.74rem;font-weight:700;padding:5px 13px;border-radius:20px}
.of-price{font-family:"Shippori Mincho",serif;font-weight:800;color:var(--enji);font-size:2.5rem;line-height:1}
.of-price small{font-size:.4em;font-weight:500}
.of-deadline{font-size:.92rem;color:var(--ink);margin-bottom:18px}
.of-deadline b{color:var(--enji)}
.of-cta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:linear-gradient(180deg,var(--enji),var(--enji-deep));color:#fff;font-weight:700;font-size:1rem;padding:16px 30px;border-radius:44px;box-shadow:0 12px 28px rgba(181,32,42,.34);transition:transform .2s}
.of-cta:hover{transform:translateY(-2px)}
.entry-offer .note{margin-top:16px;font-size:.74rem;color:var(--ink-soft);text-align:left;line-height:1.7}
@media(max-width:780px){.entry-grid{grid-template-columns:1fr}.info-table>div{grid-template-columns:108px 1fr}}

/* プロフィール 区切り線・経歴 */
.pf-rule{clear:none;border:0;border-top:1px solid var(--gold-soft);max-width:520px;margin:22px 0 16px}
.pf-facts{font-size:.84rem;color:var(--ink-soft)}

/* パカチョ 白カード */
.pakacard{background:#fff;border:1px solid var(--gold-soft);border-radius:16px;padding:16px;box-shadow:0 14px 32px rgba(120,95,40,.16)}
/* MY STORY 物語内のさゆりん写真（左上・回り込み） */
.story-photo{float:left;width:clamp(120px,18vw,168px);height:auto;border-radius:10px;margin:2px 20px 10px 0;box-shadow:0 8px 20px rgba(120,95,40,.16)}

/* Canvaデザイン画像セクション（全幅・カード） */
.canva-wrap{max-width:1080px;margin:0 auto;padding:0 clamp(22px,5vw,46px)}
.canva-img{width:100%;height:auto;border-radius:16px;box-shadow:0 16px 40px rgba(120,95,40,.16);border:1px solid var(--line)}

/* ===== 7日間プログラム（3枚） ===== */
.prog3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0 4px}
.prog3 img{width:100%;height:auto;border-radius:14px;box-shadow:0 12px 28px rgba(120,95,40,.14);border:1px solid var(--line)}
@media(max-width:700px){.prog3{grid-template-columns:1fr;max-width:380px}}

/* ===== 3つのサポート ===== */
.sup3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 4px}
.supc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(120,95,40,.1);transition:transform .25s,box-shadow .25s}
.supc:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(120,95,40,.18)}
.supc img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;display:block}
.supc h3{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.1rem;display:flex;align-items:center;gap:10px;margin:16px 18px 8px}
.supc .num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--enji);color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.supc p{font-size:.9rem;color:var(--ink-soft);line-height:1.85;margin:0 18px 18px}
@media(max-width:780px){.sup3{grid-template-columns:1fr;max-width:420px}}

/* ===== 医師監修 ===== */
.doc-photo{float:right;width:clamp(150px,24vw,220px);height:auto;border-radius:50%;margin:0 0 16px 28px}
.doc-checks{list-style:none;margin:16px 0;display:grid;gap:10px;max-width:640px}
.doc-checks li{position:relative;padding-left:30px;color:var(--ink);font-size:var(--fs-body);line-height:1.9}
.doc-checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--enji);font-weight:700;font-size:1.05rem}
.doc-stats{clear:both;display:flex;gap:30px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--gold-soft)}
.doc-stats b{font-family:"Shippori Mincho",serif;color:var(--enji);font-size:2rem;line-height:1}
.doc-stats span{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:4px}

/* ===== 合宿の流れ ===== */
.flow4{display:grid;gap:16px;margin-top:26px;max-width:760px}
.fl{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 8px 20px rgba(120,95,40,.07)}
.fl .fn{flex:none;width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#fff;font-family:"Shippori Mincho",serif;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.fl h4{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.08rem;margin-bottom:4px}
.fl p{font-size:.9rem;color:var(--ink-soft);line-height:1.8}

/* ===== 応援グリッド ===== */
.friends-grid{width:100%;height:auto;border-radius:16px;margin-top:22px;box-shadow:0 14px 34px rgba(120,95,40,.16)}

/* ===== 高橋さゆりプロフィール（橋背景） ===== */
.profile-bridge{position:relative;overflow:hidden;background:#f3f1e7;padding:0!important}
.profile-bridge::before{content:"";position:absolute;inset:0;background:url(images/bridge_bg.jpg) center center/cover no-repeat;opacity:.8;z-index:0}
.profile-bridge::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,241,231,.74),rgba(243,241,231,.5) 50%,rgba(243,241,231,.7));z-index:0}
.pbridge-in{position:relative;z-index:1;padding-top:clamp(22px,3.2vw,38px);padding-bottom:clamp(22px,3.2vw,38px)}
.pbridge-title{font-family:"Shippori Mincho",serif;color:var(--green);font-weight:700;font-size:clamp(1.05rem,2.4vw,1.35rem);letter-spacing:.02em;margin:0 0 18px;line-height:1.6}
.pbridge-sub{font-weight:500;color:var(--ink-soft);font-size:.82em;margin-left:.3em}
.pbridge-tx{color:var(--ink-soft);font-size:clamp(.82rem,1.55vw,.92rem);line-height:2;margin:0 0 12px;max-width:none}
.pbridge-award{margin-top:18px;font-size:clamp(.8rem,1.5vw,.88rem);color:var(--ink)}

/* ===== 挫折サポート（Canvaデザイン全体） ===== */
.sup-full{width:100%;height:auto;border-radius:16px;margin-top:14px;box-shadow:0 14px 34px rgba(120,95,40,.14)}

/* ===== 実績（リング＋吹き出し） ===== */
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:34px 0 4px}
.statc{text-align:center}
.ring{--p:100;width:150px;height:150px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(var(--gold) calc(var(--p)*1%), #ece4cf 0);position:relative}
.ring::before{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}
.ring.full{background:var(--gold)}
.ring-num{position:relative;z-index:1;font-family:"Shippori Mincho",serif;font-weight:700;font-size:2rem;color:var(--ink)}
.ring-num small{font-size:1rem;margin-left:1px}
.statc h3{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.15rem;margin-bottom:4px}
.statsub{font-size:.82rem;color:var(--ink-soft);margin-bottom:16px}
.bubble{position:relative;background:#fbf3d6;border:1px solid var(--gold-soft);border-radius:14px;padding:16px 18px;font-size:.86rem;color:var(--ink);line-height:1.9;text-align:left}
.bubble::after{content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%);border:11px solid transparent;border-top:0;border-bottom-color:#fbf3d6}
.bubble::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);border:12px solid transparent;border-top:0;border-bottom-color:var(--gold-soft)}
@media(max-width:780px){.stat3{grid-template-columns:1fr;max-width:430px;margin-left:auto;margin-right:auto;gap:30px}}

/* ===== 開催時期（土用・4枚カード／コード化） ===== */
.doyo-badges{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 4px}
.doyo-badge{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;font-size:.86rem;color:var(--gold-deep);background:#fff;border:1px solid var(--gold-soft);border-radius:30px;padding:8px 20px;box-shadow:0 4px 12px rgba(150,120,50,.08)}
.season4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0 8px}
.seasonc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(120,95,40,.1);transition:transform .25s,box-shadow .25s}
.seasonc:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(120,95,40,.18)}
.seasonc img{width:100%;height:128px;object-fit:cover;display:block}
.season-body{padding:16px 18px 20px}
.season-body h3{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.18rem;margin-bottom:7px;letter-spacing:.04em}
.season-body p{font-size:.86rem;color:var(--ink-soft);line-height:1.8}
@media(max-width:820px){.season4{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.season4{grid-template-columns:1fr;max-width:360px}}

/* ===== 追加：嘆き2ブロック（やり方／贅肉） ===== */
.hara-img.wayfig{width:40%;max-width:440px}
.hara-img.zeinikufig{width:36%;max-width:380px}
.hara-img.left{float:left;margin:0 44px 18px 0}
.hara-img.wayfig img,.hara-img.zeinikufig img{border-radius:16px;box-shadow:0 14px 34px rgba(120,95,40,.16)}
@media(max-width:820px){.hara-img.wayfig,.hara-img.zeinikufig{float:none;width:88%;max-width:420px;margin:0 0 18px}.hara-img.left{margin:0 0 18px}}

/* ===== クロージング：さゆりんからの手紙 ===== */
.closing-letter .declare{margin-top:18px}
.closing-letter .sign{font-family:"Yomogi",cursive;color:var(--green);font-size:1.5rem;text-align:right;margin-top:26px;max-width:760px}
.closing-cta{margin-top:22px}
.closing-cta .ar{margin-left:4px}

/* ===== 7日間プログラム（コード化：写真＋コードラベル） ===== */
.progc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(120,95,40,.1);transition:transform .25s,box-shadow .25s}
.progc:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(120,95,40,.18)}
.progc img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#fff;display:block}
.prog-body{padding:16px 18px 20px}
.prog-body h3{display:inline-block;font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.2rem;letter-spacing:.04em}
.prog-days{display:inline-block;margin-left:10px;font-family:"Shippori Mincho",serif;color:var(--enji);font-weight:700;font-size:1.5rem;line-height:1}
.prog-days small{font-size:.5em;font-weight:500;color:var(--ink-soft);margin-left:1px}
.prog-body p{margin-top:8px;font-size:.86rem;color:var(--ink-soft);line-height:1.8}

/* ===== 食材キット（小さめフォント・テキスト） ===== */
.kit-head{font-family:"Shippori Mincho",serif;color:var(--green);font-size:1.12rem;margin:34px 0 14px;padding-left:14px;border-left:4px solid var(--gold)}
.kit-box{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kit-group{background:#fbf7ec;border:1px solid var(--gold-soft);border-radius:14px;padding:20px 22px}
.kit-ttl{font-family:"Shippori Mincho",serif;color:var(--enji);font-size:.96rem;font-weight:700;margin-bottom:12px;line-height:1.4}
.kit-ttl span{display:block;font-family:"Zen Kaku Gothic New",sans-serif;color:var(--gold-deep);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-top:3px}
.kit-list{list-style:none;display:grid;gap:7px}
.kit-list li{position:relative;padding-left:18px;font-size:.82rem;color:var(--ink);line-height:1.7}
.kit-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.kit-bonus{margin-top:14px;padding-top:14px;border-top:1px dashed var(--gold-soft);font-size:.8rem;color:var(--ink-soft);line-height:1.75}
.kit-bonus-ttl{display:block;font-family:"Shippori Mincho",serif;color:var(--enji);font-size:.86rem;font-weight:700;margin-bottom:4px}
@media(max-width:780px){.kit-box{grid-template-columns:1fr}}

/* ===== やり方を間違うと（テキスト＋写真 横並び・中央揃え） ===== */
.wayrow{display:grid;grid-template-columns:1fr clamp(220px,30%,340px);gap:clamp(28px,5vw,56px);align-items:center;max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,46px)}
.way-img{margin:0}
.way-img img{width:100%;border-radius:16px;box-shadow:0 14px 34px rgba(120,95,40,.16)}
.wayrow.rev{grid-template-columns:clamp(220px,30%,340px) 1fr}
@media(max-width:820px){.wayrow{grid-template-columns:1fr;gap:18px}.wayrow.rev{grid-template-columns:1fr}.way-img{max-width:300px;margin:0 auto}.wayrow.rev .way-img{order:-1}}

/* ===== YouTube紹介 ===== */
.yt-card{display:grid;grid-template-columns:1.45fr 1fr;gap:0;align-items:stretch;text-decoration:none;max-width:900px;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(120,95,40,.12);transition:transform .25s,box-shadow .25s}
.yt-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(120,95,40,.2)}
.yt-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:54px;background:#f00;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.yt-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff}
.yt-info{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:24px 28px}
.yt-name{font-family:"Shippori Mincho",serif;font-weight:700;color:var(--ink);font-size:1.12rem;line-height:1.5;margin-bottom:6px}
.yt-sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:16px}
.yt-cta-btn{display:inline-block;background:#f00;color:#fff;font-weight:700;font-size:.92rem;padding:11px 24px;border-radius:30px}
@media(max-width:780px){.yt-card{grid-template-columns:1fr}.yt-info{padding:20px 22px 24px}}

/* フッター 法的リンク */
.foot-legal{font-size:.8rem;margin-top:6px}
.foot-legal a{color:#a89a80;text-decoration:underline}
.foot-legal a:hover{color:#cdbfa3}

/* 惣兵衛リンク */
.sobe-link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}
.sobe-link:hover{color:var(--enji)}
