/* 診療案内専用。共通FV・ボタン・ナビゲーションには手を加えない。 */
body.treatment-page { min-width: 0; }
body.treatment-page > main.treatment-page { width: 100%; margin: 0; background: #fff; }
body.treatment-page .site-header { position: absolute; z-index: 5; top: 0; left: 0; width: 100%; }
.treatment-page__sections { padding-bottom: 120px; }
body.treatment-page .footer-navigation { overflow: hidden; }
.treatment-detail-cards { min-width:0; }
.treatment-menu { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 13px; width: min(1311px,calc(100% - 48px)); margin: -65px auto 0; padding: 20px; border-radius: 30px; background: #fff; }
.treatment-menu a { display: flex; align-items: center; justify-content: center; gap: 16px; width: calc((100% - 39px)/4); min-height: 80px; padding: 8px 20px; border-radius: 13px; background: #fdf9f3; font-size: 18px; font-weight: 500; transition: background-color .3s ease,box-shadow .3s ease; }
.treatment-menu a > img { width: 66px; height: 64px; object-fit: contain; flex: none; filter: url("../images/treatment-page/menu-transparency.svg#remove-matte"); }
.treatment-menu a > span:not(.button-icon) { flex: 1; text-align: center; }
.treatment-menu a .arrow-icon { color: #fe8f26; flex: none; transition: transform .3s ease; }
.treatment-menu a:is(:hover,:focus-visible) { background: #fff0e1; box-shadow: 0 3px 12px #54402f12; }
.treatment-menu a:is(:hover,:focus-visible) .arrow-icon { transform: translateX(6px); }
.treatment-section { position: relative; margin: 100px 0 0; padding: 15px 0 26px; scroll-margin-top: 24px; background: url('../images/treatment-page/decor-top-left.webp') left top / 125px 360px no-repeat, url('../images/treatment-page/decor-top-right.webp') right top / 126px 412px no-repeat, url('../images/treatment-page/decor-bottom-left.webp') left bottom / 114px 338px no-repeat,url('../images/treatment-page/decor-bottom-right.webp') right bottom / 114px 353px no-repeat; }
.treatment-section:first-child { margin-top: 0; padding-top: 62px; }
.treatment-section__inner { width: min(1282px,calc(100% - 48px)); margin-inline: auto; display: flex; flex-direction: column; gap: 40px; }
.treatment-page h2,.treatment-page h3,.treatment-page h4,.treatment-page h5 { font-weight: var(--font-weight-heading,500); }
.treatment-intro { display: grid; grid-template-columns: minmax(0,545fr) minmax(0,569fr); align-items: center; gap: 66px; width: min(1180px,100%); margin-inline: auto; }
.treatment-page .treatment-intro__english { color: #fe8f26; font-size: 20px; letter-spacing: 2.6px; margin: 0 0 8px; line-height: 29px; }
.treatment-intro__english::after { content:''; display:block; width:37px; height:1px; margin-top:14px; background:#fe8f26; }
.treatment-page .treatment-intro h2 { font-size:50px; line-height:1.44; margin:0 0 7px; text-wrap:balance; }
.treatment-page .treatment-intro__subtitle { font-size:20px; margin: -6px 0 15px; }
.treatment-page .treatment-intro__catch { font-size:20px; font-weight:500; line-height:1.45; margin:0 0 19px; }
.treatment-page .treatment-intro__body { font-size:18px; line-height:30px; margin:0; }
.treatment-intro__photo { display:block; width:100%; height:auto; aspect-ratio:569/318; object-fit:cover; border-radius:38px; }
.treatment-page .treatment-stages > h3,.treatment-page .treatment-detail-cards > h3 { margin:0; font-size:30px; line-height:43px; text-align:center; }
.treatment-stages { border-radius:10px; background:#fef7f0; padding:18px 29px 34px; }
.treatment-stages__list { list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:35px; margin:40px 0 0; padding:0; }
.treatment-stages__list > li { position:relative; min-width:0; text-align:center; }
.treatment-page .treatment-stages h4 { display:flex; align-items:center; justify-content:center; min-height:34px; width:max-content; max-width:100%; min-width:175px; padding:5px 10px; margin:0 auto 17px; border-radius:30px; background:#54402f; color:#fff; font-size:20px; line-height:24px; }
.treatment-stages__figure { height:93px; display:flex; justify-content:center; align-items:center; }
.treatment-stages__figure img { width:auto; height:auto; max-height:93px; max-width:150px; }
.treatment-stages__list > li:not(:last-child)::after { content:'›'; position:absolute; right:-26px; top:83px; color:#fe8f26; font-size:32px; line-height:1; }
.treatment-page .treatment-stages__list > li > p { min-height:48px; margin:11px -10px 0; font-size:16px; line-height:24px; }
.treatment-stages__care { position:relative; min-height:144px; margin-top:28px; padding:40px 16px 18px; border-radius:24px; background:#fff; }
.treatment-page .treatment-stages__care h5 { position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:108px; height:32px; border-radius:20px; background:#fee8cd; font-size:16px; line-height:32px; margin:0; }
.treatment-page .treatment-stages__care p { margin:0; font-size:16px; line-height:25px; }
.treatment-section--surgery .treatment-stages h4 { min-height:54px; }
.treatment-section--surgery .treatment-stages__list > li::after { display:none; }
.treatment-section--surgery .treatment-stages { padding-bottom:66px; }
.treatment-detail-cards__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; list-style:none; margin:30px auto 0; padding:0; }
.treatment-detail-cards--illustrations .treatment-detail-cards__grid { width:min(1210px,100%); }
.treatment-page .treatment-detail-cards__lead { margin:10px 0 0; font-size:18px; line-height:29px; text-align:center; }
.treatment-page .treatment-detail-cards__accent { display:flex; align-items:center; justify-content:center; gap:12px; font-size:30px; color:#fe8f26; margin:11px 0 0; line-height:30px; }
.treatment-detail-cards__accent::before,.treatment-detail-cards__accent::after { content:''; height:2px; width:35px; background:currentColor; }
.treatment-section--caries .treatment-detail-cards__grid { margin-top:20px; }
.treatment-detail-cards__item { min-width:0; border:1px solid #ffe2c9; box-shadow:0 0 3px #fe8f2615; border-radius:13px; padding:19px 20px 20px; background:#fff; }
.treatment-detail-cards__header { display:flex; align-items:center; gap:24px; min-height:57px; }
.treatment-detail-cards__number { display:flex; justify-content:center; align-items:center; flex:none; width:55px; height:55px; border-radius:50%; background:#fe8f26; color:white; font-family: 'Zen Maru Gothic',sans-serif; font-size:40px; font-weight:500; line-height:1; }
.treatment-page .treatment-detail-cards__header h4 { font-size:25px; line-height:30px; margin:0; }
.treatment-detail-cards__header em { color:#fe8f26; font-style:normal; }
.treatment-page .treatment-detail-cards__header p { font-size:20px; line-height:29px; font-weight:500; margin:0; }
.treatment-detail-cards__image { display:block; width:100%; height:auto; aspect-ratio:340/194; object-fit:cover; margin:20px auto 0; border-radius:16px; }
.treatment-page .treatment-detail-cards__body { font-size:16px; line-height:27px; text-align:center; margin:30px 0 0; }
.treatment-detail-cards--illustrations .treatment-detail-cards__item { min-height:313px; padding:19px 29px 20px; }
.treatment-detail-cards--illustrations .treatment-detail-cards__image { height:163px; width:auto; max-width:100%; object-fit:contain; margin:0 auto; border-radius:0; }
.treatment-page .treatment-detail-cards--illustrations .treatment-detail-cards__body { margin:10px -12px 0; font-size:18px; line-height:30px; }
.treatment-section--caries .treatment-detail-cards__item { border-color:transparent; box-shadow:none; background:#fef7f0; }
.treatment-section--caries .treatment-detail-cards__image { }
.treatment-detail-cards--four .treatment-detail-cards__grid { grid-template-columns:repeat(4,minmax(0,1fr)); width:min(1210px,100%); gap:12px; margin-top:40px; }
.treatment-detail-cards--four .treatment-detail-cards__item { padding:11px 14px 16px; }
.treatment-detail-cards--four .treatment-detail-cards__header { gap:18px; }
.treatment-page .treatment-detail-cards--four h4 { font-size:20px; line-height:30px; }
.treatment-detail-cards--four .treatment-detail-cards__image { aspect-ratio:263/172; margin-top:14px; border-radius:12px; }
.treatment-page .treatment-detail-cards--four .treatment-detail-cards__body { margin-top:12px; }
.treatment-detail-cards--photos,.treatment-detail-cards--checkups { border-radius:25px; background:#fef7f0; padding:28px 29px 24px; }
.treatment-detail-cards--photos .treatment-detail-cards__grid { gap:36px; margin-top:38px; }
.treatment-detail-cards--photos .treatment-detail-cards__item { min-height:437px; padding:32px 20px 28px; }
.treatment-detail-cards--checkups { padding:42px 50px 40px; }
.treatment-detail-cards--checkups .treatment-detail-cards__grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:38px; }
.treatment-detail-cards--checkups .treatment-detail-cards__item { padding:11px 13px 25px; border-color:#e5e1dc; box-shadow:0 0 3px #54402f15; }
.treatment-detail-cards--checkups .treatment-detail-cards__header { gap:18px; }
.treatment-detail-cards--checkups .treatment-detail-cards__number { font-size:28px; width:53px; height:53px; }
.treatment-page .treatment-detail-cards--checkups h4 { font-size:20px; }
.treatment-detail-cards--checkups .treatment-detail-cards__image { aspect-ratio:263/128; border-radius:7px; margin-top:12px; }
.treatment-page .treatment-detail-cards--checkups .treatment-detail-cards__body { margin-top:14px; text-align:left; letter-spacing:1px; }
.treatment-maintenance { display:grid; grid-template-columns:minmax(0,670fr) minmax(0,475fr); align-items:center; gap:32px; padding:24px 54px; border-radius:22px; background:#fcf8f4; }
.treatment-page .treatment-maintenance h3 { font-size:30px; line-height:1.5; margin:0 0 38px; }
.treatment-maintenance h3::after { content:''; display:block; margin-top:15px; width:42px; height:2px; background:#fe8f26; }
.treatment-page .treatment-maintenance p { font-size:18px; line-height:30px; margin:0; }
.treatment-maintenance img { width:100%; height:auto; aspect-ratio:475/245; border-radius:38px; object-fit:cover; }
.treatment-restoration { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; width:min(1188px,100%); margin:24px auto 10px; }
.treatment-page .treatment-restoration article { margin:0; padding:18px 22px 20px; border-radius:22px; background:#fef7f0; }
.treatment-page .treatment-restoration h3 { font-size:40px; line-height:1.4; margin:0 0 2px; }
.treatment-page .treatment-restoration p { font-size:20px; font-weight:500; margin:0 0 20px; }
.treatment-restoration ul { list-style:none; padding:0; margin:0 0 16px; }
.treatment-restoration li { display:flex; align-items:center; gap:16px; font-size:20px; line-height:30px; margin:10px 0; }
.treatment-restoration li::before { content:'✓'; display:grid; place-items:center; flex:none; width:29px; height:29px; border-radius:50%; background:#fe8f26; color:#fff; }
.treatment-restoration img { width:100%; height:auto; aspect-ratio:542/187; object-fit:cover; border-radius:25px; }
.treatment-child-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.treatment-page .treatment-child-notes article { position:relative; margin:0; min-height:366px; padding:35px 50px; border-radius:22px; background:#fef7f0; }
.treatment-page .treatment-child-notes h3 { display:flex; align-items:center; gap:16px; font-size:30px; line-height:45px; margin:0 0 44px; }
.treatment-child-notes h3 img { width:91px; height:91px; flex:none; }
.treatment-page .treatment-child-notes p { position:relative; z-index:1; width:70%; font-size:20px; font-weight:500; line-height:35px; letter-spacing:1px; margin:0; }
.treatment-child-notes__art { position:absolute; right:50px; bottom:30px; width:175px; }
.treatment-child-notes__art span { display:block; align-content:center; width:160px; height:104px; box-sizing:border-box; margin:0 0 8px auto; border-radius:50%; background:#fff2df; text-align:center; padding:0 5px; color:#fe8f26; font-size:20px; line-height:25px; }
.treatment-child-notes__art img { width:175px; height:auto; margin-top:0; clip-path:polygon(0 9%,83% 9%,83% 0,100% 0,100% 100%,0 100%); }
.treatment-child-notes__family { height:auto; position:absolute; right:24px; bottom:30px; width:187px; }
.treatment-prevention-cta { width:100%; }
.treatment-prevention-cta__content { position:relative; display:flex; align-items:center; min-height:333px; background:#fcf9f7; overflow:hidden; }
.treatment-prevention-cta__content > div { position:relative; z-index:1; padding:45px 60px 30px; width:63%; min-height:333px; background:#fcf9f7; clip-path:polygon(0 0,100% 0,79% 100%,0 100%); }
.treatment-prevention-cta__content > picture { position:absolute; right:0; top:0; width:50.5%; height:100%; }
.treatment-page .treatment-prevention-cta__eyebrow { font-size:18px; letter-spacing:3px; margin:0 0 38px; }
.treatment-prevention-cta__eyebrow::before { content:''; display:inline-block; width:64px; height:1px; background:#54402f; vertical-align:middle; margin-right:24px; }
.treatment-page .treatment-prevention-cta h3 { font-family:serif; font-size:60px; color:#fe8f26; line-height:1.3; margin:0 0 16px; white-space:nowrap; }
.treatment-page .treatment-prevention-cta__content p:not(.treatment-prevention-cta__eyebrow) { font-size:25px; letter-spacing:2px; line-height:39px; margin:0; }
.treatment-prevention-cta > .button { display:flex; width:100%; min-height:94px; border-radius:0; font-size:30px; gap:28px; letter-spacing:4px; }
@media (min-width:768px) and (max-width:1199px) {
 .treatment-intro { gap:30px; }
 .treatment-page__break { display:none; }
 .treatment-menu a { gap:8px; padding-inline:10px; font-size:16px; }
 .treatment-menu a > img { width:48px; }
 .treatment-stages__list { gap:18px; }
 .treatment-page .treatment-stages h4 { min-width:0; width:100%; font-size:16px; }
 .treatment-stages__list > li:not(:last-child)::after { right:-15px; }
 .treatment-detail-cards__header { gap:10px; }
 .treatment-detail-cards--illustrations .treatment-detail-cards__item { padding-inline:14px; }
 .treatment-detail-cards--four .treatment-detail-cards__grid,.treatment-detail-cards--checkups .treatment-detail-cards__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .treatment-detail-cards--photos .treatment-detail-cards__grid { gap:15px; }
 .treatment-page .treatment-detail-cards__header h4 { font-size:21px; }
 .treatment-page .treatment-detail-cards__header p { font-size:17px; }
 .treatment-child-notes { grid-template-columns:1fr; }
 .treatment-prevention-cta__content > div { padding-left:30px; }
 .treatment-page .treatment-prevention-cta h3 { font-size:42px; }
 .treatment-page .treatment-prevention-cta__content p:not(.treatment-prevention-cta__eyebrow) { font-size:20px; letter-spacing:0; }
}
@media (max-width:767px) {
 body.treatment-page .site-header { position:relative; }
 .treatment-page__sections { padding-bottom:64px; }
 .treatment-menu { width:calc(100% - 32px); gap:10px; padding:16px 0; margin:0 auto; border-radius:0; }
 .treatment-menu a { width:calc((100% - 10px)/2); padding:10px 8px; gap:6px; min-height:76px; font-size:14px; line-height:1.5; }
 .treatment-menu a > img { width:37px; height:45px; }
 .treatment-menu .arrow-icon { width:7px; }
 .treatment-section,.treatment-section:first-child { margin-top:48px; padding:10px 0 15px; background-size:60px 173px,60px 196px,50px 148px,50px 155px; }
 .treatment-section__inner { width:calc(100% - 40px); gap:28px; }
 .treatment-intro { grid-template-columns:1fr; gap:22px; }
 .treatment-page .treatment-intro__english { font-size:14px; line-height:22px; letter-spacing:1.7px; margin-bottom:8px; }
 .treatment-intro__english::after { width:28px; margin-top:8px; }
 .treatment-page .treatment-intro h2 { font-size:30px; line-height:1.5; margin-bottom:10px; }
 .treatment-page .treatment-intro__subtitle { font-size:16px; margin:0 0 14px; }
 .treatment-page .treatment-intro__catch { font-size:17px; line-height:1.7; margin-bottom:16px; }
 .treatment-page .treatment-intro__body { font-size:15px; line-height:1.85; }
 .treatment-page__break { display:none; }
 .treatment-intro__photo { border-radius:24px; }
 .treatment-page .treatment-stages > h3,.treatment-page .treatment-detail-cards > h3 { font-size:23px; line-height:1.6; }
 .treatment-stages { padding:22px 16px; }
 .treatment-stages__list { grid-template-columns:1fr; margin-top:24px; gap:38px; }
 .treatment-page .treatment-stages h4 { min-width:175px; max-width:100%; font-size:18px; min-height:36px; margin-bottom:14px; }
 .treatment-page .treatment-stages__list > li > p { font-size:15px; line-height:1.7; min-height:0; margin:12px 0 0; }
 .treatment-stages__list > li:not(:last-child)::after { top:auto; right:50%; bottom:-31px; transform:translateX(50%) rotate(90deg); font-size:26px; }
 .treatment-stages__care { min-height:0; padding:34px 18px 18px; margin-top:24px; }
 .treatment-page .treatment-stages__care p { font-size:15px; line-height:1.75; }
 .treatment-section--surgery .treatment-stages { padding-bottom:24px; }
 .treatment-detail-cards__grid,.treatment-detail-cards--four .treatment-detail-cards__grid,.treatment-detail-cards--checkups .treatment-detail-cards__grid { grid-template-columns:1fr; gap:18px; margin-top:24px; }
 .treatment-detail-cards--photos,.treatment-detail-cards--checkups { padding:24px 14px; border-radius:20px; }
 .treatment-detail-cards--photos .treatment-detail-cards__grid { margin-top:24px; gap:18px; }
 .treatment-page .treatment-detail-cards__lead { font-size:15px; line-height:1.8; text-align:left; }
 .treatment-page .treatment-detail-cards__accent { font-size:23px; line-height:1.5; }
 .treatment-detail-cards__item,.treatment-detail-cards--illustrations .treatment-detail-cards__item,.treatment-detail-cards--photos .treatment-detail-cards__item,.treatment-detail-cards--four .treatment-detail-cards__item,.treatment-detail-cards--checkups .treatment-detail-cards__item { padding:20px 16px; min-height:0; }
 .treatment-detail-cards__header,.treatment-detail-cards--four .treatment-detail-cards__header { gap:14px; min-height:46px; }
 .treatment-detail-cards__number,.treatment-detail-cards--checkups .treatment-detail-cards__number { width:44px; height:44px; font-size:28px; }
 .treatment-page .treatment-detail-cards__header h4 { font-size:21px; line-height:1.5; }
 .treatment-page .treatment-detail-cards__header p { font-size:15px; line-height:1.6; }
 .treatment-detail-cards__image { margin-top:18px; }
 .treatment-detail-cards--illustrations .treatment-detail-cards__image { margin-top:14px; }
 .treatment-page .treatment-detail-cards__body,.treatment-page .treatment-detail-cards--illustrations .treatment-detail-cards__body { font-size:15px; line-height:1.8; margin:18px 0 0; text-align:left; }
 .treatment-maintenance { grid-template-columns:1fr; gap:22px; padding:24px 20px; }
 .treatment-page .treatment-maintenance h3 { font-size:23px; margin-bottom:20px; }
 .treatment-page .treatment-maintenance p { font-size:15px; line-height:1.85; }
 .treatment-maintenance img { border-radius:24px; }
 .treatment-restoration { grid-template-columns:1fr; margin:0; gap:20px; }
 .treatment-page .treatment-restoration article { padding:22px 18px; }
 .treatment-page .treatment-restoration h3 { font-size:28px; }
 .treatment-page .treatment-restoration p { font-size:17px; margin:8px 0 20px; }
 .treatment-restoration li { font-size:15px; line-height:1.7; gap:10px; }
 .treatment-restoration li::before { width:24px; height:24px; }
 .treatment-restoration img { border-radius:18px; }
 .treatment-child-notes { grid-template-columns:1fr; gap:20px; }
 .treatment-page .treatment-child-notes article { padding:24px 20px; min-height:0; }
 .treatment-page .treatment-child-notes h3 { font-size:21px; line-height:1.6; margin-bottom:20px; gap:12px; }
 .treatment-child-notes h3 img { width:56px; height:56px; }
 .treatment-page .treatment-child-notes p { width:100%; font-size:15px; line-height:1.85; letter-spacing:0; }
 .treatment-child-notes__art { position:static; margin:18px auto 0; }
 .treatment-child-notes__art { width:140px; }
 .treatment-child-notes__art span { width:128px; height:83.2px; font-size:16px; line-height:20px; padding:0 4px; margin-bottom:6.4px; }
 .treatment-child-notes__art img { width:140px; }
 .treatment-child-notes__family { position:static; display:block; width:160px; margin:20px auto 0; }
 .treatment-prevention-cta__content { display:flex; flex-direction:column; min-height:0; }
 .treatment-prevention-cta__content > div { width:100%; min-height:0; padding:24px 20px; clip-path:none; }
 .treatment-page .treatment-prevention-cta__eyebrow { font-size:13px; letter-spacing:1px; margin-bottom:18px; }
 .treatment-prevention-cta__eyebrow::before { width:22px; margin-right:10px; }
 .treatment-page .treatment-prevention-cta h3 { white-space:normal; font-size:29px; line-height:1.6; }
 .treatment-page .treatment-prevention-cta__content p:not(.treatment-prevention-cta__eyebrow) { font-size:16px; letter-spacing:0; line-height:1.8; }
 .treatment-prevention-cta__content > picture { position:static; width:100%; height:180px; object-position:center; }
 .treatment-prevention-cta > .button { min-height:72px; font-size:16px; line-height:1.6; letter-spacing:0; padding:14px 18px; gap:12px; white-space:normal; }
}
@media (prefers-reduced-motion:reduce) { .treatment-menu a,.treatment-menu a .arrow-icon { transition:none; } }
/* Menu arrows use the existing SVG mask, sized to the reference's compact slot. */
.treatment-menu a .arrow-icon { width:20px !important; height:20px !important; }
.treatment-menu a:is(:hover,:focus-visible) .arrow-icon { transform:translateX(6px) rotate(90.4deg); }
@media (max-width:767px) {
 .treatment-menu a { display:grid; grid-template-columns:minmax(0,1fr) 14px; grid-template-rows:40px auto; gap:5px; min-height:94px; }
 .treatment-menu a > img { grid-column:1 / -1; justify-self:center; width:37px; height:40px; transform:scale(1.2); }
 .treatment-menu a > span:not(.button-icon) { grid-column:1; }
 .treatment-menu a .arrow-icon { grid-column:2; width:14px !important; height:14px !important; }
 .treatment-menu a:last-child { width:100%; display:flex; min-height:64px; gap:14px; }
 .treatment-menu a:last-child > span:not(.button-icon) { flex:none; }
}

.treatment-page__phrase { white-space:nowrap; }
/* 既存「予防歯科」ページと同じ、共通パーツの中間幅ルールを適用。 */
body.treatment-page .design-container { max-width:100%; }
body.treatment-page .site-header__inner { max-width:calc(100% - 28px); }
@media (min-width:768px) and (max-width:1439px) {
 body.treatment-page .design-container { width:100%; }
 body.treatment-page .site-header__inner { width:calc(100% - 32px); gap:12px; }
 body.treatment-page .primary-nav { flex:1; width:auto; justify-content:space-between; gap:8px; font-size:clamp(12px,1.38vw,20px); }
 body.treatment-page .brand--header { transform:scale(.8); width:145px; }
 body.treatment-page .header-contact__phone { display:none; }
 body.treatment-page .reservation-header { width:140px; }
 body.treatment-page .contact__inner { width:calc(100% - 64px); }
 body.treatment-page .footer-navigation__columns { padding-inline:32px; justify-content:space-around; gap:32px; }
 body.treatment-page .footer-navigation a { font-size:16px; }
 body.treatment-page .footer-navigation ul { column-gap:24px; }
}
@media (min-width:768px) and (max-width:1244px) {
 body.treatment-page .contact__columns { grid-template-columns:minmax(0,634px); justify-content:center; gap:32px; }
 body.treatment-page .contact__details { max-width:454.324px; margin-inline:auto; }
 body.treatment-page .contact { padding-bottom:65px; }
}
@media (max-width:767px) { body.treatment-page .site-header__inner { max-width:100%; } }
/* 親子の切り出しに含まれる隣接テキストを避け、装飾の丸は独立させる。 */
.treatment-child-notes__family { clip-path:polygon(30px 0,100% 0,100% 100%,0 100%,0 80px,30px 80px); }
.treatment-child-notes article:last-child::before,.treatment-child-notes article:last-child::after { content:''; position:absolute; border-radius:50%; }
.treatment-child-notes article:last-child::before { width:57px; height:57px; right:190px; bottom:150px; background:#d5eabd; }
.treatment-child-notes article:last-child::after { width:46px; height:46px; right:225px; bottom:68px; background:#ffe5a9; }
@media (max-width:767px) {
 .treatment-child-notes article:last-child::before { width:46px; height:46px; right:calc(50% + 28px); bottom:145px; }
 .treatment-child-notes article:last-child::after { width:36px; height:36px; right:calc(50% + 60px); bottom:60px; }
}

.treatment-prevention-cta__content > picture img { width:100%; height:100%; object-fit:cover; }

/* SP menu: enlarge artwork within the unchanged image row and keep arrows by labels. */
@media (max-width:767px) {
 .treatment-menu a[href="#periodontal"] > img { transform:scale(1.35); }
 .treatment-menu a:not(:last-child) > span:not(.button-icon) { position:relative; justify-self:center; }
 .treatment-menu a:not(:last-child) > .arrow-icon { visibility:hidden; }
 .treatment-menu a:not(:last-child) > span:not(.button-icon)::after {
  content:""; position:absolute; left:calc(100% + 8px); top:calc(50% - 7px);
  width:14px; height:14px; background:#fe8f26;
  -webkit-mask:url('../images/arrow.svg') center / contain no-repeat;
  mask:url('../images/arrow.svg') center / contain no-repeat;
  transform:rotate(90.4deg); transition:transform .3s ease;
 }
 .treatment-menu a:not(:last-child):is(:hover,:focus-visible) > span:not(.button-icon)::after { transform:translateX(6px) rotate(90.4deg); }
 .treatment-menu a:last-child > .arrow-icon { position:relative; left:-6px; }
}
@media (max-width:767px) and (prefers-reduced-motion:reduce) {
 .treatment-menu a:not(:last-child) > span:not(.button-icon)::after { transition:none; }
}

/* SP: scale the illustration and ornaments together without clipping the people. */
.treatment-child-notes__family-art { display:contents; }
@media (max-width:767px) {
 .treatment-child-notes__family-art { display:block; position:relative; width:160px; max-width:65%; aspect-ratio:187 / 192; margin:20px auto 0; }
 .treatment-child-notes__family-art .treatment-child-notes__family { position:static; display:block; width:100%; height:auto; margin:0; clip-path:polygon(13% 0,100% 0,100% 100%,0 100%,0 35.4%,13% 35.4%); }
 .treatment-child-notes article:last-child::before,.treatment-child-notes article:last-child::after { content:none; }
 .treatment-child-notes__family-art::before,.treatment-child-notes__family-art::after { content:""; position:absolute; border-radius:50%; }
 .treatment-child-notes__family-art::before { width:30.48%; aspect-ratio:1; left:-19.25%; top:6.25%; background:#d5eabd; }
 .treatment-child-notes__family-art::after { width:24.6%; aspect-ratio:1; left:-32.09%; bottom:19.79%; background:#ffe5a9; }
}
