/* ============================================================
   M-aple Webデザイン「学びの博物誌」 redesign.css
   出典：_preview/redesign-mock-v2.html（確定モックから抽出）
   ※このCSSは新デザインのテンプレートでのみ読み込む（functions.php）。
   ============================================================ */

:root{
  --paper:#F4ECD8; --paper2:#EDE3CB; --panel:#F7F1E1;
  --ink:#3A2E23; --ink-soft:#6E5F4C; --line:#C7B79A; --line-soft:#DCCEB1;
  --wax:#8E3B2E; --wax-lite:#a8503d;          /* 唯一の濃い差し色（封蝋レッド）*/
  --olive:#7C8A6F; --gold:#A9862F;
  --mincho:'Zen Old Mincho','Yu Mincho',serif;
  --en:'Cormorant Garamond',Georgia,serif;
  --hand:'Klee One','Zen Old Mincho',serif;
  --wrap:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
/* 外部CSS（wp-block-library等）の h1/p 既定マージンに負けないよう、.rd 側で明示リセット（詳細度を上げる）*/
.rd h1,.rd h2,.rd h3,.rd h4,.rd h5,.rd h6,.rd p,.rd ul,.rd ol,.rd dl,.rd figure,.rd blockquote{margin:0;padding:0}
html{scroll-behavior:smooth}
/* 古紙の質感（繊維＋汚れ）：固定レイヤーをやめ、本文背景に直接タイル敷き（通常スクロール）。
   ※以前は body::before を position:fixed で敷いていたが、ビューポート固定の合成レイヤーが
     スクロールする本文と重なる領域に薄い矩形の継ぎ目を生むため、通常背景に変更。 */
body{
  font-family:var(--mincho); color:var(--ink);
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.055 0.08' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.42 0 0 0 0 0.35 0 0 0 0 0.24 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  line-height:1.95; letter-spacing:.02em; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 32px; position:relative; z-index:1}

/* ── 罫・ラベル・図版キャプション（印刷物の作法）── */
.rule{height:0; border-top:1.4px solid var(--ink); opacity:.8}
.rule--fine{border-top:1px solid var(--line)}
.folio{font-family:var(--en); font-style:normal; font-size:.92rem; letter-spacing:.14em; color:var(--ink-soft)}
.label{font-family:var(--en); text-transform:uppercase; letter-spacing:.32em; font-size:.82rem; font-weight:600; color:var(--wax)}
.hand{font-family:var(--hand); color:var(--ink-soft)}
.figcap{font-family:var(--en); font-style:normal; font-size:.88rem; letter-spacing:.06em; color:var(--ink-soft)}

/* 線画（極細ペン画＋手描きゆらぎ） */
.ink{stroke:currentColor; fill:none; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; filter:url(#wobble)}
.ink.fill{fill:currentColor; stroke:none}
.motif{position:absolute; z-index:0; pointer-events:none; color:var(--olive)}

/* ── ボタン（Buly風・二重罫）── */
.btn{display:inline-flex; align-items:center; gap:.6em; font-family:var(--mincho); font-weight:600;
  font-size:.98rem; letter-spacing:.16em; color:var(--paper); background:var(--wax);
  padding:.95em 2.1em; border:1px solid var(--wax); position:relative; text-decoration:none; transition:.25s}
.btn::after{content:""; position:absolute; inset:4px; border:.8px solid rgba(244,236,216,.5)}
.btn:hover{background:#7a3025}
.btn--out{background:transparent; color:var(--ink); border-color:var(--ink)}
.btn--out::after{border-color:var(--line)}
.btn--out:hover{background:rgba(58,46,35,.05)}
.btn--ghost{background:none; border:none; padding:.6em .2em; color:var(--wax); letter-spacing:.18em; border-bottom:1px solid transparent}
.btn--ghost::after{display:none}
.btn--ghost:hover{border-bottom-color:var(--wax); background:none}
:focus-visible{outline:2px solid var(--wax); outline-offset:3px}

/* ── 封蝋スタンプ ── */
/* 金の円形メダリオン（封蝋ブロブをやめ、クリーンな幾何＋線画エンブレム） */
.seal{width:108px;height:108px;position:relative;display:flex;align-items:center;justify-content:center;
  border-radius:50%; background:radial-gradient(circle at 40% 34%, #26315a, #141b34 76%); border:1.5px solid var(--gold);
  box-shadow:0 0 0 4px var(--panel), 0 0 0 5.5px rgba(169,134,47,.45)}
.seal::before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(201,167,63,.5)}
.seal svg{width:84px;height:84px;color:#cba64e;position:relative;z-index:1}

/* ── カルトゥーシュ（薬局ラベル）── */
.cartouche{border:1.2px solid var(--ink); background:var(--panel); padding:34px 34px 30px; position:relative}
.cartouche::before{content:"";position:absolute;inset:6px;border:.8px solid var(--line)}
.cartouche > *{position:relative;z-index:1}
.cartouche .lbl{position:absolute;top:-.75em;left:50%;transform:translateX(-50%);background:var(--panel);padding:0 16px;
  font-family:var(--en);font-style:normal;letter-spacing:.22em;color:var(--wax);font-size:.95rem;z-index:2}

/* ── 目次（点線リーダー）── */
.toc{max-width:520px}
.toc-row{display:flex;align-items:baseline;gap:.5em;padding:.5em 0;font-size:1.05rem}
.toc-row .dots{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-.28em)}
.toc-row .n{font-family:var(--en);font-style:normal;color:var(--wax)}
.toc-row .en{font-family:var(--en);font-style:normal;color:var(--ink-soft);letter-spacing:.06em;margin-left:.6em;font-size:.9em}

/* ═══════ MASTHEAD ═══════ */
.masthead{border-bottom:1.4px solid var(--ink);position:relative;z-index:1}
.masthead .wrap{display:flex;align-items:center;justify-content:center;padding-top:16px;padding-bottom:16px}
.masthead .m-brand{font-family:var(--en);font-size:1.5rem;letter-spacing:.14em;color:var(--ink)}
.masthead .m-brand a{display:inline-flex;flex-direction:row;align-items:baseline;text-decoration:none;color:inherit}
.masthead .m-brand b{font-family:var(--mincho);font-weight:700;letter-spacing:.1em}
.masthead .m-kana{font-family:var(--mincho);font-weight:500;font-size:.78rem;letter-spacing:.14em;color:var(--ink-soft)}
.masthead .m-kana::before{content:"｜";margin:0 .5em;color:var(--line);font-weight:400}
.masthead .side{font-family:var(--en);font-style:normal;font-size:.9rem;letter-spacing:.1em;color:var(--ink-soft);flex:1}
.masthead .side.r{text-align:right}

/* ═══════ HERO ═══════ */
.hero{position:relative;text-align:center;padding:76px 0 66px}
/* 古文書風の読めない地紋文字（ブラックレター・うっすら）※学びページ等のヒーローで使用 */
.hero__script{position:absolute;inset:0;z-index:0;pointer-events:none;user-select:none;
  font-family:'Pirata One',serif;color:#5e4124;opacity:.15;
  font-size:15px;line-height:1.55;letter-spacing:.3px;padding:44px 64px;white-space:pre-wrap;overflow:hidden;
  -webkit-mask:radial-gradient(ellipse 82% 72% at 50% 46%,#000 6%,transparent 80%);
          mask:radial-gradient(ellipse 82% 72% at 50% 46%,#000 6%,transparent 80%)}
.hero .label{margin-bottom:22px}
.hero .seal{margin:0 auto 26px}
.hero h1{font-family:var(--mincho);font-weight:700;color:var(--ink);font-size:clamp(2.6rem,6.4vw,5.2rem);
  line-height:1.5;letter-spacing:.05em;margin:0 0 6px}
.hero h1 .q{color:var(--wax)}
.hero .en-title{font-family:var(--en);font-style:normal;font-weight:500;font-size:clamp(1.3rem,3vw,2.1rem);
  color:var(--ink-soft);letter-spacing:.06em;margin-bottom:30px}
.hero .lead{max-width:34em;margin:0 auto;font-size:1.12rem;color:var(--ink-soft);line-height:2.2}
.hero .cta{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:40px;flex-wrap:wrap}
.hero .corner{position:absolute;font-family:var(--en);font-style:normal;font-size:.85rem;letter-spacing:.1em;color:var(--ink-soft)}
.hero .corner.tl{top:26px;left:34px;text-align:left}
.hero .corner.tr{top:26px;right:34px;text-align:right}
.hero .m-moon{top:16%;right:8%;width:104px;color:var(--gold)}
.hero .m-sprig{bottom:2%;left:5%;width:104px;color:var(--olive)}
.hero .m-star1{top:30%;left:12%;width:18px;color:var(--wax)}
.hero .m-star2{bottom:20%;right:16%;width:15px;color:var(--olive)}

/* ═══════ 共通セクション ═══════ */
.section{padding:96px 0;position:relative}
.sec-head{text-align:center;margin-bottom:56px}
.sec-head .label{display:inline-block;margin-bottom:14px}
/* 節見出しの金の✦飾り（❋ WITCH HAT ATELIER の作法） */
.hero .label::before,.hero .label::after,.sec-head .label::before,.sec-head .label::after{content:"\2726";color:var(--gold);margin:0 .9em;font-weight:400;letter-spacing:0}
.sec-head h2{font-family:var(--mincho);font-weight:600;font-size:clamp(1.7rem,3.6vw,2.6rem);letter-spacing:.07em}
.sec-head .en{font-family:var(--en);font-style:normal;color:var(--ink-soft);font-size:1.05rem;margin-top:6px}

/* ── 目次＋理念（見開き）── */
.opening{background:rgba(237,227,203,.72)}
.opening .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.opening .creed p{font-family:var(--mincho);font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:2.35;font-weight:500}
.opening .creed .u{color:var(--wax)}
.opening .creed .attr{margin-top:22px;font-size:.98rem}
.opening .toc-wrap .figcap{margin-bottom:10px;display:block}

/* ── 旅の地図（見せ場）── */
.journey{background:rgba(247,241,225,.72)}
.map{position:relative;margin-top:20px;border:1.2px solid var(--line);background:
  linear-gradient(0deg,rgba(199,183,154,.10),rgba(199,183,154,.10));padding:20px}
.map::before{content:"";position:absolute;inset:8px;border:.8px solid var(--line-soft);pointer-events:none}
.map .stage{position:relative;height:560px}
.map .path{position:absolute;inset:0;width:100%;height:100%}
.station{position:absolute;text-align:center;transform:translate(-50%,-50%);width:170px}
.station .ico{width:52px;height:52px;color:var(--olive);margin:0 auto 6px}
.station .seal{width:60px;height:60px;margin:0 auto 6px}
.station .seal svg{width:36px;height:36px}
.station .nm{font-family:var(--hand);font-size:1.35rem;color:var(--ink);line-height:1.3}
.station .cap{font-family:var(--en);font-style:normal;font-size:.82rem;letter-spacing:.12em;color:var(--wax)}
.station .ss{font-size:.86rem;color:var(--ink-soft);line-height:1.6;margin-top:2px}
.map .m-star{position:absolute;color:var(--gold);width:14px}
.map .m-plant{position:absolute;color:var(--olive)}

/* ── できること（エディトリアル3段）── */
.offer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1.4px solid var(--ink);border-bottom:1.4px solid var(--ink)}
.offer .col{padding:40px 30px;border-left:1px solid var(--line)}
.offer .col:first-child{border-left:none}
.offer .col .no{font-family:var(--en);font-style:normal;font-size:1.1rem;color:var(--wax);letter-spacing:.1em}
.offer .col .oi{width:46px;height:46px;color:var(--olive);margin:0 0 16px}
.offer .col h3{font-family:var(--mincho);font-weight:600;font-size:1.28rem;letter-spacing:.05em;margin-bottom:4px}
.offer .col h3 span{display:block;font-family:var(--en);font-style:normal;font-size:.85rem;letter-spacing:.14em;color:var(--ink-soft);margin-top:4px}
.offer .col p{color:var(--ink-soft);font-size:.98rem;margin-top:10px}

/* ── CTA ── */
.invite{text-align:center;padding:120px 0}
.invite .seal{margin:0 auto 24px}
.invite h2{font-family:var(--mincho);font-weight:600;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.7;letter-spacing:.05em;margin-bottom:14px}
.invite .lead{color:var(--ink-soft);max-width:30em;margin:0 auto 38px;line-height:2.1}

/* ── 奥付（コロフォン）── */
.colophon{border-top:1.4px solid var(--ink);background:var(--paper2);padding:52px 0 46px}
.colophon .wrap{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px}
.colophon .brand{font-family:var(--mincho);font-weight:700;font-size:1.7rem;letter-spacing:.14em}
.colophon .brand .en{font-family:var(--en);font-style:normal;font-weight:500}
.colophon .meta{font-family:var(--en);font-style:normal;color:var(--ink-soft);font-size:.9rem;text-align:right;line-height:1.9}

.totop{position:fixed;right:26px;bottom:26px;z-index:60;width:58px;height:58px;display:flex;align-items:center;justify-content:center;text-decoration:none;
  border-radius:50%; background:var(--panel); border:1.4px solid var(--gold); color:var(--ink-soft);
  box-shadow:0 0 0 3px var(--panel),0 0 0 4px rgba(169,134,47,.4); font-family:var(--en);font-style:normal;font-size:.82rem;letter-spacing:.12em}
.totop::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1px solid rgba(169,134,47,.45)}
.totop span{position:relative;z-index:1}

@media(max-width:860px){
  .opening .wrap{grid-template-columns:1fr;gap:40px}
  .offer .cols{grid-template-columns:1fr}
  .offer .col{border-left:none;border-top:1px solid var(--line)}
  .offer .col:first-child{border-top:none}
  .masthead .side{display:none}
  .map .stage{height:auto;display:flex;flex-direction:column;gap:28px;padding:20px 0}
  .map .path,.map .m-star,.map .m-plant{display:none}
  .station{position:static;transform:none;width:auto;max-width:320px;margin:0 auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* ============================================================
   サブページ用（お知らせ一覧 / 記事詳細 / 事業紹介）
   出典：_preview/redesign-subpage-*.html から抽出
   ============================================================ */
/* ── ページタイトル・バンド ── */
.pagehead{position:relative;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);height:230px;z-index:1}
.pagehead__bg{position:absolute;inset:0;overflow:hidden;
  background:linear-gradient(120deg,#141b34 0%,#25305a 50%,#182142 100%)}
.pagehead__bg::after{content:"";position:absolute;inset:5px;border:1px solid rgba(169,134,47,.38)}
.pagehead__wm{position:absolute;top:50%;left:6%;transform:translateY(-50%);width:230px;color:rgba(169,134,47,.16)}
.pagehead__wm2{position:absolute;top:20%;right:26%;width:120px;color:rgba(169,134,47,.13)}
.pagehead__inner{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.pagehead__title{font-family:var(--en);font-weight:600;font-size:clamp(2.6rem,6vw,4rem);letter-spacing:.14em;color:#F3EAD4;display:flex;align-items:center}
/* 頭文字を三重丸のメダリオンに（望遠鏡モチーフに統一） */
.dia{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.74em;height:1.74em;border-radius:50%;
  border:1.6px solid var(--gold);background:#141b34;margin-right:-20px;z-index:-1;
  box-shadow:0 0 0 3px #141b34,0 0 0 4.5px rgba(169,134,47,.5)}
.dia::before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(169,134,47,.45)}
.dia i{font-style:normal;color:#F3EAD4;font-size:1.22em;letter-spacing:0}
.pagehead__sub{margin-top:12px;font-family:var(--mincho);color:#E7D9B6;letter-spacing:.5em;font-size:1.05rem;padding-left:.5em}
/* 端にはみ出す金線の古書 */
.pagehead__orn{position:absolute;right:5%;bottom:-34px;width:200px;color:var(--gold);z-index:3;filter:drop-shadow(0 6px 10px rgba(60,40,10,.25))}

/* ── パンくず ── */
.crumb{padding:16px 0 0}
.crumb .wrap{font-family:var(--en);font-style:normal;font-size:.9rem;letter-spacing:.08em;color:var(--ink-soft)}
.crumb a{color:var(--ink-soft);text-decoration:none}
.crumb a:hover{color:var(--wax)}
.crumb .sep{margin:0 .6em;color:var(--gold)}

/* ── 見出し（❋ラベル）── */
.lede{text-align:center;padding:54px 0 8px}
.lede .label{font-family:var(--en);text-transform:uppercase;letter-spacing:.32em;font-size:.82rem;font-weight:600;color:var(--wax)}
.lede .label::before,.lede .label::after{content:"\2726";color:var(--gold);margin:0 .9em}
.lede h2{font-family:var(--mincho);font-weight:600;font-size:1.8rem;letter-spacing:.08em;margin-top:12px}

/* ── ニュース一覧 ── */
.news{max-width:960px;margin:0 auto;padding:36px 32px 20px}
.news__row{display:flex;align-items:center;gap:24px;padding:26px 8px;border-bottom:1.5px dotted var(--line)}
.news__row:first-child{border-top:1.5px dotted var(--line)}
.news__date{font-family:var(--en);font-style:normal;font-size:1.08rem;letter-spacing:.06em;color:var(--wax);white-space:nowrap}
.news__orn{color:var(--gold);flex:none}
/* カテゴリー：横幅を統一し、メインの「はじまりの物語へ」と同系（封蝋レッド地＋クリーム文字＋二重罫） */
.news__cat{display:inline-block;min-width:7em;text-align:center;font-family:var(--mincho);font-size:.78rem;letter-spacing:.14em;
  background:var(--wax);color:#F4ECD8;border:1px solid var(--wax);border-radius:2px;padding:4px 10px;white-space:nowrap;
  box-shadow:inset 0 0 0 1.5px rgba(244,236,216,.32)}
.news__title{font-family:var(--mincho);font-size:1.12rem;line-height:1.7}
.news__title a{color:var(--ink);text-decoration:none;transition:.2s}
.news__title a:hover{color:var(--wax)}

/* ── ページネーション（円・菱形の幾何ボタン）── */
.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:44px 0 10px}
.pager a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-family:var(--en);font-weight:600;font-size:1.25rem;line-height:1;color:var(--ink);border-radius:50%;border:1.3px solid var(--line);transition:.2s}
.pager a:hover{border-color:var(--gold);color:var(--wax)}
.pager a.on{border-color:var(--gold);color:#F3EAD4;background:var(--wax);border-color:var(--wax)}
.pager .nav{border-color:var(--ink)}


@media(max-width:720px){
  .masthead .side{display:none}
  .news__row{flex-wrap:wrap;gap:10px 16px}
  .news__title{flex-basis:100%}
  .pagehead__orn{width:130px;right:3%}
}


.about-intro{padding:10px 0 26px}
.about-intro .wrap{max-width:780px;text-align:center}
.about-intro p{font-family:var(--mincho);font-size:1.2rem;line-height:2.35;font-weight:500}
.services{padding:20px 0 20px}
.services .cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.4px solid var(--ink);border-bottom:1.4px solid var(--ink)}
.services .col{padding:40px 30px;border-left:1px solid var(--line);text-align:center}
.services .col:first-child{border-left:none}
.services .col .oi{width:46px;height:46px;color:var(--olive);margin:0 auto 16px}
.services .col:nth-child(2) .oi{color:var(--gold)} .services .col:nth-child(3) .oi{color:var(--wax)}
.services .col h3{font-family:var(--mincho);font-weight:600;font-size:1.26rem;letter-spacing:.05em}
.services .col h3 span{display:block;font-family:var(--en);font-style:normal;font-size:.85rem;letter-spacing:.14em;color:var(--ink-soft);margin-top:4px}
.services .col p{color:var(--ink-soft);font-size:.98rem;margin-top:10px}
.flow{padding:26px 0 46px}
.flow .wrap{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.flow .step{text-align:center;width:200px}
.flow .step .cap{font-family:var(--en);font-style:normal;color:var(--wax);font-size:.9rem;letter-spacing:.12em}
.flow .step .fi{width:46px;height:46px;color:var(--olive);margin:10px 0 8px}
.flow .step h3{font-family:var(--mincho);font-weight:600;font-size:1.35rem;margin-bottom:6px}
.flow .step p{color:var(--ink-soft);font-size:.92rem}
.flow .arrow{color:var(--gold);font-size:1.4rem}
.cta-band{text-align:center;padding:80px 0 90px;background:var(--paper2);border-top:1.4px solid var(--line);margin-top:10px}
.cta-band .cta-orn{width:72px;color:var(--olive);margin:0 auto 14px;display:block}
.cta-band h2{font-family:var(--mincho);font-weight:600;font-size:clamp(1.7rem,3.6vw,2.4rem);letter-spacing:.05em;margin-bottom:12px}
.cta-band .ctlead{color:var(--ink-soft);margin-bottom:28px}
/* .btn は先頭のボタン定義（1か所）に集約。ここでの再定義は .btn--out/--ghost を
   打ち消してしまうため削除（btn--out が正しく枠線ボタンとして効くようにする）。 */
@media(max-width:760px){.services .cols{grid-template-columns:1fr}.services .col{border-left:none;border-top:1px solid var(--line)}.services .col:first-child{border-top:none}.flow .wrap{flex-direction:column}.flow .arrow{transform:rotate(90deg)}}


.article{padding:56px 0 20px}
.article .wrap{max-width:820px}
.article__meta{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.article__title{font-family:var(--mincho);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.7;letter-spacing:.04em}
.art-rule{height:0;border-top:1.5px dotted var(--line);margin:14px 0 30px}
.article__eye{margin:8px 0 34px}
.eye{position:relative;height:330px;border:1.2px solid var(--gold);background:radial-gradient(circle at 50% 38%,#26315a,#141b34 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.eye::before{content:"";position:absolute;inset:6px;border:1px solid rgba(201,167,63,.4)}
.eye__m{width:112px;color:rgba(201,167,63,.85)}
.eye__cap{font-family:var(--en);font-style:normal;color:rgba(231,217,182,.7);font-size:.85rem;margin-top:14px;letter-spacing:.12em}
.article__body{font-size:1.06rem;line-height:2.1}
.article__body p{margin:0 0 24px}
.article__body h2{font-family:var(--mincho);font-weight:700;font-size:1.55rem;letter-spacing:.06em;margin:44px 0 14px;color:var(--wax)}
.article__body blockquote{margin:30px 0;padding:22px 28px;background:var(--panel);border-left:3px solid var(--gold);font-family:var(--mincho);font-size:1.12rem;color:var(--ink);line-height:1.9}
.dot-list{list-style:none;margin:0 0 24px}
.dot-list li{position:relative;padding:9px 0 9px 26px;border-bottom:1px dotted var(--line)}
.dot-list li::before{content:"\2726";position:absolute;left:2px;top:11px;color:var(--gold);font-size:.8em}
.article__share{display:flex;align-items:center;gap:14px;margin:46px 0 6px;justify-content:center}
.article__share .lbl{font-family:var(--en);font-style:normal;letter-spacing:.2em;color:var(--ink-soft)}
.article__share .sicon{width:38px;height:38px;border-radius:50%;border:1.2px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);text-decoration:none;font-family:var(--en);transition:.2s}
.article__share .sicon:hover{border-color:var(--gold);color:var(--wax)}
.artnav{border-top:1.4px solid var(--line);margin-top:34px;padding:30px 0}
.artnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.artnav__side{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);max-width:36%;transition:.2s}
.artnav__side:hover{color:var(--wax)}
.artnav__side .c{font-family:var(--en);font-size:1.5rem;color:var(--gold)}
.artnav__side .t{font-family:var(--mincho);font-size:.94rem;line-height:1.5}
.artnav__side .t small{display:block;font-family:var(--en);font-style:normal;color:var(--ink-soft);font-size:.85em;letter-spacing:.1em}
.artnav__side.r{text-align:right}
.artnav__list{font-family:var(--mincho);letter-spacing:.14em;color:#F4ECD8;background:var(--wax);border:1px solid var(--wax);padding:.7em 1.6em;text-decoration:none;position:relative;white-space:nowrap}
.artnav__list::after{content:"";position:absolute;inset:4px;border:.8px solid rgba(244,236,216,.5)}
@media(max-width:640px){.artnav .wrap{flex-wrap:wrap;justify-content:center}.artnav__side{max-width:100%}}


/* WordPress paginate_links 用（.pager 内の .page-numbers を丸ボタンに） */
.pager .page-numbers{width:42px;height:42px;display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-family:var(--en);font-weight:600;font-size:1.25rem;line-height:1;color:var(--ink);border-radius:50%;border:1.3px solid var(--line);transition:.2s;margin:0}
.pager .page-numbers:hover{border-color:var(--gold);color:var(--wax)}
.pager .page-numbers.current{border-color:var(--wax);background:var(--wax);color:#F3EAD4}
.pager .page-numbers.prev,.pager .page-numbers.next{border-color:var(--ink)}
/* 記事本文（the_content 由来の要素にも基本装飾）*/
.article__body ul:not(.dot-list){list-style:disc;margin:0 0 24px 1.4em}
.article__body ol{list-style:decimal;margin:0 0 24px 1.4em}
.article__body a{color:var(--wax);text-decoration:underline;text-underline-offset:3px}
.article__body img{max-width:100%;height:auto}

/* ============================================================
   グローバルナビ／汎用ページのバンド（実装で追加）
   ============================================================ */
/* マストヘッド：ブランドはリンク */
.masthead .m-brand a{color:inherit;text-decoration:none}

/* グローバルナビ（マストヘッド下・中央・細罫セパレータ） */
.gnav{border-top:1px solid var(--line)}
.gnav .gnav__list{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.gnav .gnav__list li{position:relative}
.gnav .gnav__list li + li{border-left:1px solid var(--line)}
.gnav .gnav__list a{display:block;padding:13px 26px;font-family:var(--mincho);font-size:.95rem;letter-spacing:.14em;color:var(--ink);text-decoration:none;transition:.2s}
.gnav .gnav__list a:hover,.gnav .gnav__list .current-menu-item > a,.gnav .gnav__list .current_page_item > a{color:var(--wax)}
@media(max-width:640px){
  .gnav .gnav__list a{padding:11px 16px;font-size:.86rem;letter-spacing:.08em}
}

/* バンド：和文タイトル＋メープル葉メダリオン（汎用ページ・アーカイブ等） */
.pagehead__title--jp{font-family:var(--mincho);font-weight:600;font-size:clamp(1.7rem,3.8vw,2.7rem);letter-spacing:.08em;color:#F3EAD4}
.dia--emblem{background:radial-gradient(circle at 40% 34%,#26315a,#141b34 76%);margin-right:.34em;z-index:auto}
.dia--emblem svg{width:1.36em;height:1.36em;color:#cba64e}

/* 汎用ページ本文（page.php）— 記事本文と同じ体裁を使う。中央寄せの器 */
.rd-page .article{padding:56px 0 40px}

/* ============================================================
   フォーム（お問い合わせ等・Contact Form 7）
   入力欄が地色と同化しないよう、白地＋罫線に
   ============================================================ */
.rd input[type=text],.rd input[type=email],.rd input[type=tel],.rd input[type=url],
.rd input[type=number],.rd input[type=date],.rd input[type=time],.rd input[type=search],
.rd input[type=password],.rd textarea,.rd select{
  background:#fff;border:1px solid var(--line);border-radius:2px;
  padding:.7em .9em;font-family:var(--mincho);font-size:1rem;line-height:1.6;color:var(--ink);
  width:100%;max-width:100%;box-shadow:inset 0 1px 2px rgba(60,46,35,.06)}
.rd textarea{min-height:8em;resize:vertical}
.rd input:focus,.rd textarea:focus,.rd select:focus{outline:none;border-color:var(--wax);box-shadow:0 0 0 2px rgba(142,59,46,.14)}
.rd input::placeholder,.rd textarea::placeholder{color:#a99e8c}
/* 送信ボタン（封蝋レッド） */
.rd .wpcf7-submit,.rd input[type=submit],.rd button[type=submit]{
  display:inline-block;width:auto;font-family:var(--mincho);font-weight:600;letter-spacing:.16em;
  color:#F4ECD8;background:var(--wax);border:1px solid var(--wax);border-radius:2px;
  padding:.85em 2.2em;cursor:pointer;transition:.2s;box-shadow:none}
.rd .wpcf7-submit:hover,.rd input[type=submit]:hover,.rd button[type=submit]:hover{background:#7a3025}
/* CF7 のレイアウト微調整 */
.rd .wpcf7 p{margin:0 0 18px}
.rd .wpcf7-form-control-wrap{display:block;margin-top:6px}
.rd .wpcf7 label{font-family:var(--mincho);font-size:.98rem}

/* ============================================================
   事業・サービス一覧（メディア＋テキスト・交互配置）
   ============================================================ */
.service-list{max-width:1040px;margin:0 auto;padding:16px 32px 10px;display:flex;flex-direction:column;gap:70px}
.service-item{display:flex;gap:52px;align-items:center}
.service-item:nth-child(even){flex-direction:row-reverse}
.service-item__media{flex:1 1 46%;max-width:46%}
.service-item__media img{display:block;width:100%;height:auto;border:1.2px solid var(--gold);border-radius:2px;
  box-shadow:0 14px 34px -22px rgba(60,45,20,.55)}
.service-item__body{flex:1 1 54%}
.service-item__body .cap{font-family:var(--en);letter-spacing:.2em;color:var(--wax);font-size:.86rem}
.service-item__body h3{font-family:var(--mincho);font-weight:700;font-size:1.42rem;letter-spacing:.03em;line-height:1.55;margin:8px 0 14px;color:var(--ink)}
.service-item__body > p{color:var(--ink-soft);font-size:1rem;line-height:2;margin-bottom:16px}
.service-item__body ul{list-style:none;margin:0 0 20px}
.service-item__body li{position:relative;padding:7px 0 7px 22px;border-bottom:1px dotted var(--line);font-size:.96rem;color:var(--ink)}
.service-item__body li::before{content:"\2726";position:absolute;left:1px;top:9px;color:var(--gold);font-size:.72em}
.service-item__link{display:inline-flex;align-items:center;gap:.4em;font-family:var(--mincho);font-weight:600;letter-spacing:.1em;
  color:var(--wax);text-decoration:none;border-bottom:1px solid transparent;transition:.2s}
.service-item__link:hover{border-bottom-color:var(--wax)}
@media(max-width:760px){
  .service-item,.service-item:nth-child(even){flex-direction:column;gap:24px}
  .service-item__media{max-width:100%;flex-basis:auto;width:100%}
  .service-item__body{flex-basis:auto}
}

/* ============================================================
   事業概要テーブル（メープルについて）
   ============================================================ */
.info{max-width:780px;margin:0 auto;padding:20px 32px 10px}
.info table{width:100%;border-collapse:collapse}
.info th,.info td{text-align:left;vertical-align:top;padding:20px 10px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.95}
.info tr:first-child th,.info tr:first-child td{border-top:1px solid var(--line)}
.info th{width:9em;white-space:nowrap;font-family:var(--mincho);font-weight:700;color:var(--wax);letter-spacing:.06em}
.info td{color:var(--ink);font-family:var(--mincho)}
.info a{color:var(--wax);text-decoration:underline;text-underline-offset:3px}
.info a:hover{opacity:.75}
@media(max-width:600px){
  .info th,.info td{display:block;padding:6px 0}
  .info th{border-bottom:none;padding-top:16px}
  .info td{padding-bottom:16px}
  .info tr:first-child td{border-top:none}
}

/* 目次（Contents）をリンク化した際のホバー */
a.toc-row{text-decoration:none;color:var(--ink);cursor:pointer}
a.toc-row:hover{color:var(--wax)}
a.toc-row:hover .en{color:var(--wax)}
a.toc-row:hover .dots{border-bottom-color:var(--wax)}

/* 理念：見開きは上揃え＋補足文＋三つの教育哲学 */
.opening .wrap{align-items:start}
.opening .creed .creed-sub{font-family:var(--mincho);font-size:1.02rem;line-height:2.15;color:var(--ink-soft);font-weight:400;margin-top:24px}
.philosophy .cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.4px solid var(--ink);border-bottom:1.4px solid var(--ink)}
.philosophy .col{padding:40px 30px;border-left:1px solid var(--line);text-align:center}
.philosophy .col:first-child{border-left:none}
.philosophy .col .oi{width:44px;height:44px;color:var(--olive);margin:0 auto 16px}
.philosophy .col:nth-child(2) .oi{color:var(--gold)}
.philosophy .col:nth-child(3) .oi{color:var(--wax)}
.philosophy .col h3{font-family:var(--mincho);font-weight:600;font-size:1.22rem;letter-spacing:.05em;color:var(--ink)}
.philosophy .col p{color:var(--ink-soft);font-size:.96rem;margin-top:12px;line-height:2}
@media(max-width:760px){
  .philosophy .cols{grid-template-columns:1fr}
  .philosophy .col{border-left:none;border-top:1px solid var(--line)}
  .philosophy .col:first-child{border-top:none}
}

/* 未来構想：2Dメタバース（学びの町） */
.future .wrap{display:grid;grid-template-columns:1.06fr 1fr;gap:58px;align-items:center}
.future .plate{margin:0;border:1.5px solid var(--ink);background:var(--paper2);padding:14px;box-shadow:6px 8px 0 rgba(58,42,30,.12)}
.future .plate img{display:block;width:100%;height:auto;border:1px solid var(--line);image-rendering:pixelated}
.future .plate figcaption{font-family:var(--en);font-size:.86rem;letter-spacing:.06em;color:var(--ink-soft);margin-top:12px;text-align:center}
.future .txt .label{color:var(--wax)}
.future .txt h2{font-family:var(--mincho);font-weight:600;font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:.04em;line-height:1.5;color:var(--ink);margin-top:10px}
.future .txt .en{font-family:var(--en);color:var(--ink-soft);font-size:1rem;letter-spacing:.04em;margin-top:8px}
.future .txt p{color:var(--ink-soft);font-size:1rem;line-height:2.05;margin-top:22px}
.future .txt .tag{display:inline-block;margin-top:20px;font-family:var(--en);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wax);border:1px solid var(--wax);border-radius:2px;padding:5px 12px}
@media(max-width:820px){
  .future .wrap{grid-template-columns:1fr;gap:34px}
  .future .plate{max-width:460px;margin:0 auto}
}

/* ── AI開発：4つの価値グリッド（.services を4列化した中央寄せ版）── */
.aidev-values{padding:20px 0 8px}
.aidev-values .cols{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.4px solid var(--ink);border-bottom:1.4px solid var(--ink)}
.aidev-values .col{padding:38px 26px;border-left:1px solid var(--line);text-align:center}
.aidev-values .col:first-child{border-left:none}
.aidev-values .col .oi{width:46px;height:46px;color:var(--olive);margin:0 auto 16px}
.aidev-values .col:nth-child(2) .oi{color:var(--gold)}
.aidev-values .col:nth-child(3) .oi{color:var(--wax)}
.aidev-values .col:nth-child(4) .oi{color:var(--olive)}
.aidev-values .col h3{font-family:var(--mincho);font-weight:600;font-size:1.2rem;letter-spacing:.04em;line-height:1.5}
.aidev-values .col p{color:var(--ink-soft);font-size:.94rem;margin-top:12px;line-height:1.95}
@media(max-width:980px){
  .aidev-values .cols{grid-template-columns:repeat(2,1fr)}
  .aidev-values .col{border-left:none}
  .aidev-values .col:nth-child(2n){border-left:1px solid var(--line)}
  .aidev-values .col:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:600px){
  .aidev-values .cols{grid-template-columns:1fr}
  .aidev-values .col,.aidev-values .col:nth-child(2n){border-left:none}
  .aidev-values .col{border-top:1px solid var(--line)}
  .aidev-values .col:first-child{border-top:none}
}

/* ── トップの AI開発 ティーザー帯 ── */
.aidev-teaser{text-align:center;background:rgba(237,227,203,.72);border-top:1.4px solid var(--line);border-bottom:1.4px solid var(--line);padding:82px 0}
.aidev-teaser .wrap{max-width:720px}
.aidev-teaser .label{display:inline-block;margin-bottom:16px}
.aidev-teaser .label::before,.aidev-teaser .label::after{content:"\2726";color:var(--gold);margin:0 .9em;font-weight:400;letter-spacing:0}
.aidev-teaser h2{font-family:var(--mincho);font-weight:600;font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.65;letter-spacing:.05em;margin-bottom:18px}
.aidev-teaser p{color:var(--ink-soft);line-height:2.05;margin-bottom:30px}

/* ── 背景：書物・巻物の薄文字レイヤー（ページ全体パララックス／front-page）── */
.pagewrap{position:relative}
.pagescript{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.ps-line{position:absolute;font-family:'Pirata One',serif;color:#5e4124;opacity:.12;
  line-height:1.5;letter-spacing:.3px;white-space:pre-wrap;
  transform:rotate(var(--rot,0deg))}
@media(prefers-reduced-motion:reduce){.ps-line{transform:rotate(var(--rot,0deg))!important}}

/* 未来構想：Guildna（2Dメタバース）のデモ案内 */
.future .demo-note{margin-top:16px;font-size:.9rem;color:var(--ink-soft);line-height:1.9}
.future .demo-note a{color:var(--wax);text-decoration:none;border-bottom:1px solid var(--wax)}
.future .demo-note a:hover{color:#7a3025}
