.today-strip>.today-order-note{grid-column:1/-1;margin:0;font-size:14px;line-height:1.9;color:var(--ink)}
.flu-banner-section{padding-top:45px;padding-bottom:12px}
.flu-banner{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;padding-block:24px 32px;border-bottom:1px solid var(--line)}
.flu-banner:hover .flu-banner-link{color:var(--deep);border-color:var(--deep)}
.flu-banner-copy{position:relative;z-index:1;padding:0}
.flu-kicker{font-size:13px;font-weight:400;letter-spacing:.02em;color:var(--muted);margin:0 0 12px}
.flu-banner h2{font-size:clamp(23px,2.1vw,28px);line-height:1.85;font-weight:500;letter-spacing:.015em;margin:0 0 12px;color:var(--deep)}
.flu-banner h2>span{display:block}.flu-banner-copy>p:not(.flu-kicker){font-size:14px;line-height:1.9;margin:0 0 20px}
.flu-banner>img{width:100%;height:auto;border-radius:10px}
.flu-banner-link{display:inline-flex;align-items:center;gap:35px;font-size:14px;font-weight:400;border-bottom:1px solid var(--green);padding-bottom:6px;color:var(--green)}
.flu-page .page-heading>p:last-child{font-size:16px;margin-top:15px;color:var(--muted)}
.flu-body{max-width:950px}.flu-hero-art{display:block;width:100%;height:auto;border-radius:12px}.flu-intro{padding-block:28px 38px;line-height:2;font-size:16px}.flu-intro p{margin:0 0 24px}
.flu-page-nav{display:flex;border-block:1px solid var(--line)}.flu-page-nav a{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px;padding:18px 0;font-size:14px;color:var(--green)}.flu-page-nav{gap:32px}.flu-page-nav a:hover{background:var(--wash)}
.flu-section{padding-block:60px;scroll-margin-top:32px}.flu-section h2{font-size:27px;line-height:1.8;font-weight:500;margin:0 0 20px}.flu-section>p{font-size:16px;line-height:1.9}.flu-price-note{border-block:1px solid var(--line);padding:20px 0;margin:26px 0}.flu-price-note strong{font-size:15px;font-weight:500}.flu-price-note p{font-size:14px;line-height:1.9;margin:8px 0 0}
.flu-price-table{width:100%;border-collapse:collapse;text-align:left}.flu-price-table caption{text-align:left;font-size:14px;margin:0 0 12px}.flu-price-table th,.flu-price-table td{padding:22px 20px;border-bottom:1px solid var(--line)}.flu-price-table thead{background:var(--wash);font-size:14px}.flu-price-table tbody th{font-size:16px;font-weight:500;line-height:1.8}.flu-price-table tbody th span{display:block;font-size:14px;color:var(--muted);font-weight:400}.flu-price-table td{font-size:20px;font-weight:400;color:var(--deep);white-space:nowrap;font-variant-numeric:tabular-nums}.flu-price-table td>span{font-size:14px;font-weight:400;margin-left:4px}.flu-price-table small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}
.flu-page .flu-footnote{font-size:13px;line-height:1.9;color:var(--muted)}.flu-reservation{padding:40px 0;border-block:1px solid var(--line)}.flu-phone{display:block;width:fit-content;color:var(--green);font-size:30px;line-height:1.6;font-variant-numeric:tabular-nums;margin:22px 0 12px}.flu-phone>span{display:block;font-size:14px}
.flu-faq details{border-bottom:1px solid var(--line)}.flu-faq summary{cursor:pointer;padding:23px 8px;font-size:16px;font-weight:500;line-height:1.8}.flu-faq details p{font-size:15px;line-height:2;margin:0;padding:0 16px 24px}.flu-faq summary:hover{color:var(--green);background:var(--wash)}.flu-bottom-note{padding:0 0 65px;font-size:15px;line-height:1.9}
.flu-banner:focus-visible,.flu-page a:focus-visible,.flu-faq summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}
@media(max-width:900px){.flu-section{scroll-margin-top:110px}}
@media(max-width:600px){.today-strip>.today-order-note{font-size:13px;line-height:1.85}.flu-banner-section{padding-top:28px}.flu-banner{grid-template-columns:1fr;gap:24px;padding-block:12px 28px}.flu-banner-copy{padding:0}.flu-banner h2{font-size:24px}.flu-banner>img{height:auto}.flu-kicker{font-size:12px}.flu-banner-copy>p:not(.flu-kicker){font-size:14px}.flu-page .page-heading>p:last-child{font-size:15px}.flu-intro{padding-block:24px 30px}.flu-intro br{display:none}.flu-page-nav{flex-direction:column;gap:0}.flu-page-nav a{padding:15px 8px}.flu-page-nav a+a{border-left:0;border-top:1px solid var(--line)}.flu-section{padding-block:40px}.flu-section h2{font-size:23px}.flu-price-note{padding:18px 0}.flu-price-table th,.flu-price-table td{padding:18px 8px}.flu-price-table tbody th{font-size:14px}.flu-price-table tbody th span{font-size:12px}.flu-price-table td{font-size:18px}.flu-price-table td>span{font-size:12px;margin-left:3px}.flu-price-table small{font-size:12px}.flu-reservation{padding:30px 0}.flu-phone{font-size:27px}.flu-phone>span{font-size:12px}.flu-faq summary{font-size:15px}.flu-hero-art{border-radius:8px}.flu-page .breadcrumb{font-size:12px}}
@media(prefers-reduced-motion:reduce){.flu-banner{transition:none}}

/* 市の通知で接種開始日が前倒しになった。助成区分ごとの開始日を料金表の手前で目立たせる。 */
.flu-schedule{margin:22px 0 0;padding:19px 21px;background:#fdf3e3;border:1px solid #e3c48c;border-left:4px solid #b4731f;border-radius:8px;color:#5b3f14}
.flu-schedule-lead{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0;font-size:15px;line-height:1.9}
.flu-alert-date{flex:0 0 auto;background:#b4731f;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;padding:3px 10px;border-radius:4px;white-space:nowrap}
.flu-schedule-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 0}
.flu-schedule-list>div{padding:16px 18px;background:var(--paper);border:1px solid #e3c48c;border-radius:8px}
.flu-schedule-list dt{margin:0 0 9px;font-size:14px;line-height:1.7;font-weight:500}
.flu-schedule-list dd{margin:0}
.flu-schedule-list dd strong{display:block;font-size:19px;line-height:1.65;font-weight:600;color:#8a4b0c;font-variant-numeric:tabular-nums}
.flu-schedule-list dd>span{display:block;margin-top:8px;font-size:13px;line-height:1.85;color:#6b5431}
.flu-schedule-note{margin:15px 0 0;font-size:13px;line-height:1.9;color:#6b5431}
@media(max-width:600px){.flu-schedule{padding:15px 16px}.flu-schedule-lead{font-size:14px;line-height:1.85}.flu-alert-date{font-size:12px}.flu-schedule-list{grid-template-columns:1fr;gap:12px}.flu-schedule-list>div{padding:14px 15px}.flu-schedule-list dd strong{font-size:17px}}

/* 接種の受け方: 注射は当日来院、フルミストのみ電話予約。主導線の注射側を強調する。 */
.flu-ways{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 4px}
.flu-way{padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.flu-way h3{font-size:18px;line-height:1.7;margin:0 0 10px;letter-spacing:.01em}
.flu-way p{margin:0;font-size:15px;line-height:1.95}
.flu-way-tag{display:inline-block;margin:0 0 12px;padding:4px 13px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em}
.flu-way-walkin{border-color:#a9c3ae;background:#f2f7f0}
.flu-way-walkin .flu-way-tag{background:#245b4d;color:#fff}
.flu-way-call .flu-way-tag{background:#e9eee9;color:#3d5145}
@media(max-width:768px){.flu-ways{grid-template-columns:1fr;gap:14px}.flu-way{padding:18px 19px}.flu-way h3{font-size:17px}.flu-way p{font-size:14px}}

/* H1は「インフルエンザ」「ワクチン接種」の2文字列。日本語は詰めて、英語だけ語間を空ける。
   (以前は <br class="mobile-only"> で繋いでいたため、PCの英語で InfluenzaVaccination と繋がっていた) */
.flu-title-a,.flu-title-b{display:inline}
html[lang^="en"] .flu-title-b{margin-left:.3em}
@media(max-width:600px){.flu-title-b{display:block}html[lang^="en"] .flu-title-b{margin-left:0}}

/* 料金表は英語表記が長く、狭い画面でページ全体を横スクロールさせていた。
   表の中だけでスクロールさせる。 */
.flu-table-wrap{overflow-x:auto}
