/* 錦糸町のサービス・料金ページ専用。店舗トップは案内リンクだけに適用。 */
.kinshicho-service { --accent:#88563F; --accent-light:#70452F; --text-light:#665C55; font-family:"Noto Sans JP",sans-serif; }
.kinshicho-service h1,.kinshicho-service h2,.kinshicho-service .logo { font-family:"Noto Serif JP",serif; }
.kinshicho-service .site-header { gap:16px; flex-wrap:wrap; }
.kinshicho-service .site-header nav { align-items:center; flex-wrap:wrap; }
.kinshicho-service .site-header nav a { min-height:44px; display:inline-flex; align-items:center; }
.kinshicho-service .site-header .header-book { padding:8px 18px; background:#88563F; color:white; border-radius:24px; }
.kinshicho-service .breadcrumb { max-width:960px; margin:24px auto 0; }
.kinshicho-service .breadcrumb a { display:inline-block; padding:6px 0; }
.kinshicho-service .layout { max-width:960px; margin:36px auto 64px; }
.kinshicho-service .article-head h1 { font-size:clamp(25px,3.6vw,36px); line-height:1.6; }
.kinshicho-service .article-head { margin-bottom:28px; }
.kinshicho-service .service-overview { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:32px; align-items:center; margin-bottom:36px; }
.kinshicho-service .service-overview.no-image { display:block; }
.kinshicho-service .service-overview p { margin-bottom:16px; font-size:16px; }
.kinshicho-service .article-hero { margin:0; border-radius:12px; overflow:hidden; background:#FAF7F4; }
.kinshicho-service .article-hero img { display:block; width:100%; height:auto; object-fit:contain; }
.kinshicho-service .article-body p,.kinshicho-service .article-body li,.kinshicho-service .faq dd { font-size:16px; }
.kinshicho-service .article-body h2 { margin-top:42px; }
.kinshicho-service .price-table { width:100%; border-collapse:collapse; margin:20px 0; font-size:16px; line-height:1.65; table-layout:fixed; }
.kinshicho-service .price-table caption { text-align:left; font-weight:600; margin-bottom:12px; }
.kinshicho-service .price-table th,.kinshicho-service .price-table td { border:1px solid #DED4CA; padding:16px 12px; text-align:left; overflow-wrap:anywhere; }
.kinshicho-service .price-table th { background:#FAF7F4; }
.kinshicho-service .all-menus th:first-child { width:36%; }
.kinshicho-service .price-highlight,.kinshicho-service .care-note { padding:20px; background:#FAF7F4; border-left:3px solid #88563F; }
.kinshicho-service .price-highlight p:last-child { margin-bottom:0; }
.kinshicho-service .salon-info { margin-top:48px; padding:0 24px 8px; border:1px solid #DED4CA; border-radius:12px; background:#FAF7F4; }
.kinshicho-service address { font-style:normal; }
.kinshicho-service .map-link { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; margin:4px 0 20px; }
.kinshicho-service .store-cta { margin-top:24px; }
.kinshicho-service .line-link { background:#08773A; color:#fff; }
.kinshicho-service .floating-cta .line-link { background:#08773A; box-shadow:0 8px 24px rgba(8,119,58,.2); }
.kinshicho-service a:focus-visible,.service-links a:focus-visible { outline:3px solid #88563F; outline-offset:4px; }
.service-links { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 28px; }
.service-links a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid #88563F; border-radius:8px; color:#70452F; background:white; font-family:"Noto Sans JP",sans-serif; font-size:15px; line-height:1.6; text-decoration:none; }
.service-links a:hover { background:#FAF7F4; }
.sec-menu .service-links { max-width:860px; margin:0 auto 24px; justify-content:center; }
.sec-menu .night-fee-note { max-width:860px; margin:24px auto 0; color:#6B5B4D; font-size:15px; line-height:1.8; }
@media(max-width:600px) {
 .kinshicho-service .site-header { padding:12px 16px; }
 .kinshicho-service .site-header nav { width:100%; justify-content:space-between; gap:10px; font-size:14px; }
 .kinshicho-service .layout { padding:0 18px; margin-top:24px; }
 .kinshicho-service .service-overview { grid-template-columns:1fr; gap:12px; }
 .kinshicho-service .article-hero { max-width:180px; justify-self:center; }
 .kinshicho-service .price-table { font-size:14px; }
 .kinshicho-service .price-table th,.kinshicho-service .price-table td { padding:12px 6px; }
 .kinshicho-service .all-menus th:first-child { width:31%; }
 .kinshicho-service .salon-info { padding:0 16px 8px; }
 .kinshicho-service .store-cta { gap:12px; }
 .kinshicho-service .floating-cta { bottom:max(10px,env(safe-area-inset-bottom)); }
 .service-links a { flex:1 1 140px; }
}

.kinshicho-service .keep-words { display:inline-block; }
@media(max-width:480px) {
 .kinshicho-service .all-menus { display:block; font-size:16px; }
 .kinshicho-service .all-menus caption { display:block; }
 .kinshicho-service .all-menus thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .kinshicho-service .all-menus tbody { display:grid; gap:16px; }
 .kinshicho-service .all-menus tr { display:grid; grid-template-columns:1fr 1fr; border:1px solid #DED4CA; border-radius:10px; overflow:hidden; }
 .kinshicho-service .all-menus th:first-child { grid-column:1 / -1; width:auto; padding:14px; border:0; }
 .kinshicho-service .all-menus td { display:block; border:0; padding:14px; }
 .kinshicho-service .all-menus td::before { content:attr(data-label); display:block; font-size:13px; color:#665C55; margin-bottom:4px; }
 .kinshicho-service .all-menus td:last-child { grid-column:1 / -1; padding-top:0; }
}
