/* ==========================================================================
   MAKE MEDICAL たたき台 — 共有デザインシステム（旧サイト実測カラー準拠）
   メイン=ティール/シアン(#00dfda系) ／ アクセント=ゴールド(#bf9100系)
   固定ページはこのファイルを読み込む（トップはインラインで自己完結）
   ========================================================================== */
:root{
  /* ▼▼ ティファニーブルーの正本（2026-08-04 鈴木様より確定色を受領）▼▼
     帯・ボタン・アクセントはすべてこの --tiffany から派生させています。
     色を変えるときはこの1行だけを差し替えれば全ページに反映されます。 */
  --tiffany:#17cfc8;
  --tiffany-rgb:23,207,200;   /* --tiffany と同じ色のRGB値。半透明のヘッダー用なので一緒に直す */

  --cyan:var(--tiffany); --cyan-br:#00dfda;
    --teal:var(--tiffany); --teal-d:#14b0aa; --teal-ink:#0e5260; --teal-l:#e9f9f7;
    --tiff:var(--tiffany); --tiff-l:#81d8d0; --tiff-pale:#f2fbfa;
    --tx:#0e7d8a; --tx-d:#0d6470;
    --gold:#bf9100; --gold-h:#a97f00; --gold-d:#8a6800; --gold-l:#e6ba3e;
    /* ▼ ティファニー地（ヘッダー・フッター）の上に置く色。カッコ内は実測コントラスト比 */
    --on-tiff:#04343a;       /* ナビ・本文（6.93:1） */
    --on-tiff-sub:#0a4f5c;   /* 小さい注記（4.72:1） */
    --gold-on-tiff:#6f5400;  /* ティファニー地でも沈まないゴールド（3.67:1）。明るい金は1.5:1で消える */
  --sand:#f5f0e2; --sand2:#e6d3a3;
  --ink:#2f2f2f; --sub:#556160; --muted:#69727d; --note:#8a9091; --line:#e7e2d6;
  --serif:'Shippori Mincho',"Yu Mincho","Hiragino Mincho ProN",serif;
  --sans:'Zen Kaku Gothic',"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
  --mono:'Space Grotesk',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.mono{font-family:var(--mono);letter-spacing:.04em}
.serif{font-family:var(--serif)}
h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.wrap{width:min(1120px,calc(100% - 48px));margin:0 auto}
.wrap.narrow{max-width:900px}
a:focus-visible,button:focus-visible,summary:focus-visible,.fq-q:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--teal-ink);color:#fff;padding:10px 16px;z-index:999}
.skip-link:focus{left:8px;top:8px}
@media (hover:none){.btn,.nav a{min-height:44px}}

/* ボタン（視認性優先：濃いティール地に白文字） */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--teal);color:#04343a;text-decoration:none;font-weight:700;padding:16px 32px;border-radius:4px;font-size:1rem;letter-spacing:.02em;transition:.25s;min-height:44px;border:0;cursor:pointer;font-family:inherit;box-shadow:0 10px 24px -14px rgba(6,49,58,.6)}
.btn:hover{background:var(--teal-d);color:#04343a;transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(6,49,58,.7)}
.btn.gold{background:var(--gold);color:#2a1f00}
.btn.gold:hover{background:#a97f00;color:#2a1f00}
.btn.line{background:#06c755;color:#fff}
.btn.line:hover{background:#05a648;color:#fff}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn.on-dark{background:#fff;color:var(--tx-d)}
.btn.on-dark:hover{background:#fff;color:var(--teal-ink)}

/* ロゴ（旧サイトの正式ロゴ） */
.brand{display:inline-flex!important;align-items:center;gap:12px;text-decoration:none}
/* ロゴはティファニー色を含むため、ティファニー地に直接置くと絵柄が消える。白いタイルに載せる */
.brand img{height:31px;width:auto;display:block;background:#fff;padding:8px 14px;border-radius:8px;box-shadow:0 3px 10px -6px rgba(4,52,58,.55)}
.brand .tag{font-family:var(--sans);font-size:.58rem;letter-spacing:.12em;color:var(--on-tiff);font-weight:600;line-height:1.35;border-left:1px solid rgba(4,52,58,.28);padding-left:12px}
@media(max-width:1180px){.brand .tag{display:none}}
  @media(max-width:600px){.brand img{height:25px}}

/* セクション見出し（署名：番号＋ゴールド罫線） */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--gold-d);margin-bottom:18px}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--teal)}
.sec-h2{font-family:var(--serif);font-size:clamp(28px,3.6vw,42px);line-height:1.42;font-weight:700;letter-spacing:.01em}
.sec-h2 .mk{color:var(--gold-h)}
.lead{font-size:1.04rem;color:var(--sub);max-width:36em}

/* draft banner */
.draftbar{background:var(--teal-ink);color:#dcebe9;font-size:.74rem;text-align:center;padding:7px 14px;letter-spacing:.03em}
.draftbar b{color:var(--gold-l)}

/* header（全ページ共通） */
header.nav{position:sticky;top:0;z-index:80;background:rgba(var(--tiffany-rgb),.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(4,52,58,.18)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{font-family:var(--serif);font-weight:700;font-size:1.15rem;letter-spacing:.04em;color:var(--on-tiff);line-height:1.2;text-decoration:none}
.brand small{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.16em;color:var(--on-tiff-sub);font-weight:600;margin-top:2px}
.nav ul{display:flex;gap:22px;list-style:none;font-size:.85rem;font-weight:600;white-space:nowrap}
.nav ul a{text-decoration:none;color:var(--on-tiff);padding:6px 0;border-bottom:1px solid transparent}
.nav ul a:hover,.nav ul a.current{color:var(--on-tiff);border-color:var(--gold-on-tiff)}
.nav .right{display:flex;align-items:center;gap:18px}
/* ヘッダーCTA：地がティファニーになったのでティファニーのままでは沈む。濃紺地＋ゴールド文字にする */
.nav .btn{padding:11px 20px;font-size:.82rem;background:var(--on-tiff);color:var(--gold-l);border:1px solid rgba(230,186,62,.55);box-shadow:0 6px 16px -10px rgba(4,52,58,.8)}
.nav .btn:hover{background:#0a4f5c;color:#f2d98d;transform:translateY(-1px)}
@media(max-width:1040px){.nav ul{display:none}}
/* ハンバーガー＋モバイルメニュー（全固定ページ共通） */
.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;margin-left:2px}
.nav-toggle span{display:block;height:2px;width:22px;background:var(--on-tiff);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:linear-gradient(160deg,#06262e,#0d6d78);opacity:0;visibility:hidden;transition:opacity .32s ease;overflow-y:auto}
.mobile-menu.open{opacity:1;visibility:visible}
.mm-inner{max-width:540px;margin:0 auto;padding:96px 32px 64px;display:flex;flex-direction:column}
.mm-label{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--cyan-br);margin-bottom:14px}
.mm-inner>a{font-family:var(--serif);font-size:1.32rem;font-weight:700;color:#fff;text-decoration:none;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.14)}
.mm-inner>a:hover{color:var(--cyan-br)}
.mm-sub{display:flex;flex-wrap:wrap;gap:12px 20px;padding:22px 4px 6px}
.mm-sub a{font-size:.92rem;color:rgba(255,255,255,.82);text-decoration:none}
.mm-sub a:hover{color:#fff}
.mm-cta{margin-top:28px;justify-content:center;font-size:1rem}
@media(max-width:1040px){.nav-toggle{display:flex}}
@media(max-width:560px){.nav .btn.hdr-cta{display:none}}
@media(min-width:961px){.mobile-menu{display:none}}

/* page hero（固定ページのタイトル帯・FVではない） */
.page-hero{position:relative;background:linear-gradient(120deg,var(--teal-ink) 0%,var(--tx) 52%,#12959e 100%);color:#fff;overflow:hidden}
.page-hero .ph-bg{position:absolute;inset:0;z-index:0;opacity:.3}
.page-hero .ph-bg img{width:100%;height:100%;object-fit:cover}
.page-hero .ph-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(6,49,58,.93),rgba(12,120,132,.62))}
.page-hero .wrap{position:relative;z-index:2;padding:88px 24px 78px}
.page-hero .crumb{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.62);margin-bottom:20px}
.page-hero .crumb a{color:rgba(255,255,255,.78);text-decoration:none}
.page-hero .crumb a:hover{color:#fff}
.page-hero .eyebrow{color:var(--cyan-br)}
.page-hero .eyebrow::before{background:var(--cyan-br)}
.page-hero h1{font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.42;font-weight:700}
.page-hero .ph-lead{color:rgba(255,255,255,.86);margin-top:16px;max-width:40em;font-size:1.02rem}

/* セクション土台 */
.section{padding:96px 0}
.section.alt{background:var(--sand)}
.section.mint{background:var(--teal-l)}
.sec-head{margin-bottom:44px}
.sec-head.center{text-align:center}
.sec-head.center .eyebrow{justify-content:center}

/* 2カラム特集（画像＋テキスト） */
.feat2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.feat2+.feat2{margin-top:72px}
.feat2.rev .f2img{order:2}
.f2img{border-radius:4px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.f2img img{width:100%;height:100%;object-fit:cover}
.f2tx p{color:var(--sub);margin-bottom:14px}
.f2tx .pt{display:flex;gap:12px;align-items:flex-start;margin-top:10px;font-size:.95rem}
.f2tx .pt b{color:var(--tx-d)}
.f2tx .pt::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:.62em}
@media(max-width:860px){.feat2{grid-template-columns:1fr;gap:28px}.feat2.rev .f2img{order:0}.feat2+.feat2{margin-top:48px}}

/* カード */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:30px}
.card .cno{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--tx);letter-spacing:.1em}
.card h3{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--teal-ink);margin:8px 0 10px;line-height:1.5}
.card p{font-size:.94rem;color:var(--sub)}
@media(max-width:820px){.cards,.cards.two{grid-template-columns:1fr}}

/* 大番号エディトリアルリスト */
.numlist{border-top:1px solid var(--ink)}
.numlist .item{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start;padding:36px 4px;border-bottom:1px solid var(--line)}
.numlist .n{font-family:var(--serif);font-weight:800;font-size:clamp(44px,5.5vw,80px);line-height:.85;color:transparent;-webkit-text-stroke:1.4px var(--teal)}
.numlist h3{font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);font-weight:700;color:var(--teal-ink);margin-bottom:10px}
.numlist p{color:var(--sub);font-size:.96rem}
@media(max-width:680px){.numlist .item{grid-template-columns:1fr;gap:8px}}

/* 罫線スペック表 */
.tablewrap{overflow-x:auto}
table.spec{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
table.spec th,table.spec td{padding:14px 16px;text-align:right;border-bottom:1px solid var(--line)}
table.spec thead th{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);font-weight:700;border-bottom:2px solid var(--teal)}
table.spec td:first-child,table.spec th:first-child{text-align:left;font-family:var(--serif);font-weight:700;color:var(--teal-ink)}
table.spec tr.star td{background:var(--sand)}
table.spec tr.top td{color:var(--tx-d);font-weight:700}
table.spec .b{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:2px;margin-left:8px;vertical-align:2px}
table.spec .b.m{background:var(--gold);color:#fff}
table.spec .b.t{background:var(--teal);color:#04343a}
.note{font-size:.8rem;color:var(--note);margin-top:14px}

/* 縦タイムライン（沿革・流れ） */
.timeline{position:relative;margin-top:12px;padding-left:28px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--cyan),var(--teal))}
.tl{position:relative;padding:0 0 34px 24px}
.tl::before{content:"";position:absolute;left:-1px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--cyan);border:2px solid #fff;box-shadow:0 0 0 2px var(--cyan)}
.tl .yr{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--tx);font-weight:700}
.tl h3{font-family:var(--serif);font-size:1.1rem;color:var(--teal-ink);margin:4px 0 6px}
.tl p{font-size:.92rem;color:var(--sub)}

/* ステップ */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.steps.four{grid-template-columns:repeat(4,1fr)}
.step{padding:26px 16px;border-top:2px solid var(--teal)}
.step .n{font-family:var(--serif);font-size:2.2rem;color:var(--gold);line-height:1;margin-bottom:12px}
.step h4{font-size:.98rem;color:var(--teal-ink);margin-bottom:6px}
.step p{font-size:.82rem;color:var(--sub)}
@media(max-width:820px){.steps,.steps.four{grid-template-columns:1fr 1fr}}

/* FAQ アコーディオン */
.fq-acc{border-top:1px solid var(--line)}
.fq-item{border-bottom:1px solid var(--line)}
.fq-q{display:grid;grid-template-columns:48px 1fr 30px;align-items:center;gap:14px;padding:22px 6px;cursor:pointer;width:100%;background:none;border:0;text-align:left;font-family:inherit}
.fq-no{font-family:var(--mono);font-size:13px;color:var(--tx)}
.fq-tx{font-weight:700;font-size:16px;color:var(--teal-ink)}
.fq-ic{position:relative;width:18px;height:18px;justify-self:end}
.fq-ic::before,.fq-ic::after{content:"";position:absolute;background:var(--teal);transition:.3s}
.fq-ic::before{top:8px;left:0;width:18px;height:2px}
.fq-ic::after{top:0;left:8px;width:2px;height:18px}
.fq-item.open .fq-ic::after{transform:rotate(90deg);opacity:0}
.fq-a{max-height:0;overflow:hidden;transition:max-height .5s ease}
.fq-a div{padding:0 6px 24px 62px;color:var(--sub);font-size:14.5px}
.fq-item.open .fq-a{max-height:360px}

/* 引用（お客様の声・顧問医師） */
.quote{background:#fff;border:1px solid var(--line);border-radius:8px;padding:34px 30px;position:relative}
.section.alt .quote{background:#fff}
.quote .qm{font-family:var(--serif);font-size:2rem;color:var(--gold-l);line-height:.6}
.quote p{font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin:6px 0 14px;line-height:1.8}
.quote .who{font-size:.82rem;color:var(--note);font-weight:700;border-top:1px solid var(--line);padding-top:12px}

/* フォーム（お問い合わせ・お試し） */
.formcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:36px}
.formrow{margin-bottom:18px}
.formrow label{display:block;font-size:.88rem;font-weight:700;color:var(--teal-ink);margin-bottom:6px}
.formrow label .req{color:var(--gold);font-size:.72rem;margin-left:6px}
.formrow input,.formrow textarea,.formrow select{width:100%;border:1px solid var(--line);border-radius:4px;padding:12px 14px;font-family:inherit;font-size:.95rem;background:#fbfaf6}
.formrow textarea{min-height:120px;resize:vertical}
.form-note{font-size:.78rem;color:var(--note);margin-top:8px}

/* 同意ゲート（最下部までスクロールしないと同意チェックができない） */
.agree{margin:28px 0 22px;border:1px solid var(--line);border-radius:6px;background:#fbfaf6;overflow:hidden}
.agree-h{background:var(--teal-ink);color:#fff;font-size:.9rem;font-weight:700;padding:13px 18px;letter-spacing:.02em}
.agree-box{height:340px;overflow-y:auto;padding:22px 20px;background:#fff;font-size:.82rem;line-height:1.95;color:var(--sub);-webkit-overflow-scrolling:touch;scroll-behavior:auto}
.agree-box:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.agree-box h4{font-family:var(--serif);font-size:1rem;color:var(--tx-d);margin:26px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.agree-box h4:first-child{margin-top:0}
.agree-box h5{font-size:.84rem;color:var(--teal-ink);margin:16px 0 2px}
.agree-box p{margin-bottom:6px}
.agree-box .ag-addr{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);color:var(--muted)}
.agree-hint{font-size:.78rem;color:var(--gold-d);font-weight:700;padding:12px 18px 0;margin:0}
.agree.read .agree-hint{color:var(--tx)}
.agree-label{display:flex;align-items:flex-start;gap:10px;padding:12px 18px 18px;font-size:.88rem;font-weight:700;color:var(--teal-ink);cursor:pointer}
.agree-label input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--teal)}
.agree-label input:disabled{cursor:not-allowed}
.agree:not(.read) .agree-label{color:var(--note);cursor:not-allowed}
.agree-submit:disabled{background:#d8d5cb;color:#8d8d8d;box-shadow:none;cursor:not-allowed;transform:none}
.agree-submit:disabled:hover{background:#d8d5cb;color:#8d8d8d;transform:none}
@media(max-width:600px){.agree-box{height:300px;padding:18px 15px}}

/* CTA帯 */
.cta-band{position:relative;background:linear-gradient(120deg,var(--teal-ink) 0%,var(--tx) 52%,#12959e 100%);color:#fff;text-align:center;padding:92px 0;overflow:hidden}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.5;font-weight:700;margin-bottom:16px}
.cta-band p{color:rgba(255,255,255,.85);max-width:36em;margin:0 auto 26px}
.cta-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
footer{background:var(--tiffany);color:var(--on-tiff);font-size:.84rem;padding:56px 0 40px}
footer .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:22px;margin-bottom:26px}
footer .brand{color:var(--on-tiff);text-decoration:none}
footer nav a{color:var(--on-tiff);text-decoration:none;margin-right:20px;line-height:2.4;white-space:nowrap;display:inline-block}
footer nav a:hover{color:var(--gold-on-tiff);text-decoration:underline;text-underline-offset:4px}
footer .top small{color:var(--on-tiff-sub)!important}
footer .legal{border-top:1px solid rgba(4,52,58,.24);padding-top:20px;font-size:.74rem;color:var(--on-tiff-sub);line-height:1.9}

/* 製品ラインナップ ギャラリー（5機種の実写・トップと共通） */
.lu-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:6px 0 8px}
.lu-card{position:relative;background:linear-gradient(180deg,#fff,var(--sand));border:1px solid var(--line);border-radius:12px;padding:16px 14px 18px;text-align:center;transition:.25s}
.lu-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px -26px rgba(7,49,58,.5);border-color:var(--cyan)}
.lu-card img{width:100%;height:150px;object-fit:contain;margin:0 auto}
.lu-card figcaption{margin-top:10px;font-size:.78rem;color:var(--sub);font-weight:600}
.lu-card.hero{border-color:var(--gold);box-shadow:0 22px 44px -26px rgba(191,145,0,.45)}
.lu-card .lu-badge{position:absolute;top:10px;left:10px;background:var(--gold);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:99px}
@media(max-width:820px){.lu-gallery{grid-template-columns:repeat(2,1fr);gap:12px}.lu-card img{height:180px}}

/* 3列比較表（自社ハイライト・トップと共通） */
.cmp-wrap{overflow-x:auto;border-radius:12px;box-shadow:0 30px 60px -40px rgba(7,49,58,.5)}
table.cmp{width:100%;border-collapse:collapse;min-width:640px;font-size:.94rem;background:#fff}
table.cmp th,table.cmp td{padding:18px;text-align:center;border-bottom:1px solid var(--line)}
table.cmp thead th{font-size:.86rem;font-weight:700;color:var(--muted);background:var(--sand);border-bottom:2px solid var(--line)}
table.cmp thead th.me{color:#fff;background:var(--tx);border-bottom:2px solid var(--gold);font-family:var(--serif);font-size:1.02rem}
table.cmp tbody th{text-align:left;font-family:var(--serif);font-weight:700;color:var(--teal-ink);background:#fbfaf6}
table.cmp td.me{background:var(--teal-l);font-weight:700;color:var(--teal-ink)}
table.cmp td.me .big{font-family:var(--serif);font-size:1.24rem;color:var(--tx-d)}
table.cmp tr:last-child td,table.cmp tr:last-child th{border-bottom:0}

/* reveal（JSありのみ／無JSは全表示） */
html.j .reveal{opacity:0;transform:translateY(22px)}
html.j .reveal.in{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){html.j .reveal{opacity:1;transform:none}}

/* ===== 商品詳細ページ（product-detail・全機種共通） ===== */
.pd-hero{padding:34px 0 64px}
.crumb2{font-size:.82rem;color:var(--muted);margin-bottom:22px}
.crumb2 a{color:var(--tx);text-decoration:none}
.pd-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center}
.pd-media{position:relative;background:linear-gradient(180deg,#fff,var(--sand));border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center}
.pd-media img{max-height:430px;width:auto;margin:0 auto;object-fit:contain}
.pd-badge{position:absolute;top:16px;left:16px;background:var(--gold);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:6px 14px;border-radius:99px}
.pd-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx);font-weight:700}
.pd-name{font-family:var(--serif);font-weight:800;font-size:clamp(30px,4.6vw,50px);color:var(--teal-ink);line-height:1.08;margin:8px 0 6px}
.pd-sub{color:var(--sub);font-size:1.02rem;margin-bottom:20px}
.pd-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.pd-chip{background:var(--teal-l);color:var(--tx-d);border-radius:8px;padding:9px 15px;font-size:.86rem;font-weight:700}
.pd-chip b{font-family:var(--serif);font-size:1.15em;margin-right:2px}
.pd-price{background:#fbfaf6;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:18px 20px;margin-bottom:22px}
.pd-price .pl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.pd-price .pv{font-family:var(--serif);font-weight:700;font-size:1.28rem;color:var(--teal-ink);margin-top:4px}
.pd-price .pn{font-size:.8rem;color:var(--note);margin-top:6px}
.pd-cta{display:flex;flex-wrap:wrap;gap:12px}
.spec2{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.spec2 th,.spec2 td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}
.spec2 tr:last-child th,.spec2 tr:last-child td{border-bottom:0}
.spec2 th{font-family:var(--serif);color:var(--teal-ink);font-weight:700;width:40%;background:#fbfaf6}
.pd-related{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pd-rcard{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 14px;text-align:center;transition:transform .2s,border-color .2s}
.pd-rcard:hover{border-color:var(--cyan);transform:translateY(-3px)}
.pd-rcard.now{border-color:var(--gold);background:var(--sand)}
.pd-rcard img{height:100px;width:auto;object-fit:contain;margin:0 auto 8px}
.pd-rcard .rn{font-family:var(--serif);font-weight:700;color:var(--teal-ink);font-size:.95rem}
.pd-rcard .rs{font-size:.76rem;color:var(--muted);margin-top:2px}
/* !important は、商品ページ側のインライン grid-template-columns（3列固定）を
   スマホで上書きするために必要。外すと390px幅で横スクロールが発生する（2026-08-03 修正）。 */
@media(max-width:860px){.pd-grid{grid-template-columns:1fr;gap:28px}.pd-media img{max-height:300px}.pd-related{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:430px){.pd-related{gap:10px}.pd-rcard{padding:12px 8px}.pd-rcard img{height:80px}.pd-rcard .rn{font-size:.9rem}}

/* ==========================================================================
   スマートフォンの可読性（2026-08-03 打ち合わせ反映）
   年配の方が読みやすいよう、スマホ表示の文字を一段大きくする。
   rem 指定が中心のため、ルートのフォントサイズを上げて全体を底上げする。
   ========================================================================== */
@media(max-width:600px){
  html{font-size:17.5px}
  body{font-size:1rem;line-height:1.9}
  .lead{font-size:1.08rem;line-height:1.95}
  .note{font-size:.92rem;line-height:1.85}
  .eyebrow{font-size:12.5px;letter-spacing:.22em}
  .btn{font-size:1.02rem;padding:17px 26px}
  table{font-size:.96rem}
}
@media(max-width:400px){
  html{font-size:17px}
}

/* ===== お知らせ・ブログ（記事一覧／記事本文） 2026-08-03 追加 =====
   投稿ページは front-page ではないので _shared.css / _shared.js が読まれる。
   記事側の見出し・本文は .entry 配下で完結させること（固定ページの h2/h3 を汚さない）。 */
.jr-tools{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.jr-chip{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--tx-d);text-decoration:none;font-weight:700;font-size:.82rem;padding:9px 17px;border-radius:99px;min-height:40px;line-height:1.5}
.jr-chip:hover{background:var(--tiff-pale);border-color:var(--tiff-l)}
.jr-chip.on{background:var(--tiffany);border-color:var(--tiffany);color:#04343a}

.jr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.jr-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .25s,transform .25s}
.jr-card:hover{box-shadow:0 22px 44px -30px rgba(14,82,96,.45);transform:translateY(-3px)}
.jr-thumb{display:block;aspect-ratio:3/2;background:#fff;overflow:hidden}
.jr-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.jr-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.jr-meta{display:flex;align-items:center;gap:10px;margin-bottom:11px;flex-wrap:wrap}
.jr-cat{background:var(--tiff-pale);color:var(--tx-d);font-weight:700;font-size:.72rem;letter-spacing:.06em;padding:4px 10px;border-radius:4px}
.jr-meta time{font-family:var(--mono);font-size:.76rem;color:var(--note)}
.jr-title{font-family:var(--serif);font-size:1.06rem;line-height:1.62;font-weight:700;margin:0 0 10px}
.jr-title a{color:var(--teal-ink);text-decoration:none}
.jr-title a:hover{color:var(--tx)}
.jr-ex{font-size:.88rem;line-height:1.88;color:var(--sub);margin:0 0 16px}
.jr-more{margin-top:auto;font-weight:700;font-size:.82rem;color:var(--tx)}
.jr-more::after{content:"→";margin-left:.4em}

/* 一覧の先頭記事だけ大きく見せる */
.jr-lead{display:grid;grid-template-columns:1.12fr 1fr;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:34px}
.jr-lead .jr-thumb{aspect-ratio:3/2;height:auto;min-height:0;align-self:center}
.jr-lead .jr-body{padding:38px 38px 34px;justify-content:center}
.jr-lead .jr-title{font-size:1.5rem}
.jr-lead .jr-ex{font-size:.94rem}
@media(max-width:860px){.jr-lead{grid-template-columns:1fr}.jr-lead .jr-thumb{min-height:0;aspect-ratio:3/2}.jr-lead .jr-body{padding:26px 22px 28px}.jr-lead .jr-title{font-size:1.22rem}}
@media(max-width:960px){.jr-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:600px){.jr-grid{grid-template-columns:1fr}}

/* ページ送り */
.jr-pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:52px}
.jr-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--tx-d);text-decoration:none;font-weight:700;border-radius:8px}
.jr-pager .page-numbers.current{background:var(--tiffany);border-color:var(--tiffany);color:#04343a}
.jr-pager .page-numbers:hover{background:var(--tiff-pale)}

/* 記事ページ：本文＋右の案内 */
.jr-wrap{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:52px;align-items:start}
@media(max-width:1080px){.jr-wrap{grid-template-columns:1fr;gap:44px}}
.jr-article{max-width:100%;min-width:0}
.jr-side{position:sticky;top:104px}
@media(max-width:1080px){.jr-side{position:static}}

/* 記事本文の組み */
.entry{font-size:1.02rem;line-height:2.05;color:var(--ink)}
.entry > *:first-child{margin-top:0}
.entry p{margin:0 0 1.7em}
.entry h2{font-family:var(--serif);font-size:1.42rem;line-height:1.55;font-weight:700;color:var(--teal-ink);margin:2.6em 0 .9em;padding:0 0 .5em;border-bottom:2px solid var(--tiff-l)}
.entry h3{font-family:var(--serif);font-size:1.16rem;line-height:1.6;font-weight:700;color:var(--tx-d);margin:2.2em 0 .7em;padding-left:.7em;border-left:4px solid var(--tiffany)}
.entry h4{font-size:1.04rem;font-weight:700;color:var(--teal-ink);margin:1.9em 0 .6em}
.entry img{max-width:100%;height:auto;border-radius:12px;display:block;margin:1.6em auto}
.entry figure{margin:1.8em 0}
.entry figcaption{font-size:.82rem;color:var(--note);text-align:center;margin-top:.7em}
.entry ul,.entry ol{margin:0 0 1.7em;padding-left:1.4em}
.entry li{margin-bottom:.6em}
.entry ul li::marker{color:var(--tiffany)}
.entry a{color:var(--tx);font-weight:700}
.entry blockquote{margin:1.8em 0;padding:20px 24px;background:var(--tiff-pale);border-left:4px solid var(--tiffany);border-radius:0 10px 10px 0;color:var(--sub)}
.entry blockquote p:last-child{margin-bottom:0}
.entry strong{font-weight:700;color:var(--teal-ink)}
.entry table{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:.94rem}
.entry th,.entry td{border:1px solid var(--line);padding:12px 14px}
.entry th{background:var(--tiff-pale);color:var(--teal-ink)}
.entry hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
.entry iframe,.entry video{max-width:100%;border-radius:12px}

/* 記事ヘッダー */
.jr-head{margin-bottom:34px}
.jr-head h1{font-family:var(--serif);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.55;font-weight:700;color:var(--teal-ink);margin:12px 0 16px}
.jr-head .jr-meta{margin-bottom:0}
.jr-hero-img{margin:0 0 36px;border-radius:16px;overflow:hidden;background:var(--sand)}
.jr-hero-img img{width:100%;height:auto;display:block}

/* 記事内の案内（宣伝）— 読み終わりに置く */
.jr-promo{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.jr-promo .ph{background:linear-gradient(180deg,#fff,var(--sand));padding:18px;text-align:center}
.jr-promo .ph img{width:auto;max-height:190px;margin:0 auto;display:block}
.jr-promo .bd{padding:22px 22px 24px}
.jr-promo .lb{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx);font-weight:700}
.jr-promo h3{font-family:var(--serif);font-size:1.24rem;color:var(--teal-ink);margin:8px 0 6px}
.jr-promo .pr{font-family:var(--serif);font-weight:700;color:var(--tx-d);font-size:1.1rem;margin-bottom:8px}
.jr-promo p{font-size:.86rem;line-height:1.85;color:var(--sub);margin:0 0 16px}
.jr-promo .btn{width:100%;justify-content:center;margin-bottom:9px}
.jr-promo .btn:last-child{margin-bottom:0}
.jr-side-note{font-size:.78rem;color:var(--note);line-height:1.8;margin-top:14px}

.jr-inline{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;background:var(--tiff-pale);border:1px solid var(--tiff-l);border-radius:16px;padding:24px;margin:44px 0 0}
.jr-inline img{width:100%;height:auto;display:block}
.jr-inline h3{font-family:var(--serif);font-size:1.2rem;color:var(--teal-ink);margin:0 0 8px}
.jr-inline p{font-size:.9rem;line-height:1.85;color:var(--sub);margin:0 0 14px}
.jr-inline .btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.jr-inline{grid-template-columns:1fr;text-align:center}.jr-inline img{max-width:180px;margin:0 auto}.jr-inline .btns{justify-content:center}}

.jr-navlinks{display:flex;justify-content:space-between;gap:16px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);font-size:.88rem}
.jr-navlinks a{color:var(--tx);font-weight:700;text-decoration:none;max-width:46%}
.jr-navlinks span{color:var(--note)}

/* 移行してきた記事の中の指定を、このサイトの見え方に合わせる（2026-08-03）
   元サイトの本文には span style="color:#ffcc00" 等が直に入っていて、白地だと読めない。
   色は見出し階層で表現するので、本文中の色指定は打ち消す。 */
.entry [style*="color"]{color:inherit !important}
.entry h1{font-family:var(--serif);font-size:1.42rem;line-height:1.55;font-weight:700;color:var(--teal-ink);margin:2.6em 0 .9em;padding:0 0 .5em;border-bottom:2px solid var(--tiff-l)}
.entry .wp-caption{width:auto !important;max-width:100%}
.entry .wp-caption-text,.entry figcaption{font-size:.82rem;color:var(--note);text-align:center;margin-top:.7em}
.entry iframe{width:100%;aspect-ratio:16/9;height:auto;display:block;margin:1.8em 0}
.entry img[width],.entry img[height]{width:auto;height:auto;max-width:100%}

/* 本文中の長いURLリンクが幅を押し広げてスマホで6px横にはみ出していた（2026-08-03 実測・修正） */
.entry{overflow-wrap:break-word}
.entry a{overflow-wrap:anywhere;word-break:break-word}

/* 落ち着いた第2ボタン。既存の .btn.line は LINE の緑(#06c755)なので、
   LINE と関係ないリンクにはこちらを使う（2026-08-03 追加）。 */
.btn.outline{background:#fff;color:var(--tx-d);border:1.5px solid var(--tiff-l);box-shadow:none}
.btn.outline:hover{background:var(--tiff-pale);color:var(--teal-ink);border-color:var(--tiffany)}

/* 執筆者（記事タイトル下の署名と、記事末尾のプロフィール） 2026-08-03 */
.jr-byline{display:flex;align-items:center;gap:11px;margin-top:18px}
.jr-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--line);background:#fff;flex:none}
.jr-byline span{display:flex;flex-direction:column;line-height:1.5}
.jr-byline b{font-size:.9rem;color:var(--teal-ink);font-weight:700}
.jr-byline small{font-size:.76rem;color:var(--muted)}
.jr-author{display:grid;grid-template-columns:104px minmax(0,1fr);gap:22px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin:44px 0 0}
.jr-author .au-ph{width:104px;height:104px;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--line);background:#fff}
.jr-author .au-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:700;margin:0 0 8px}
.jr-author .au-nm{font-family:var(--serif);font-size:1.18rem;font-weight:700;color:var(--teal-ink);margin:0 0 12px;line-height:1.5}
.jr-author .au-nm span{display:block;font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--tx);margin-top:4px;letter-spacing:.02em}
.jr-author .au-bio{font-size:.9rem;line-height:1.95;color:var(--sub);margin:0}
.jr-author .au-bio .nw{white-space:nowrap}
.jr-author .au-more{display:inline-block;margin-top:14px;font-size:.84rem;font-weight:700;color:var(--tx);text-decoration:none;border-bottom:1px solid var(--tiff-l);padding-bottom:2px}
.jr-author .au-more:hover{color:var(--tx-d);border-color:var(--teal)}
@media(max-width:600px){
  .jr-author{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px;padding:26px 20px}
  .jr-author .au-bio{text-align:left}
  .jr-author .au-nm{margin-bottom:10px}
}

/* 2026-09-14: 共通の面色をティファニーブルー系に統一 */
:root{--tiffany:#81d8d0;--tiffany-rgb:129,216,208;--cyan-br:#087680;--teal-d:#66c8c1;--teal-l:#e9f9f7;--on-tiff:#123e44;--on-tiff-sub:#28555b;--gold-on-tiff:#725700}
.nav .btn,.nav .btn:hover{background:#fff;color:var(--on-tiff);border-color:rgba(18,62,68,.22);box-shadow:0 6px 16px -10px rgba(4,52,58,.8)}
.btn.line,.btn.line:hover{background:var(--tiffany);color:var(--on-tiff)}
.skip-link,.draftbar,.agree-h{background:var(--tiffany);color:var(--on-tiff)}
.draftbar b{color:var(--gold-on-tiff)}
.mobile-menu{background:linear-gradient(145deg,#dff7f3,var(--tiffany))}
.mobile-menu .mm-label,.mobile-menu .mm-inner>a,.mobile-menu .mm-sub a,.mobile-menu .mm-mega-m__tg,.mobile-menu .mm-mega-m__all,.mobile-menu .mm-mega-m__lb,.mobile-menu .mm-mega-m__it,.mobile-menu .mm-mega-m__it b,.mobile-menu .mm-mega-m__it small{color:var(--on-tiff)}
.mobile-menu .mm-inner>a,.mobile-menu .mm-mega-m{border-color:rgba(18,62,68,.2)}
.mobile-menu a:hover,.mobile-menu button:hover{color:var(--on-tiff-sub)}
.mobile-menu .mm-mega-m__it:hover{background:rgba(255,255,255,.6)}
.page-hero,.cta-band{background:linear-gradient(120deg,var(--tiffany),#bcece6);color:var(--on-tiff)}
.page-hero .ph-scrim{background:linear-gradient(120deg,rgba(129,216,208,.95),rgba(188,236,230,.88))}
.page-hero .crumb,.page-hero .crumb a,.page-hero .crumb a:hover,.page-hero .eyebrow,.page-hero .ph-lead,.cta-band p{color:var(--on-tiff-sub)}
.page-hero .eyebrow::before{background:var(--on-tiff-sub)}
.cta-band .btn.ghost{color:var(--on-tiff);border-color:var(--on-tiff-sub)}
.auth,.s-paths{background:var(--tiffany);color:var(--on-tiff)}
.auth .it{border-color:rgba(18,62,68,.2)}
.auth .it b,.s-paths .eyebrow,.s-paths .sec-h2,.s-paths .sec-h2 .mk,.s-paths .pt-head p{color:var(--on-tiff)}
.s-paths .eyebrow::before{background:var(--on-tiff-sub)}
.pt-card{background:rgba(255,255,255,.8);border-color:rgba(18,62,68,.16)}
.pt-card:hover{background:#fff}
.pt-card .no{color:var(--gold-on-tiff)}
.pt-card h3,.pt-card .pr,.pt-card .pr small,.pt-card p,.pt-card .go,.pt-card .go:hover{color:var(--on-tiff)}
.pt-card .go{border-color:rgba(18,62,68,.2)}
.s-lead{background:linear-gradient(130deg,var(--tiffany),#d9f4f0)}
.s-lead .ld-scrim{background:linear-gradient(100deg,#bdece6 0%,rgba(189,236,230,.97) 35%,rgba(189,236,230,.84) 65%,rgba(189,236,230,.65))}
.s-lead .wrap,.s-lead .ld-eyebrow,.s-lead h2 .hl,.s-lead .ld-sub,.s-lead .ld-cue{color:var(--on-tiff)}
.s-lead .ld-wm{color:rgba(18,62,68,.04)}
.s-lead .ld-eyebrow::before,.s-lead .ld-cue::before{background:var(--gold-on-tiff)}
.s-lead h2 .hl{background:linear-gradient(transparent 75%,rgba(114,87,0,.16) 75%)}
.life-scrim{background:linear-gradient(95deg,rgba(205,241,235,.98),rgba(205,241,235,.92) 45%,rgba(205,241,235,.32))}
.life .wrap,.life p,.life .eyebrow{color:var(--on-tiff)}
.life .btn.ghost{color:var(--on-tiff);border-color:var(--on-tiff-sub)}
.s-cta{background:var(--tiffany);color:var(--on-tiff)}
.ct-overlay{background:linear-gradient(180deg,rgba(188,236,230,.92),rgba(188,236,230,.93) 50%,rgba(129,216,208,.96))}
.ct-eyebrow,.s-cta h2 .mk{color:var(--gold-on-tiff)}
.ct-eyebrow::before,.ct-eyebrow::after{background:var(--gold-on-tiff)}
.ct-lead,.ct-sub{color:var(--on-tiff-sub)}
.ct-btn.ghost{color:var(--on-tiff);border-color:var(--on-tiff-sub)}
.ct-btn.ghost:hover{background:rgba(255,255,255,.5)}
.mg-portrait .ph{background:linear-gradient(145deg,#e8f8f5,var(--tiffany))}
.mg-portrait .cap,.vc-feat .ph .cap{color:var(--on-tiff);background:rgba(221,246,241,.94)}
table.cmp thead th.me{background:var(--tiffany);color:var(--on-tiff)}
@media(max-width:820px){.s-lead .ld-scrim,.life-scrim{background:linear-gradient(180deg,rgba(189,236,230,.94),rgba(189,236,230,.97))}}
.safety-cannula{aspect-ratio:4/3}
.safety-cannula img{object-fit:contain}

/* 2026-09-14 組版検品：元の構図・段組みを維持して語中分断を防ぐ */
.mm-keep{display:inline-block;max-width:100%;word-break:keep-all;overflow-wrap:anywhere;line-break:strict;text-wrap:wrap}
.ph-lead{text-wrap:pretty}
.jr-author .au-bd{min-width:0;max-width:100%}
.jr-author .au-bio .nw{display:inline-block;max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
#trial-form,#company{scroll-margin-top:90px}
.nav:has(.nav-toggle.open){z-index:100}
@media(min-width:961px) and (max-width:1040px){.mobile-menu{display:block}}
@media(max-width:600px){
  .jr-author{grid-template-columns:minmax(0,1fr)}
  .as-card{padding-left:16px;padding-right:16px}
  .hero .btn{padding-left:16px;padding-right:16px;white-space:nowrap;letter-spacing:0}
  .mm-compare-title{font-size:clamp(21px,6.5vw,28px)}
  .jr-inline .btn{padding-left:14px;padding-right:14px;letter-spacing:0}
  body .woocommerce ul.products li.product .sp-btn a.button,body.woocommerce ul.products li.product .sp-btn a.button{font-size:clamp(10px,3.2vw,12px);padding-left:4px;padding-right:4px;letter-spacing:0;white-space:nowrap}
}
@media(max-width:360px){
  .as-card h3{font-size:14px}
  .hero .btn{font-size:14px;padding-left:12px;padding-right:12px}
}

