/* 2026-10-11 読みやすさ・画像・操作の共通補正。各サイトの色と演出は引き継ぐ。 */
html{scroll-padding-top:110px}body{font-size:16px}
h1,h2,h3,h4,h5,h6,summary{word-break:auto-phrase;text-wrap:balance;overflow-wrap:break-word}
button,input,select,textarea{font-size:16px}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.z-readability{font-size:max(16px,var(--z-original-font,16px))!important;line-height:max(1.6,var(--z-original-leading,1.6))}
.z-heading-line{display:inline-block;max-width:100%;white-space:normal}
@media(max-width:767px){h1,h2,h3{max-width:100%}.z-fit-heading{font-size:clamp(28px,8.2vw,40px)!important;line-height:1.5!important;letter-spacing:0!important}.c-features__img{max-width:100%}.z-journal-page header .logo,.z-journal-page header .brand{min-width:0}}
@media(max-height:700px) and (min-width:901px){.z-low-hero{min-height:650px!important;height:auto!important}.z-low-hero h1{max-width:100%;font-size:clamp(38px,5vw,70px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.z-mobile-menu{display:none}.z-mobile-menu summary{cursor:pointer;min-height:44px;min-width:44px;padding:10px;border:1px solid currentColor;border-radius:999px;font-size:16px;background:var(--bg,#fff)}.z-mobile-menu nav{position:absolute;right:20px;top:100%;width:min(320px,calc(100vw - 40px));padding:16px;background:var(--bg,#fff);border:1px solid currentColor;z-index:100;box-shadow:0 10px 30px #0002}.z-mobile-menu nav a{display:block;padding:12px;font-size:16px;min-height:44px}.z-mobile-menu[open] summary{background:var(--paper,#fff)}@media(max-width:900px){.z-mobile-menu{display:block;margin-left:auto}}
.btns{min-width:0}.btns>a{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:break-word}@media(max-width:767px){.footer .fcta{grid-template-columns:1fr!important}.footer .fcta .btns{width:100%;justify-content:flex-start}}
.z-mobile-menu{position:relative;width:max-content}.z-mobile-menu nav{top:calc(100% + 12px);right:0}@media(max-width:900px){body>header.nav:has(.z-mobile-menu){display:flex;align-items:center;gap:16px}}
.z-mobile-menu{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:102}.z-mobile-menu nav{max-height:calc(100dvh - 160px);overflow:auto}.z-mobile-menu summary{background:var(--z-bg,#fff);color:var(--z-ink,#222)}@media(max-width:900px){body>header:has(.z-mobile-menu){padding-right:116px!important}}

body>header.z-nav-collapsed{padding-right:116px!important}body>header.z-nav-collapsed>.z-mobile-menu{display:block}
.z-mobile-menu nav a{float:none!important;position:static!important;border-radius:0!important;white-space:normal!important;max-width:100%;margin:0!important}
@media(max-width:767px){.z-privacy-heading{font-size:clamp(22px,6.2vw,28px)!important;line-height:1.6!important;letter-spacing:0!important}}
.z-drawer-close{display:block;align-self:flex-end;margin:12px 16px 0 auto;min-height:44px;padding:8px 16px;background:transparent;border:1px solid currentColor;color:inherit;cursor:pointer;position:relative;flex:none;font-size:16px}
.c-ov>.z-drawer-close{position:absolute;top:12px;right:12px;margin:0;z-index:2;color:var(--ivory,#fff)}
.c-menu>.z-drawer-close,.sp-menu>.z-drawer-close{position:absolute;top:12px;right:12px;margin:0;z-index:100;color:inherit}
body.z-journal-page>header.z-light-header{background:var(--z-bg,#fff);color:var(--z-ink,#222);border-bottom:1px solid var(--z-line,#ddd)}
body.z-journal-page>header.z-light-header .zhd__inner{mix-blend-mode:normal;color:var(--z-ink,#222)}
body.z-journal-page>header.z-light-header nav:not([class*="menu"]) a,body.z-journal-page>header.z-light-header .zhd__inner a{color:var(--z-ink,#222)}
body.z-journal-page>header.z-light-header :is(.hd-tel,.c-hd__tel,.c-header__tel) *{color:var(--z-ink,#222)}
body.z-journal-page>header.z-light-header :is(.zhd__burger,.c-hd__burger) span{background:var(--z-ink,#222)}
body.z-journal-page.is-locked{overflow:hidden}
/* 全画面メニューを、ぼかし・変形付きヘッダーの寸法から切り離す。 */
@media(max-width:900px){
 body.z-mobile-open>header,body.z-mobile-open>header :has(nav){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;transform:none!important;perspective:none!important;contain:none!important;will-change:auto!important;overflow:visible!important}
 body.z-mobile-open>header nav{height:100dvh!important;min-height:100dvh!important;max-height:none!important;width:100vw!important;max-width:none!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;justify-content:flex-start!important;top:0!important;left:0!important;right:0!important;bottom:0!important;overflow:auto!important;overscroll-behavior:contain;scroll-padding-top:88px}
 body.z-mobile-open>header nav{flex-wrap:nowrap!important}
 body.z-mobile-open.z-mobile-open>header nav{justify-content:flex-start!important;flex-wrap:nowrap!important}
 body.z-mobile-open>header nav a{flex-shrink:0!important}
 body.z-mobile-open>header nav ul{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;width:100%;margin:0;padding:0;gap:0}
 body.z-mobile-open>header nav li{width:100%;list-style:none}
 body.z-mobile-open>header .z-mobile-toggle{position:fixed!important;top:16px!important;right:16px!important;transform:none!important;z-index:10002!important}
}
.z-mobile-menu[open]>nav{display:block!important}
.z-mobile-panel{display:block!important;position:fixed!important;inset:auto 16px auto auto!important;top:var(--z-panel-top,80px)!important;width:min(320px,calc(100vw - 32px))!important;max-height:calc(100dvh - var(--z-panel-top,80px) - 16px)!important;box-sizing:border-box;padding:16px!important;margin:0!important;overflow:auto!important;overscroll-behavior:contain;background:var(--z-bg,#fff)!important;color:var(--z-ink,#222)!important;border:1px solid currentColor;box-shadow:0 10px 30px #0002;z-index:10030!important}
.z-mobile-panel a{display:block!important;float:none!important;position:static!important;inset:auto!important;transform:none!important;border-radius:0!important;white-space:normal!important;max-width:100%;margin:0!important;padding:12px!important;min-height:44px;font-size:16px!important;line-height:1.6!important;color:inherit!important;background:none!important}
@media(max-width:900px){
 body:has(:is(.dw,.c-drawer,.c-ov,#spnav,.sp-menu,.c-menu)[aria-hidden="false"]){overflow:hidden}
 :is(.dw,.c-drawer,.c-ov,#spnav,.sp-menu,.c-menu)[aria-hidden="false"]{z-index:10020!important}
 :is(.dw,.c-drawer,.c-ov,#spnav,.sp-menu,.c-menu)[aria-hidden="false"]>.z-drawer-close{position:fixed;top:16px;right:16px;z-index:3;margin:0;background:var(--paper,var(--ivory,#fff));color:var(--ink,#222)}
 body.is-menu-open:has(>header .menu-toggle){overflow:hidden}
 body.is-menu-open>header .site-nav{max-height:calc(100dvh - var(--z-menu-top,68px));overflow-y:auto;overscroll-behavior:contain}
}
/* 2026-10-11 追加：短い文言（見出し・ボタン・ラベル）は文節の切れ目だけで折る。iPhoneでも語の途中で折れない。印は zphrase.py が入れる */
[data-zp]{word-break:keep-all!important;overflow-wrap:break-word;line-break:strict}
.znb{white-space:nowrap}
p,li,dd,td{line-break:strict;text-wrap:pretty}
/* 手で改行を整えるための部品：z-nw＝この範囲は折らない／z-br-sp＝スマホだけ改行／z-br-pc＝PCだけ改行 */
.z-nw{white-space:nowrap}
.z-br-sp{display:none}
@media(max-width:767px){.z-br-sp{display:inline}.z-br-pc{display:none}}
/* zp-nested：data-zp の箱の中にある、印の無い別のブロック（長い段落など）には keep-all を引き継がせない。
   強さは0（:where）。サイト側・補正側の指定があれば、そちらが勝つ */
:where([data-zp]) :where(p,div,li,dd,dt,td,th,section,article,aside,figure,figcaption,blockquote,h1,h2,h3,h4,h5,h6,summary,details,button,form,address):where(:not([data-zp])){word-break:normal}
/* 値段の「円」は数字より小さく見せる（内田さんの決め・2026-10-07）。印は zyen.py が入れる。小さな文字の中でも10pxより小さくしない */
.z-yen{display:inline!important;font-size:max(.7em,10px);font-weight:inherit;letter-spacing:0;margin-left:.06em;white-space:nowrap;position:static!important;transform:none!important}

/* 実画面で確認したサイト固有の補正 */
@media(max-width:767px){.hero h1 .sheen{background:none;-webkit-text-fill-color:#806023;color:#806023;filter:none;text-shadow:none}}@media(max-width:767px){.c-flow__cols{grid-template-columns:minmax(0,1fr)}.c-flow__cols>*{min-width:0}.c-flow__ring{width:min(300px,calc(100% - 54px));height:auto;aspect-ratio:1}}@media(max-width:767px){.hero-ripplehint{display:none}}@media(max-width:420px){body>header .hd-cta:not(.z-mobile-menu *){display:none}body>header .hd-bar__brand{flex:0 0 auto}body>header .hd-bar__brand img{width:110px;height:auto}}@media(min-width:768px){.hero h1>span{white-space:normal!important}}@media(min-width:768px) and (max-height:740px){.hero h1{font-size:48px}}@media(max-width:900px){body.z-mobile-open>header,body.z-mobile-open>header :has(nav){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;transform:none!important;perspective:none!important;contain:none!important;will-change:auto!important}body.z-mobile-open>header nav{height:100dvh!important;width:100vw!important;max-width:none!important;min-height:100dvh;box-sizing:border-box;justify-content:flex-start!important;top:0!important;left:0!important;right:0!important;bottom:0!important;overflow:auto!important}}.c-reasons__band{padding-right:104px;min-height:50px;overflow:visible;margin-top:14px;margin-bottom:12px}.c-reasons__band .bn{top:50%;right:10px;transform:translateY(-50%);font-size:64px;line-height:1.2;white-space:nowrap;color:rgba(255,255,255,.22);-webkit-text-stroke:1.5px var(--gold-deep);text-shadow:none;pointer-events:none}.c-reasons__row:nth-child(even) .c-reasons__band{padding-left:104px;padding-right:22px}.c-reasons__row:nth-child(even) .c-reasons__band .bn{left:10px;right:auto}

/* 2026-10-11 追加の補正（local/sample17.css） */
/* sample17 ぞろ屋美容クリニック：サイト担当の補正（2026-10-11） */

/* 0. 「折らない範囲」（z-nw）：中に機械の折り返しの印（wbr）が入ると Chrome 系はそこで折れ、iPhone（WebKit）は
   範囲が次の行へ送られたとき直前の語を二重に描く。印を無効にし、範囲を箱にする。印だけ16pxに上がるのも止める */
.z-nw wbr{display:none}
.z-nw{display:inline-block;max-width:100%}
.znb.z-readability,.z-nw.z-readability{font-size:inherit!important;line-height:inherit!important}

/* 1. 金のボタン：金（#C9A24B）に白文字は明るさの比が2.4で読みにくかった。同じ金の濃い側へ寄せて比4.5にする
   （右上の予約・最初の画面・料金の下・下層ページ）。押したときはさらに濃く */
.btn.gold,body>header .hd-cta,.c-price__cta a,.page-main .btn.primary{background:#93712B;border-color:#93712B;color:#fff}
.btn.gold:hover,body>header .hd-cta:hover,.c-price__cta a:hover,.page-main .btn.primary:hover{background:#806023;border-color:#806023}

/* 2. 最初の画面（PC）：金の見出しは光が流れる演出で、薄い金（#E0C588）の瞬間は白い背景と比1.6しかなかった。
   演出は残し、色の段を1つずつ濃くする。スマホは今朝の修正（#806023 の単色）のまま */
@media(min-width:768px){
 .hero h1 .sheen{background-image:linear-gradient(180deg,var(--gold) 0%,var(--gold-deep) 30%,#806023 50%,var(--gold-deep) 70%,var(--gold) 100%)}
}
/* 3. 最初の画面（幅1600px以上）：写真が大きくなり、見出し・本文・ボタンが患者さんの顔と体に重なっていた（1920×1080で実測）。
   文字の列を左へ寄せ、人物（画面の41%より右）にかからない位置に置く */
@media(min-width:1600px){
 .hero .inner{margin-left:max(60px,calc(41vw - 640px));margin-right:auto}
}

/* 4. ヘッダー：背景が少し透けていて、流れてきた見出しや本文がロゴの後ろに写り込んでいた → ほぼ不透明にし、iPhone の古い版でもぼかす */
body>header.site-header{background:rgba(250,247,244,.985);-webkit-backdrop-filter:blur(12px)}
/* 幅901〜980pxでは、メニューも三本線も出ていなかった → メニューを詰めて出す */
@media(min-width:901px) and (max-width:980px){
 body>header .hd-nav{display:flex;gap:14px}
 body>header .hd-nav a{font-size:13px;letter-spacing:0}
 body>header .hd-bar{gap:14px}
}
/* スマホのメニューに予約への入口を足した。PCは右上にボタンがあるので出さない */
.hd-nav .z-nav-cta{display:none}
@media(max-width:900px){
 body.z-mobile-open header nav a.z-nav-cta{margin-top:22px!important;border:0!important;border-radius:2px;background:#93712B!important;color:#fff!important;font-weight:700}
}
/* 上の帯の診療時間・医師の肩書き（説明の文字が11pxだった） */
body>header .hd-util__hours{font-size:12px}
.c-msg__meta .role{font-size:12px}

/* 5. 数字の3つめ：スマホの2列では1つだけ半分の幅に残り、文が4行に細かく折れていた → 横いっぱいに */
@media(max-width:560px){
 .c-craft__scell:nth-child(3){grid-column:1/-1}
}

/* 6. 最後の案内 */
@media(min-width:900px){
 /* PC：本文が「いただいて／構いません」と3行に割れていた → 2行に収まる幅へ */
 .c-cta__inner p.lead{max-width:38em}
}
@media(max-width:560px){
 /* ボタン2つの幅がばらばらだった → 同じ幅で縦に並べる */
 .c-cta__btns{flex-direction:column;align-items:stretch}
 .c-cta__btn{justify-content:center;padding:16px 18px}
}
@media(max-width:360px){
 /* 320px：見出しが「診るとこ／ろから」、ボタンが「空き状況を／聞く」と折れていた → 余白と文字を少し詰める */
 .c-cta__panel{padding:46px 18px}
 .c-cta__inner h2{font-size:25px}
}

/* 7. トップの読みもの：見出しだけゴシックになっていた（明朝の指定が届いていなかった）→ サイトの見出しと同じ明朝に */
.z-journal{--z-heading-font:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}
/* 読みもののリンク・分類・英字ラベル：灰色（#7a6f69）で本文と見分けにくかった → サイトの濃い金に */
.z-journal{--z-accent-text:#806023}

/* 8. 下層ページ（サービス・概要・FAQ・お問い合わせ・プライバシー） */
/* 英字のラベル：薄い金で読みにくかった */
.page-hero .eyebrow{color:#93712B}
.page-hero .eyebrow::before{background:#93712B}
/* 最後の帯：無彩色の黒（#222）で、すぐ下の茶のフッターと色が合っていなかった → トップの最後の案内と同じ茶〜金の流れに */
.zoroya-final{background:linear-gradient(120deg,#312B27 0%,#4E3F3C 58%,#8A6A25 135%)}
/* 2つめのボタン：1つめと同じ金のベタで、どちらが主か分からなかった → 白い枠のボタンに */
.zoroya-final .btn.light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.zoroya-final .btn.light:hover{background:rgba(255,255,255,.12)}
/* フッター：屋号が背景と同じ色で見えず、文字が画面の左端に付き、ページ一覧は灰色の丸に白文字で読めなかった */
body>footer.footer{border-top:1px solid rgba(255,255,255,.14)}
body>footer.footer .footer-inner{width:min(1120px,calc(100% - 56px))}
body>footer.footer .footer-inner strong{color:#fff}
body>footer.footer .wp-page-links{width:min(1120px,calc(100% - 56px));margin:26px auto 0;gap:8px}
body>footer.footer .wp-page-links a{display:inline-flex;background:transparent;border-color:rgba(255,255,255,.28);color:#F3ECE5;min-height:44px;padding:.55em 1.1em;opacity:1}
body>footer.footer .wp-page-links a:hover{border-color:#E0C588;color:#fff}

/* 9. 院内の写真の見出し（ラウンジ・施術室など）：11pxだった → 12pxに */
.c-gallery__track figcaption{font-size:12px}

/* 10. 英字用の書体（Space Grotesk）の予備が「等幅」になっていて、日本語が混じる札・説明・肩書きが、Windows では
   MS ゴシックで出ていた（PC幅の画面で実測）。日本語の予備をサイトのゴシックにする。英数字の見た目は変わらない */
.mono,
.eyebrow,
.hd-util__tel,
.hero-ripplehint,
.c-intro__num,
.c-intro__mark,
.c-intro__worry .ck,
.c-reasons__band .lab,
.c-reasons__vs,
.c-craft__eyebrow,
.c-msg__vlabel,
.c-msg__meta .role,
.c-msg__kicker,
.c-price__note .nt,
.c-flow__ctr span,
.c-faq__q .cat,
.c-cta__badge,
.footer h4,
.footer .nap .tel,
.znews .zn-eyebrow,
.znews .zn-date,
.znews .zn-cat,
.znews .zn-more a{font-family:"Space Grotesk","Zen Kaku Gothic New","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}

/* ===== 2026-10-11 午後：追加の仕上げ ===== */
/* 11. 予約フォーム（お問い合わせページ）：雛形の説明文の枠だった所に、入力欄の見本を置いた */
.zoroya-form-slot{border:1px solid rgba(49,43,39,.16)}
.z-form{display:grid;gap:18px;max-width:640px}
.z-form__row{display:grid;gap:6px;font-weight:700;font-size:15px;color:#312B27}
.z-form__row input,.z-form__row textarea{width:100%;box-sizing:border-box;font:inherit;font-weight:400;font-size:16px;line-height:1.6;padding:12px 14px;min-height:48px;border:1px solid rgba(49,43,39,.28);border-radius:4px;background:#fff;color:inherit}
.z-form .btn{justify-self:start;cursor:pointer;font:inherit;font-weight:700;font-size:16px}
.z-form__note{font-size:13px;line-height:1.7;color:#766960;margin:0}
/* 12. 下層ページ：幅901〜960pxでメニューも三本線も出ていなかった → メニューを出す */
@media(min-width:901px) and (max-width:960px){
 body>header .header-inner .nav{display:flex;gap:16px;font-size:13px}
}
/* 13. 320px：書体が直って字幅が広がり、最後の案内のボタンの「→」だけが次の行に落ちた → 左右の余白を詰める */
@media(max-width:360px){
 .c-cta .wrap{width:calc(100% - 32px)}
 .c-cta__panel{padding:46px 14px}
 .c-cta__btn{padding:16px 12px}
}
/* 14. 幅981〜1180px：メニューの項目が2行に折れ（「選ばれる／理由」「お客様の／声」）、右上のボタンも3行になっていた → 1行に収める */
@media(min-width:981px) and (max-width:1180px){
 .hd-bar{gap:14px}
 .hd-nav{gap:16px}
 .hd-nav a{font-size:13px;white-space:nowrap}
 .hd-cta{white-space:nowrap;padding:12px 16px}
}
/* 15. 検品：ヘッダーの後ろに流れてきた見出しの文字がうっすら写り込んでいた（iPhone・iPad 相当の画面）→ 背景を完全な不透明に */
body>header.site-header{background:#FAF7F4;-webkit-backdrop-filter:none;backdrop-filter:none}

/* Codex工程5 2026-10-12 ロゴ実像比率 */
.hd-bar__brand img{object-fit:contain;}

