/* ═══ フルティのパレット（似顔絵から採色：藍の羽織・コーラルの花と靴・クリーム） ═══ */
:root{
  --cream:#faf6ef; --paper:#fffdf9; --ink:#2f2b26; --ink-soft:#6b6459;
  --ai:#5f7396; --ai-lt:#8ea2c2; --ai-pale:#e3e9f2;
  --coral:#c8674f; --coral-lt:#e08e77; --coral-pale:#f8e7e0;
  --coral-dk:#bf563c; --ai-dk:#5a6d8e; /* 白文字・小文字でも4.5:1を超える濃さ（2026-07-28 コントラスト修正） */
  --board:#3f5548; --board-lt:#5b7565;
  --chalk:#f2efe6; --line:#e6ded1;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--cream);color:var(--ink);
  font-family:'Zen Kaku Gothic New',sans-serif;font-size:17px;line-height:1.95;
  -webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
.maru{font-family:'Zen Maru Gothic',sans-serif;}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px;}
section{scroll-margin-top:74px;}

/* ═══ ヘッダー ═══ */
header{position:sticky;top:0;z-index:50;background:rgba(250,246,239,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.hbar{max-width:1120px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:18px;}
.hlogo{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:19px;
  letter-spacing:.02em;color:var(--ai);text-decoration:none;white-space:nowrap;}
.hlogo b{color:var(--coral);}
.hnav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;}
.hnav a{font-family:'Zen Maru Gothic',sans-serif;font-weight:500;font-size:13.5px;
  white-space:nowrap;text-decoration:none;color:var(--ink-soft);padding:6px 11px;
  border-radius:20px;transition:.2s;}
.hnav a:hover{background:var(--ai-pale);color:var(--ai);}
.hnav a.cta{background:var(--coral);color:#fff;font-weight:700;}
.hnav a.cta:hover{background:#b0553d;color:#fff;}

/* ═══ ヒーロー ═══ */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(170deg,var(--ai-pale) 0%,#eef1f6 46%,var(--cream) 100%);}
.hero .wrap{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end;
  padding-top:52px;padding-bottom:0;}
.hero-txt{padding-bottom:56px;}
.badge{display:inline-flex;align-items:center;gap:7px;line-height:1.6;text-align:center;font-family:'Zen Maru Gothic',sans-serif;
  font-weight:700;font-size:13px;letter-spacing:.06em;color:#fff;background:var(--coral);
  padding:6px 15px;border-radius:20px;box-shadow:0 3px 10px rgba(200,103,79,.3);}
.hero h1{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(31px,5vw,52px);line-height:1.32;letter-spacing:.01em;
  color:var(--ai);margin:20px 0 0;}
.hero h1 em{font-style:normal;color:var(--coral);}
.hero .lead{font-size:18.5px;line-height:2.05;color:#4c5766;margin-top:20px;max-width:38em;}
.hero .credo{margin-top:26px;padding:15px 22px;background:rgba(255,255,255,.72);
  border-left:4px solid var(--coral);border-radius:0 12px 12px 0;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:19px;color:var(--board);
  line-height:1.75;}
.hero .credo span{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:400;
  font-size:13.5px;color:var(--ink-soft);margin-top:7px;letter-spacing:.02em;}
.hero-fig{position:relative;align-self:end;}
.hero-fig img{width:min(340px,38vw);}
.hero-bubble{position:absolute;top:6px;left:-172px;background:#fff;
  border:2px solid var(--ai-lt);border-radius:20px;padding:12px 18px;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:17px;color:var(--ai);
  box-shadow:0 5px 16px rgba(95,115,150,.18);white-space:nowrap;}
.hero-bubble::after{content:"";position:absolute;right:-9px;top:26px;width:14px;height:14px;
  background:#fff;border-right:2px solid var(--ai-lt);border-bottom:2px solid var(--ai-lt);
  transform:rotate(-45deg);}

/* ═══ 困りごと ═══ */
.trouble{padding:66px 0 62px;background:var(--paper);border-bottom:1px solid var(--line);}
.sec-h{text-align:center;margin-bottom:34px;}
.sec-h .eye{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.3em;color:var(--coral);}
.sec-h h2{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(24px,3.4vw,33px);color:var(--board);margin-top:10px;line-height:1.5;}
.sec-h p{font-size:16.5px;color:var(--ink-soft);margin-top:13px;line-height:1.9;}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;}
.tcard{display:block;text-decoration:none;background:var(--cream);
  border:1.5px solid var(--line);border-radius:15px;padding:17px 19px;transition:.24s;}
.tcard:hover{border-color:var(--coral-lt);background:#fff;transform:translateY(-3px);
  box-shadow:0 9px 22px rgba(200,103,79,.14);}
.tcard .q{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:17px;
  color:var(--ink);line-height:1.6;}
.tcard .a{font-size:14px;color:var(--ai);margin-top:9px;line-height:1.7;}
.tcard .a b{color:var(--coral);font-weight:700;}

/* ═══ 地図（メニュー本体） ═══ */
.map{padding:70px 0 66px;}
.mrow{display:grid;gap:16px;}
.mcard{display:grid;grid-template-columns:66px 1fr;gap:20px;align-items:start;
  text-decoration:none;background:var(--paper);border:1.5px solid var(--line);
  border-radius:18px;padding:24px 26px;transition:.24s;}
.mcard:hover{transform:translateY(-3px);box-shadow:0 11px 26px rgba(95,115,150,.15);
  border-color:var(--ai-lt);}
.mno{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:15px;
  color:#fff;background:var(--ai);width:66px;height:66px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;}
.mno small{font-size:10px;font-weight:500;opacity:.85;letter-spacing:.06em;}
.mcard h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:23px;
  color:var(--board);line-height:1.5;}
.mcard h3 .sub{display:inline-block;font-size:14px;color:var(--ink-soft);font-weight:500;
  margin-left:10px;letter-spacing:.02em;}
.mcard p{font-size:16px;color:#544f47;margin-top:9px;line-height:1.9;}
.mcard .tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;}
.mcard .tags span{font-size:12.5px;font-family:'Zen Maru Gothic',sans-serif;font-weight:500;
  color:var(--ai);background:var(--ai-pale);border-radius:14px;padding:4px 11px;}
.mcard.base{background:linear-gradient(100deg,#fff8f4,var(--paper));border-color:var(--coral-pale);}
.mcard.base .mno{background:var(--coral);}
.mcard.verb{background:linear-gradient(100deg,#f4f8f5,var(--paper));border-color:#d5e2d9;}
.mcard.verb .mno{background:var(--board);}

/* ═══ おしりぼりぼり ═══ */
.obb{padding:74px 0 70px;background:var(--board);color:var(--chalk);}
.obb .sec-h h2{color:#fff;}
.obb .sec-h .eye{color:#a8c4b3;}
.obb .sec-h p{color:#cddbd2;}
.obb-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:8px;}
.obb-cell{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  border-radius:14px;padding:20px 10px 18px;text-align:center;transition:.24s;
  text-decoration:none;color:inherit;display:block;}
.obb-cell:hover{background:rgba(255,255,255,.15);transform:translateY(-4px);}
.obb-cell .kana{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:44px;
  color:#ffd9b0;line-height:1;}
.obb-cell .nm{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:16px;
  margin-top:11px;color:#fff;}
.obb-cell .en{font-size:11.5px;color:#9fb8aa;margin-top:4px;letter-spacing:.04em;}
.obb-note{margin-top:26px;text-align:center;font-size:15.5px;color:#c5d5cc;line-height:1.95;}
.obb-note b{color:#ffd9b0;font-family:'Zen Maru Gothic',sans-serif;}

/* ═══ 語録 ═══ */
.goroku{padding:70px 0;}
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.qcard{background:var(--paper);border:1.5px solid var(--line);border-radius:16px;
  padding:24px 25px;position:relative;}
.qcard::before{content:"“";position:absolute;top:2px;left:14px;font-size:56px;
  font-family:'Zen Maru Gothic',sans-serif;color:var(--coral-pale);line-height:1;}
.qcard .t{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:18.5px;
  line-height:1.85;color:var(--board);position:relative;}
.qcard .s{font-size:13px;color:var(--ink-soft);margin-top:13px;letter-spacing:.02em;}

/* ═══ 掛け合い ═══ */
.talk{padding:68px 0;background:var(--paper);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.talk-box{max-width:840px;margin:0 auto;}
.line{display:grid;grid-template-columns:52px 1fr;gap:14px;margin-bottom:16px;align-items:start;}
.line .ic{width:54px;height:54px;border-radius:50%;overflow:hidden;position:relative;
  background:var(--ai-pale);border:2px solid #fff;
  box-shadow:0 2px 7px rgba(95,115,150,.16);flex:none;}
.line .ic img{position:absolute;left:50%;top:-16px;height:190px;width:auto;max-width:none;
  transform:translateX(-50%);}
.line.y .ic{background:var(--coral-pale);}
.line.y .ic img{top:-13px;height:186px;}
.line .bb{background:var(--cream);border-radius:5px 16px 16px 16px;padding:14px 19px;
  font-size:16.5px;line-height:1.9;}
.line .who{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;
  color:var(--ai);margin-bottom:3px;}
.line.y .bb{background:var(--coral-pale);}
.line.y .who{color:var(--coral);}
.talk-cite{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:22px;}

/* ═══ 実例 ═══ */
.works{padding:70px 0;}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px;}
.wcard{background:var(--paper);border:1.5px solid var(--line);border-radius:16px;padding:23px;}
.wcard .n{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:31px;
  color:var(--ai);line-height:1;}
.wcard .n small{font-size:14px;color:var(--ink-soft);font-weight:500;margin-left:5px;}
.wcard h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:18px;
  color:var(--board);margin-top:11px;line-height:1.6;}
.wcard p{font-size:15px;color:#57524a;margin-top:9px;line-height:1.85;}

/* ═══ フルティ先生について ═══ */
.about{padding:72px 0;background:linear-gradient(175deg,var(--ai-pale),var(--cream));}
.about .in{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;}
.about img{width:min(280px,32vw);}
.about h2{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(23px,3.2vw,31px);color:var(--board);line-height:1.5;}
.about .ruby{font-size:15px;color:var(--ink-soft);font-weight:500;margin-left:8px;}
.about p{font-size:16.5px;line-height:2.05;color:#4c5766;margin-top:16px;}
.about ul{margin-top:16px;padding-left:0;list-style:none;display:grid;gap:7px;}
.about li{font-size:15.5px;color:#4c5766;padding-left:22px;position:relative;line-height:1.8;}
.about li::before{content:"♪";position:absolute;left:0;color:var(--coral);
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;}

/* ═══ 出口 ═══ */
.cta-sec{padding:74px 0;background:var(--coral);color:#fff;text-align:center;}
.cta-sec h2{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(24px,3.6vw,34px);line-height:1.5;}
.cta-sec p{font-size:17px;line-height:2;margin-top:16px;opacity:.96;
  max-width:44em;margin-left:auto;margin-right:auto;}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Zen Maru Gothic',sans-serif;
  font-weight:700;font-size:16.5px;text-decoration:none;padding:15px 32px;border-radius:32px;
  transition:.24s;}
.btn.w{background:#fff;color:var(--coral);}
.btn.w:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.18);}
.btn.o{border:2px solid rgba(255,255,255,.8);color:#fff;}
.btn.o:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);}
.cta-note{font-size:13.5px;opacity:.9;margin-top:20px;}

/* ═══ フッター ═══ */
footer{padding:52px 0 44px;background:var(--board);color:#c9d8cf;font-size:14.5px;}
footer .in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}
footer .ft{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:18px;color:#fff;}
footer p{line-height:1.95;margin-top:10px;}
footer a{color:#ffd9b0;}
footer .fl{display:grid;gap:8px;}
footer .fl a{text-decoration:none;}
footer .fl a:hover{text-decoration:underline;}
footer .cp{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);
  font-size:13px;color:#9fb8aa;line-height:1.9;}

/* ═══ レスポンシブ ═══ */
@media(max-width:900px){
  .obb-strip{grid-template-columns:repeat(4,1fr);}
  .hero .wrap{grid-template-columns:1fr;}
  /* スマホ：吹き出しはイラストに重ねず、上に置く */
  .hero-fig{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:12px;}
  .hero-bubble{position:static;left:auto;right:auto;top:auto;white-space:normal;
    text-align:center;font-size:16px;padding:11px 20px;}
  .hero-bubble::after{right:auto;left:50%;top:auto;bottom:-9px;margin-left:-7px;
    border-right:0;border-bottom:0;border-left:2px solid var(--ai-lt);
    border-top:2px solid var(--ai-lt);transform:rotate(-135deg);}
  .about .in{grid-template-columns:1fr;text-align:center;}
  .about img{margin:0 auto;}
  .about ul{text-align:left;max-width:30em;margin-left:auto;margin-right:auto;}
}
@media(max-width:620px){
  body{font-size:16px;}
  .obb-strip{grid-template-columns:repeat(2,1fr);}
  .obb-cell .kana{font-size:36px;}
  .mcard{grid-template-columns:1fr;gap:13px;}
  .mno{width:54px;height:54px;font-size:13px;}
  .hnav{display:none;}
  .hero-fig img{width:min(260px,64vw);}
}

/* ═══════════ 下位ページ共通 ═══════════ */
.crumb{padding:16px 0 0;font-size:13.5px;color:var(--ink-soft);}
.crumb a{color:var(--ai);text-decoration:none;}
.crumb a:hover{text-decoration:underline;}
.crumb span{margin:0 7px;opacity:.5;}

.phead{padding:34px 0 44px;background:linear-gradient(170deg,var(--ai-pale),var(--cream));}
.phead .in{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;}
.phead .kicker{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.3em;color:var(--coral);}
.phead h1{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(27px,4.4vw,44px);line-height:1.35;color:var(--ai);margin-top:12px;}
.phead h1 em{font-style:normal;color:var(--coral);}
.phead .lead{font-size:17.5px;line-height:2;color:#4c5766;margin-top:16px;max-width:40em;}
.phead img{width:min(200px,26vw);}
.quote-lead{margin-top:20px;padding:14px 20px;background:rgba(255,255,255,.75);
  border-left:4px solid var(--coral);border-radius:0 12px 12px 0;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:17.5px;
  line-height:1.8;color:var(--board);}
.quote-lead cite{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-style:normal;
  font-weight:400;font-size:13px;color:var(--ink-soft);margin-top:8px;}

/* 7文字ナビ（追従） */
.pnav{position:sticky;top:61px;z-index:40;background:var(--board);padding:9px 0;
  box-shadow:0 3px 12px rgba(0,0,0,.12);}
.pnav .in{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
.pnav a{display:flex;align-items:center;gap:6px;text-decoration:none;
  font-family:'Zen Maru Gothic',sans-serif;padding:6px 13px;border-radius:20px;
  color:#dfe9e3;font-size:14px;transition:.2s;}
.pnav a b{font-size:19px;font-weight:900;color:#ffd9b0;}
.pnav a:hover,.pnav a.on{background:rgba(255,255,255,.14);color:#fff;}

/* ポイント本体 */
.pt{padding:60px 0;border-bottom:1px solid var(--line);}
.pt:nth-of-type(even){background:var(--paper);}
.pt-h{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.pt-kana{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:52px;
  width:86px;height:86px;border-radius:24px;display:flex;align-items:center;justify-content:center;
  background:var(--board);color:#ffd9b0;flex:none;line-height:1;}
.pt-h h2{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(25px,3.6vw,35px);color:var(--board);line-height:1.4;}
.pt-h h2 .en{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:500;
  font-size:13px;letter-spacing:.16em;color:var(--ink-soft);margin-top:5px;}
.pt-body{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;}
.pt-box{background:var(--cream);border:1.5px solid var(--line);border-radius:16px;padding:22px 24px;}
.pt-box.okoru{background:var(--coral-pale);border-color:#f0d5cb;}
.pt-box.dou{background:#eef4f0;border-color:#d5e2d9;}
.pt-box h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:16px;
  letter-spacing:.04em;margin-bottom:11px;display:flex;align-items:center;gap:7px;}
.pt-box.okoru h3{color:#a8503a;}
.pt-box.dou h3{color:var(--board);}
.pt-box ul{list-style:none;display:grid;gap:9px;}
.pt-box li{font-size:16px;line-height:1.85;padding-left:20px;position:relative;color:#4a453d;}
.pt-box.okoru li::before{content:"▸";position:absolute;left:0;color:var(--coral);}
.pt-box.dou li::before{content:"✓";position:absolute;left:0;color:var(--board-lt);font-weight:700;}
.pt-say{margin-top:22px;padding:18px 24px;background:#fff;border:2px dashed var(--ai-lt);
  border-radius:16px;}
.pt-say .lb{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;
  color:var(--ai);letter-spacing:.08em;margin-bottom:9px;}
.pt-say p{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:18px;
  line-height:1.9;color:var(--board);}
.pt-say cite{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-style:normal;
  font-weight:400;font-size:12.5px;color:var(--ink-soft);margin-top:10px;}

/* 実例テーブル */
.ex{margin-top:26px;}
.ex-h{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:17px;color:var(--ai);
  margin-bottom:13px;display:flex;align-items:center;gap:9px;}
.ex-h span{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:400;font-size:13px;
  color:var(--ink-soft);}
.ex-list{display:grid;gap:9px;}
.exr{display:grid;grid-template-columns:168px 92px 1fr;gap:16px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;
  font-size:15.5px;line-height:1.8;}
.exr .sng{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;color:var(--board);font-size:15px;}
.exr .bar{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;color:#fff;
  background:var(--ai);border-radius:14px;padding:3px 10px;text-align:center;white-space:nowrap;
  justify-self:start;}
.exr .tip{color:#4a453d;}

/* 逆引き */
.gyaku{padding:66px 0;background:var(--board);color:var(--chalk);}
.gyaku .sec-h h2{color:#fff;} .gyaku .sec-h .eye{color:#a8c4b3;} .gyaku .sec-h p{color:#cddbd2;}
.gtable{display:grid;gap:9px;}
.grow{display:grid;grid-template-columns:1fr 132px 1fr;gap:16px;align-items:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:13px;padding:14px 19px;font-size:15.5px;}
.grow .sym{color:#fff;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;}
.grow .pt-to{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;
  color:#3f5548;background:#ffd9b0;border-radius:14px;padding:4px 12px;text-align:center;
  justify-self:start;}
.grow .how{color:#c5d5cc;}
.ghead{display:grid;grid-template-columns:1fr 132px 1fr;gap:16px;padding:0 19px 6px;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.14em;color:#8fae9d;}

/* 次に読む */
.next{padding:64px 0;}
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;}
.ncard{display:block;text-decoration:none;background:var(--paper);border:1.5px solid var(--line);
  border-radius:16px;padding:22px 24px;transition:.24s;}
.ncard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(95,115,150,.14);
  border-color:var(--ai-lt);}
.ncard .lb{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;color:var(--coral);}
.ncard h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:20px;
  color:var(--board);margin-top:8px;line-height:1.5;}
.ncard p{font-size:15px;color:#57524a;margin-top:8px;line-height:1.85;}

@media(max-width:860px){
  .pt-body{grid-template-columns:1fr;}
  .phead .in{grid-template-columns:1fr;}
  .phead img{display:none;}
  .exr{grid-template-columns:1fr;gap:7px;}
  .exr .bar{justify-self:start;}
  .grow,.ghead{grid-template-columns:1fr;gap:8px;}
  .ghead{display:none;}
  .pnav{top:57px;}
  .pnav a{font-size:13px;padding:5px 10px;}
}

/* ═══════════ キャラを添える（表情バストアップ用） ═══════════ */
/* 使い方：
   <div class="pt-say withchar">
     <div class="chr"><img src="images/f_denju.png" alt="フルティ先生"><span>フルティ</span></div>
     <div class="chr-body"> …lb / p / cite … </div>
   </div>
   右側に置くときは .withchar.right を付ける（DOM順は chr → chr-body のまま）  */

.chr{width:104px;flex:none;text-align:center;}
.chr img{width:104px;height:104px;object-fit:cover;object-position:50% 22%;
  border-radius:50%;background:#fff;border:2px solid var(--ai-pale);
  box-shadow:0 3px 12px rgba(95,115,150,.15);}
.chr span{display:block;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;
  font-size:12px;color:var(--ai);margin-top:7px;letter-spacing:.04em;}
.chr.y img{border-color:var(--coral-pale);}
.chr.y span{color:var(--coral);}
/* 丸で切らず、水彩の輪郭をそのまま見せたいとき */
.chr.plain img{border:0;border-radius:0;background:transparent;box-shadow:none;
  object-fit:contain;height:auto;}

.pt-say.withchar{display:grid;grid-template-columns:104px 1fr;gap:22px;align-items:start;}
.pt-say.withchar.right{grid-template-columns:1fr 104px;}
.pt-say.withchar.right .chr{order:2;}
.pt-say.withchar.right .chr-body{order:1;}
.pt-say.withchar .chr-body{min-width:0;}

/* 語録カード（トップ）に顔を添える */
.qcard.withchar{padding-left:112px;}
.qcard.withchar .chr{position:absolute;left:16px;top:22px;width:80px;}
.qcard.withchar .chr img{width:80px;height:80px;}
.qcard.withchar .chr span{font-size:11px;margin-top:5px;}
.qcard.withchar::before{display:none;}

/* ページ冒頭の引用にキャラを添える */
.quote-lead.withchar{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start;}
.quote-lead.withchar .chr{width:88px;}
.quote-lead.withchar .chr img{width:88px;height:88px;}

/* 掛け合い（.line）をバストアップ画像に差し替えたとき用 */
.line .ic img.bust{position:static;height:100%;width:100%;transform:none;
  object-fit:cover;object-position:50% 24%;}

/* 会話のかたまり：左右に振り分ける掛け合い（大きめキャラ版） */
.talkbig{display:grid;gap:20px;margin-top:26px;}
.tb{display:grid;grid-template-columns:118px 1fr;gap:20px;align-items:start;}
.tb.y{grid-template-columns:1fr 118px;}
.tb.y .chr{order:2;} .tb.y .bub{order:1;}
.tb .chr{width:118px;}
.tb .chr img{width:118px;height:118px;}
.tb .bub{background:var(--cream);border:1.5px solid var(--line);
  border-radius:6px 20px 20px 20px;padding:18px 24px;font-size:16.5px;line-height:1.95;}
.tb.y .bub{background:var(--coral-pale);border-color:#f0d5cb;
  border-radius:20px 6px 20px 20px;}
.tb .bub strong{color:var(--board);}

@media(max-width:700px){
  .pt-say.withchar,.pt-say.withchar.right,
  .quote-lead.withchar{grid-template-columns:72px 1fr;gap:14px;}
  .pt-say.withchar.right .chr{order:1;} .pt-say.withchar.right .chr-body{order:2;}
  .chr,.quote-lead.withchar .chr{width:72px;}
  .chr img,.quote-lead.withchar .chr img{width:72px;height:72px;}
  .chr span{font-size:11px;}
  .qcard.withchar{padding-left:24px;padding-top:96px;}
  .qcard.withchar .chr{left:24px;top:20px;width:64px;}
  .qcard.withchar .chr img{width:64px;height:64px;}
  .tb,.tb.y{grid-template-columns:64px 1fr;gap:13px;}
  .tb.y .chr{order:1;} .tb.y .bub{order:2;}
  .tb .chr{width:64px;} .tb .chr img{width:64px;height:64px;}
}

/* ═══════════ フルティ流の地図（図版） ═══════════ */
.mapfig{margin-top:34px;display:grid;gap:0;}
.mf-lbl{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.2em;color:var(--ink-soft);text-align:center;margin-bottom:7px;}
.mf-arrow{text-align:center;font-size:22px;color:var(--ai);line-height:1;margin:9px 0;}
.mf-plus{text-align:center;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:19px;color:var(--coral);margin:13px 0;letter-spacing:.1em;}

/* 帯（原則・地面） */
.mf-band{display:block;text-decoration:none;border-radius:16px;padding:18px 26px;
  text-align:center;transition:.24s;position:relative;}
.mf-band:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12);}
.mf-band .t{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:22px;line-height:1.4;}
.mf-band .s{font-size:14.5px;margin-top:6px;opacity:.9;}
.mf-band.verb{background:var(--board);color:#fff;}
.mf-band.verb .t{color:#ffd9b0;}
.mf-band.ground{background:linear-gradient(180deg,#f0e6d8,#e6d8c4);color:#5b4b36;
  border:1.5px solid #ddcdb4;}
.mf-band.ground .t{color:#6b5540;}

/* 土台 */
.mf-base{display:block;text-decoration:none;background:var(--coral-pale);
  border:2px solid #f0d5cb;border-radius:16px;padding:17px 24px;text-align:center;transition:.24s;}
.mf-base:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(200,103,79,.16);}
.mf-base .t{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:19px;color:#a8503a;}
.mf-base .s{font-size:14px;color:#8a5a48;margin-top:5px;}

/* 二本の柱（FRT × おしりぼりぼり） */
.mf-core{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;}
.mf-x{display:flex;align-items:center;justify-content:center;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:26px;color:var(--coral);}
.mf-pillar{display:block;text-decoration:none;border-radius:18px;padding:20px 20px 22px;
  transition:.24s;border:2px solid transparent;}
.mf-pillar:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(95,115,150,.18);}
.mf-pillar .cap{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.16em;text-align:center;opacity:.85;}
.mf-pillar .ttl{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:21px;
  text-align:center;margin-top:6px;line-height:1.4;}
.mf-pillar.frt{background:var(--ai-pale);border-color:#cbd8e8;}
.mf-pillar.frt .cap{color:var(--ai);} .mf-pillar.frt .ttl{color:#3d5478;}
.mf-pillar.obbp{background:var(--board);border-color:#33473c;}
.mf-pillar.obbp .cap{color:#a8c4b3;} .mf-pillar.obbp .ttl{color:#fff;}
/* FRTの流れ */
.mf-flow{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:15px;flex-wrap:wrap;}
.mf-flow span{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13.5px;
  background:#fff;color:#3d5478;border-radius:20px;padding:7px 13px;white-space:nowrap;}
.mf-flow i{color:var(--ai-dk);font-style:normal;font-size:15px;}
/* おしりぼりぼり7文字 */
.mf-kana{display:flex;justify-content:center;gap:5px;margin-top:15px;flex-wrap:wrap;}
.mf-kana b{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:21px;
  color:#ffd9b0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:11px;width:36px;height:40px;display:flex;align-items:center;justify-content:center;}
.mf-note{text-align:center;font-size:12.5px;margin-top:11px;}
.mf-pillar.frt .mf-note{color:#5f7396;} .mf-pillar.obbp .mf-note{color:#a8c4b3;}

/* 6軸（外側） */
.mf-outer{display:block;text-decoration:none;background:var(--paper);
  border:2px dashed var(--ai-lt);border-radius:18px;padding:18px 24px;transition:.24s;}
.mf-outer:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 22px rgba(95,115,150,.14);}
.mf-outer .t{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:19px;
  color:var(--ai);text-align:center;}
.mf-jk{display:flex;justify-content:center;gap:6px;margin-top:12px;flex-wrap:wrap;}
.mf-jk span{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;
  color:var(--board);background:var(--ai-pale);border-radius:16px;padding:5px 12px;white-space:nowrap;}

/* 地図の下の一覧（詳しく読む） */
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:12px;margin-top:30px;}
.ml{display:flex;align-items:center;gap:13px;text-decoration:none;background:var(--paper);
  border:1.5px solid var(--line);border-radius:14px;padding:14px 17px;transition:.24s;}
.ml:hover{border-color:var(--ai-lt);background:#fff;transform:translateX(3px);}
.ml .ic{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:12px;color:#fff;
  background:var(--ai);border-radius:9px;padding:7px 9px;flex:none;line-height:1.2;text-align:center;min-width:46px;}
.ml.b .ic{background:var(--coral);} .ml.v .ic{background:var(--board);}
.ml .tx{min-width:0;}
.ml .tx b{display:block;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:16px;
  color:var(--board);line-height:1.45;}
.ml .tx span{display:block;font-size:13px;color:var(--ink-soft);margin-top:3px;line-height:1.6;}

@media(max-width:760px){
  .mf-core{grid-template-columns:1fr;gap:0;}
  .mf-x{padding:11px 0;}
  .mf-band .t{font-size:19px;} .mf-pillar .ttl{font-size:19px;}
  .mf-kana b{width:32px;height:36px;font-size:18px;}
}

/* もっと読むボタン */
.btn-more{display:inline-flex;flex-direction:column;align-items:center;gap:5px;
  text-decoration:none;background:var(--board);color:#fff;border-radius:34px;
  padding:17px 44px;transition:.24s;font-weight:900;font-size:19px;}
.btn-more b{font-weight:500;font-size:13px;color:#a8c4b3;letter-spacing:.04em;}
.btn-more:hover{background:#2f4438;transform:translateY(-3px);
  box-shadow:0 11px 26px rgba(63,85,72,.32);}
.btn-more:hover b{color:#c5d5cc;}

/* 二人の紹介（about を2人分に） */
.two{display:grid;gap:22px;margin-top:8px;}
.prof{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:rgba(255,255,255,.6);border-radius:22px;padding:28px 32px;}
.prof.rev{grid-template-columns:1fr auto;}
.prof.rev .pimg{order:2;} .prof.rev .ptx{order:1;}
.prof .pimg img{width:min(190px,26vw);}
.prof h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(21px,2.9vw,27px);color:var(--board);line-height:1.45;}
.prof h3 .ruby{display:block;font-size:14px;color:var(--ink-soft);font-weight:500;margin-top:5px;letter-spacing:.02em;}
.prof h3 .nick{display:inline-block;font-size:13px;font-weight:700;color:#fff;
  background:var(--coral);border-radius:14px;padding:3px 11px;margin-left:9px;vertical-align:middle;}
.prof p{font-size:16px;line-height:2;color:#4c5766;margin-top:13px;}
.prof ul{margin-top:13px;padding-left:0;list-style:none;display:grid;gap:6px;}
.prof li{font-size:15px;color:#4c5766;padding-left:20px;position:relative;line-height:1.8;}
.prof li::before{content:"♪";position:absolute;left:0;color:var(--coral);font-weight:700;}
.prof a{color:var(--ai);font-weight:700;}
@media(max-width:820px){
  .prof,.prof.rev{grid-template-columns:1fr;gap:18px;text-align:center;padding:24px 22px;}
  .prof.rev .pimg{order:1;} .prof.rev .ptx{order:2;}
  .prof .pimg img{margin:0 auto;width:min(150px,42vw);}
  .prof ul{text-align:left;max-width:28em;margin-left:auto;margin-right:auto;}
}

/* 楽譜の入手先 */
.scores{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px;margin-top:26px;}
.sc{display:block;text-decoration:none;background:#fff;border:2px solid var(--line);
  border-radius:18px;padding:23px 25px;transition:.24s;}
.sc:hover{border-color:var(--coral-lt);transform:translateY(-3px);box-shadow:0 10px 24px rgba(200,103,79,.14);}
.sc .pub{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.14em;color:var(--coral);}
.sc h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:21px;
  color:var(--board);margin-top:7px;line-height:1.45;}
.sc .songs{font-size:14px;color:var(--ink-soft);margin-top:10px;line-height:1.85;}
.sc .go{display:inline-block;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;
  font-size:14px;color:var(--ai);margin-top:12px;}

/* ═══ スマホ：追従ナビを1行にして横スワイプ（画面を占領しない） ═══ */
@media(max-width:760px){
  .pnav .in,.gnav .in{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;}
  .pnav .in::-webkit-scrollbar,.gnav .in::-webkit-scrollbar{display:none;}
  .pnav a,.gnav a{flex:none;}
  /* 端が切れていることを示すフェード */
  .pnav,.gnav{position:sticky;overflow:hidden;}
  .pnav::after,.gnav::after{content:"";position:absolute;right:0;top:0;bottom:0;width:26px;
    background:linear-gradient(90deg,rgba(63,85,72,0),var(--board));pointer-events:none;}
}

/* ═══════════ 原点＝HAPPY MUSIC ═══════════ */
.origin{padding:70px 0;background:linear-gradient(168deg,#8f1d24 0%,#a82833 46%,#7d1a20 100%);
  color:#fff;position:relative;overflow:hidden;}
.origin::before{content:"";position:absolute;right:-90px;top:-70px;width:340px;height:340px;
  border-radius:50%;background:rgba(255,255,255,.055);}
.origin .sec-h h2{color:#fff;}
.origin .sec-h .eye{color:#ffc9a8;}
.origin .sec-h p{color:#f4d9d5;}
.org-in{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;position:relative;}
.org-cover{position:relative;flex:none;}
.org-cover img{width:min(280px,34vw);border-radius:6px;
  box-shadow:0 18px 44px rgba(0,0,0,.42), 0 3px 10px rgba(0,0,0,.3);}
/* 表紙は隠さない。版数はタイトル横と表紙の下に置く */
.org-cover figcaption{margin-top:13px;text-align:center;font-family:'Zen Maru Gothic',sans-serif;
  font-weight:700;font-size:13px;color:#f4d9d5;letter-spacing:.02em;line-height:1.7;}
.org-cover figcaption b{color:#ffd9b0;font-size:15px;}
.ver-pill{display:inline-flex;align-items:baseline;gap:4px;background:#fff;color:#8f1d24;
  border-radius:22px;padding:5px 16px;margin-left:12px;vertical-align:middle;
  box-shadow:0 4px 12px rgba(0,0,0,.22);}
.ver-pill b{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:22px;line-height:1;}
.ver-pill span{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13px;}
.org-tx h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;
  font-size:clamp(24px,3.4vw,34px);line-height:1.4;}
.org-tx .sub{font-size:16px;color:#f6dcd8;margin-top:9px;line-height:1.8;}
.org-tx .body{font-size:17px;line-height:2.05;margin-top:20px;color:#fff;}
.org-tx .body strong{color:#ffd9b0;}
.org-meta{display:grid;gap:7px;margin-top:22px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.24);}
.org-meta div{font-size:14.5px;color:#f0d2ce;display:grid;grid-template-columns:96px 1fr;gap:14px;line-height:1.8;}
.org-meta div b{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;color:#ffc9a8;font-size:13.5px;}
.org-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.org-btns a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:15.5px;
  padding:13px 26px;border-radius:30px;transition:.24s;}
.org-btns a.w{background:#fff;color:#8f1d24;}
.org-btns a.w:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.28);}
.org-btns a.o{border:2px solid rgba(255,255,255,.72);color:#fff;}
.org-btns a.o:hover{background:rgba(255,255,255,.16);transform:translateY(-3px);}
/* 表紙に載っている連載名を指し示す注記 */
.org-note{margin-top:24px;padding:15px 20px;background:rgba(0,0,0,.2);
  border-left:3px solid #ffc9a8;border-radius:0 12px 12px 0;font-size:15px;line-height:1.9;color:#f6dcd8;}
.org-note strong{color:#ffd9b0;}

/* 楽譜カードに表紙サムネ */
.sc.hascover{display:grid;grid-template-columns:104px 1fr;gap:18px;align-items:start;}
.sc.hascover img{width:104px;border-radius:4px;box-shadow:0 5px 14px rgba(0,0,0,.16);}
.sc-print{display:inline-flex;align-items:center;gap:6px;font-family:'Zen Maru Gothic',sans-serif;
  font-weight:700;font-size:12px;color:#fff;background:#a82833;border-radius:12px;
  padding:3px 10px;margin-top:8px;}

@media(max-width:860px){
  .org-in{grid-template-columns:1fr;gap:26px;justify-items:center;text-align:center;}
  .org-cover img{width:min(220px,56vw);}
  .ver-pill{margin-left:0;margin-top:10px;}
  .org-meta div{grid-template-columns:1fr;gap:2px;text-align:left;}
  .org-meta{text-align:left;}
  .org-btns{justify-content:center;}
  .org-note{text-align:left;}
  .sc.hascover{grid-template-columns:76px 1fr;gap:14px;}
  .sc.hascover img{width:76px;}
}

/* ═══════════ 追従する「講習会のご依頼」ボタン ═══════════ */
/* JSに頼らない：開いて1.1秒後にCSSアニメーションでふわっと出て、以降ずっと画面に残る */
.fab{position:fixed;right:24px;bottom:24px;z-index:60;
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  background:var(--coral);color:#fff;border-radius:34px;padding:14px 24px 14px 20px;
  box-shadow:0 8px 24px rgba(200,103,79,.42), 0 2px 6px rgba(0,0,0,.16);
  opacity:0;transform:translateY(22px);
  animation:fabIn .62s cubic-bezier(.2,.9,.3,1.35) 1.1s forwards;
  transition:background .24s, box-shadow .24s;}
@keyframes fabIn{to{opacity:1;transform:translateY(0);}}
.fab:hover{background:#b0553d;box-shadow:0 14px 32px rgba(200,103,79,.52);}
.fab:hover .ic{transform:scale(1.12);}
.fab .ic{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;font-size:17px;flex:none;
  transition:transform .24s;animation:fabNote 2.8s ease-in-out 1.9s infinite;}
@keyframes fabNote{0%,86%,100%{transform:translateY(0) rotate(0)}
  90%{transform:translateY(-4px) rotate(-11deg)}95%{transform:translateY(0) rotate(7deg)}}
.fab .tx{font-family:'Zen Maru Gothic',sans-serif;line-height:1.3;}
.fab .tx b{display:block;font-weight:900;font-size:16px;letter-spacing:.02em;}
.fab .tx span{display:block;font-weight:500;font-size:11.5px;opacity:.92;margin-top:2px;}

@media(max-width:620px){
  .fab{right:14px;bottom:14px;padding:11px 18px 11px 14px;gap:9px;}
  .fab .ic{width:28px;height:28px;font-size:15px;}
  .fab .tx b{font-size:14.5px;}
  .fab .tx span{display:none;}
}
/* 動きを控えたい設定の人には、動かさず最初から出す */
@media(prefers-reduced-motion:reduce){
  .fab{opacity:1;transform:none;animation:none;}
  .fab .ic{animation:none;}
}
@media print{.fab{display:none;}}

/* ═══ 下位ページの「ここは何のサイトか」帯（検索から直接来た人のために） ═══ */
.whois{background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0;}
.whois .in{display:flex;align-items:center;gap:15px;flex-wrap:wrap;
  font-size:14.5px;line-height:1.85;color:#57524a;}
.whois img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 22%;
  background:#fff;border:2px solid var(--ai-pale);flex:none;}
.whois .tx{min-width:0;flex:1;}
.whois .tx b{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;color:var(--ai);}
.whois .tx a{color:var(--coral);text-decoration:underline;text-underline-offset:2px;}
@media(max-width:620px){
  .whois{padding:12px 0;} .whois .in{gap:11px;font-size:13.5px;}
  .whois img{width:38px;height:38px;}
}
/* 実例の注記 */
.ex-src{margin-top:14px;padding:13px 18px;background:var(--cream);
  border-left:3px solid var(--ai-lt);border-radius:0 10px 10px 0;
  font-size:14px;line-height:1.85;color:#57524a;}
.ex-src b{color:var(--board);}


/* 原点の表紙をクリックで本へ（2026-07-28 /w 指摘：本が買えない を解消） */
.org-cover a{display:block;transition:transform .24s, box-shadow .24s;border-radius:8px;}
.org-cover a:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.22);}
.org-cover a:focus-visible{outline:3px solid var(--coral);outline-offset:4px;}
.cap-buy{font-size:12.5px;opacity:.82;}
