/*
 * 合気道箕面 仕上げ用デザインレイヤー
 * PRチラシ・指導者紹介・無料体験・世界平和・毎週の小話を
 * 共通の紺／金／赤／麻の葉の世界観へ統合します。
 */

:root{
  --finish-ink:#06131d;
  --finish-navy:#092536;
  --finish-navy-2:#10394d;
  --finish-gold:#d6aa4f;
  --finish-gold-light:#f4dda0;
  --finish-red:#a61f33;
  --finish-green:#177b59;
  --finish-ivory:#fbf8f0;
  --finish-paper:#f2eadb;
  --finish-text:#102532;
  --finish-muted:#b9c9d1;
  --finish-line:rgba(219,187,107,.34);
  --finish-shadow:0 24px 64px rgba(0,0,0,.36);
  --finish-radius:26px;
}

/* この仕上げレイヤーを使う5ページは、余白を要素幅に含めて横崩れを防ぐ。 */
*,*::before,*::after{box-sizing:border-box}

body.page-flyer,
body.page-weekly-story,
body.page-minoh-world-peace,
body.page-trial,
body.page-instructor{
  font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}

body.page-flyer,
body.page-weekly-story,
body.page-minoh-world-peace{
  margin:0;
  color:#f7fbfd;
  background-color:var(--finish-ink) !important;
  background-image:
    radial-gradient(980px 560px at 8% 8%,rgba(38,137,171,.13),transparent 66%),
    radial-gradient(860px 520px at 96% 18%,rgba(166,31,51,.13),transparent 64%),
    linear-gradient(180deg,rgba(6,19,29,.88),rgba(7,25,36,.94)),
    url('./site-asanoha-bg-dark.png') !important;
  background-size:auto,auto,auto,320px auto !important;
  background-repeat:no-repeat,no-repeat,no-repeat,repeat !important;
  background-position:center top,center top,center top,center top !important;
}

.completion-main{
  width:min(calc(100% - 32px),1160px);
  margin:0 auto;
  padding:30px 0 86px;
}

.completion-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(36px,5vw,66px);
  border:1px solid var(--finish-line);
  border-radius:30px 8px 30px 8px;
  color:#fff;
  background:
    radial-gradient(720px 300px at 6% 0%,rgba(54,182,255,.16),transparent 72%),
    radial-gradient(680px 320px at 96% 100%,rgba(166,31,51,.18),transparent 72%),
    linear-gradient(135deg,rgba(5,21,32,.97),rgba(11,47,63,.95));
  box-shadow:var(--finish-shadow),inset 0 1px 0 rgba(255,255,255,.08);
}
.completion-hero::before{
  content:attr(data-mark);
  position:absolute;
  z-index:-1;
  right:clamp(8px,5vw,70px);
  top:50%;
  translate:0 -50%;
  color:rgba(244,221,160,.055);
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:clamp(190px,27vw,380px);
  font-weight:700;
  line-height:1;
  pointer-events:none;
}
.completion-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:12px;
  border:1px solid rgba(244,221,160,.12);
  border-radius:22px 4px 22px 4px;
  pointer-events:none;
}
.completion-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 16px;
  color:var(--finish-gold-light);
  font-size:12px;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.completion-kicker::before{
  content:"";
  width:34px;
  height:1px;
  background:linear-gradient(90deg,var(--finish-red),var(--finish-gold));
}
.completion-hero h1{
  max-width:900px;
  margin:0;
  color:#fff;
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:clamp(2.35rem,5.2vw,4.65rem);
  font-weight:700;
  line-height:1.28;
  letter-spacing:.025em;
  text-wrap:wrap;
}
.completion-hero h1 em{color:var(--finish-gold-light);font-style:normal}
.completion-lead{
  max-width:780px;
  margin:22px 0 0;
  color:rgba(247,251,253,.82);
  font-size:clamp(.97rem,1.5vw,1.12rem);
  line-height:2;
}
.completion-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.completion-button{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 22px;
  border:1px solid rgba(244,221,160,.42);
  border-radius:12px 3px 12px 3px;
  color:#fff !important;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:.94rem;
  font-weight:900;
  line-height:1.35;
  text-decoration:none !important;
}
.completion-button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.completion-button--gold{
  border-color:#efd486;
  color:#211a0e !important;
  background:linear-gradient(135deg,#b68128,#f1d68a 50%,#b88735);
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.58);
}
.completion-button--green{border-color:rgba(53,200,143,.58);background:rgba(23,123,89,.3)}
.completion-section{
  margin-top:30px;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(216,185,106,.25);
  border-radius:24px 7px 24px 7px;
  background:linear-gradient(150deg,rgba(13,43,59,.88),rgba(7,25,36,.94));
  box-shadow:0 20px 48px rgba(0,0,0,.25);
}
.completion-section-heading{margin-bottom:26px}
.completion-section-heading span{
  display:block;
  margin-bottom:8px;
  color:var(--finish-gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.19em;
}
.completion-section-heading h2{
  margin:0;
  color:#fff;
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:clamp(1.75rem,3.4vw,2.8rem);
  line-height:1.4;
}
.completion-section-heading p{max-width:760px;margin:12px 0 0;color:var(--finish-muted);line-height:1.9}

/* PRチラシ */
.flyer-group{
  --flyer-accent:#d6aa4f;
  --flyer-accent-light:#f4dda0;
  --flyer-accent-rgb:214,170,79;
  position:relative;
  margin-top:22px;
  padding:clamp(20px,3vw,32px);
  border:1px solid var(--finish-line);
  border-radius:22px 6px 22px 6px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),
    url('./site-asanoha-bg-dark.png');
  background-size:auto,300px auto;
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}
.flyer-group--kids{--flyer-accent:#ff6fa8;--flyer-accent-light:#ffd1e3;--flyer-accent-rgb:255,111,168}
.flyer-group--junior{--flyer-accent:#35c8f2;--flyer-accent-light:#c9f3ff;--flyer-accent-rgb:53,200,242}
.flyer-group--general{--flyer-accent:#f1b84b;--flyer-accent-light:#ffe6a6;--flyer-accent-rgb:241,184,75}
.flyer-group-head{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:18px;
  margin:-8px -8px 24px;
  padding:17px 20px;
  border:1px solid rgba(var(--flyer-accent-rgb),.55);
  border-radius:18px 5px 18px 5px;
  background:
    radial-gradient(360px 120px at 0% 50%,rgba(var(--flyer-accent-rgb),.25),transparent 72%),
    linear-gradient(100deg,rgba(2,18,29,.96),rgba(8,45,61,.92));
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
}
.flyer-group-head::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-62px;
  width:190px;
  height:190px;
  border:1px solid rgba(var(--flyer-accent-rgb),.22);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(var(--flyer-accent-rgb),.035),0 0 0 56px rgba(var(--flyer-accent-rgb),.025);
  pointer-events:none;
}
.flyer-group-mark{
  position:relative;
  z-index:1;
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--flyer-accent-rgb),.9);
  border-radius:20px 5px 20px 5px;
  color:#fff;
  background:
    radial-gradient(circle at 36% 30%,rgba(255,255,255,.55),transparent 13%),
    radial-gradient(circle,var(--flyer-accent) 0 34%,rgba(var(--flyer-accent-rgb),.45) 35% 55%,rgba(3,22,33,.95) 56% 100%);
  box-shadow:0 0 0 5px rgba(var(--flyer-accent-rgb),.13),0 12px 26px rgba(0,0,0,.32);
  transform:rotate(-3deg);
}
.flyer-group-mark::after{
  content:"✦";
  position:absolute;
  right:-9px;
  top:-12px;
  color:var(--flyer-accent-light);
  font-size:1.1rem;
  text-shadow:0 0 10px var(--flyer-accent);
}
.flyer-group-mark span{
  font-size:2.45rem;
  line-height:1;
  text-shadow:0 2px 2px rgba(0,0,0,.35),0 0 16px var(--flyer-accent);
  transform:rotate(3deg);
}
.flyer-group-copy{position:relative;z-index:1;min-width:0}
.flyer-group-eyebrow{
  display:block;
  margin-bottom:2px;
  color:var(--flyer-accent-light);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.18em;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.flyer-group-head h2{
  margin:0;
  color:#fff;
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:clamp(1.7rem,3.2vw,2.55rem);
  line-height:1.35;
  text-shadow:0 2px 3px rgba(0,0,0,.78),0 0 18px rgba(var(--flyer-accent-rgb),.28);
}
.flyer-group-head p{margin:4px 0 0;color:#eaf3f7;font-size:.92rem;font-weight:600;text-shadow:0 1px 5px rgba(0,0,0,.8)}
.flyer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.flyer-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:16px;
  border:1px solid rgba(216,185,106,.28);
  border-radius:18px 5px 18px 5px;
  background:rgba(3,17,25,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.flyer-card h3{
  margin:0 0 12px;
  padding:9px 12px;
  border-left:4px solid var(--flyer-accent);
  border-radius:7px 2px 7px 2px;
  color:#fff;
  background:linear-gradient(90deg,rgba(var(--flyer-accent-rgb),.2),rgba(255,255,255,.025));
  font-size:1rem;
  letter-spacing:.06em;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.flyer-card a.flyer-image-link{display:block;overflow:hidden;border:1px solid rgba(244,221,160,.36);border-radius:13px 3px 13px 3px;background:#fff;line-height:0}
.flyer-card img{display:block;width:100% !important;height:auto !important;aspect-ratio:1055 / 1491;object-fit:contain}
.flyer-card .completion-button{width:100%;margin-top:14px}
.flyer-bonus{
  position:relative;
  overflow:hidden;
  width:100%;
  display:grid;
  grid-template-columns:minmax(210px,290px) minmax(0,1fr);
  align-items:stretch;
  gap:clamp(24px,4vw,44px);
  margin:32px auto 0;
  padding:clamp(24px,4vw,40px);
  padding-bottom:clamp(16px,2.2vw,24px);
  border:2px solid #e7bb58;
  border-radius:28px 8px 28px 8px;
  color:#102b3b;
  background:
    radial-gradient(420px 230px at 0% 0%,rgba(53,200,242,.2),transparent 72%),
    radial-gradient(380px 240px at 100% 100%,rgba(255,111,168,.18),transparent 72%),
    linear-gradient(145deg,#fffdf7,#f6edd8);
  box-shadow:0 24px 58px rgba(0,0,0,.34),inset 0 1px 0 #fff;
}
.flyer-bonus::before{
  content:"?";
  position:absolute;
  right:22px;
  top:-76px;
  color:rgba(9,58,83,.045);
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:260px;
  font-weight:900;
  line-height:1;
  pointer-events:none;
}
.flyer-bonus-preview{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-self:center;
  overflow:hidden;
  border:2px solid #143d56;
  border-radius:18px 5px 18px 5px;
  color:#fff !important;
  background:#082536;
  box-shadow:0 18px 36px rgba(15,42,56,.28);
  text-decoration:none !important;
  transform:rotate(-1.4deg);
  transition:transform .2s ease,box-shadow .2s ease;
}
.flyer-bonus-preview:hover{transform:rotate(0) translateY(-2px);box-shadow:0 22px 40px rgba(15,42,56,.34)}
.flyer-bonus-preview img{display:block;width:100%;height:auto;aspect-ratio:700 / 990;object-fit:cover;background:#fff}
.flyer-bonus-copy{position:relative;z-index:1;min-width:0;align-self:center}
.flyer-bonus-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  color:#8a641d;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
}
.flyer-bonus-kicker span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 12px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#b62545,#ef6c87);
  box-shadow:0 7px 16px rgba(166,31,51,.22);
  letter-spacing:.08em;
}
.flyer-bonus h2{
  margin:0;
  color:#0b3148;
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:clamp(1.85rem,3.5vw,3rem);
  line-height:1.35;
  text-shadow:0 1px 0 #fff;
}
.flyer-bonus h2 small{
  display:block;
  margin-bottom:4px;
  color:#a61f33;
  font-family:"Noto Sans JP",sans-serif;
  font-size:.48em;
  font-weight:900;
  letter-spacing:.06em;
}
.flyer-bonus-lead{max-width:670px;margin:13px 0 0;color:#3d5664;font-size:.95rem;font-weight:600;line-height:1.85}
.flyer-bonus-types{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;padding:0;list-style:none}
.flyer-bonus-types li{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.74);
  border-radius:12px 3px 12px 3px;
  color:#fff;
  box-shadow:0 6px 14px rgba(14,43,58,.18),inset 0 1px 0 rgba(255,255,255,.36);
  font-family:Georgia,serif;
  font-size:1.2rem;
  font-weight:900;
}
.flyer-bonus-types li:nth-child(1){background:linear-gradient(145deg,#153f9c,#4c75ed)}
.flyer-bonus-types li:nth-child(2){background:linear-gradient(145deg,#1296c7,#45d2f4)}
.flyer-bonus-types li:nth-child(3){background:linear-gradient(145deg,#168044,#52c96f)}
.flyer-bonus-types li:nth-child(4){background:linear-gradient(145deg,#dc6a12,#f6a237)}
.flyer-bonus-types li:nth-child(5){background:linear-gradient(145deg,#b61e52,#ef5d91)}
.flyer-bonus .flyer-bonus-link{
  min-height:58px;
  width:min(100%,390px);
  border:1px solid #123f58;
  color:#fff !important;
  background:linear-gradient(135deg,#0b4260,#177fa1 58%,#a61f33);
  box-shadow:0 13px 26px rgba(10,55,76,.24),inset 0 1px 0 rgba(255,255,255,.25);
  font-size:1rem;
  letter-spacing:.04em;
}
.flyer-bonus .flyer-bonus-link span{font-size:1.25em}
.flyer-final-cta{text-align:center}
.flyer-final-cta .completion-actions{justify-content:center}

/* 今週の合気道小話 */
.weekly-latest{
  position:relative;
  overflow:hidden;
  margin-top:30px;
  padding:clamp(26px,4.5vw,52px);
  border:1px solid rgba(216,185,106,.46);
  border-radius:26px 7px 26px 7px;
  color:var(--finish-text);
  background:
    radial-gradient(440px 240px at 100% 0%,rgba(214,170,79,.18),transparent 70%),
    linear-gradient(150deg,#fffdf8,#f5eddc);
  box-shadow:var(--finish-shadow);
}
.weekly-latest::after{
  content:"話";
  position:absolute;
  right:20px;
  bottom:-58px;
  color:rgba(166,31,51,.045);
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:240px;
  line-height:1;
}
.weekly-latest > *{position:relative;z-index:1}
.weekly-story-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.weekly-story-number{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(166,31,51,.28);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#80172a,#bd3d4f);
  font-size:.8rem;
  font-weight:900;
}
.weekly-story-latest-label{color:#8e681f;font-size:.72rem;font-weight:900;letter-spacing:.16em}
.weekly-latest h2{margin:0;color:#7e2a22;font-family:"Shippori Mincho","Yu Mincho",serif;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.35}
.weekly-story-aim{margin:20px 0 16px;padding:15px 18px;border-left:4px solid var(--finish-green);border-radius:0 12px 12px 0;color:#184f3a;background:rgba(23,123,89,.09);font-weight:700;line-height:1.85}
.weekly-story-body p{margin:0;color:#263946;font-size:1rem;line-height:2.05}
.weekly-archive-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.weekly-count{color:var(--finish-gold-light);font-size:.85rem;font-weight:800}
.weekly-story-list{display:grid;gap:12px}
.weekly-story-item{
  overflow:hidden;
  border:1px solid rgba(216,185,106,.28);
  border-radius:16px 4px 16px 4px;
  background:rgba(4,21,31,.7);
}
.weekly-story-item summary{
  min-height:72px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  color:#fff;
  cursor:pointer;
  list-style:none;
}
.weekly-story-item summary::-webkit-details-marker{display:none}
.weekly-story-item summary strong{font-family:"Shippori Mincho","Yu Mincho",serif;font-size:1.23rem;line-height:1.45}
.weekly-story-toggle{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,185,106,.42);
  border-radius:50%;
  color:var(--finish-gold-light);
  transition:transform .18s ease;
}
.weekly-story-item[open] .weekly-story-toggle{transform:rotate(45deg)}
.weekly-story-panel{padding:0 20px 22px 74px;color:var(--finish-muted)}
.weekly-story-panel .weekly-story-aim{margin-top:0;color:#d9eee5;background:rgba(23,123,89,.16)}
.weekly-story-panel .weekly-story-body p{color:rgba(247,251,253,.82)}
.weekly-empty{padding:24px;border:1px dashed var(--finish-line);border-radius:14px;color:var(--finish-muted);text-align:center}

/* 箕面から世界平和へ */
.peace-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:clamp(28px,5vw,64px);align-items:center}
.peace-poster-frame{
  position:relative;
  margin:0;
  padding:13px;
  border:1px solid rgba(244,221,160,.58);
  border-radius:22px 5px 22px 5px;
  background:linear-gradient(145deg,#ead08e,#fff5d2 42%,#ae7927);
  box-shadow:0 24px 52px rgba(0,0,0,.38);
}
.peace-poster-frame::before{content:"";position:absolute;inset:20px -13px -13px 20px;z-index:-1;border:1px solid rgba(166,31,51,.42);border-radius:20px 4px 20px 4px}
.peace-poster-frame img{display:block;width:100%;height:auto;border-radius:13px 3px 13px 3px;background:#fff}
.peace-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.peace-principle{
  padding:27px 22px;
  border:1px solid rgba(216,185,106,.27);
  border-radius:18px 5px 18px 5px;
  background:rgba(255,255,255,.045);
}
.peace-principle span{
  width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px;border:2px solid var(--finish-gold);border-radius:50%;color:var(--finish-gold-light);background:#0b2b3b;font-family:"Shippori Mincho","Yu Mincho",serif;font-size:1.4rem;font-weight:700;box-shadow:0 0 0 5px rgba(214,170,79,.1)
}
.peace-principle h3{margin:0;color:#fff;font-family:"Shippori Mincho","Yu Mincho",serif;font-size:1.35rem}
.peace-principle p{margin:10px 0 0;color:var(--finish-muted);line-height:1.9}
.peace-message{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:36px;
  align-items:center;
  margin-top:30px;
  padding:clamp(28px,5vw,56px);
  border:1px solid rgba(216,185,106,.32);
  border-radius:24px 7px 24px 7px;
  color:var(--finish-text);
  background:linear-gradient(145deg,#fffdf8,#f0e7d5);
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}
.peace-message blockquote{margin:0;color:#6f2a29;font-family:"Shippori Mincho","Yu Mincho",serif;font-size:clamp(1.65rem,3.3vw,2.75rem);font-weight:700;line-height:1.65}
.peace-message-copy p{margin:0;color:#344955;line-height:2}
.peace-message-copy p + p{margin-top:14px}

/* 指導者紹介：生成りの上質感を残しつつ、入口をサイト共通の紺へ */
body.page-instructor{
  color:var(--finish-text);
  background-color:var(--finish-ink) !important;
  background-image:linear-gradient(rgba(5,19,29,.94),rgba(6,25,36,.94)),url('./site-asanoha-bg-dark.png') !important;
  background-size:auto,320px auto !important;
  background-repeat:no-repeat,repeat !important;
}
body.page-instructor :where(p,li,a,button){font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
body.page-instructor .hero{
  position:relative;
  overflow:hidden;
  padding:70px 0 82px;
  color:#fff;
  background:
    radial-gradient(720px 420px at 8% 12%,rgba(166,31,51,.15),transparent 70%),
    radial-gradient(720px 420px at 94% 32%,rgba(37,139,168,.16),transparent 70%),
    linear-gradient(135deg,#061720,#0b3042) !important;
  border-bottom:1px solid var(--finish-line);
}
body.page-instructor .hero::before{inset:18px;border:1px solid rgba(216,185,106,.12);border-radius:28px 8px 28px 8px;background:none}
body.page-instructor .hero::after{content:"師";right:4%;top:46%;color:rgba(244,221,160,.045);font-size:360px;transform:translateY(-50%);background:none;border:0}
body.page-instructor .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.78fr);gap:clamp(34px,6vw,72px);align-items:center}
body.page-instructor .hero-copy-wrap{
  padding:clamp(28px,4vw,48px);
  border:1px solid rgba(216,185,106,.32);
  border-radius:24px 7px 24px 7px;
  background:rgba(4,20,29,.58);
  box-shadow:0 22px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
body.page-instructor .hero-copy-wrap::before,body.page-instructor .hero-copy-wrap::after{display:none}
body.page-instructor .eyebrow{color:var(--finish-gold-light);font-family:"Noto Sans JP",sans-serif;font-size:.76rem;font-weight:900;letter-spacing:.2em}
body.page-instructor .hero h1{margin:16px 0;color:#fff;font-size:clamp(2.8rem,5.2vw,4.5rem);line-height:1.25}
body.page-instructor .hero-lead{color:var(--finish-gold-light);font-family:"Shippori Mincho","Yu Mincho",serif;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;line-height:1.8}
body.page-instructor .hero-copy{color:rgba(247,251,253,.78);font-size:.98rem;line-height:2}
body.page-instructor .portrait-card{padding:13px;border:1px solid rgba(244,221,160,.58);border-radius:24px 6px 24px 6px;background:linear-gradient(145deg,#b98737,#f3dda2 44%,#9d6b25);box-shadow:0 28px 60px rgba(0,0,0,.36)}
body.page-instructor .portrait-card::before,body.page-instructor .portrait-card::after{display:none}
body.page-instructor .portrait-wrap{overflow:hidden;border-radius:15px 3px 15px 3px;background:var(--finish-ivory)}
body.page-instructor .content-section{padding:74px 0;color:var(--finish-text);background-color:var(--finish-ivory) !important;background-image:linear-gradient(rgba(251,248,240,.94),rgba(251,248,240,.94)),url('./site-asanoha-bg-light.png') !important;background-size:auto,360px auto !important}
body.page-instructor main > .content-section:nth-of-type(3){background-color:#f0e7d8 !important;background-image:linear-gradient(rgba(240,231,216,.93),rgba(240,231,216,.93)),url('./site-asanoha-bg-light.png') !important}
body.page-instructor .section-heading h2{color:#092c45;font-size:clamp(2rem,4vw,3.2rem)}
body.page-instructor .section-kicker{color:#9d6b25;letter-spacing:.18em}
body.page-instructor .section-heading .line{background:linear-gradient(90deg,var(--finish-red),var(--finish-gold),transparent)}
body.page-instructor .profile-shell{border:1px solid rgba(157,107,37,.25);border-radius:24px 7px 24px 7px;background:rgba(255,255,255,.72);box-shadow:0 22px 48px rgba(66,45,22,.1)}
body.page-instructor .profile-shell::before{border-color:rgba(157,107,37,.14)}
body.page-instructor .instructor-name{color:#0a3049}
body.page-instructor .career-step{border-color:rgba(157,107,37,.24);background:#fffdf8;box-shadow:0 12px 28px rgba(66,45,22,.07)}
body.page-instructor .career-year{color:#fff;background:linear-gradient(135deg,#0a3049,#14536b);border-color:#d4af59}
body.page-instructor .career-content h3{color:#173b50}
body.page-instructor .career-content p,body.page-instructor .instructor-message{color:#4c5d66}
body.page-instructor .value-card{
  --value-accent:#17766f;
  --value-accent-dark:#0c5452;
  --value-accent-rgb:23,118,111;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100%;
  padding:38px 27px 31px;
  border:1px solid rgba(22,63,80,.16);
  border-radius:24px 7px 24px 7px;
  background:
    radial-gradient(280px 165px at 50% -18%,rgba(var(--value-accent-rgb),.13),transparent 72%),
    linear-gradient(180deg,#fffefa,#f8f4eb);
  box-shadow:0 18px 42px rgba(34,50,59,.11),inset 0 1px 0 rgba(255,255,255,.94);
}
body.page-instructor .value-card--teach{--value-accent:#2b709c;--value-accent-dark:#174c70;--value-accent-rgb:43,112,156}
body.page-instructor .value-card--respect{--value-accent:#9b4c63;--value-accent-dark:#743247;--value-accent-rgb:155,76,99}
body.page-instructor .value-card::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0 15% auto;
  height:3px;
  border:0;
  border-radius:0 0 99px 99px;
  background:linear-gradient(90deg,transparent,var(--value-accent) 24% 76%,transparent);
  pointer-events:none;
}
body.page-instructor .value-card::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:11px;
  width:auto;
  height:auto;
  border:1px solid rgba(var(--value-accent-rgb),.11);
  border-radius:18px 4px 18px 4px;
  background:none;
  pointer-events:none;
}
body.page-instructor .value-card h3{color:#0a3047;text-wrap:wrap!important}
body.page-instructor .value-card p{
  width:100%;
  max-width:20.5em;
  margin-inline:auto;
  color:#344b58;
  line-height:2;
  text-align:justify;
  text-align-last:left;
  text-justify:inter-character;
  text-wrap:wrap!important;
}
body.page-instructor .value-icon{
  position:relative;
  isolation:isolate;
  z-index:1;
  width:110px;
  height:110px;
  display:grid;
  place-content:center;
  gap:2px;
  margin:0 auto 20px;
  border:0;
  border-radius:0;
  color:#092f43;
  background:none;
  box-shadow:none;
  text-align:center;
  font-family:"Noto Sans JP",sans-serif;
}
body.page-instructor .value-icon::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(145deg,var(--value-accent),var(--value-accent-dark));
  clip-path:polygon(50% 0,61% 17%,79% 8%,82% 28%,100% 34%,88% 50%,100% 66%,82% 72%,79% 92%,61% 83%,50% 100%,39% 83%,21% 92%,18% 72%,0 66%,12% 50%,0 34%,18% 28%,21% 8%,39% 17%);
  filter:drop-shadow(0 10px 14px rgba(26,56,67,.14));
}
body.page-instructor .value-icon::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:15px;
  border:1px solid rgba(var(--value-accent-rgb),.34);
  border-radius:50%;
  background:linear-gradient(150deg,#ffffff,#edf5f3);
  box-shadow:0 0 0 5px rgba(255,255,255,.72),0 0 0 6px rgba(204,162,75,.66),inset 0 0 18px rgba(var(--value-accent-rgb),.08);
}
body.page-instructor .value-icon__kanji{
  display:block;
  font-family:"Shippori Mincho","Yu Mincho",serif;
  font-size:2.08rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
}
body.page-instructor .value-icon__en{
  display:block;
  color:var(--value-accent-dark);
  font-size:.5rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.17em;
}
body.page-instructor .instructor-contact-section{padding:74px 0;background:linear-gradient(145deg,#061720,#0a3042) !important;border-top:1px solid var(--finish-line)}
body.page-instructor .instructor-contact-shell{border:1px solid rgba(216,185,106,.34);border-radius:26px 7px 26px 7px;color:#fff;background:rgba(255,255,255,.045);box-shadow:var(--finish-shadow)}
body.page-instructor .instructor-contact-shell::before{border-color:rgba(244,221,160,.12)}
body.page-instructor .instructor-contact-shell h2{color:#fff}
body.page-instructor .instructor-contact-shell p{color:rgba(247,251,253,.76)}
body.page-instructor .contact-kicker{color:var(--finish-gold-light)}
body.page-instructor .instructor-contact-btn{min-height:54px;border-radius:12px 3px 12px 3px}
body.page-instructor .instructor-contact-btn.primary{color:#211a0e;background:linear-gradient(135deg,#b68128,#f1d68a 50%,#b88735);border-color:#efd486}
body.page-instructor .instructor-contact-btn.consult,body.page-instructor .instructor-contact-btn.guide{color:#fff;background:rgba(255,255,255,.05);border-color:rgba(216,185,106,.35)}

/* 無料体験フォーム */
body.page-trial{
  background-color:var(--finish-ink) !important;
  background-image:linear-gradient(rgba(6,19,29,.9),rgba(6,25,36,.94)),url('./site-asanoha-bg-dark.png') !important;
  background-size:auto,320px auto !important;
}
body.page-trial .wrap{max-width:1120px;padding-top:26px}
body.page-trial .page-intro{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,4vw,48px);
  border:1px solid var(--finish-line);
  border-radius:25px 7px 25px 7px;
  color:#fff;
  background:linear-gradient(135deg,rgba(4,23,34,.97),rgba(12,53,68,.94));
  box-shadow:var(--finish-shadow);
}
body.page-trial .page-intro::after{content:"体";position:absolute;right:5%;top:50%;translate:0 -50%;color:rgba(244,221,160,.045);font-family:"Shippori Mincho","Yu Mincho",serif;font-size:240px;line-height:1}
body.page-trial .page-intro > *{position:relative;z-index:1}
body.page-trial .page-intro .official{border-color:rgba(216,185,106,.32);background:rgba(255,255,255,.045);color:rgba(247,251,253,.82)}
body.page-trial .page-intro .official em,body.page-trial .page-intro .official a{color:var(--finish-gold-light)}
body.page-trial .page-kicker{color:#65d3eb;letter-spacing:.15em}
body.page-trial .page-intro h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);line-height:1.3}
body.page-trial .page-intro p{color:rgba(247,251,253,.78);font-size:1rem;line-height:1.9}
body.page-trial .form-shell{overflow:hidden;border:1px solid rgba(216,185,106,.38);border-radius:26px 7px 26px 7px;box-shadow:var(--finish-shadow)}
body.page-trial .form-hero{color:#fff;background:linear-gradient(130deg,#0a3042,#0d5a65 65%,#315342)}
body.page-trial .form-label{color:var(--finish-gold-light);background:rgba(0,0,0,.18)}
body.page-trial .form-hero h2{color:#fff;font-size:clamp(2rem,4.2vw,3rem)}
body.page-trial .time-badge{border:1px solid rgba(244,221,160,.58);color:#5f4212;background:linear-gradient(135deg,#fff9e6,#efd385)}
body.page-trial .form-workspace{background:linear-gradient(180deg,#fbf8f0,#efe7d8)}
body.page-trial .form-block{border-color:rgba(31,72,91,.22);border-radius:18px 5px 18px 5px;background:#fffdf8;box-shadow:0 12px 25px rgba(17,48,61,.08)}
body.page-trial .form-block-head{border-bottom-color:rgba(31,72,91,.18);background:linear-gradient(90deg,#e9f3f3,#f7efdc)}
body.page-trial .form-block-title{color:#0b4964}
body.page-trial .form-block-sub{color:#85621f}
body.page-trial .choice label{border-color:#b8c9d0;background:#fff}
body.page-trial .choice input:checked + label{border-color:#b68128;background:#fff7de;box-shadow:0 0 0 3px rgba(182,129,40,.13)}
body.page-trial input:focus,body.page-trial select:focus,body.page-trial textarea:focus{border-color:#b68128;box-shadow:0 0 0 3px rgba(182,129,40,.14)}
body.page-trial .submit-btn{min-height:60px;border:1px solid #f0d486;border-radius:14px 4px 14px 4px;color:#211a0e;background:linear-gradient(135deg,#b68128,#f1d68a 50%,#b88735);box-shadow:0 14px 30px rgba(79,53,13,.2),inset 0 1px 0 rgba(255,255,255,.6)}
body.page-trial .quick-contact a{border-color:rgba(12,72,94,.26);color:#0b4964;background:#fffdf8}
body.page-trial .details-section{border:1px solid rgba(216,185,106,.32);border-radius:24px 7px 24px 7px;color:#fff;background:linear-gradient(145deg,rgba(10,46,63,.95),rgba(5,24,35,.96));box-shadow:var(--finish-shadow)}
body.page-trial .details-section h2{color:#fff}
body.page-trial .details-intro{color:var(--finish-muted)}
body.page-trial .details-list details{border-color:rgba(216,185,106,.25);background:rgba(255,255,255,.045)}
body.page-trial .details-list summary{color:#fff}
body.page-trial .detail-content{color:rgba(247,251,253,.8)}

@media(max-width:860px){
  .peace-hero-grid,.peace-message,body.page-instructor .hero-grid{grid-template-columns:1fr}
  .peace-poster-frame{width:min(100%,520px);margin-inline:auto}
  .peace-message{gap:22px}
  body.page-instructor .portrait-card{width:min(100%,520px);margin-inline:auto}
}

@media(max-width:700px){
  .completion-main{width:calc(100% - 20px);padding:18px 0 66px}
  .completion-hero{padding:31px 22px 34px;border-radius:22px 6px 22px 6px}
  .completion-hero::after{inset:8px;border-radius:17px 3px 17px 3px}
  .completion-hero::before{right:0;font-size:190px}
  .completion-hero h1{font-size:clamp(2rem,10vw,3rem)}
  .completion-lead{font-size:.92rem;line-height:1.9}
  .completion-actions{display:grid;grid-template-columns:1fr}
  .completion-button{width:100%;min-width:0}
  .completion-section{padding:23px 16px;border-radius:19px 5px 19px 5px}
  .flyer-card-grid,.peace-principles{grid-template-columns:1fr}
  .flyer-group{padding:18px 13px}
  .flyer-group-head{align-items:center;gap:13px;margin:-5px -2px 20px;padding:14px 13px}
  .flyer-group-mark{width:54px;height:54px;flex-basis:54px;border-radius:17px 4px 17px 4px}
  .flyer-group-mark span{font-size:2rem}
  .flyer-group-eyebrow{font-size:.61rem;letter-spacing:.12em}
  .flyer-group-head h2{font-size:clamp(1.45rem,7vw,2rem)}
  .flyer-group-head p{font-size:.8rem;line-height:1.65}
  .flyer-card{padding:12px}
  .flyer-bonus{
    width:100%;
    grid-template-columns:1fr;
    gap:24px;
    padding:23px 16px 16px;
    border-radius:22px 6px 22px 6px;
  }
  .flyer-bonus-preview{width:min(78%,300px);margin-inline:auto}
  .flyer-bonus-copy{text-align:center}
  .flyer-bonus-kicker{justify-content:center;flex-wrap:wrap}
  .flyer-bonus h2{font-size:clamp(1.7rem,8vw,2.35rem)}
  .flyer-bonus-title-line{display:block}
  .flyer-bonus-title-topic{white-space:nowrap}
  .flyer-bonus-lead{font-size:.9rem;text-align:left}
  .flyer-bonus-types{justify-content:center}
  .flyer-bonus .flyer-bonus-link{width:100%}
  .weekly-latest{padding:28px 19px}
  .weekly-archive-head{display:block}
  .weekly-count{display:block;margin-top:6px}
  .weekly-story-item summary{grid-template-columns:auto 1fr auto;gap:10px;padding:13px 12px}
  .weekly-story-number{padding:5px 9px;font-size:.73rem}
  .weekly-story-item summary strong{font-size:1rem}
  .weekly-story-panel{padding:0 15px 18px}
  .peace-message{padding:28px 20px}
  body.page-instructor .hero{padding:38px 0 46px}
  body.page-instructor .hero::before{inset:8px}
  body.page-instructor .hero::after{font-size:210px}
  body.page-instructor .hero-copy-wrap{padding:28px 19px}
  body.page-instructor .content-section{padding:52px 0}
  body.page-instructor .instructor-contact-section{padding:52px 0}
  body.page-instructor .value-card{padding:31px 20px 27px}
  body.page-instructor .value-icon{width:102px;height:102px;margin-bottom:18px}
  body.page-instructor .value-icon__kanji{font-size:1.95rem}
  body.page-trial .wrap{padding-top:12px}
  body.page-trial .page-intro{padding:25px 18px}
  body.page-trial .page-intro::after{font-size:170px}
  body.page-trial .form-workspace{padding-inline:10px}
}

@media(prefers-reduced-motion:reduce){
  .completion-button,.weekly-story-toggle{transition:none}
}

@media(max-width:340px){
  .weekly-story-item summary{
    grid-template-columns:1fr auto;
    gap:6px 10px;
    padding:12px;
  }
  .weekly-story-item summary .weekly-story-number{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    min-height:28px;
    padding:4px 8px;
    font-size:.68rem;
  }
  .weekly-story-item summary strong{
    grid-column:1;
    grid-row:2;
    font-size:.96rem;
  }
  .weekly-story-item summary .weekly-story-toggle{
    grid-column:2;
    grid-row:1 / 3;
  }
}
