:root{
  --paper:#F7F0E1;
  --paper-2:#EFE5D0;
  --paper-card:#FFFDF8;
  --ink:#322A20;
  --ink-soft:#6A5F4E;
  --navy:#3C2F20;
  --navy-deep:#2A2017;
  --gold:#9C7322;
  --gold-bright:#C9A24B;
  --gold-soft:#E6D9B6;
  --red:#A23A2E;
  --plum:#43305A;
  --plum-deep:#2C1D3A;
  --accent:#5A3E7A;
  --line:#E4D8C0;
  --hl:#F3E2A0;           /* marker highlight */
  --wa-sparkle:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'340'%20height%3D'340'%3E%3Cg%3E%3Ccircle%20cx%3D'28'%20cy%3D'44'%20r%3D'10'%20fill%3D'%23F3D585'%20opacity%3D'.20'%2F%3E%3Ccircle%20cx%3D'200'%20cy%3D'150'%20r%3D'12'%20fill%3D'%23F7DE96'%20opacity%3D'.18'%2F%3E%3Ccircle%20cx%3D'300'%20cy%3D'220'%20r%3D'10'%20fill%3D'%23F3D585'%20opacity%3D'.18'%2F%3E%3Ccircle%20cx%3D'130'%20cy%3D'250'%20r%3D'9'%20fill%3D'%23F7DE96'%20opacity%3D'.16'%2F%3E%3Ccircle%20cx%3D'250'%20cy%3D'60'%20r%3D'9'%20fill%3D'%23F3D585'%20opacity%3D'.17'%2F%3E%3Ccircle%20cx%3D'90'%20cy%3D'110'%20r%3D'8'%20fill%3D'%23F7DE96'%20opacity%3D'.15'%2F%3E%3Ccircle%20cx%3D'318'%20cy%3D'120'%20r%3D'7'%20fill%3D'%23F3D585'%20opacity%3D'.14'%2F%3E%3C%2Fg%3E%3Cg%20fill%3D'%23FFF6D6'%3E%3Ccircle%20cx%3D'28'%20cy%3D'44'%20r%3D'2.6'%20opacity%3D'.95'%2F%3E%3Ccircle%20cx%3D'150'%20cy%3D'22'%20r%3D'1.7'%20opacity%3D'.85'%2F%3E%3Ccircle%20cx%3D'250'%20cy%3D'60'%20r%3D'2.3'%20opacity%3D'.92'%2F%3E%3Ccircle%20cx%3D'318'%20cy%3D'120'%20r%3D'1.7'%20opacity%3D'.8'%2F%3E%3Ccircle%20cx%3D'90'%20cy%3D'110'%20r%3D'2'%20opacity%3D'.85'%2F%3E%3Ccircle%20cx%3D'200'%20cy%3D'150'%20r%3D'2.7'%20opacity%3D'.95'%2F%3E%3Ccircle%20cx%3D'40'%20cy%3D'200'%20r%3D'1.7'%20opacity%3D'.8'%2F%3E%3Ccircle%20cx%3D'300'%20cy%3D'220'%20r%3D'2.4'%20opacity%3D'.92'%2F%3E%3Ccircle%20cx%3D'130'%20cy%3D'250'%20r%3D'2'%20opacity%3D'.85'%2F%3E%3Ccircle%20cx%3D'230'%20cy%3D'300'%20r%3D'2.7'%20opacity%3D'.95'%2F%3E%3Ccircle%20cx%3D'60'%20cy%3D'312'%20r%3D'1.6'%20opacity%3D'.78'%2F%3E%3Ccircle%20cx%3D'172'%20cy%3D'332'%20r%3D'1.8'%20opacity%3D'.85'%2F%3E%3C%2Fg%3E%3Cg%20fill%3D'%23EFC96C'%3E%3Ccircle%20cx%3D'80'%20cy%3D'70'%20r%3D'2.2'%20opacity%3D'.6'%2F%3E%3Ccircle%20cx%3D'270'%20cy%3D'172'%20r%3D'2.4'%20opacity%3D'.58'%2F%3E%3Ccircle%20cx%3D'110'%20cy%3D'290'%20r%3D'2.1'%20opacity%3D'.55'%2F%3E%3Ccircle%20cx%3D'175'%20cy%3D'95'%20r%3D'1.5'%20opacity%3D'.5'%2F%3E%3Ccircle%20cx%3D'320'%20cy%3D'280'%20r%3D'1.6'%20opacity%3D'.5'%2F%3E%3C%2Fg%3E%3Cg%20fill%3D'%23FFF6D6'%3E%3Cpath%20d%3D'M200%2C24%20l1.6%2C6%20l6%2C1.6%20l-6%2C1.6%20l-1.6%2C6%20l-1.6%2C-6%20l-6%2C-1.6%20l6%2C-1.6%20z'%20opacity%3D'.92'%2F%3E%3Cpath%20d%3D'M48%2C150%20l1.5%2C5.5%20l5.5%2C1.5%20l-5.5%2C1.5%20l-1.5%2C5.5%20l-1.5%2C-5.5%20l-5.5%2C-1.5%20l5.5%2C-1.5%20z'%20opacity%3D'.85'%2F%3E%3Cpath%20d%3D'M300%2C300%20l1.6%2C6%20l6%2C1.6%20l-6%2C1.6%20l-1.6%2C6%20l-1.6%2C-6%20l-6%2C-1.6%20l6%2C-1.6%20z'%20opacity%3D'.9'%2F%3E%3Cpath%20d%3D'M322%2C40%20l1.3%2C4.6%20l4.6%2C1.3%20l-4.6%2C1.3%20l-1.3%2C4.6%20l-1.3%2C-4.6%20l-4.6%2C-1.3%20l4.6%2C-1.3%20z'%20opacity%3D'.85'%2F%3E%3Cpath%20d%3D'M120%2C200%20l1.3%2C4.6%20l4.6%2C1.3%20l-4.6%2C1.3%20l-1.3%2C4.6%20l-1.3%2C-4.6%20l-4.6%2C-1.3%20l4.6%2C-1.3%20z'%20opacity%3D'.8'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --kira:radial-gradient(36% 46% at 14% 22%, rgba(255,228,150,.30), transparent 60%),radial-gradient(32% 44% at 86% 16%, rgba(247,214,128,.26), transparent 60%),radial-gradient(40% 50% at 78% 84%, rgba(255,224,140,.24), transparent 62%),radial-gradient(38% 48% at 22% 86%, rgba(255,240,196,.30), transparent 60%);
  --shadow:0 10px 34px rgba(42,32,16,.10);
  --shadow-sm:0 4px 14px rgba(42,32,16,.08);
  /* 和柄 (Japanese patterns) — gold */
  --wa-shippo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke='%23C9A24B' stroke-width='1.1'%3E%3Ccircle cx='0' cy='0' r='32'/%3E%3Ccircle cx='64' cy='0' r='32'/%3E%3Ccircle cx='0' cy='64' r='32'/%3E%3Ccircle cx='64' cy='64' r='32'/%3E%3Ccircle cx='32' cy='32' r='32'/%3E%3C/g%3E%3C/svg%3E");
  --wa-asanoha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41.57' height='72'%3E%3Cdefs%3E%3Cg id='h' fill='none' stroke='%23A67C2E' stroke-width='1'%3E%3Cpolygon points='20.78,12 0,24 -20.78,12 -20.78,-12 0,-24 20.78,-12'/%3E%3Cpath d='M20.78 12L-20.78 -12M0 24L0 -24M-20.78 12L20.78 -12'/%3E%3Cpath d='M20.78 12L-20.78 12L0 -24ZM0 24L-20.78 -12L20.78 -12Z'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23h'/%3E%3Cuse href='%23h' x='41.57'/%3E%3Cuse href='%23h' y='72'/%3E%3Cuse href='%23h' x='41.57' y='72'/%3E%3Cuse href='%23h' x='20.78' y='36'/%3E%3C/svg%3E");
  --wa-asanoha-thin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41.57' height='72'%3E%3Cdefs%3E%3Cg id='h' fill='none' stroke='%23A67C2E' stroke-width='0.5'%3E%3Cpolygon points='20.78,12 0,24 -20.78,12 -20.78,-12 0,-24 20.78,-12'/%3E%3Cpath d='M20.78 12L-20.78 -12M0 24L0 -24M-20.78 12L20.78 -12'/%3E%3Cpath d='M20.78 12L-20.78 12L0 -24ZM0 24L-20.78 -12L20.78 -12Z'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23h'/%3E%3Cuse href='%23h' x='41.57'/%3E%3Cuse href='%23h' y='72'/%3E%3Cuse href='%23h' x='41.57' y='72'/%3E%3Cuse href='%23h' x='20.78' y='36'/%3E%3C/svg%3E");
  --wa-washi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cg stroke='%23B89B5E' stroke-opacity='0.22' stroke-width='0.8' stroke-linecap='round' fill='none'%3E%3Cline x1='8' y1='18' x2='52' y2='22'/%3E%3Cline x1='82' y1='10' x2='130' y2='16'/%3E%3Cline x1='28' y1='52' x2='74' y2='49'/%3E%3Cline x1='98' y1='62' x2='142' y2='58'/%3E%3Cline x1='4' y1='92' x2='44' y2='96'/%3E%3Cline x1='60' y1='104' x2='112' y2='100'/%3E%3Cline x1='18' y1='134' x2='62' y2='130'/%3E%3Cline x1='104' y1='128' x2='146' y2='133'/%3E%3Cline x1='48' y1='30' x2='92' y2='34'/%3E%3Cline x1='116' y1='40' x2='150' y2='44'/%3E%3Cline x1='34' y1='78' x2='6' y2='75'/%3E%3Cline x1='128' y1='90' x2='90' y2='86'/%3E%3C/g%3E%3C/svg%3E");
  --fs:1.15;              /* baked from Tweaks default */
  --maxw:760px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  font-size:calc(20px * var(--fs));
  line-height:1.95;
  font-weight:500;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-wrap:pretty;
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-line-break: strict;
  line-break: strict;
}
img{max-width:100%;display:block}
ruby rt{font-size:.52em;font-weight:500;letter-spacing:0;color:var(--ink-soft);user-select:none}
.mincho{font-family:"Shippori Mincho",serif}

/* ---- layout helpers ---- */
.sec{padding:clamp(56px,9vw,104px) 22px}
.wrap{max-width:var(--maxw);margin:0 auto}
.center{text-align:center}
.mark{
  background:linear-gradient(transparent 58%, var(--hl) 58%, var(--hl) 94%, transparent 94%);
  padding:0 .06em;
  font-weight:900;
}
.kw{color:var(--accent);font-weight:900}
.gold-txt{color:var(--gold)}

/* ---- section eyebrow ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:calc(15px * var(--fs));font-weight:700;letter-spacing:.18em;
  color:var(--gold);margin:0 0 18px;
}
.eyebrow::before,.eyebrow::after{content:"";width:30px;height:1px;background:var(--gold-bright)}
.sec-title{
  font-family:"Shippori Mincho",serif;
  font-weight:800;
  font-size:calc(30px * var(--fs));
  line-height:1.5;
  color:var(--navy);
  margin:0 0 14px;
  letter-spacing:.02em;
}

/* =========================================================
   HERO / FIRST VIEW
   ========================================================= */
.hero{
  position:relative;
  background:
    var(--kira),
    var(--wa-sparkle) 0 0 / 340px 340px repeat,
    radial-gradient(120% 90% at 50% -10%, #FBF4E6 0%, var(--paper) 55%),
    var(--paper);
  padding:clamp(40px,7vw,72px) 22px clamp(48px,8vw,88px);
  overflow:hidden;
}
.hero::before{ /* gold asanoha texture, fading down */
  content:"";position:absolute;inset:0 0 auto;height:260px;opacity:.36;pointer-events:none;
  background:var(--wa-asanoha) repeat 0 0;
  background-size:84px 144px;
  mask:linear-gradient(#000 0%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0%,transparent 100%);
}
.hero-inner{position:relative;max-width:1100px;margin:0 auto;text-align:center}
.kado-badge{
  display:inline-flex;align-items:center;gap:.5em;
  border:1.5px solid var(--navy);color:var(--navy);
  border-radius:999px;padding:8px 20px;font-weight:700;
  font-size:calc(15px * var(--fs));margin-bottom:24px;background:#fff;
}
.kado-badge b{color:var(--red)}
.hero-lead{
  font-family:"Shippori Mincho",serif;font-weight:700;
  font-size:calc(22px * var(--fs));line-height:1.7;color:var(--navy);
  margin:0 0 6px;
}
.hero-sub-lead{
  font-size:calc(17px * var(--fs));color:var(--ink-soft);font-weight:500;
  margin:0 auto 30px;max-width:30em;
}
.hero-figs{
  display:flex;justify-content:center;align-items:flex-end;gap:clamp(16px,4vw,40px);
  margin:8px 0 30px;flex-wrap:wrap;
}
.fig-priest{position:relative;text-align:center}
.fig-priest image-slot,.fig-priest img{width:clamp(150px,40vw,220px);height:clamp(150px,40vw,220px);box-shadow:var(--shadow);border:4px solid #fff;border-radius:10px;object-fit:cover;display:block;margin:0 auto}
.fig-priest .cap{margin-top:10px;font-weight:700;font-size:calc(14px*var(--fs));color:var(--ink-soft)}
.fig-book{position:relative}
.fig-book image-slot{width:clamp(170px,42vw,250px);height:clamp(238px,59vw,350px);box-shadow:0 22px 44px rgba(42,32,16,.28);border:1px solid var(--line);border-radius:6px}
.fig-book .ribbon{
  position:absolute;top:-14px;left:-14px;background:var(--red);color:#fff;
  font-weight:900;font-size:calc(14px*var(--fs));padding:8px 14px;border-radius:6px;
  box-shadow:var(--shadow-sm);transform:rotate(-6deg);
}
.book-title{
  font-family:"Shippori Mincho",serif;font-weight:800;
  font-size:clamp(30px, 7.4vw, 50px);line-height:1.42;color:var(--ink);
  margin:14px auto 4px;letter-spacing:.01em;max-width:14em;
}
.book-title .big{color:var(--gold)}
.book-title .ttl-main{display:block;font-size:1.18em}
.book-spec{
  display:inline-flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;
  font-size:calc(15px*var(--fs));color:var(--ink-soft);font-weight:700;margin-top:14px;
}
.book-spec span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 16px;white-space:nowrap}
.hero-card{
  background:var(--paper-card);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-sm);max-width:34em;margin:30px auto 0;padding:24px 26px;
  font-size:calc(17px*var(--fs));line-height:1.85;color:var(--ink);font-weight:500;
}
.hero-card b{color:var(--navy);font-weight:900}
.scroll-cue{
  margin-top:38px;display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--gold);font-weight:700;font-size:calc(15px*var(--fs));
}
.scroll-cue .arr{
  width:46px;height:46px;border-radius:50%;border:2px solid var(--gold-bright);
  display:grid;place-items:center;animation:bob 1.8s ease-in-out infinite;
}
.scroll-cue .arr::after{content:"";width:12px;height:12px;border-right:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(45deg) translate(-2px,-2px)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media (prefers-reduced-motion:reduce){.scroll-cue .arr{animation:none}}
.fv-note{
  margin-top:26px;font-size:calc(13.5px*var(--fs));color:var(--ink-soft);
  background:#fff;border:1px dashed var(--line);border-radius:10px;
  padding:12px 16px;max-width:32em;margin-left:auto;margin-right:auto;line-height:1.7;
}

/* =========================================================
   PRIEST INTRO
   ========================================================= */
.priest{background:linear-gradient(rgba(64,45,86,.80),rgba(58,40,78,.84)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke='%23E0C16A' stroke-width='1.3'%3E%3Ccircle cx='0' cy='0' r='32'/%3E%3Ccircle cx='64' cy='0' r='32'/%3E%3Ccircle cx='0' cy='64' r='32'/%3E%3Ccircle cx='64' cy='64' r='32'/%3E%3Ccircle cx='32' cy='32' r='32'/%3E%3C/g%3E%3C/svg%3E") 0 0/120px 120px,var(--plum);color:#fff;position:relative;overflow:hidden}
.priest .wrap{position:relative;z-index:1}
.priest::after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.22),transparent 70%)}
.priest .sec-title{color:#fff}
.priest .eyebrow{color:var(--gold-bright)}
.priest .eyebrow::before,.priest .eyebrow::after{background:var(--gold-bright)}
.priest-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:center;margin-top:14px}
.priest-grid img,.priest-grid image-slot{flex:0 0 auto}
.priest-grid>div{flex:1 1 280px;min-width:0}
.priest-grid image-slot,.priest-grid img{width:200px;height:200px;border:4px solid rgba(255,255,255,.85);border-radius:50%;object-fit:cover;display:block}
.priest-name{font-family:"Shippori Mincho",serif;font-size:calc(26px*var(--fs));font-weight:800;margin:0 0 4px}
.priest-name ruby{ruby-position:over}
.priest-name ruby rt{line-height:1.6}
.shin rt{font-size:.5em;font-weight:700;color:var(--navy);ruby-position:over;line-height:1}
.priest-read{font-family:"Zen Kaku Gothic New",sans-serif;font-size:.34em;font-weight:600;color:inherit;letter-spacing:.04em}
.priest-body ruby rt{font-size:.6em;font-weight:700;color:#FFF0C6;letter-spacing:.02em;ruby-position:over;line-height:1}
.priest-role{color:var(--gold-bright);font-weight:700;font-size:calc(16px*var(--fs));margin:0 0 16px}
.priest-body{font-size:calc(17px*var(--fs));line-height:2.05;color:rgba(255,255,255,.92);font-weight:500}
.yt-stat{
  display:inline-flex;align-items:baseline;gap:.4em;margin-top:18px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);
  border-radius:12px;padding:12px 22px;
}
.yt-stat .n{font-size:calc(34px*var(--fs));font-weight:900;color:var(--gold-bright);line-height:1}
.yt-stat .l{font-size:calc(15px*var(--fs));font-weight:700}
@media(max-width:640px){
  .priest-grid{justify-content:center;text-align:center;gap:22px}
  .priest-grid image-slot,.priest-grid img{width:170px;height:170px}
  .priest-body{text-align:left}
}

/* =========================================================
   INTRO / EMPATHY
   ========================================================= */
.lead-box{
  background:var(--paper-card);border:1px solid var(--line);border-left:6px solid var(--gold);
  border-radius:14px;padding:28px 30px;box-shadow:var(--shadow-sm);
  font-size:calc(18px*var(--fs));line-height:2;margin-top:6px;
}
.lead-box .shin{color:var(--navy);font-weight:900;background:linear-gradient(transparent 60%,var(--hl) 60%)}
.ask-list{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-direction:column;gap:16px}
.ask-list li{
  display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm);
  font-size:calc(17px*var(--fs));line-height:1.8;font-weight:500;
}
.ask-list .ck{flex:none;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:calc(18px*var(--fs))}

/* =========================================================
   CONTENTS (chapters + 見どころ)
   ========================================================= */
.contents{background:var(--kira),var(--wa-sparkle) 0 0 / 340px 340px repeat,var(--paper-2);position:relative}
.contents::before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:var(--wa-asanoha) repeat;background-size:84px 144px;opacity:.34;pointer-events:none;mask:linear-gradient(#000,transparent);-webkit-mask:linear-gradient(#000,transparent)}
.order::before{content:"";position:absolute;top:0;left:0;right:0;height:170px;background:var(--wa-asanoha-thin) repeat;background-size:84px 144px;opacity:.34;pointer-events:none;mask:linear-gradient(#000,transparent);-webkit-mask:linear-gradient(#000,transparent)}
.chap-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;counter-reset:chap}
.chap{
  display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;
  background:var(--paper-card);border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;box-shadow:var(--shadow-sm);
}
.chap-no{
  font-family:"Shippori Mincho",serif;color:var(--gold);font-weight:800;
  font-size:calc(15px*var(--fs));line-height:1.2;text-align:center;
  border-right:2px solid var(--gold-soft);padding-right:18px;white-space:nowrap;
}
.chap-no b{display:block;font-size:calc(34px*var(--fs));color:var(--navy)}
.chap h3{font-family:"Shippori Mincho",serif;font-size:calc(20px*var(--fs));color:var(--navy);margin:0 0 6px;font-weight:800}
.chap p{margin:0;font-size:calc(16px*var(--fs));line-height:1.8;color:var(--ink-soft);font-weight:500}

.highlights{margin-top:48px}
.hl-head{text-align:center;margin-bottom:26px}
.hl-head .t{font-family:"Shippori Mincho",serif;font-size:calc(26px*var(--fs));font-weight:800;color:var(--navy)}
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hl-card{
  background:var(--paper-card);border:1px solid var(--line);border-radius:16px;
  padding:26px 24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.hl-card .num{
  font-family:"Shippori Mincho",serif;font-weight:800;color:#fff;background:var(--gold);
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  font-size:calc(22px*var(--fs));margin-bottom:16px;box-shadow:var(--shadow-sm);
}
.hl-card h4{font-family:"Shippori Mincho",serif;font-size:calc(19px*var(--fs));color:var(--navy);margin:0 0 10px;line-height:1.5;font-weight:800}
.hl-card p{margin:0;font-size:calc(15.5px*var(--fs));line-height:1.8;color:var(--ink-soft);font-weight:500}
@media(max-width:640px){.hl-grid{grid-template-columns:1fr}}

/* =========================================================
   BONUS
   ========================================================= */
.bonus{background:linear-gradient(rgba(13,30,66,.84),rgba(15,34,72,.84)),var(--wa-shippo) 0 0/124px 124px,linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;position:relative;overflow:hidden}
.bonus::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 80% 0,rgba(201,162,75,.20),transparent 60%);pointer-events:none}
.bonus .inner{position:relative;text-align:center}
.bonus-tag{display:inline-block;background:var(--gold);color:#3a2c0a;font-weight:900;border-radius:999px;padding:8px 22px;font-size:calc(15px*var(--fs));letter-spacing:.06em;margin-bottom:18px}
.bonus h2{font-family:"Shippori Mincho",serif;font-size:calc(28px*var(--fs));font-weight:800;margin:0 0 10px;line-height:1.5}
.bonus h2 .em{color:var(--gold-bright)}
.bonus-card{
  background:#FBF7EC var(--wa-washi) repeat;
  background-size:150px 150px;
  border:1px solid var(--gold-soft);
  box-shadow:0 14px 34px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.6);
  border-radius:18px;padding:30px 28px;margin-top:24px;text-align:left;
}
.bonus-card .gift{display:flex;gap:18px;align-items:center;margin-bottom:16px}
.bonus-card .gift .ico{flex:none;width:64px;height:64px;border-radius:14px;background:var(--gold);display:grid;place-items:center;font-size:34px}
.bonus-card .gift .ttl{font-family:"Shippori Mincho",serif;font-size:calc(20px*var(--fs));font-weight:800;color:var(--navy)}
.bonus-card p{font-size:calc(16px*var(--fs));line-height:1.85;color:var(--ink);margin:0;font-weight:500}
.bonus-note{margin-top:16px;font-size:calc(14px*var(--fs));color:#6b4e15;background:var(--gold-soft);border-radius:10px;padding:14px 16px;line-height:1.7}

/* =========================================================
   PROMISE (warnings)
   ========================================================= */
.promise{background:#FFF8F0}
.promise .sec-title{color:var(--red)}
.promise .eyebrow{color:var(--red)}
.promise .eyebrow::before,.promise .eyebrow::after{background:var(--red)}
.warn-list{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.warn{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
  background:#fff;border:2px solid #F2C9C9;border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-sm);
}
.warn .n{flex:none;width:42px;height:42px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900;font-size:calc(20px*var(--fs))}
.warn h3{margin:0 0 6px;font-size:calc(18px*var(--fs));color:var(--red);font-weight:900;line-height:1.5}
.warn p{margin:0;font-size:calc(16px*var(--fs));line-height:1.85;color:var(--ink);font-weight:500}

/* =========================================================
   ORDER METHODS
   ========================================================= */
.order{background:var(--kira),var(--wa-sparkle) 0 0 / 340px 340px repeat,var(--paper-2);position:relative}
.method{
  background:var(--paper-card);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);overflow:hidden;margin-bottom:22px;
}
.method-head{display:flex;gap:16px;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}
.method-head .badge{
  flex:none;font-family:"Shippori Mincho",serif;font-weight:800;color:#fff;background:var(--navy);
  width:58px;height:58px;border-radius:14px;display:grid;place-items:center;line-height:1.1;text-align:center;
}
.method-head .badge small{display:block;font-size:calc(11px*var(--fs));font-weight:700;opacity:.85}
.method-head .badge b{font-size:calc(26px*var(--fs))}
.method-head .mt{font-family:"Shippori Mincho",serif;font-size:calc(20px*var(--fs));font-weight:800;color:var(--navy);line-height:1.45}
.method-body{padding:22px 26px}
.method-target{
  display:inline-block;background:var(--gold-soft);color:#6b4e15;font-weight:700;
  border-radius:8px;padding:6px 14px;font-size:calc(14.5px*var(--fs));margin-bottom:14px;line-height:1.6;
}
.method-body p{margin:0 0 18px;font-size:calc(16px*var(--fs));line-height:1.85;font-weight:500}
.btn{
  display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
  border:none;cursor:pointer;text-decoration:none;text-align:left;
  font-family:inherit;font-weight:900;border-radius:999px;
  padding:20px 26px;font-size:calc(18px*var(--fs));line-height:1.4;
  box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease;
  min-height:64px;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0)}
.btn .arr{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900}
.btn-amazon{background:#FF9900;color:#1a1a1a}
.btn-amazon .arr{background:rgba(0,0,0,.85);color:#fff}
.btn-print{background:var(--navy);color:#fff}
.btn-print .arr{background:var(--gold-bright);color:#3a2c0a}
.btn-mail{background:var(--gold);color:#fff}
.btn-mail .arr{background:#fff;color:var(--gold)}
.btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#fff}
.btn-gold .arr{background:rgba(255,255,255,.92);color:#7a5a14}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero-pic{display:block}
.hero-img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 20px 50px rgba(42,32,16,.20);border:1px solid var(--line)}
.hero-cta{max-width:540px;margin:28px auto 0}
.method-free{margin:4px 0 14px;text-align:center;font-size:calc(15px*var(--fs));color:var(--gold);font-weight:700}

/* support dial */
.dial{background:none;color:var(--ink);box-shadow:none;border-radius:0;padding:0;text-align:center;margin-top:8px}
.dial-frame{position:relative;container-type:inline-size;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.dial-banner{display:block}
.dial-banner img{width:100%;height:auto;display:block}
.dial-notes{position:absolute;left:0;right:0;top:64%;bottom:1.5%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.7cqw;padding:0 8%;text-align:center;pointer-events:none;transform:translateY(0)}
.dial-notes .sub{margin:0;font-size:clamp(7px,1.45cqw,14px);color:var(--ink);line-height:1.45;font-weight:600}
.dial-extra{margin-top:18px;background:#FBF4E4;border:1.5px solid var(--gold);border-radius:14px;padding:18px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 4px 14px rgba(166,124,46,.12)}
.dial-extra-badge{display:inline-block;white-space:nowrap;background:var(--gold);color:#fff;font-weight:800;font-size:calc(13px*var(--fs));letter-spacing:.08em;padding:5px 16px;border-radius:999px}
.dial-extra-text{margin:0;font-size:calc(15px*var(--fs));line-height:1.7;color:var(--ink);font-weight:600;text-align:center}
.dial-extra-text b{color:var(--gold-deep,#8a6420)}
.dial ul{list-style:none;padding:0;margin:18px auto 0;max-width:30em;text-align:left;display:flex;flex-direction:column;gap:8px}
.dial ul li{background:rgba(255,255,255,.14);border-radius:10px;padding:10px 16px;font-size:calc(15px*var(--fs));font-weight:500}
@media(max-width:640px){
  .dial-notes{top:69%;padding:0 7%;gap:.5cqw;transform:none}
  .dial-notes .sub{font-size:clamp(8px,2.3cqw,12.5px);line-height:1.4}
}

/* =========================================================
   MAIL FORM (方法③)
   ========================================================= */
.form-wrap{background:var(--paper-card);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow);margin-top:8px}
.form-wrap h3{font-family:"Shippori Mincho",serif;font-size:calc(21px*var(--fs));color:var(--navy);margin:0 0 6px;font-weight:800}
.form-wrap .desc{font-size:calc(15.5px*var(--fs));color:var(--ink-soft);margin:0 0 22px;line-height:1.8}
.field{margin-bottom:20px}
.field label{display:block;font-weight:900;font-size:calc(17px*var(--fs));color:var(--ink);margin-bottom:8px}
.field label .req{color:var(--red);font-size:calc(13px*var(--fs));margin-left:.5em;font-weight:700;vertical-align:2px}
.field input{
  width:100%;font-family:inherit;font-size:calc(18px*var(--fs));font-weight:500;
  padding:16px 18px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);
}
.field input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(31,56,100,.12)}
.field .hint{font-size:calc(13.5px*var(--fs));color:var(--ink-soft);margin-top:6px}
.field.err input{border-color:var(--red);background:#FFF6F6}
.field .errmsg{display:none;color:var(--red);font-weight:700;font-size:calc(14px*var(--fs));margin-top:6px}
.field.err .errmsg{display:block}
.addr-hint{font-size:calc(13.5px*var(--fs));color:var(--ink-soft);margin-top:6px;line-height:1.6}
.zip-status{font-size:calc(13.5px*var(--fs));margin-top:7px;line-height:1.6;font-weight:700;display:none}
.zip-status.loading,.zip-status.ok,.zip-status.warn{display:block}
.zip-status.loading{color:var(--ink-soft)}
.zip-status.loading::before{content:"";display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-1px;border:2px solid var(--gold-soft);border-top-color:var(--gold);border-radius:50%;animation:zipspin .7s linear infinite}
.zip-status.ok{color:#1F6B3B}
.zip-status.ok::before{content:"✓ ";color:#1F6B3B;font-weight:900}
.zip-status.warn{color:var(--gold)}
@keyframes zipspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.zip-status.loading::before{animation:none}}
.form-submit{background:var(--gold);color:#fff;width:100%;justify-content:center}
.form-submit .arr{background:#fff;color:var(--gold)}
.form-ok{display:none;text-align:center;padding:20px}
.form-ok.show{display:block}
.form-ok .ico{width:74px;height:74px;border-radius:50%;background:#2E9D62;color:#fff;display:grid;place-items:center;font-size:40px;margin:0 auto 18px}
.form-ok h3{color:#2E9D62}
.no-mail-note{background:var(--gold-soft);color:#6b4e15;border-radius:10px;padding:12px 16px;font-size:calc(14.5px*var(--fs));font-weight:700;margin-bottom:22px;text-align:center}

/* =========================================================
   FAQ
   ========================================================= */
.faq-cat{font-family:"Shippori Mincho",serif;font-weight:800;color:var(--gold);font-size:calc(16px*var(--fs));letter-spacing:.08em;margin:30px 0 12px;display:flex;align-items:center;gap:10px}
.faq-cat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
.faq-cat:first-of-type{margin-top:8px}
.faq-item{background:var(--paper-card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-q{
  display:flex;gap:14px;align-items:flex-start;width:100%;border:none;background:none;cursor:pointer;
  font-family:inherit;text-align:left;padding:22px 24px;font-size:calc(17.5px*var(--fs));font-weight:700;color:var(--navy);line-height:1.6;
}
.faq-q .q{flex:none;font-family:"Shippori Mincho",serif;font-weight:800;color:var(--gold);font-size:calc(22px*var(--fs));line-height:1}
.faq-q .tx{flex:1}
.faq-q .tog{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:var(--navy);font-weight:900;transition:transform .25s ease}
.faq-item.open .faq-q .tog{transform:rotate(45deg);border-color:var(--gold);color:var(--gold)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a-inner{padding:0 24px 24px 58px;font-size:calc(16px*var(--fs));line-height:1.9;color:var(--ink);font-weight:500}
.faq-a-inner .kw{color:var(--accent)}

/* =========================================================
   FOOTER
   ========================================================= */
.foot{background:linear-gradient(rgba(42,28,56,.82),rgba(42,28,56,.82)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke='%23E0C16A' stroke-width='1.3'%3E%3Ccircle cx='0' cy='0' r='32'/%3E%3Ccircle cx='64' cy='0' r='32'/%3E%3Ccircle cx='0' cy='64' r='32'/%3E%3Ccircle cx='64' cy='64' r='32'/%3E%3Ccircle cx='32' cy='32' r='32'/%3E%3C/g%3E%3C/svg%3E") 0 0/110px 110px,var(--plum-deep);color:rgba(255,255,255,.82);padding:48px 22px 40px;position:relative}
.foot .wrap{text-align:center}
.foot .temple{font-family:"Shippori Mincho",serif;font-size:calc(22px*var(--fs));color:#fff;font-weight:800;margin:0 0 6px}
.foot .pub{font-size:calc(14px*var(--fs));margin:0 0 24px}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin:0 0 24px}
.foot-links a{color:var(--gold-bright);text-decoration:none;font-weight:700;font-size:calc(15px*var(--fs));border-bottom:1px solid transparent}
.foot-links a:hover{border-color:var(--gold-bright)}
.foot-notes{font-size:calc(13.5px*var(--fs));line-height:1.8;max-width:34em;margin:0 auto 24px;color:rgba(255,255,255,.7)}
.foot .cr{font-size:calc(12.5px*var(--fs));color:rgba(255,255,255,.5)}

/* =========================================================
   Tweaks panel mount
   ========================================================= */
/* =========================================================
   RESPONSIVE — tablet & desktop
   ========================================================= */
@media (min-width:680px){
  .book-spec{font-size:calc(16px*var(--fs))}
}
@media (max-width:640px){
  /* Stack the YouTube stat vertically on small screens */
  .yt-stat{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    gap:0.4em;
  }
  .yt-stat .n{display:block}
  .yt-stat .l{display:block;text-align:center}
}
@media (min-width:880px){
  :root{ --maxw:900px; }
  .sec{padding:clamp(76px,7vw,124px) 36px}
  .hero{padding:66px 36px 96px}
  .hero-inner{max-width:1080px}
  .hero-lead{font-size:calc(27px*var(--fs))}
  .hero-sub-lead{font-size:calc(19px*var(--fs))}
  .hero-figs{gap:clamp(40px,5vw,72px);margin:20px 0 38px}
  .fig-priest image-slot,.fig-priest img{width:248px;height:248px}
  .fig-book image-slot{width:288px;height:404px}
  .book-title{font-size:clamp(46px,4.4vw,58px)}
  .sec-title{font-size:calc(37px*var(--fs))}
  .eyebrow{font-size:calc(16px*var(--fs))}
  /* chapters: two columns */
  .chap-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .method-head .mt{font-size:calc(22px*var(--fs))}
  .priest-name{font-size:calc(30px*var(--fs))}
  .bonus h2{font-size:calc(32px*var(--fs))}
}
@media (min-width:1240px){
  :root{ --maxw:980px; }
  .hero-lead{font-size:calc(30px*var(--fs))}
}

/* =========================================================
   改行ユーティリティ（デバイス別 <br> 出し分け）
   使い方:
     <br class="br-sp">   … スマホ(≤640px)だけ改行
     <br class="br-tab">  … タブレット(641〜880px)だけ改行
     <br class="br-pc">   … PC(≥881px)だけ改行
     <br class="br-sp br-tab"> … スマホ＋タブレットで改行（PCは改行なし）
   ========================================================= */
br.br-sp,br.br-tab,br.br-pc{display:none}
@media (max-width:640px){ br.br-sp{display:inline} }
@media (min-width:641px) and (max-width:880px){ br.br-tab{display:inline} }
@media (min-width:881px){ br.br-pc{display:inline} }

/* =========================================================
   Tweaks: accent themes + ruby toggle
   ========================================================= */
body[data-theme="ai"]{ --gold:#2E75B6; --gold-bright:#5A9BD4; --gold-soft:#D6E4F2; --hl:#CFE3F7; }
body[data-theme="shu"]{ --gold:#B5451F; --gold-bright:#D9743A; --gold-soft:#F1D6C6; --hl:#F8D2B4; }
body.no-ruby ruby rt{display:none}

#tweaks-root{position:fixed;z-index:9999}


