/* FUJI3 たたき台：3ブランド共通のスタイル。ブランドは <html data-brand="..."> で切り替える */
:root{
  --bg:#F3EFE8; --bg-alt:#EAE4DA; --ink:#161513; --muted:#5E5A53; --line:#D6CFC3;
  --accent:#9C7A4E; --on-accent:#fff; --dark:#161513; --on-dark:#F3EFE8;
  --f-display:"Cormorant Garamond","Shippori Mincho",serif;
  --f-jp-display:"Shippori Mincho",serif;
  --f-body:"Noto Sans JP",system-ui,sans-serif;
  --f-label:"Cormorant Garamond",serif;
  --label-track:.32em; --h1-weight:500;
  --max:1240px;
}
html[data-brand="beauty"]{
  --bg:#F7F1EC; --bg-alt:#EFE4DC; --ink:#2A1D20; --muted:#6F5E60; --line:#E2D3CA;
  --accent:#6B3A44; --dark:#3A2329; --on-dark:#F7F1EC;
}
html[data-brand="barber"]{
  --bg:#141617; --bg-alt:#1D2022; --ink:#EDE6D9; --muted:#A39C90; --line:#33373A;
  --accent:#B8955A; --on-accent:#141617; --dark:#9A3B2B; --on-dark:#F4ECDD;
  --f-display:"Oswald","Noto Sans JP",sans-serif;
  --f-jp-display:"Noto Sans JP",sans-serif;
  --f-label:"Oswald",sans-serif; --label-track:.24em; --h1-weight:700;
}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.95;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}

/* たたき台用の切り替えバー（本番には入れない） */
.sitebar{background:#000;color:#fff;font:12px/1 var(--f-body);display:flex;gap:4px;justify-content:center;padding:6px;flex-wrap:wrap}
.sitebar a{padding:6px 12px;border:1px solid #444;border-radius:2px}
.sitebar a[aria-current]{background:#fff;color:#000}

/* 上部の細い帯 */
.topbar{border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.14em;color:var(--muted)}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
@media (max-width:760px){.topbar .hide-sp{display:none}}

/* ヘッダー */
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
.logo{font-family:var(--f-display);font-size:26px;letter-spacing:.22em;font-weight:500;line-height:1}
.logo small{display:block;font-family:var(--f-body);font-size:9px;letter-spacing:.4em;color:var(--muted);margin-top:6px}
html[data-brand="barber"] .logo{font-weight:600;letter-spacing:.16em}
.nav{display:flex;gap:30px;font-family:var(--f-label);font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.nav a{padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover{border-color:currentColor}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 28px;font-family:var(--f-label);font-size:13px;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--ink);transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn--solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn--solid:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
@media (max-width:900px){.nav,.header .btn{display:none}}

/* ヒーロー */
.hero{position:relative;min-height:min(88vh,820px);display:grid;grid-template-columns:5fr 7fr;border-top:1px solid var(--line)}
.hero__text{padding:72px 56px 64px 0;display:flex;flex-direction:column;justify-content:flex-end;gap:28px}
.hero__img{position:relative;overflow:hidden}
.hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eyebrow{font-family:var(--f-label);font-size:12px;letter-spacing:var(--label-track);text-transform:uppercase;color:var(--accent)}
.h1{font-family:var(--f-jp-display);font-weight:var(--h1-weight);font-size:clamp(30px,3.5vw,52px);line-height:1.4;letter-spacing:.06em}
.en-sub{font-family:var(--f-display);font-style:italic;font-size:clamp(18px,1.8vw,24px);color:var(--muted);letter-spacing:.02em}
html[data-brand="barber"] .en-sub{font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:15px}
.lead{max-width:30em;color:var(--muted)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero__img{aspect-ratio:4/3;order:-1}
  .hero__text{padding:40px 0 56px}
}
.hero-wrap{max-width:var(--max);margin:0 auto;padding-left:32px}
@media (max-width:900px){.hero-wrap{padding:0 16px}}

/* セクション共通 */
.sec{padding:120px 0;border-top:1px solid var(--line)}
.sec--alt{background:var(--bg-alt)}
.sec--dark{background:var(--dark);color:var(--on-dark);border-top:0}
.sec--dark .eyebrow{color:var(--on-dark);opacity:.75}
.sec--dark .muted{color:var(--on-dark);opacity:.8}
@media (max-width:640px){.sec{padding:72px 0}}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;flex-wrap:wrap}
.h2{font-family:var(--f-jp-display);font-weight:var(--h1-weight);font-size:clamp(26px,3vw,40px);line-height:1.5;letter-spacing:.06em;margin-top:14px}
.muted{color:var(--muted)}
.link-arrow{font-family:var(--f-label);font-size:13px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}

/* はじめに */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.intro p+p{margin-top:1.2em}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line)}
.stats div{padding:24px 0 0}
.stats b{display:block;font-family:var(--f-display);font-weight:400;font-size:44px;line-height:1.1;letter-spacing:.02em}
html[data-brand="barber"] .stats b{font-weight:600}
.stats span{font-size:12px;color:var(--muted);letter-spacing:.12em}
@media (max-width:900px){.intro{grid-template-columns:1fr;gap:40px}}
@media (max-width:560px){.stats b{font-size:28px}}

/* サービス一覧（番号つきの行） */
.services{border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:80px 1.1fr 1.4fr 280px;gap:32px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line)}
.svc__no{font-family:var(--f-display);font-size:18px;color:var(--accent)}
.svc__name{font-family:var(--f-jp-display);font-size:24px;letter-spacing:.08em;line-height:1.5}
.svc__name small{display:block;font-family:var(--f-label);font-size:11px;letter-spacing:var(--label-track);color:var(--muted);text-transform:uppercase}
.svc__img{aspect-ratio:4/3;overflow:hidden}
.svc__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
@media (max-width:900px){.svc{grid-template-columns:1fr;gap:12px}.svc__img{order:-1}.svc__no{display:none}}

/* 理念 */
.philo{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.philo__img{background:#fff;padding:24px}
.philo dl{display:grid;grid-template-columns:auto 1fr;gap:20px 28px;margin-top:40px}
.philo dt{font-family:var(--f-jp-display);font-size:30px;line-height:1.2}
.philo dd{color:var(--muted)}
@media (max-width:900px){.philo{grid-template-columns:1fr;gap:40px}}

/* 3ブランドの入口 */
.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.brand-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;color:#fff}
.brand-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.brand-card:hover img{transform:scale(1.04)}
.brand-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65))}
.brand-card__txt{position:absolute;left:28px;right:28px;bottom:28px;z-index:1}
.brand-card__txt b{display:block;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:30px;letter-spacing:.14em}
.brand-card__txt span{font-size:12px;letter-spacing:.14em}
@media (max-width:900px){.brands{grid-template-columns:1fr}.brand-card{aspect-ratio:16/10}}

/* お知らせ */
.news li{list-style:none;display:grid;grid-template-columns:140px 1fr 24px;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}
.news li:first-child{border-top:1px solid var(--line)}
.news time{font-family:var(--f-display);font-size:16px;color:var(--muted);letter-spacing:.08em}
@media (max-width:640px){.news li{grid-template-columns:1fr;gap:4px}}

/* 悩み別（beauty） */
.concerns{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px}
.concern__img{aspect-ratio:4/5;overflow:hidden;margin-bottom:20px}
.concern__img img{width:100%;height:100%;object-fit:cover}
.concern h3{font-family:var(--f-jp-display);font-weight:500;font-size:20px;line-height:1.6;letter-spacing:.06em;margin-bottom:8px}
.concern:nth-child(3n+2){margin-top:64px}
@media (max-width:900px){.concerns{grid-template-columns:1fr 1fr}.concern:nth-child(3n+2){margin-top:0}}
@media (max-width:560px){.concerns{grid-template-columns:1fr}}

/* メニュー表 */
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 80px}
.menu-item{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.menu-item b{font-weight:500}
.menu-item span{color:var(--muted);font-size:13px;text-align:right}
@media (max-width:760px){.menu-cols{grid-template-columns:1fr}}

/* バーバーのメニューカード */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.card{background:var(--bg);display:flex;flex-direction:column}
.card__img{aspect-ratio:3/2;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05)}
.card__body{padding:28px 28px 36px}
.card__body h3{font-family:var(--f-jp-display);font-size:20px;font-weight:700;letter-spacing:.06em;margin:8px 0}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* 横並び（写真＋文） */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split--rev .split__img{order:2}
.split__img{aspect-ratio:4/5;overflow:hidden}
.split__img img{width:100%;height:100%;object-fit:cover}
.split p+p{margin-top:1.2em}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}.split--rev .split__img{order:0}.split__img{aspect-ratio:4/3}}

/* ご来店案内 */
.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:80px}
.visit table{width:100%;border-collapse:collapse;margin-top:32px}
.visit th,.visit td{text-align:left;padding:16px 0;border-bottom:1px solid currentColor;border-color:rgba(127,127,127,.35);vertical-align:top;font-weight:400}
.visit th{width:7.5em;font-family:var(--f-label);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.tel-big{display:block;font-family:var(--f-display);font-size:clamp(36px,4vw,52px);letter-spacing:.06em;line-height:1.2;margin:16px 0 24px}
.sec--dark .btn{border-color:var(--on-dark)}
.sec--dark .btn:hover{background:var(--on-dark);color:var(--dark)}
.sec--dark .btn--solid{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}
.todo{display:inline-block;font-size:11px;background:#F2D24B;color:#000;padding:0 6px;margin-left:6px;letter-spacing:.04em;vertical-align:middle}
@media (max-width:900px){.visit{grid-template-columns:1fr;gap:40px}}

/* フッター */
.footer{padding:64px 0 120px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer nav{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--f-label);letter-spacing:.18em;text-transform:uppercase}

/* スマホ下部の固定ボタン */
.sp-bar{display:none}
@media (max-width:900px){
  .sp-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);color:var(--bg)}
  .sp-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;font-size:14px;letter-spacing:.12em}
  .sp-bar a+a{border-left:1px solid rgba(127,127,127,.4)}
}

/* www：6つの入口 */
.hub{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 28px}
.hub__card{display:flex;flex-direction:column;gap:20px;color:inherit}
.hub__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt)}
.hub__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hub__card:hover .hub__img img{transform:scale(1.04)}
.hub__body{position:relative;display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--ink)}
.hub__no{font-family:var(--f-display);font-size:14px;color:var(--accent);letter-spacing:.1em}
.hub__en{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:30px;letter-spacing:.16em;line-height:1.2}
.hub__jp{font-family:var(--f-jp-display);font-size:17px;letter-spacing:.08em}
.hub__desc{color:var(--muted);font-size:13px}
.hub__url{margin-top:8px;font-family:var(--f-label);font-size:12px;letter-spacing:.12em;color:var(--muted)}
.hub__card:hover .hub__url{color:var(--ink)}
.hub__badge{position:absolute;top:16px;right:0;font-size:11px;letter-spacing:.16em;padding:2px 10px;background:var(--accent);color:var(--on-accent)}
@media (max-width:900px){.hub{grid-template-columns:1fr 1fr;gap:40px 16px}.hub__en{font-size:22px}}
@media (max-width:480px){.hub{grid-template-columns:1fr}}

/* ===== 追加ブランド：kids / kodomo / care ===== */
html[data-brand="kids"]{
  --bg:#FBF6EE; --bg-alt:#F3EADB; --ink:#3A322B; --muted:#7A6E62; --line:#E8DCCB;
  --accent:#C9785A; --on-accent:#fff; --dark:#6F8F7A; --on-dark:#FBF6EE;
  --f-display:"Zen Maru Gothic","Noto Sans JP",sans-serif; --f-jp-display:"Zen Maru Gothic",sans-serif;
  --f-label:"Zen Maru Gothic",sans-serif; --label-track:.2em; --h1-weight:700;
}
html[data-brand="kids"] img{border-radius:24px}
html[data-brand="kids"] .hero__img img{border-radius:0 0 0 160px}
html[data-brand="kids"] .btn{border-radius:999px}
html[data-brand="kids"] .logo{letter-spacing:.12em;font-weight:700}
html[data-brand="kodomo"]{
  --bg:#FFFFFF; --bg-alt:#EEF2F8; --ink:#14213D; --muted:#56607A; --line:#DCE2EC;
  --accent:#2B59C3; --on-accent:#fff; --dark:#14213D; --on-dark:#FFFFFF;
  --f-display:"Oswald","Noto Sans JP",sans-serif; --f-jp-display:"Noto Sans JP",sans-serif;
  --f-label:"Oswald",sans-serif; --label-track:.18em; --h1-weight:700;
}
html[data-brand="kodomo"] .logo{font-weight:600;letter-spacing:.12em}
html[data-brand="kodomo"] .hl{background:linear-gradient(transparent 62%,#F2C14E 62%)}
html[data-brand="care"]{
  --bg:#EEF1EC; --bg-alt:#E2E7E0; --ink:#1B2421; --muted:#56635D; --line:#CBD4CC;
  --accent:#2F5D50; --on-accent:#fff; --dark:#1F2E2A; --on-dark:#EEF1EC;
}

/* 年齢・対象のカード */
.ages{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.age{background:var(--bg-alt);padding:36px 32px;border-radius:2px}
html[data-brand="kids"] .age{border-radius:28px}
.age__tag{display:inline-block;font-family:var(--f-label);font-size:12px;letter-spacing:.14em;color:var(--on-accent);background:var(--accent);padding:2px 12px;border-radius:999px}
.age h3{font-family:var(--f-jp-display);font-size:24px;line-height:1.5;margin:16px 0 10px;letter-spacing:.04em}
@media (max-width:900px){.ages{grid-template-columns:1fr}}

/* 安心の工夫（アイコン的な番号つき） */
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 40px}
.point b{display:block;font-family:var(--f-display);font-size:40px;line-height:1;color:var(--accent);margin-bottom:16px}
.point h3{font-family:var(--f-jp-display);font-size:19px;letter-spacing:.06em;margin-bottom:8px}
@media (max-width:900px){.points{grid-template-columns:1fr}}

/* 流れ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.step{padding:28px 24px 0 0}
.step span{font-family:var(--f-label);font-size:12px;letter-spacing:.2em;color:var(--accent)}
.step h3{font-family:var(--f-jp-display);font-size:18px;margin:8px 0;letter-spacing:.04em}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:0 16px}}

/* よくある質問 */
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-size:20px;line-height:1;color:var(--accent)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:12px;color:var(--muted)}
html[data-brand="kids"] .h1,html[data-brand="care"] .h1{font-size:clamp(28px,2.9vw,42px)}
html[data-brand="shop"]{
  --bg:#F7F5F1; --bg-alt:#ECE8E1; --ink:#1A1A1A; --muted:#5F5B55; --line:#D9D3C9;
  --accent:#1A1A1A; --on-accent:#F7F5F1; --dark:#2A2622; --on-dark:#F7F5F1;
  --f-display:"Cormorant Garamond","Noto Sans JP",serif; --f-jp-display:"Noto Sans JP",sans-serif; --h1-weight:500;
}

/* サイト間メニュー：マウスを当てると、ブランドごとの色に */
.sitebar a{transition:background .2s,border-color .2s,color .2s}
.sitebar a:nth-of-type(1){--hv:#B08A55}  /* FUJI3とは：真鍮 */
.sitebar a:nth-of-type(2){--hv:#B5452F}  /* MENS：レンガ */
.sitebar a:nth-of-type(3){--hv:#C2577A}  /* LADY：ローズ */
.sitebar a:nth-of-type(4){--hv:#3E8E73}  /* 会員制：グリーン */
.sitebar a:nth-of-type(5){--hv:#2F6BE0}  /* 小中高・学割：ブルー */
.sitebar a:nth-of-type(6){--hv:#E58A4E}  /* キッズ：オレンジ */
.sitebar a:nth-of-type(7){--hv:#8A5CC7}  /* SHOP：パープル */
.sitebar a:hover,.sitebar a:focus-visible{background:var(--hv);border-color:var(--hv);color:#fff}

/* サイト間メニュー：スクロールしても上に付いてくる */
.sitebar{position:sticky;top:0;z-index:100}
@media (max-width:760px){
  /* スマホでは3列に折り返して、全部のサイトが一度に見えるようにする（横スクロールは分かりにくいため） */
  .sitebar{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px 8px}
  .sitebar a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:4px 4px;font-size:11px;line-height:1.3;text-align:center;white-space:normal;word-break:keep-all}
  .sitebar .sitebar__label,.sitebar > span{grid-column:1 / -1}
}
.sitebar a:nth-of-type(8){--hv:#1C9AA6}  /* 求人・時間貸し相談：ターコイズ */
html[data-brand="staff"]{
  --bg:#F2F6F6; --bg-alt:#E3ECEC; --ink:#12272A; --muted:#4F6366; --line:#CBDADB;
  --accent:#137C86; --on-accent:#fff; --dark:#0F3B40; --on-dark:#F2F6F6;
  --f-display:"Oswald","Noto Sans JP",sans-serif; --f-jp-display:"Noto Sans JP",sans-serif;
  --f-label:"Oswald",sans-serif; --label-track:.18em; --h1-weight:700;
}
/* 働き方の比較表 */
.compare{width:100%;border-collapse:collapse;font-size:14px}
.compare th,.compare td{border-bottom:1px solid var(--line);padding:16px 14px;text-align:left;vertical-align:top}
.compare thead th{font-family:var(--f-jp-display);font-size:16px;background:var(--bg-alt)}
.compare tbody th{width:9em;color:var(--muted);font-weight:500}
.compare-wrap{overflow-x:auto}
@media (max-width:760px){.compare{min-width:640px}}
.note{border-left:3px solid var(--accent);padding:4px 0 4px 20px}
.note+.note{margin-top:24px}
.note h3{font-size:16px;margin-bottom:6px}
.sitebar a:nth-of-type(9){--hv:#D4407A}  /* AI相談（ARTEORION）：マゼンタ */
/* たたき台用：旧サイト（gallery-fuji.jp）から移した内容の目印 */
.from-old{display:inline-block;margin-left:8px;font-family:"Noto Sans JP",sans-serif;font-size:10px;letter-spacing:.06em;text-transform:none;background:#E9E3FF;color:#4B3A8F;padding:1px 8px;vertical-align:middle}

/* ===== 構成見直し版：各サイトのメニューを日本語に ===== */
.nav--jp{gap:24px;font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:none}
.nav--jp a{white-space:nowrap}
.header .btn{font-family:"Noto Sans JP",sans-serif;letter-spacing:.12em}
@media (max-width:1180px){.nav--jp{gap:16px;font-size:12px}}
@media (max-width:1040px){.nav--jp{display:none}}
.visit th{font-family:"Noto Sans JP",sans-serif;letter-spacing:.08em;text-transform:none}
.sp-bar a{font-family:"Noto Sans JP",sans-serif}

/* 赤ちゃん筆の商品（光文堂の写真） */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.product{background:#fff;border-radius:24px;padding:24px 20px 28px;text-align:center}
.product img{width:100%;max-width:220px;height:auto;margin:0 auto 16px;border-radius:16px}
.product h3{font-family:var(--f-jp-display);font-size:18px;margin-bottom:6px}
.product small{display:block;font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:6px}
.credit{font-size:11px;color:var(--muted);margin-top:16px}
@media (max-width:900px){.products{grid-template-columns:1fr 1fr}}

/* ===== 専用ページ（WordPressの固定ページ）の本文 ===== */
.article--page{max-width:820px}
.article__eyebrow{font-family:var(--f-label);font-size:12px;letter-spacing:var(--label-track);text-transform:uppercase;color:var(--accent)}
.article__body .lead{font-size:16px;color:var(--ink);max-width:none}
.article__body h2{padding-top:24px;border-top:1px solid var(--line)}
.article__body ul,.article__body ol{padding-left:1.4em}
.article__body li+li{margin-top:.4em}
.article__body figure{margin:32px 0}
.article__body figure img{width:100%;height:auto}
.article__body figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.article__body .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.article__body .grid-2 figure{margin:0;background:#fff;padding:16px;border-radius:12px;text-align:center}
.article__body .grid-2 figure img{max-width:220px;margin:0 auto}
.article__body table{width:100%;border-collapse:collapse;font-size:14px}
.article__body th,.article__body td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:top}
.article__body th{width:8em;color:var(--muted);font-weight:500}
.article__body .qa dt{font-weight:700;margin-top:1.2em}
.article__body .qa dd{margin:.3em 0 0;color:var(--muted)}
.cta-box{margin-top:56px;padding:32px;background:var(--bg-alt);border-radius:4px;text-align:center}
.cta-box p{margin:0 0 16px}
.cta-box .tel{display:block;font-family:var(--f-display);font-size:32px;letter-spacing:.06em;margin-bottom:16px}
html[data-brand="kids"] .cta-box{border-radius:24px}
@media (max-width:640px){.article__body .grid-2{grid-template-columns:1fr}}

/* なやみのカードを2列に（会員制） */
.ages--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.ages--2{grid-template-columns:1fr}}


/* ===== 本番のテーマで足すもの ===== */
/* 要確認の印は管理者だけに見せる。旧サイトの印は本番では出さない */
.todo{display:none}
body.f3-review .todo{display:inline-block}
.from-old{display:none}
/* サイト一覧の帯：本番では「たたき台：」の文字は出さない */
.sitebar__label{display:none}
/* 記事・固定ページ */
.article{max-width:760px;margin:0 auto;padding:96px 32px 120px}
.article__date{font-family:var(--f-label);font-size:13px;letter-spacing:.12em;color:var(--muted)}
.article__title{font-family:var(--f-jp-display);font-weight:var(--h1-weight);font-size:clamp(26px,3vw,38px);line-height:1.5;margin:12px 0 40px}
.article__body > * + *{margin-top:1.4em}
.article__body img{border-radius:4px}
.article__body h2{font-family:var(--f-jp-display);font-size:24px;margin-top:2.4em}
.article__body h3{font-size:19px;margin-top:2em}
.article__body a{text-decoration:underline}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:48px}
.archive-wrap{padding:96px 0 120px}
@media (max-width:640px){.article{padding:64px 16px 96px}}
