/* ============================================================
   墨香書道教室 — 共通スタイル（コーポレートサイト構成）
   全ページ共通：トークン／ヘッダー・フッター／部品／ページ見出し帯／レスポンシブ
   ============================================================ */
:root{
  --paper:#efeae0; --paper2:#e7e0d2; --sumi:#1a1a1f; --sumi-2:#16161b;
  --sumi-soft:rgba(26,26,31,.66); --sumi-faint:rgba(26,26,31,.46);
  --line:rgba(26,26,31,.16); --line-soft:rgba(26,26,31,.10);
  --shu:#b5392f; --shu-soft:#c2574d;
  --paper-on-dark:#ece6da; --line-on-dark:rgba(236,230,218,.18);
  --max:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--sumi);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.9;overflow-x:hidden}
.mincho{font-family:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}
.hand{font-family:"Klee One","Shippori Mincho",serif}
a{color:inherit}
img{max-width:100%;display:block}

/* 共通モチーフ：ごく薄い方眼（習字の手本用紙）＝サイト内1種に統一 */
.grid-bg{position:relative}
.grid-bg::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(26,26,31,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(26,26,31,.045) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 40%,transparent 100%)}
.grid-bg>*{position:relative;z-index:1}

/* 紙の質感グレイン */
body::after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
section{position:relative}

/* セクション見出し（編集的・通し番号＋縦罫） */
.sec-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:48px}
.sec-head .no{font-family:"Shippori Mincho",serif;font-weight:600;font-size:13px;letter-spacing:.2em;color:var(--shu);padding-top:7px;white-space:nowrap}
.sec-head .en{display:block;font-size:11px;letter-spacing:.34em;color:var(--sumi-faint);margin-bottom:10px}
.sec-head h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.4;letter-spacing:.06em}
.sec-head h2 .em{color:var(--shu)}
.sec-head .lead-tx{margin-top:14px;font-size:14px;line-height:2.1;color:var(--sumi-soft);max-width:620px;letter-spacing:.02em}

/* 落款（朱の角印） */
.seal{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--shu);color:#f3ece0;
  font-family:"Shippori Mincho",serif;font-weight:700;font-size:19px;line-height:1;box-shadow:0 1px 0 rgba(0,0,0,.15) inset;
  writing-mode:vertical-rl;padding:5px 0}

/* ════════ ヘッダー ════════ */
header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;transition:background .35s,box-shadow .35s,padding .35s;
  background:linear-gradient(to bottom,rgba(239,234,224,.86),rgba(239,234,224,.36) 70%,rgba(239,234,224,0))}
header.solid,header.scrolled{background:rgba(239,234,224,.94);box-shadow:0 1px 0 var(--line);padding:13px 40px;backdrop-filter:saturate(1.1) blur(6px)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--sumi)}
.brand .seal{width:34px;height:34px;font-size:16px}
.brand .nm{display:flex;flex-direction:column;line-height:1.25}
.brand .nm b{font-family:"Shippori Mincho",serif;font-weight:700;font-size:19px;letter-spacing:.22em}
.brand .nm span{font-size:9px;letter-spacing:.34em;color:var(--sumi-faint)}
nav.main{display:flex;align-items:center;gap:26px}
nav.main a{font-family:"Shippori Mincho",serif;font-size:13.5px;letter-spacing:.12em;color:var(--sumi-soft);text-decoration:none;position:relative;padding:5px 0}
nav.main a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--sumi);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav.main a:hover::after,nav.main a.current::after{transform:scaleX(1)}
nav.main a.current{color:var(--sumi)}
nav.main a.cta{border:1px solid var(--sumi);padding:9px 20px;color:var(--sumi);letter-spacing:.16em;transition:background .3s,color .3s}
nav.main a.cta:hover{background:var(--sumi);color:var(--paper)}
nav.main a.cta::after{display:none}

.burger{display:none;flex-direction:column;gap:5px;width:30px;height:24px;justify-content:center;background:none;border:0;cursor:pointer;padding:0;z-index:45}
.burger span{display:block;height:1.6px;width:100%;background:var(--sumi);transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
.m-menu{position:fixed;inset:0;z-index:39;background:rgba(233,224,210,.98);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 40px;opacity:0;visibility:hidden;transition:opacity .35s;backdrop-filter:blur(4px)}
.m-menu.open{opacity:1;visibility:visible}
.m-menu a{font-family:"Shippori Mincho",serif;font-size:23px;letter-spacing:.1em;text-decoration:none;color:var(--sumi);padding:15px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:16px}
.m-menu a .en{font-size:10px;letter-spacing:.3em;color:var(--sumi-faint)}

/* ════════ ページ見出し帯（下層共通・静かな墨ウォッシュ） ════════ */
.page-hero{position:relative;padding:150px 0 64px;overflow:hidden;
  background:radial-gradient(46% 120% at 78% 30%,rgba(26,26,31,.10),transparent 70%),
             radial-gradient(34% 90% at 90% 70%,rgba(22,64,122,.06),transparent 70%),
             radial-gradient(20% 70% at 70% 50%,rgba(181,57,47,.05),transparent 70%),var(--paper)}
.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(26,26,31,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,26,31,.04) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%)}
.page-hero .wrap{position:relative;z-index:1}
.crumb{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.16em;color:var(--sumi-faint);margin-bottom:22px}
.crumb a{text-decoration:none;color:var(--sumi-faint);transition:color .25s}
.crumb a:hover{color:var(--shu)}
.crumb span{color:var(--line)}
.page-hero .en{display:block;font-size:11px;letter-spacing:.4em;color:var(--shu);margin-bottom:14px}
.page-hero h1{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(30px,4.6vw,50px);letter-spacing:.12em;line-height:1.3}
.page-hero p.intro{margin-top:18px;font-size:14.5px;line-height:2.1;color:var(--sumi-soft);max-width:640px;letter-spacing:.02em}

/* ════════ ボタン ════════ */
.btn-ink{display:inline-block;text-decoration:none;color:var(--paper);background:var(--sumi);padding:15px 34px;
  font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:.22em;transition:transform .3s,background .3s}
.btn-ink:hover{background:#000;transform:translateY(-2px)}
.btn-line{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--sumi);
  font-family:"Shippori Mincho",serif;font-size:13.5px;letter-spacing:.16em;border-bottom:1px solid var(--sumi);padding-bottom:4px;transition:gap .3s,color .3s}
.btn-line:hover{gap:20px;color:var(--shu);border-color:var(--shu)}

/* ════════ 出現アニメ ════════ */
.rv{opacity:0;transform:translateY(22px);transition:opacity 1s ease,transform 1s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none}.hero .head h1 .ch{opacity:1;clip-path:inset(0 0 0 0)}}

/* ════════ ホーム：墨流しFV ════════ */
#ink{position:fixed;inset:0;z-index:0}
#ink canvas{display:block;width:100vw;height:100vh;cursor:crosshair}
.ink-fallback{position:fixed;inset:0;z-index:0;background:
   radial-gradient(40% 38% at 32% 52%,rgba(26,26,31,.16),transparent 70%),
   radial-gradient(30% 28% at 56% 40%,rgba(22,64,122,.10),transparent 70%),
   radial-gradient(22% 22% at 24% 38%,rgba(181,57,47,.10),transparent 70%),var(--paper)}
.hero{position:relative;min-height:100svh;z-index:1}
.below{position:relative;z-index:2;background:var(--paper)}
.hero .veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(239,234,224,.30),transparent 22% 70%,rgba(239,234,224,.96))}
.hero .head{position:absolute;top:53%;right:9.5vw;transform:translateY(-50%);writing-mode:vertical-rl;pointer-events:none;max-height:78vh}
.hero .head h1{font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:.28em;font-size:clamp(38px,5.2vw,68px);line-height:1.08;white-space:nowrap;color:var(--sumi)}
.hero .head h1 .ch{display:inline-block;opacity:0;clip-path:inset(0 0 100% 0);transition:clip-path .7s cubic-bezier(.7,0,.3,1),opacity .5s}
.hero .head h1.writ .ch{opacity:1;clip-path:inset(0 0 0 0)}
.hero .head .side{font-family:"Shippori Mincho",serif;font-size:clamp(13px,1.15vw,15.5px);letter-spacing:.4em;color:var(--sumi-soft);white-space:nowrap;margin-right:30px;padding-top:8px;padding-right:16px;border-right:1px solid var(--line)}
.hero .foot{position:absolute;left:40px;bottom:54px;max-width:440px;z-index:3}
.hero .foot .idx{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:11px;letter-spacing:.3em;color:var(--sumi-faint)}
.hero .foot .idx .no{font-family:"Shippori Mincho",serif;font-size:15px;color:var(--shu)}
.hero .foot .idx::after{content:"";flex:1;height:1px;background:var(--line)}
.hero .foot p{font-size:14px;line-height:2.2;letter-spacing:.04em;color:var(--sumi-soft);margin-bottom:26px}
.hero .foot p .ln{display:inline-block}
.hero .foot .acts{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero .foot .tel{font-size:16px;letter-spacing:.1em;color:var(--sumi-soft);font-family:"Shippori Mincho",serif}
.hero .foot .tel small{display:block;font-size:10px;letter-spacing:.22em;color:var(--sumi-faint);margin-bottom:2px;font-family:"Zen Kaku Gothic New",sans-serif}
.hero .place{position:absolute;right:40px;bottom:54px;text-align:right;font-family:"Shippori Mincho",serif;font-size:11px;letter-spacing:.28em;color:var(--sumi-faint);line-height:2.2}
.hero .since{position:absolute;left:40px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:"Shippori Mincho",serif;font-size:10.5px;letter-spacing:.42em;color:var(--sumi-faint);display:flex;align-items:center;gap:12px}
.hero .since::before{content:"";width:1px;height:58px;background:var(--line)}
.hero .scroll-c{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:9.5px;letter-spacing:.34em;color:var(--sumi-faint);writing-mode:vertical-rl;display:flex;align-items:center;gap:10px}
.hero .scroll-c::after{content:"";width:1px;height:34px;background:var(--sumi-faint);animation:sc 2s infinite}
@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ════════ 理念（墨の濃い面） ════════ */
.creed{background:var(--sumi-2);color:var(--paper-on-dark);padding:120px 0}
.creed .wrap{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.creed .lead{font-family:"Shippori Mincho",serif;font-weight:600;font-size:clamp(22px,2.9vw,33px);line-height:2.1;letter-spacing:.08em}
.creed .lead .em{color:var(--shu-soft)}.creed .lead .hand{color:#f3ece0}
.creed .body{margin-top:30px;font-size:14px;line-height:2.3;color:rgba(236,230,218,.74);max-width:640px;letter-spacing:.03em}
.creed .body p+p{margin-top:16px}
.creed .body .sign{margin-top:26px;font-family:"Shippori Mincho",serif;letter-spacing:.16em;color:var(--paper-on-dark)}
.creed .enso-art{justify-self:center;width:min(264px,70vw)}
.creed .enso-art .frame{position:relative}
.creed .enso-art img{width:100%;display:block;border:1px solid rgba(236,230,218,.14);box-shadow:0 24px 58px rgba(0,0,0,.5)}
.creed .enso-art .seal{position:absolute;right:-13px;bottom:18px;width:34px;height:34px;font-size:15px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.creed .enso-art figcaption{margin-top:16px;text-align:center;font-family:"Shippori Mincho",serif;font-size:10.5px;letter-spacing:.32em;color:rgba(236,230,218,.5)}

/* ════════ 学べること（編集行・無箱） ════════ */
.learn{padding:120px 0}
.learn .rows{border-top:1px solid var(--line)}
.lrow{display:grid;grid-template-columns:96px 1fr 1.2fr;gap:30px;align-items:baseline;padding:38px 6px;border-bottom:1px solid var(--line);transition:background .4s}
.lrow:hover{background:rgba(26,26,31,.025)}
.lrow .ln{font-family:"Shippori Mincho",serif;font-weight:600;font-size:38px;color:var(--shu);line-height:1}
.lrow .ln .jp{display:block;font-size:11px;letter-spacing:.3em;color:var(--sumi-faint);margin-top:10px}
.lrow h3{font-family:"Shippori Mincho",serif;font-weight:700;font-size:21px;letter-spacing:.08em;line-height:1.6}
.lrow h3 small{display:block;font-size:11px;letter-spacing:.2em;color:var(--sumi-faint);margin-top:6px;font-weight:400}
.lrow p{font-size:14px;line-height:2.1;color:var(--sumi-soft);letter-spacing:.02em}
.lrow .tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 18px}
.lrow .tags span{font-size:11.5px;letter-spacing:.12em;color:var(--sumi-faint);border-left:1px solid var(--shu);padding-left:9px}

/* ════════ 流れ（連結ライン番号）＝稽古の流れ／入会の流れ共通 ════════ */
.flow{padding:120px 0;background:var(--paper2)}
.flow.plain{background:var(--paper)}
.flow .steps{position:relative;margin-top:18px}
.flow .steps::before{content:"";position:absolute;left:23px;top:14px;bottom:14px;width:1px;background:repeating-linear-gradient(to bottom,var(--line) 0 6px,transparent 6px 12px)}
.fstep{position:relative;display:grid;grid-template-columns:48px 1fr;gap:26px;padding:20px 0}
.fstep .dot{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;font-family:"Shippori Mincho",serif;font-size:15px;color:var(--shu);position:relative;z-index:1}
.flow.plain .fstep .dot{background:var(--paper)}
.fstep h4{font-family:"Shippori Mincho",serif;font-size:18px;letter-spacing:.08em;margin-bottom:5px}
.fstep p{font-size:13.5px;line-height:2;color:var(--sumi-soft);max-width:580px}

/* ════════ 月謝表 ════════ */
.fee{padding:120px 0}
.fee-tbl{max-width:760px;margin:0 auto;border-top:2px solid var(--sumi)}
.fee-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:20px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line)}
.fee-row .c{font-family:"Shippori Mincho",serif;font-size:17px;letter-spacing:.06em}
.fee-row .c small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-size:11.5px;color:var(--sumi-faint);letter-spacing:.06em;margin-top:4px}
.fee-row .d{font-size:12.5px;color:var(--sumi-soft);letter-spacing:.04em}
.fee-row .p{font-family:"Shippori Mincho",serif;font-size:23px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.fee-row .p small{font-size:12px;color:var(--sumi-faint);margin-left:3px}
.fee-note{max-width:760px;margin:22px auto 0;font-size:12px;color:var(--sumi-faint);line-height:1.9;letter-spacing:.03em}
.fee-note b{color:var(--sumi-soft);font-weight:500}

/* ════════ 講師 ════════ */
.teacher{padding:120px 0;background:var(--paper2)}
.teacher .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.teacher .portrait{position:relative;aspect-ratio:4/5;background:radial-gradient(60% 50% at 50% 36%,rgba(26,26,31,.07),transparent 70%),var(--paper);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.teacher .portrait .ph-note{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:10.5px;letter-spacing:.2em;color:var(--sumi-faint)}
.teacher .portrait .brushmark{width:62%;opacity:.85}
.teacher .role{font-size:11px;letter-spacing:.3em;color:var(--shu);margin-bottom:14px}
.teacher h3{font-family:"Shippori Mincho",serif;font-weight:700;font-size:30px;letter-spacing:.1em;margin-bottom:6px}
.teacher h3 .yomi{font-size:12px;letter-spacing:.2em;color:var(--sumi-faint);margin-left:12px;font-weight:400}
.teacher .credit{font-size:12px;letter-spacing:.12em;color:var(--sumi-faint);margin-bottom:24px}
.teacher .msg{font-size:14px;line-height:2.2;color:var(--sumi-soft);letter-spacing:.02em}
.teacher .msg p+p{margin-top:16px}
.teacher .quote{font-family:"Klee One",serif;font-size:19px;color:var(--sumi);line-height:1.9;margin:0 0 22px;letter-spacing:.04em}

/* ════════ 沿革（歩み・タイムライン） ════════ */
.history{padding:120px 0}
.htl{max-width:780px;margin:0 auto;border-left:1px solid var(--line);padding-left:0}
.hrow{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:24px 0 24px 32px;position:relative;border-bottom:1px solid var(--line-soft)}
.hrow::before{content:"";position:absolute;left:-5px;top:34px;width:9px;height:9px;border-radius:50%;background:var(--shu)}
.hrow .yr{font-family:"Shippori Mincho",serif;font-size:17px;letter-spacing:.08em;color:var(--sumi)}
.hrow .yr small{display:block;font-size:11px;color:var(--sumi-faint);margin-top:3px;letter-spacing:.1em}
.hrow p{font-size:14px;line-height:2;color:var(--sumi-soft);letter-spacing:.02em}

/* ════════ 生徒の声 ════════ */
.voice{padding:120px 0}
.voice .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.vcard{padding:38px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.vcard .q{font-family:"Shippori Mincho",serif;font-size:34px;color:var(--shu);line-height:.6;height:22px}
.vcard p{font-size:13.5px;line-height:2.05;color:var(--sumi-soft);letter-spacing:.02em;margin:14px 0 18px}
.vcard .who{font-size:11.5px;letter-spacing:.12em;color:var(--sumi-faint)}
.vcard .who b{font-family:"Shippori Mincho",serif;color:var(--sumi-soft);font-weight:600;letter-spacing:.06em}

/* ════════ FAQ ════════ */
.faq{padding:120px 0;background:var(--paper2)}
.faq.plain{background:var(--paper)}
.faq .list{max-width:840px;margin:0 auto;border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;background:none;border:0;cursor:pointer;text-align:left;display:flex;align-items:flex-start;gap:18px;padding:26px 4px;font:inherit;color:var(--sumi)}
.qa .qm{font-family:"Shippori Mincho",serif;color:var(--shu);font-size:18px;line-height:1.4}
.qa .qt{font-family:"Shippori Mincho",serif;font-size:16.5px;letter-spacing:.06em;line-height:1.6;flex:1}
.qa .pm{font-size:20px;color:var(--sumi-faint);transition:transform .3s;line-height:1.4}
.qa.open .pm{transform:rotate(45deg)}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .4s ease}
.qa .ans p{padding:0 4px 26px 40px;font-size:13.5px;line-height:2.1;color:var(--sumi-soft);letter-spacing:.02em}

/* ════════ お知らせ一覧 ════════ */
.news{padding:120px 0}
.nlist{border-top:1px solid var(--line)}
.nrow{display:grid;grid-template-columns:130px 110px 1fr auto;gap:26px;align-items:center;padding:26px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .35s}
.nrow:hover{background:rgba(26,26,31,.025)}
.nrow .date{font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:.06em;color:var(--sumi-soft);font-variant-numeric:tabular-nums}
.nrow .cat{font-size:11px;letter-spacing:.14em;text-align:center;padding:4px 0;border:1px solid var(--line);color:var(--sumi-soft)}
.nrow .cat.shu{border-color:var(--shu);color:var(--shu)}
.nrow .ttl{font-size:14.5px;letter-spacing:.03em;line-height:1.7}
.nrow .arr{color:var(--sumi-faint);font-size:14px}

/* ════════ 特徴（選ばれる理由・ホーム） ════════ */
.feature{padding:120px 0;background:var(--paper2)}
.feature .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.fcard .num{font-family:"Shippori Mincho",serif;font-size:13px;letter-spacing:.2em;color:var(--shu);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.fcard .num::after{content:"";flex:1;height:1px;background:var(--line)}
.fcard h3{font-family:"Shippori Mincho",serif;font-weight:700;font-size:20px;letter-spacing:.06em;line-height:1.6;margin-bottom:12px}
.fcard p{font-size:13.5px;line-height:2.05;color:var(--sumi-soft);letter-spacing:.02em}

/* ════════ ホーム：コース要約 ════════ */
.home-classes{padding:120px 0}
.hc-rows{border-top:1px solid var(--line)}
.hc-row{display:grid;grid-template-columns:60px 1fr 2fr;gap:26px;align-items:center;padding:30px 6px;border-bottom:1px solid var(--line)}
.hc-row .n{font-family:"Shippori Mincho",serif;font-size:28px;color:var(--shu);line-height:1}
.hc-row h3{font-family:"Shippori Mincho",serif;font-weight:700;font-size:19px;letter-spacing:.08em}
.hc-row p{font-size:13.5px;line-height:1.9;color:var(--sumi-soft);letter-spacing:.02em}

/* 中央寄せの導線（home各セクション末尾） */
.more-c{text-align:center;margin-top:50px}

/* ════════ 持ち物・道具（fee） ════════ */
.gear{padding:120px 0;background:var(--paper2)}
.gear .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 56px;margin-top:10px}
.gear .gi{border-top:1px solid var(--line);padding-top:20px}
.gear .gi h4{font-family:"Shippori Mincho",serif;font-size:17px;letter-spacing:.06em;margin-bottom:8px}
.gear .gi h4 .b{color:var(--shu);font-size:13px;margin-right:8px}
.gear .gi p{font-size:13.5px;line-height:2;color:var(--sumi-soft);letter-spacing:.02em}

/* ════════ CTA（共通帯） ════════ */
.cta-band{position:relative;padding:110px 0;overflow:hidden;color:var(--paper-on-dark);
  background:radial-gradient(50% 120% at 76% 40%,rgba(181,57,47,.16),transparent 70%),var(--sumi-2)}
.cta-band .wrap{text-align:center;position:relative;z-index:1}
.cta-band .en{font-size:11px;letter-spacing:.34em;color:rgba(236,230,218,.5);display:block;margin-bottom:16px}
.cta-band h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);letter-spacing:.08em;line-height:1.5}
.cta-band h2 .em{color:var(--shu-soft)}
.cta-band p{margin:18px auto 36px;font-size:14px;color:rgba(236,230,218,.72);line-height:2;max-width:560px}
.cta-band .acts{display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap}
.cta-band .btn-paper{display:inline-block;text-decoration:none;background:var(--shu);color:#f5efe4;padding:16px 40px;font-family:"Shippori Mincho",serif;font-size:14.5px;letter-spacing:.22em;transition:background .3s,transform .3s}
.cta-band .btn-paper:hover{background:var(--shu-soft);transform:translateY(-2px)}
.cta-band .tel{font-family:"Shippori Mincho",serif;font-size:18px;letter-spacing:.1em;color:var(--paper-on-dark)}
.cta-band .tel small{display:block;font-size:10px;letter-spacing:.2em;color:rgba(236,230,218,.5);margin-bottom:3px;font-family:"Zen Kaku Gothic New",sans-serif}

/* ════════ お問い合わせ（フォーム） ════════ */
.contact{background:var(--sumi-2);color:var(--paper-on-dark);padding:120px 0}
.contact .lead-h{text-align:center;margin-bottom:54px}
.contact .lead-h .en{font-size:11px;letter-spacing:.34em;color:rgba(236,230,218,.5);display:block;margin-bottom:16px}
.contact .lead-h h2{font-family:"Shippori Mincho",serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);letter-spacing:.08em;line-height:1.5}
.contact .lead-h h2 .em{color:var(--shu-soft)}
.contact .lead-h p{margin-top:18px;font-size:14px;color:rgba(236,230,218,.72);line-height:2}
.c-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;max-width:940px;margin:0 auto;align-items:start}
.c-grid .ways .way{padding:22px 0;border-bottom:1px solid var(--line-on-dark)}
.c-grid .ways .way:first-child{border-top:1px solid var(--line-on-dark)}
.c-grid .ways .way .k{font-size:10.5px;letter-spacing:.26em;color:rgba(236,230,218,.5);margin-bottom:8px}
.c-grid .ways .way .v{font-family:"Shippori Mincho",serif;font-size:24px;letter-spacing:.08em}
.c-grid .ways .way .v small{font-size:12px;color:rgba(236,230,218,.55);margin-left:10px;letter-spacing:.06em}
form{display:grid;gap:16px}
form .f{display:grid;gap:7px}
form label{font-size:12px;letter-spacing:.14em;color:rgba(236,230,218,.7)}
form label .req{color:var(--shu-soft);margin-left:6px;font-size:10px}
form input,form textarea,form select{background:rgba(236,230,218,.06);border:1px solid var(--line-on-dark);color:var(--paper-on-dark);padding:13px 15px;font:inherit;font-size:14px;border-radius:0;transition:border-color .25s,background .25s}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--shu-soft);background:rgba(236,230,218,.1)}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form button{margin-top:6px;background:var(--shu);color:#f5efe4;border:0;padding:16px;cursor:pointer;font-family:"Shippori Mincho",serif;font-size:15px;letter-spacing:.24em;transition:background .3s,transform .3s}
form button:hover{background:var(--shu-soft);transform:translateY(-2px)}
form .privacy{font-size:11px;color:rgba(236,230,218,.5);line-height:1.8;letter-spacing:.03em}

/* ════════ アクセス ════════ */
.access{padding:120px 0}
.access .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.access .info dl{display:grid;grid-template-columns:88px 1fr;gap:0 18px;margin-top:8px}
.access .info dt{font-family:"Shippori Mincho",serif;font-size:13px;letter-spacing:.1em;color:var(--sumi-faint);padding:16px 0;border-bottom:1px solid var(--line-soft)}
.access .info dd{font-size:14px;letter-spacing:.04em;padding:16px 0;border-bottom:1px solid var(--line-soft);color:var(--sumi-soft)}
.access .map{position:relative;min-height:340px;border:1px solid var(--line);overflow:hidden;background:#e9e3d6}
.access .map .lines{position:absolute;inset:0}
.access .map .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-100%);text-align:center}
.access .map .pin .head{width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--shu);transform:rotate(-45deg);margin:0 auto 8px;box-shadow:0 4px 10px rgba(181,57,47,.4)}
.access .map .pin .lbl{font-family:"Shippori Mincho",serif;font-size:12px;letter-spacing:.1em;background:var(--paper);padding:4px 12px;border:1px solid var(--line);white-space:nowrap}
.access .map .mnote{position:absolute;right:12px;bottom:10px;font-size:10px;letter-spacing:.16em;color:var(--sumi-faint);background:rgba(239,234,224,.8);padding:3px 8px}

/* ════════ フッター ════════ */
footer{background:#121216;color:rgba(236,230,218,.7);padding:64px 0 40px}
footer .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
footer .fb{display:flex;align-items:center;gap:14px;margin-bottom:18px}
footer .fb .seal{width:36px;height:36px;font-size:17px}
footer .fb b{font-family:"Shippori Mincho",serif;font-size:20px;letter-spacing:.22em;color:var(--paper-on-dark)}
footer .addr{font-size:12.5px;line-height:2;letter-spacing:.04em}
footer nav{display:flex;gap:40px}
footer nav a{font-family:"Shippori Mincho",serif;font-size:13px;letter-spacing:.1em;text-decoration:none;color:rgba(236,230,218,.7);display:block;padding:5px 0;transition:color .25s}
footer nav a:hover{color:var(--paper-on-dark)}
footer .copy{margin-top:48px;padding-top:24px;border-top:1px solid rgba(236,230,218,.12);display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.18em;color:rgba(236,230,218,.4)}

/* デモ注記バー */
.demo-bar{background:var(--shu);color:#f5efe4;text-align:center;font-size:11.5px;letter-spacing:.08em;padding:7px 16px;position:relative;z-index:60}
.demo-bar b{font-weight:700}

/* ════════ レスポンシブ ════════ */
@media (max-width:980px){
  .creed .wrap,.teacher .wrap,.access .wrap,.c-grid{grid-template-columns:1fr;gap:40px}
  .creed .enso-art{order:-1;width:min(220px,62vw)}
  .voice .grid,.feature .grid{grid-template-columns:1fr}
  .lrow{grid-template-columns:70px 1fr;gap:18px}
  .lrow p,.lrow .tags{grid-column:1/-1;margin-top:4px}
  .hc-row{grid-template-columns:46px 1fr;gap:14px}
  .hc-row p{grid-column:1/-1;margin-top:2px}
  .gear .grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .wrap{padding:0 22px}
  header{padding:14px 22px}header.solid,header.scrolled{padding:11px 22px}
  nav.main{display:none}.burger{display:flex}
  .brand .nm b{font-size:17px;letter-spacing:.16em}
  .hero .head{right:7vw;top:42%}
  .hero .head h1{font-size:clamp(38px,13vw,60px);letter-spacing:.28em}
  .hero .since,.hero .place,.hero .scroll-c{display:none}
  .hero .foot{left:22px;right:22px;bottom:36px;max-width:none}
  .hero .foot p{font-size:13px}.hero .foot .acts{gap:18px}
  .page-hero{padding:120px 0 48px}
  .creed,.learn,.flow,.fee,.teacher,.voice,.faq,.access,.contact,.history,.news,.feature,.home-classes,.gear,.cta-band{padding:80px 0}
  .fee-row{grid-template-columns:1fr auto;gap:6px 16px}
  .fee-row .d{grid-column:1/-1;order:3}
  form .two{grid-template-columns:1fr}
  .nrow{grid-template-columns:1fr auto;gap:6px 14px;padding:20px 4px}
  .nrow .cat{order:2;justify-self:start;padding:3px 10px}
  .nrow .ttl{grid-column:1/-1;order:3}
  .nrow .arr{display:none}
  .hrow{grid-template-columns:1fr;gap:6px;padding-left:24px}
  footer .wrap{grid-template-columns:1fr}footer nav{gap:28px;flex-wrap:wrap}
  .sec-head{flex-direction:column;gap:10px;margin-bottom:34px}
  .cta-band .acts{gap:18px}
}
