/* 本体サイトの専門ページ専用。共有CSSを変更しない。 */
.specialist-update{padding:15px 20px;margin:0 0 26px;border:1px solid #e0d4bd;border-left:4px solid var(--gold);background:#f7f5f0;border-radius:4px;font-size:14px}
.specialist-update p{margin:6px 0}
.specialist-detail .page-title .small{color:var(--muted)}
.specialist-detail .page-content>section{margin:38px 0}
.specialist-detail .article-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 25px}
.specialist-detail .article-toc a{display:inline-block;padding:3px 0}
.article-note{padding:16px 20px;background:#f7f5f0;border-left:3px solid var(--gold);font-size:15px}
.article-definitions{border:1px solid var(--line);border-radius:5px;overflow:hidden;margin:22px 0}
.article-definitions dt{padding:11px 18px;background:var(--pale);font-weight:700;color:var(--navy)}
.article-definitions dd{margin:0;padding:15px 18px}
.article-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-table-wrap table{min-width:640px;font-size:15px}
.article-table-wrap caption{text-align:left;color:var(--navy);font-weight:700;padding-bottom:12px}
.article-table-wrap th{min-width:140px}
.specialist-faq{border:1px solid var(--line);border-radius:5px;margin:12px 0}
.specialist-faq summary{padding:16px 20px;font-weight:700;color:var(--navy);cursor:pointer;line-height:1.7}
.specialist-faq summary:hover,.specialist-faq[open] summary{background:var(--pale)}
.specialist-faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.specialist-faq[open] summary{border-bottom:1px solid var(--line)}
.specialist-faq p{padding:2px 20px 8px}
.specialist-detail .article-booking{padding:22px 28px;margin:32px 0;background:var(--pale);border-top:3px solid var(--gold);border-radius:5px}
.specialist-detail .article-booking h2{margin:0 0 14px;color:var(--navy);font-size:23px;line-height:1.5}
.specialist-detail .article-booking-button{display:inline-block;padding:13px 24px;background:var(--navy);color:white;border-radius:5px;text-decoration:none;font-weight:700;text-align:center}
.specialist-detail .article-booking-button:hover{background:#29466c}
.specialist-detail .article-booking-note{font-size:14px}
.specialist-detail .page-content [id]{scroll-margin-top:24px}
@media(max-width:680px){.specialist-detail .article-toc ol{grid-template-columns:1fr}.specialist-detail .article-booking{padding:20px}.specialist-detail .article-booking h2{font-size:21px}.specialist-detail .article-booking-button{display:block}.specialist-faq summary{padding:15px}.specialist-faq p{padding:0 15px 8px}.specialist-update{padding:14px 16px}.article-table-wrap table{font-size:14px}.specialist-detail{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))!important}.specialist-detail #bancho-all-pages-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}
@media print{.article-toc,.article-booking{display:none}.article-table-wrap{overflow:visible}.article-table-wrap table{min-width:0}.specialist-detail .page-content>section{break-inside:auto}.specialist-faq>p{display:block!important}.specialist-faq summary{list-style:none}}

.specialist-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.specialist-topic{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:var(--pale);text-decoration:none}.specialist-topic strong{display:block;color:var(--navy);line-height:1.6}.specialist-topic span{display:block;font-size:14px;line-height:1.8;color:var(--ink);margin-top:9px}.specialist-topic:hover{background:#e5ebf2}.specialist-legacy-anchors{height:0;overflow:hidden}.specialist-update a{overflow-wrap:anywhere}@media(max-width:680px){.specialist-topic-grid{grid-template-columns:1fr}}
