@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/* agc pages 2026-10-19（固定ページ：アクセス・お問い合わせ・医師・プライバシー。色は日本語本体の紺 #00326a） */
.post_content td, .post_content th { word-break:normal; overflow-wrap:break-word; }
.post_content .agc-info-table > table { --swl-cell1-width:26%; }
.post_content .agc-info-table th { background:#eef2f8; color:#00326a; vertical-align:top; text-align:left; }
.post_content .agc-info-table td { vertical-align:top; }
.post_content .agc-hero-img img, .post_content .agc-gallery img, .post_content .agc-profile img { border-radius:10px; }
.post_content .agc-gallery { display:flex; gap:20px; margin-bottom:2em; }
.post_content .agc-gallery > .wp-block-column { flex:1 1 0; min-width:0; margin:0; }
.post_content .agc-gallery img { aspect-ratio:3/2; object-fit:cover; width:100%; }
@media (max-width:599px) { .post_content .agc-gallery { flex-direction:column; gap:12px; } }
.post_content .agc-gallery figcaption { text-align:center; font-size:.85em; color:#5f6368; }
.post_content .agc-map { position:relative; width:100%; padding-top:56%; }
.post_content .agc-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:10px; }
.post_content .agc-map-note { font-size:.85em; color:#5f6368; }
.post_content .agc-profile { background:#eef2f8; border-radius:12px; padding:24px; display:grid; grid-template-columns:240px 1fr !important; gap:28px; align-items:center; }
.post_content .agc-profile .wp-block-media-text__media img { width:100%; height:auto; }
.post_content .agc-profile .wp-block-media-text__content { padding:0; }
.post_content .agc-profile-name { font-size:1.3em; color:#00326a; margin-top:.2em; }
@media (max-width:599px) {
  .post_content .agc-info-table > table { --swl-cell1-width:34%; }
  .post_content .agc-profile { padding:16px; grid-template-columns:1fr !important; gap:12px; }
  .post_content .agc-profile .wp-block-media-text__media { max-width:220px; margin:0 auto 8px; }
}
.post_content .agc-form { background:#eef2f8; border-radius:12px; padding:28px; }
.post_content .agc-form label { display:block; font-weight:600; color:#00326a; }
.post_content .agc-form .agc-req, .post_content .agc-form .agc-opt { display:inline-block; margin-left:.5em; padding:0 .6em; border-radius:4px; font-size:.72em; font-weight:400; vertical-align:middle; line-height:1.8; }
.post_content .agc-form .agc-req { background:#00326a; color:#fff; }
.post_content .agc-form .agc-opt { background:#fff; color:#5f6368; border:1px solid #c9d2e0; }
.post_content .agc-form .wpcf7-form-control-wrap { display:block; margin-top:.45em; }
.post_content .agc-form > p, .post_content .agc-form form > p { margin-bottom:1.4em; }
.post_content .agc-form input[type="text"], .post_content .agc-form input[type="email"], .post_content .agc-form select, .post_content .agc-form textarea { width:100%; background:#fff; border:1px solid #c9d2e0; border-radius:6px; padding:.7em .9em; font-size:16px; font-weight:400; }
.post_content .agc-form textarea { min-height:10em; }
.post_content .agc-form input:focus, .post_content .agc-form select:focus, .post_content .agc-form textarea:focus { outline:2px solid #00326a; outline-offset:0; border-color:#00326a; }
.post_content .agc-form .agc-accept { text-align:center; margin-top:1.5em; }
.post_content .agc-form .agc-accept label { display:inline; font-weight:400; color:inherit; }
.post_content .agc-form .agc-accept a { color:#00326a; text-decoration:underline; }
.post_content .agc-form .agc-submit { text-align:center; margin:1.2em 0 0; }
.post_content .agc-form input[type="submit"] { background:#00326a; color:#fff; border:none; border-radius:999px; padding:.85em 3.5em; font-size:1em; cursor:pointer; }
.post_content .agc-form input[type="submit"]:hover { opacity:.85; }
.post_content .agc-form input[type="submit"]:disabled { opacity:.45; cursor:not-allowed; }
.post_content .agc-form .wpcf7-spinner { display:block; margin:.6em auto 0; }
@media (max-width:599px) { .post_content .agc-form { padding:20px 16px; } }

/* agc design v2 2026-10-19（サイト全体。日本語本体の紺 #00326a と白、予約だけ橙。院の実写真を大きく使う。白い札の見出しは日本語本体のモチーフ。v1 は agc-design.v1.css） */
:root { --agc-navy:#00326a; --agc-navy-d:#002550; --agc-navy-2:#0b4a8f; --agc-tint:#f3f5f9; --agc-line:#d9e0ea; --agc-accent:#e8791d; --agc-gray:#5f6368; }

/* ヘッダー */
.l-header { border-bottom:1px solid var(--agc-line); box-shadow:none; }
.c-gnav > .menu-item > a .ttl { font-weight:600; }
.c-gnav > .menu-item.agc-navcta > a { background:var(--agc-navy); color:#fff !important; border-radius:4px; padding:0 1.3em; margin:auto 0 auto .6em; height:40px; line-height:40px; }
.c-gnav > .menu-item.agc-navcta > a::after { display:none; }
.c-gnav > .menu-item.agc-navcta > a:hover { background:var(--agc-navy-2); }

/* 見出し（本文） */
.post_content h2 { color:var(--agc-navy); font-size:1.6em; line-height:1.4; padding:0 0 .6em; margin-top:2.4em; border-bottom:1px solid var(--agc-line); position:relative; background:none; }
.post_content h2::after { content:""; position:absolute; left:0; bottom:-1px; width:48px; height:3px; background:var(--agc-accent); }
.post_content h2::before { display:none; }
.post_content h3 { color:var(--agc-navy); font-size:1.12em; padding:0; margin-top:2em; background:none; border:0; }
.post_content h3::before, .post_content h3::after { display:none; }
.swell-block-fullWide__inner > h2:first-child, .swell-block-fullWide__inner > .wp-block-heading:first-child { margin-top:0; }

/* タイトル帯：写真を全幅に＋左から紺のグラデーション＋白い札 */
.l-topTitleArea { background:var(--agc-navy); min-height:280px; display:flex; align-items:center; position:relative; }
.l-topTitleArea .l-topTitleArea__img { object-position:right top; } /* 既定の写真＝院長の顔が切れないよう上合わせ */
.agc-page-access .l-topTitleArea .l-topTitleArea__img { object-position:right center; }
.l-topTitleArea::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(0,37,80,.92) 0%, rgba(0,50,106,.72) 38%, rgba(0,50,106,.1) 72%, rgba(0,50,106,0) 100%); }
.l-topTitleArea__body { position:relative; z-index:2; }
.l-topTitleArea .c-pageTitle { display:inline-block; background:#fff; color:var(--agc-navy); font-size:1.75em; font-weight:700; padding:.35em .8em; line-height:1.3; text-shadow:none; }
.l-topTitleArea .c-pageTitle__subTitle { display:block; margin-top:.5em; font-size:.48em; font-weight:500; color:var(--agc-gray); font-style:normal; }
.l-topTitleArea .c-pageTitle::before, .l-topTitleArea .c-pageTitle::after { display:none; }
@media (max-width:599px) {
  .l-topTitleArea { min-height:170px; }
  .l-topTitleArea::before { background:linear-gradient(90deg, rgba(0,37,80,.88) 0%, rgba(0,50,106,.55) 100%); }
  .l-topTitleArea .c-pageTitle { font-size:1.35em; }
}

/* ボタン */
.post_content .agc-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:1.8em; }
.post_content a.agc-btn { display:inline-block; background:var(--agc-navy); color:#fff; text-decoration:none; border-radius:4px; padding:.95em 2em; font-weight:600; line-height:1.4; transition:background .2s; }
.post_content a.agc-btn:hover { background:var(--agc-navy-2); }
.post_content a.agc-btn--accent { background:var(--agc-accent); }
.post_content a.agc-btn--accent:hover { background:#cf6812; }
.post_content a.agc-btn--ghost { background:transparent; color:var(--agc-navy); box-shadow:inset 0 0 0 1.5px var(--agc-navy); }
.post_content a.agc-btn--ghost:hover { background:var(--agc-navy); color:#fff; }
.post_content a.agc-btn--onnavy { background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8); }
.post_content a.agc-btn--onnavy:hover { background:#fff; color:var(--agc-navy); }

/* 写真を背景にしたフルワイド（トップのファーストビュー・予約の帯）：写真は親のフルワイド全体に敷く */
.swell-block-fullWide:has(.agc-photo-sec) { position:relative; overflow:hidden; padding:0 !important; }
.post_content .agc-photo-sec { position:static; }
.post_content .agc-photo-sec__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0; z-index:0; }
.post_content .agc-photo-sec::before { content:""; position:absolute; inset:0; z-index:1; }
.post_content .agc-photo-sec__in { position:relative; z-index:2; }

/* トップ：ファーストビュー（院長の診察の写真＋白い札） */
.post_content .agc-hero2::before { background:linear-gradient(90deg, rgba(0,37,80,.86) 0%, rgba(0,50,106,.55) 42%, rgba(0,50,106,0) 70%); }
.post_content .agc-hero2 .agc-photo-sec__in { padding:110px 0 100px; max-width:620px; color:#fff; }
.post_content .agc-hero2 .agc-photo-sec__bg { object-position:right center; }
.post_content .agc-hero__labels { margin:0 0 1.3em; }
.post_content .agc-hero__labels span { display:table; background:#fff; color:var(--agc-navy); font-weight:700; font-size:clamp(1.35em,3.2vw,2.15em); line-height:1.25; padding:.22em .55em; margin:0 0 .3em; }
.post_content .agc-hero__lead { color:#fff; margin:0; line-height:1.9; font-size:1.02em; text-shadow:0 1px 2px rgba(0,0,0,.25); }
.post_content .agc-hero__note { font-size:.74em; color:#d7e0ee; margin-top:1.2em; }
@media (max-width:767px) {
  .post_content .agc-hero2::before { background:linear-gradient(180deg, rgba(0,37,80,.45) 0%, rgba(0,37,80,.92) 52%); }
  .post_content .agc-hero2 .agc-photo-sec__bg { object-position:80% center; }
  .post_content .agc-hero2 .agc-photo-sec__in { padding:200px 0 48px; }
}

/* 数字の帯 */
.post_content .agc-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0; list-style:none; color:#fff; }
.post_content .agc-facts li { padding:6px 28px; border-left:1px solid rgba(255,255,255,.25); margin:0; }
.post_content .agc-facts li:first-child { border-left:0; padding-left:0; }
.post_content .agc-facts__num { display:block; font-family:var(--agc-head, inherit); font-size:2.5em; font-weight:700; line-height:1.1; color:#fff; }
.post_content .agc-facts__label { display:block; color:#c9d4e6; font-size:.92em; margin-top:.35em; }
.post_content .agc-facts-note { color:#9fb2cf; font-size:.74em; margin:1.4em 0 0; }
@media (max-width:767px) { .post_content .agc-facts { grid-template-columns:1fr; gap:18px; } .post_content .agc-facts li { border-left:0; padding:0 0 18px; border-bottom:1px solid rgba(255,255,255,.2); } .post_content .agc-facts li:last-child { border-bottom:0; } }

/* 写真と文章を左右に（診察の様子など） */
.post_content .agc-feature { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.post_content .agc-feature__img { margin:0; }
.post_content .agc-feature__img img { width:100%; height:440px; object-fit:cover; border-radius:4px; display:block; }
.post_content .agc-feature__text h2 { margin-top:0; }
.post_content .agc-steps { list-style:none; padding:0; margin:1.4em 0 0; }
.post_content .agc-steps li { padding:16px 0; border-top:1px solid var(--agc-line); margin:0; }
.post_content .agc-steps li:last-child { border-bottom:1px solid var(--agc-line); }
.post_content .agc-steps strong { display:block; color:var(--agc-navy); font-size:1.05em; margin-bottom:.25em; font-family:var(--agc-head, inherit); }
.post_content .agc-steps p { margin:0; color:#444; }
@media (max-width:900px) { .post_content .agc-feature { grid-template-columns:1fr; gap:28px; } .post_content .agc-feature__img img { height:260px; } }

/* 院長（写真の後ろに紺の板をずらして置く） */
.post_content .agc-doc { display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:center; }
.post_content .agc-doc__photo { position:relative; margin:0; }
.post_content .agc-doc__photo::before { content:""; position:absolute; left:-18px; top:18px; width:100%; height:100%; background:var(--agc-navy); z-index:0; }
.post_content .agc-doc__photo img { position:relative; z-index:1; width:100%; display:block; }
.post_content .agc-doc__role { color:var(--agc-gray); font-size:.92em; margin:0; }
.post_content .agc-doc__name { color:var(--agc-navy); font-family:var(--agc-head, inherit); font-weight:700; font-size:1.7em; margin:.15em 0 .9em; line-height:1.3; }
.post_content .agc-doc__quote { font-size:1.06em; line-height:1.95; color:#2d3440; margin:0 0 1em; padding:0; border:0; background:none; }
.post_content .agc-doc__quote::before { content:"“"; display:block; font-family:Georgia, serif; font-size:3.2em; line-height:.6; color:var(--agc-accent); margin-bottom:.15em; }
.post_content .agc-doc__meta { font-size:.92em; color:var(--agc-gray); margin:0; }
@media (max-width:900px) { .post_content .agc-doc { grid-template-columns:1fr; gap:36px; } .post_content .agc-doc__photo { max-width:260px; margin-left:18px; } }

/* 院のカード：写真が主役＋白い札の院名 */
.post_content .agc-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:2em 0 0; padding:0; list-style:none; }
.post_content .agc-card { margin:0; display:flex; flex-direction:column; }
.post_content .agc-card__photo { position:relative; margin:0; }
.post_content .agc-card__photo img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:4px; }
.post_content .agc-card__name { position:absolute; left:0; bottom:14px; background:#fff; color:var(--agc-navy); font-weight:700; font-size:1.05em; margin:0; padding:.4em .9em; }
.post_content .agc-card__meta { font-size:.9em; color:#444; margin:1em 0 .6em; line-height:1.65; }
.post_content .agc-card__link { margin-top:auto; font-weight:600; font-size:.92em; color:var(--agc-navy); text-decoration:none; border-bottom:1px solid currentColor; align-self:flex-start; padding-bottom:2px; }
.post_content .agc-card__link::after { content:" →"; color:var(--agc-accent); }
@media (max-width:767px) { .post_content .agc-cards { grid-template-columns:1fr; gap:32px; } }

/* 予約の帯（写真＋紺） */
.post_content .agc-cta2::before { background:rgba(0,37,80,.84); }
.post_content .agc-cta2 .agc-photo-sec__in { padding:90px 0; text-align:center; color:#fff; }
.post_content .agc-cta__ttl { color:#fff; font-size:1.7em; font-weight:700; margin:0 0 .5em; font-family:var(--agc-head, inherit); }
.post_content .agc-cta2 p { color:#e3e9f3; margin:0; }
.post_content .agc-cta2 .agc-btns { justify-content:center; }

/* 表：外枠・塗りなし、行の間に細い線、項目名は小さめの紺。スマホは縦に積む */
.post_content .agc-info-table > table, .post_content .agc-dl-table > table { --swl-cell1-width:30%; border:0; border-collapse:collapse; width:100%; background:none; }
.post_content .agc-info-table th, .post_content .agc-info-table td, .post_content .agc-dl-table th, .post_content .agc-dl-table td { border:0; border-bottom:1px solid var(--agc-line); background:none; padding:14px 12px 14px 0; vertical-align:top; text-align:left; }
.post_content .agc-info-table tr:first-child th, .post_content .agc-info-table tr:first-child td, .post_content .agc-dl-table tr:first-child th, .post_content .agc-dl-table tr:first-child td { border-top:2px solid var(--agc-navy); }
.post_content .agc-info-table th, .post_content .agc-dl-table th { color:var(--agc-navy); font-weight:700; font-size:.82em; letter-spacing:.06em; text-transform:uppercase; padding-top:17px; font-family:var(--agc-head, inherit); }
@media (max-width:599px) {
  .post_content .agc-info-table tr, .post_content .agc-dl-table tr { display:block; border-bottom:1px solid var(--agc-line); padding:12px 0; }
  .post_content .agc-info-table tr:first-child, .post_content .agc-dl-table tr:first-child { border-top:2px solid var(--agc-navy); }
  .post_content .agc-info-table th, .post_content .agc-info-table td, .post_content .agc-dl-table th, .post_content .agc-dl-table td { display:block; width:auto !important; border:0 !important; padding:2px 0; }
  .post_content .agc-info-table th, .post_content .agc-dl-table th { padding-top:0; }
}

/* 表と地図を左右に */
.post_content .agc-split { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:stretch; margin:1.6em 0; }
.post_content .agc-split > * { margin:0 !important; min-width:0; }
.post_content .agc-split > .wp-block-column:last-child { display:flex; flex-direction:column; }
.post_content .agc-split .agc-map { padding-top:0; height:auto; flex:1 1 auto; min-height:300px; }
.post_content .agc-split > .wp-block-column:last-child > p { margin:.8em 0 0; }
.post_content .agc-map iframe { height:100% !important; max-height:none !important; aspect-ratio:auto !important; border-radius:4px !important; }
@media (max-width:767px) { .post_content .agc-split { grid-template-columns:1fr; gap:24px; } .post_content .agc-split .agc-map { min-height:0; padding-top:66%; height:auto; flex:none; } }

/* 道順を左右に */
.post_content .agc-route { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:1.2em; }
.post_content .agc-route h3 { margin-top:0; padding-bottom:.5em; border-bottom:1px solid var(--agc-line); }
.post_content .agc-route ol { padding-left:1.3em; }
.post_content .agc-route ol li { margin-bottom:.45em; }
.post_content .agc-route ol li::marker { color:var(--agc-navy); font-weight:700; }
@media (max-width:767px) { .post_content .agc-route { grid-template-columns:1fr; gap:8px; } }

/* 院内写真（2枚） */
.post_content .agc-gallery { display:flex; gap:20px; margin:2em auto 0; max-width:900px; }
.post_content .agc-gallery > .wp-block-column { flex:1 1 0; min-width:0; margin:0; }
.post_content .agc-gallery img { aspect-ratio:3/2; object-fit:cover; width:100%; border-radius:4px; }
.post_content .agc-gallery figcaption { text-align:left; font-size:.82em; color:var(--agc-gray); margin-top:.5em; }
@media (max-width:599px) { .post_content .agc-gallery { flex-direction:column; gap:14px; } }

/* 医師ページ：経歴は時系列、資格などは一覧 */
.post_content ul.agc-timeline { list-style:none; margin:1em 0 0 6px !important; padding:0 0 0 22px !important; border-left:2px solid var(--agc-line) !important; }
.post_content .agc-timeline li { position:relative; margin:0 0 1.1em; padding:0; }
.post_content .agc-timeline li::before { content:""; position:absolute; left:-29px; top:.55em; width:12px; height:12px; border-radius:50%; background:#fff; border:2px solid var(--agc-navy); }
.post_content .agc-timeline li:last-child::before { background:var(--agc-navy); }
.post_content .agc-cv { display:grid; grid-template-columns:1fr 1fr; gap:8px 56px; }
.post_content .agc-cv__block h3 { margin-top:1.6em; padding-bottom:.5em; border-bottom:1px solid var(--agc-line); }
.post_content .agc-cv__block--wide { grid-column:1 / -1; }
.post_content .agc-cv__block:first-child { grid-row:span 2; }
@media (max-width:767px) { .post_content .agc-cv__block:first-child { grid-row:auto; } }
.post_content .agc-cv__block ul:not(.agc-timeline) { list-style:none; padding:0; margin:.8em 0 0; }
.post_content .agc-cv__block ul:not(.agc-timeline) li { padding:.35em 0 .35em 1em; position:relative; margin:0; }
.post_content .agc-cv__block ul:not(.agc-timeline) li::before { content:""; position:absolute; left:0; top:1em; width:5px; height:5px; background:var(--agc-accent); }
.post_content .agc-cv__block--wide ul li { font-size:.92em; color:#444; }
@media (max-width:767px) { .post_content .agc-cv { grid-template-columns:1fr; } }

/* フッターの前：院3つ（アクセス・トップでは出さない） */
.w-beforeFooter { margin:0 !important; padding:0 !important; }
/* 中身の幅はテーマ共通の .l-container のまま（他のセクションとそろえる）。背景だけ画面いっぱいに */
.w-beforeFooter .c-widget { margin:0; }
.w-beforeFooter .agc-clinics-band { background:var(--agc-tint); box-shadow:0 0 0 100vmax var(--agc-tint); clip-path:inset(0 -100vmax); padding:56px 0 64px; }
.agc-clinics-band__head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 0 1.6em; }
.agc-clinics-band__ttl { color:var(--agc-navy); font-weight:700; font-size:1.5em; margin:0; padding-bottom:.45em; position:relative; font-family:var(--agc-head, inherit); }
.agc-clinics-band__ttl::after { content:""; position:absolute; left:0; bottom:0; width:48px; height:3px; background:var(--agc-accent); }
a.agc-clinics-band__btn { background:var(--agc-navy); color:#fff; text-decoration:none; border-radius:4px; padding:.75em 1.6em; font-weight:600; font-size:.92em; white-space:nowrap; font-family:var(--agc-head, inherit); }
a.agc-clinics-band__btn:hover { background:var(--agc-navy-2); color:#fff; }
.agc-clinics-band__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:0; }
a.agc-clinics-band__item { display:flex; flex-direction:column; text-decoration:none; color:#444; }
.agc-clinics-band__photo { position:relative; display:block; overflow:hidden; border-radius:4px; }
.agc-clinics-band__photo img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .4s; }
a.agc-clinics-band__item:hover .agc-clinics-band__photo img { transform:scale(1.04); }
.agc-clinics-band__name { position:absolute; left:0; bottom:12px; background:#fff; color:var(--agc-navy); font-weight:700; padding:.35em .85em; font-family:var(--agc-head, inherit); }
.agc-clinics-band__meta { display:block; font-size:.9em; line-height:1.7; margin:.9em 0 .5em; }
.agc-clinics-band__more { font-weight:600; font-size:.88em; color:var(--agc-navy); font-family:var(--agc-head, inherit); }
.agc-clinics-band__more::after { content:" →"; color:var(--agc-accent); }
a.agc-clinics-band__item:hover .agc-clinics-band__more { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:767px) { .agc-clinics-band__grid { grid-template-columns:1fr; gap:24px; } .w-beforeFooter .agc-clinics-band { padding:40px 0 48px; } .agc-clinics-band__ttl { font-size:1.3em; } .agc-clinics-band__photo img { aspect-ratio:2/1; } }
.agc-no-band .w-beforeFooter { display:none; } /* SWELL はクラスを #body_wrap に付ける */

/* フッター（紺） */
.l-footer .agc-foot-brand__name { color:#fff; font-size:1.25em; font-weight:700; margin:0 0 .4em; }
.l-footer .agc-foot-brand p { color:#c9d4e6; font-size:.88em; line-height:1.75; margin:0 0 .4em; }
.l-footer .agc-foot-links { list-style:none; padding:0; margin:0; }
.l-footer .agc-foot-links li { margin:0 0 .55em; }
.l-footer .agc-foot-links a, .l-footer .agc-foot-brand a { color:#fff; text-decoration:none; }
.l-footer .agc-foot-links a:hover { text-decoration:underline; }
.l-footer a.agc-foot-btn { display:inline-block; background:var(--agc-accent); color:#fff; border-radius:4px; padding:.75em 1.5em; font-weight:600; text-decoration:none; margin-top:.4em; }
.l-footer .c-widget__title.-footer { color:#fff; font-size:1em; font-weight:700; padding:0 0 .7em; margin:0 0 1em; }
.l-footer .c-widget__title.-footer::after { background:rgba(255,255,255,.22); }
.l-footer .c-widget__title.-footer::before { width:40px; background:var(--agc-accent); }

/* アクセス v3：院ごとに「写真＋要点」→地図（全幅）→道順（開閉） */
.post_content .agc-clinic-head { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start; margin:1.6em 0 1.8em; }
.post_content .agc-clinic-head > * { margin:0 !important; min-width:0; }
.post_content .agc-clinic-head .agc-hero-img img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; display:block; }
.post_content .agc-clinic-head .agc-info-table { margin:0; }
.post_content .agc-clinic-head .agc-info-table td { font-size:.98em; line-height:1.75; }
@media (max-width:767px) { .post_content .agc-clinic-head { grid-template-columns:1fr; gap:20px; } }
.post_content .swell-block-fullWide__inner > .agc-map { padding-top:38%; margin:0; }
@media (max-width:767px) { .post_content .swell-block-fullWide__inner > .agc-map { padding-top:70%; } }
.post_content .agc-dir-ttl { margin-top:2.2em !important; margin-bottom:.6em; font-size:1.05em; }
.post_content details.agc-route-item { border-top:1px solid var(--agc-line); margin:0; padding:0; background:none; }
.post_content details.agc-route-item:last-of-type { border-bottom:1px solid var(--agc-line); }
.post_content details.agc-route-item > summary { list-style:none; cursor:pointer; padding:16px 44px 16px 0; color:var(--agc-navy); font-weight:600; position:relative; font-family:var(--agc-head, inherit); }
.post_content details.agc-route-item > summary::-webkit-details-marker { display:none; }
.post_content details.agc-route-item > summary::after { content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-size:1.5em; font-weight:400; color:var(--agc-accent); line-height:1; }
.post_content details.agc-route-item[open] > summary::after { content:"−"; }
.post_content details.agc-route-item > ol { padding:0 0 18px 1.4em; margin:0; }
.post_content details.agc-route-item > ol li { margin-bottom:.45em; }
.post_content details.agc-route-item > ol li::marker { color:var(--agc-navy); font-weight:700; }

/* アクセス冒頭：院3つへのリンクを1行で（区切り線だけ） */
.post_content ul.agc-jump { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:1.4em 0 0; }
.post_content ul.agc-jump li { margin:0; padding:0 1.1em; border-left:1px solid #b9c4d4; line-height:1.2; }
.post_content ul.agc-jump li:first-child { padding-left:0; border-left:0; }
.post_content ul.agc-jump a { color:var(--agc-navy); font-weight:600; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; text-decoration-color:#b9c4d4; font-family:var(--agc-head, inherit); }
.post_content ul.agc-jump a:hover { text-decoration-color:var(--agc-accent); }
@media (max-width:599px) { .post_content ul.agc-jump { gap:.7em 1.4em; } .post_content ul.agc-jump li { padding:0; border-left:0; } }

/* お問い合わせ v2：左に写真と案内、右にフォーム。フォームは箱なし・* で必須・左寄せのボタン */
.post_content .agc-contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start; }
.post_content .agc-contact > * { margin:0 !important; min-width:0; }
.post_content .agc-contact__photo { margin:0 0 1.4em; }
.post_content .agc-contact__photo img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; display:block; }
.post_content .agc-contact__lead { font-size:1.02em; line-height:1.85; }
.post_content ul.agc-contact__notes { list-style:none; padding:0; margin:1.2em 0 0; border-top:1px solid var(--agc-line); }
.post_content ul.agc-contact__notes li { padding:12px 0 12px 1em; border-bottom:1px solid var(--agc-line); position:relative; margin:0; font-size:.94em; color:#444; }
.post_content ul.agc-contact__notes li::before { content:""; position:absolute; left:0; top:1.25em; width:5px; height:5px; background:var(--agc-accent); }
@media (max-width:900px) { .post_content .agc-contact { grid-template-columns:1fr; gap:36px; } }

.post_content .agc-form { background:none !important; border-radius:0; padding:0 !important; }
.post_content .agc-form .agc-form__note { font-size:.85em; color:var(--agc-gray); margin:0 0 1.4em; }
.post_content .agc-form label { font-family:var(--agc-head, inherit); font-weight:600; color:var(--agc-navy); font-size:.95em; }
.post_content .agc-form .agc-req { display:inline; background:none; color:var(--agc-accent); margin-left:.2em; padding:0; font-size:1em; font-weight:700; }
.post_content .agc-form > p, .post_content .agc-form form > p { margin-bottom:1.5em; }
.post_content .agc-form input[type="text"], .post_content .agc-form input[type="email"], .post_content .agc-form select, .post_content .agc-form textarea { border:1px solid #b9c4d4; border-radius:2px; background:#fff; padding:.75em .85em; box-shadow:none; }
.post_content .agc-form input:focus, .post_content .agc-form select:focus, .post_content .agc-form textarea:focus { outline:none; border-color:var(--agc-navy); box-shadow:0 0 0 3px rgba(0,50,106,.12); }
.post_content .agc-form textarea { min-height:12em; }
.post_content .agc-form .agc-accept { text-align:left; margin-top:.4em; font-size:.92em; }
.post_content .agc-form .agc-accept label { font-family:inherit; font-weight:400; color:inherit; font-size:1em; }
.post_content .agc-form .agc-submit { text-align:left; margin-top:1.4em; }
.post_content .agc-form input[type="submit"] { background:var(--agc-navy); border-radius:4px; padding:1em 3.2em; font-weight:600; letter-spacing:.02em; }
.post_content .agc-form input[type="submit"]:hover:not(:disabled) { background:var(--agc-navy-2); opacity:1; }
.post_content .agc-form .wpcf7-spinner { display:inline-block; margin:0 0 0 12px; vertical-align:middle; }

/* アクセス冒頭：院名・最寄りの大きな駅・休診日を3列で（箱なし・縦線で区切る） */
.post_content ul.agc-glance { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; margin:1.8em 0 0; border-top:2px solid var(--agc-navy); border-bottom:1px solid var(--agc-line); }
.post_content ul.agc-glance li { margin:0; padding:18px 24px; border-left:1px solid var(--agc-line); display:flex; flex-direction:column; gap:.25em; font-size:.95em; color:#444; }
.post_content ul.agc-glance li:first-child { border-left:0; padding-left:0; }
.post_content a.agc-glance__name { color:var(--agc-navy); font-weight:700; font-size:1.12em; text-decoration:none; font-family:var(--agc-head, inherit); margin-bottom:.15em; }
.post_content a.agc-glance__name:hover { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:767px) { .post_content ul.agc-glance { grid-template-columns:1fr; } .post_content ul.agc-glance li { border-left:0; padding:14px 0; border-top:1px solid var(--agc-line); } .post_content ul.agc-glance li:first-child { border-top:0; } }
/* 押せることが分かるように：院名の横に ↓、列全体を押せる、乗せると薄く色づく */
.post_content ul.agc-glance li { position:relative; transition:background .2s; }
.post_content a.agc-glance__name::after { content:"↓"; color:var(--agc-accent); margin-left:.45em; font-weight:700; display:inline-block; transition:transform .2s; }
.post_content a.agc-glance__name::before { content:""; position:absolute; inset:0; z-index:1; }
.post_content ul.agc-glance li:hover { background:var(--agc-tint); }
.post_content ul.agc-glance li:hover a.agc-glance__name { text-decoration:underline; text-underline-offset:4px; }
.post_content ul.agc-glance li:hover a.agc-glance__name::after { transform:translateY(3px); }
@media (min-width:768px) { .post_content ul.agc-glance li:first-child { padding-left:16px; } .post_content ul.agc-glance li { padding-left:24px; } }
@media (max-width:767px) { .post_content ul.agc-glance li { padding-left:8px; padding-right:8px; } }
/* フォームのプルダウン：ブラウザ標準の矢印をやめ、右から少し内側に紺の矢印 */
.post_content .agc-form select { -webkit-appearance:none; -moz-appearance:none; appearance:none; padding-right:2.8em; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2300326a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; background-size:12px 8px; cursor:pointer; }
.post_content .agc-form select::-ms-expand { display:none; }
/* フッターの3列：両端の余白を消して、本文のセクションと左右の端をそろえる（列の間は残す） */
@media (min-width:600px) { .l-footer .w-footer.-col3 .w-footer__box:first-child { padding-left:0; } .l-footer .w-footer.-col3 .w-footer__box:last-child { padding-right:0; } }

/* 写真の帯（トップのファーストビュー・予約の帯）：:has() に頼らず、帯そのものを alignfull で全幅に（どのブラウザでも同じ） */
.post_content .agc-photo-sec.alignfull { position:relative; overflow:hidden; margin-top:0; margin-bottom:0; }
.post_content .agc-photo-sec.alignfull > .agc-photo-sec__in { position:relative; z-index:2; }
.post_content .agc-hero2.alignfull > .agc-photo-sec__in > * { max-width:620px; }
.post_content .agc-hero2.alignfull > .agc-photo-sec__in { max-width:none; }
.post_content .agc-hero2 .agc-photo-sec__bg { object-position:right center; }
.post_content .agc-hero2::before { background:linear-gradient(90deg, rgba(0,37,80,.9) 0%, rgba(0,50,106,.7) 38%, rgba(0,50,106,.15) 68%, rgba(0,50,106,0) 85%); }
@media (max-width:767px) { .post_content .agc-hero2 .agc-photo-sec__bg { object-position:88% center; } }
/* 写真の帯の文字：他のセクションと同じ左右の余白（PCは最大1200px＋48px、スマホは4vw） */
.post_content .agc-photo-sec.alignfull > .agc-photo-sec__in { max-width:none; margin:0; padding-left:max(48px, calc((100% - 1200px) / 2)); padding-right:max(48px, calc((100% - 1200px) / 2)); }
@media (max-width:959px) { .post_content .agc-photo-sec.alignfull > .agc-photo-sec__in { padding-left:4vw; padding-right:4vw; } }
/* スマホのファーストビュー：写真を上、文字を下（紺）に分けて重ねない */
@media (max-width:767px) {
  .post_content .agc-hero2.alignfull { background:var(--agc-navy); }
  .post_content .agc-hero2.alignfull::before { display:none; }
  .post_content .agc-hero2.alignfull > .agc-photo-sec__bg { position:static; display:block; height:230px; object-position:88% center; }
  .post_content .agc-hero2.alignfull > .agc-photo-sec__in { padding-top:30px; padding-bottom:40px; }
  .post_content .agc-hero__lead { text-shadow:none; }
}
/* 本文の下の余白（SWELL の #content の margin-bottom 96px）：院3つの帯を出さないページ（トップ・アクセス）は最後のセクションがそのままフッターに接する */
.agc-no-band #content { margin-bottom:0; }
/* フッター：言語の切り替え（今いる言語は太字＋橙の下線） */
.l-footer .agc-foot-langs a.is-current { font-weight:700; }
.l-footer .agc-foot-langs a.is-current { text-decoration:underline; text-decoration-color:var(--agc-accent); text-decoration-thickness:2px; text-underline-offset:5px; }
/* 予約の帯：文章とボタンの間（帯の p { margin:0 } がボタンの段にも効いていたので個別に） */
.post_content .agc-cta2 .agc-btns { margin-top:2em; }
.post_content .agc-cta2 .agc-cta__ttl + p { line-height:1.8; }

/* フッター v2：左にロゴ・紹介・院長、右に院3つの住所と時間、下の段にリンク */
.l-footer .w-footer.-col1 .w-footer__box { padding:0; }
.l-footer .agc-foot { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:40px; padding:8px 0 28px; }
.l-footer .agc-foot p { color:#c9d4e6; font-size:.86em; line-height:1.75; margin:0 0 .6em; }
.l-footer .agc-foot__logo { width:240px; height:auto; display:block; margin:0 0 1em; }
.l-footer .agc-foot__dir { margin-top:1em !important; }
.l-footer .agc-foot__dir span { display:block; font-size:.92em; color:#9fb2cf; }
.l-footer .agc-foot__dir { color:#fff !important; }
.l-footer .agc-foot__clinic { border-left:1px solid rgba(255,255,255,.18); padding-left:24px; }
.l-footer p.agc-foot__cname { color:#fff; font-weight:700; font-size:.98em; margin-bottom:.5em; font-family:var(--agc-head, inherit); }
.l-footer .agc-foot__links { list-style:none; display:flex; flex-wrap:wrap; gap:8px 28px; margin:0; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.18); }
.l-footer .agc-foot__links li { margin:0; }
.l-footer .agc-foot__links a { color:#fff; text-decoration:none; font-size:.88em; font-weight:600; font-family:var(--agc-head, inherit); }
.l-footer .agc-foot__links a:hover { text-decoration:underline; text-underline-offset:4px; }
.l-footer .agc-foot__links li:last-child { margin-left:auto; }
@media (max-width:959px) { .l-footer .agc-foot { grid-template-columns:1fr 1fr; } .l-footer .agc-foot__brand { grid-column:1 / -1; } }
@media (max-width:599px) { .l-footer .agc-foot { grid-template-columns:1fr; gap:24px; } .l-footer .agc-foot__clinic { border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.18); padding-top:18px; } .l-footer .agc-foot__links li:last-child { margin-left:0; } }
/* フッター v3：詰まりすぎを解消。上段＝ロゴ・紹介・院長を横一列、中段＝院3つを3列、下段＝リンク。余白・行間を広げる */
.l-footer .l-footer__widgetArea { padding-top:64px; padding-bottom:16px; }
.l-footer .agc-foot { grid-template-columns:repeat(3,1fr); gap:0 56px; padding:0 0 40px; }
.l-footer .agc-foot__brand { grid-column:1 / -1; display:flex; align-items:center; gap:16px 48px; flex-wrap:wrap; padding-bottom:36px; margin-bottom:36px; border-bottom:1px solid rgba(255,255,255,.18); }
.l-footer .agc-foot__brand > a { flex:0 0 auto; }
.l-footer .agc-foot__logo { width:260px; margin:0; }
.l-footer .agc-foot__brand > p { margin:0; font-size:.9em; }
.l-footer .agc-foot__brand > p:not(.agc-foot__dir) { flex:1 1 300px; max-width:440px; }
.l-footer .agc-foot__dir { margin:0 0 0 auto !important; text-align:right; }
.l-footer .agc-foot__clinic { border-left:0; padding-left:0; }
.l-footer .agc-foot p { line-height:1.85; }
.l-footer .agc-foot__clinic p { font-size:.9em; margin-bottom:.8em; }
.l-footer p.agc-foot__cname { font-size:1.05em; margin-bottom:.7em; }
.l-footer .agc-foot__links { padding-top:24px; gap:10px 32px; }
@media (max-width:959px) { .l-footer .agc-foot { grid-template-columns:1fr 1fr; gap:28px 40px; } .l-footer .agc-foot__dir { margin-left:0 !important; text-align:left; } }
@media (max-width:599px) {
  .l-footer .l-footer__widgetArea { padding-top:44px; }
  .l-footer .agc-foot { grid-template-columns:1fr; gap:28px; }
  .l-footer .agc-foot__brand { padding-bottom:28px; margin-bottom:4px; }
  .l-footer .agc-foot__logo { width:230px; }
  .l-footer .agc-foot__clinic { border-top:0; padding-top:0; }
}
/* フッターの中身を画面幅いっぱいに（左右 48px、スマホは 4vw）。浅原さん 10-19「フルワイドにしたら？」 */
.l-footer .l-footer__widgetArea > .l-container, .l-footer .l-footer__foot > .l-container, .l-footer .w-footer { max-width:none !important; padding-left:48px !important; padding-right:48px !important; }
@media (max-width:959px) { .l-footer .l-footer__widgetArea > .l-container, .l-footer .l-footer__foot > .l-container, .l-footer .w-footer { padding-left:4vw !important; padding-right:4vw !important; } }
/* SWELL の「上に戻る」ボタン（右下に固定）とリンクが重ならないように：日本語を右端に寄せず、行の右側をあける */
.l-footer .agc-foot__links { padding-right:80px; }
.l-footer .agc-foot__links li:last-child { margin-left:0 !important; padding-left:28px; border-left:1px solid rgba(255,255,255,.25); }
@media (max-width:599px) { .l-footer .agc-foot__links li:last-child { padding-left:0; border-left:0; } }
/* ヘッダーの Contact ボタンを他のメニューと同じ高さの中央に */
.c-gnav > .menu-item.agc-navcta { display:flex; align-items:center; }
.c-gnav > .menu-item.agc-navcta > a { height:42px; line-height:42px; margin:0 0 0 1em; padding:0 1.5em; }
.c-gnav > .menu-item.agc-navcta > a .ttl { color:#fff; }

/* ===== 記事ページ（2026-10-19）：アリエル・百人町と同じ部品、見た目は別（紺の線・四角い写真に紺の板・Q/A は文字） ===== */
/* 著者欄（ブログパーツ） */
.post_content .agc-author { margin:2em 0 2.4em; padding:22px 0 24px; border-top:2px solid var(--agc-navy); border-bottom:1px solid var(--agc-line); }
.post_content .agc-author__label { font-family:var(--agc-head, inherit); font-size:.78em; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--agc-navy); margin:0 0 16px; }
.post_content .agc-author__head { display:flex; align-items:center; gap:28px; }
.post_content .agc-author__photo { flex:0 0 132px; margin:0 0 0 10px; position:relative; }
.post_content .agc-author__photo::before { content:""; position:absolute; left:-10px; top:10px; width:100%; height:100%; background:var(--agc-navy); }
.post_content .agc-author__photo img { position:relative; display:block; width:100%; height:auto; aspect-ratio:5/6; object-fit:cover; object-position:center top; }
.post_content .agc-author__name { font-family:var(--agc-head, inherit); font-size:1.3em; font-weight:700; color:var(--agc-navy); margin:0; line-height:1.3; }
.post_content .agc-author__role { font-size:.9em; color:var(--agc-gray); margin:.25em 0 .7em; }
.post_content ul.agc-author__creds { list-style:none; padding:0; margin:0; font-size:.86em; color:#444; }
.post_content ul.agc-author__creds li { padding:0 0 0 .9em; position:relative; margin:0 0 .2em; }
.post_content ul.agc-author__creds li::before { content:""; position:absolute; left:0; top:.65em; width:4px; height:4px; background:var(--agc-accent); }
.post_content .agc-author__bio { margin:18px 0 10px; font-size:.95em; line-height:1.8; }
.post_content a.agc-author__more { font-family:var(--agc-head, inherit); font-weight:600; font-size:.9em; color:var(--agc-navy); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px; }
.post_content a.agc-author__more::after { content:" →"; color:var(--agc-accent); }
@media (max-width:599px) { .post_content .agc-author__head { gap:18px; } .post_content .agc-author__photo { flex-basis:96px; } .post_content .agc-author__name { font-size:1.12em; } }

/* Q&A（SWELL の FAQ ブロック）：問いごとに細い線、Q は紺・A は橙の文字、質問の行だけ薄い地 */
.post_content .swell-block-faq { border-top:2px solid var(--agc-navy); }
.post_content .swell-block-faq .swell-block-faq__item { background:none; border:0; border-radius:0; border-bottom:1px solid var(--agc-line); padding:0; margin:0; box-shadow:none; overflow:visible; }
.post_content .swell-block-faq .swell-block-faq__item + .swell-block-faq__item { margin-top:0; }
.post_content .swell-block-faq .faq_q { background:var(--agc-tint); padding:16px 16px 16px 3.2em; margin:0; font-family:var(--agc-head, inherit); font-weight:700; font-size:1.05em; line-height:1.5; color:var(--agc-navy); position:relative; }
.post_content .swell-block-faq .faq_a { padding:16px 16px 18px 3.2em; margin:0; position:relative; line-height:1.85; }
.post_content .swell-block-faq .faq_a > *:last-child { margin-bottom:0; }
.post_content .swell-block-faq .faq_q::before, .post_content .swell-block-faq .faq_a::before { position:absolute; left:16px; width:auto; height:auto; background:none !important; border:0; border-radius:0; box-shadow:none; font-family:var(--agc-head, inherit); font-weight:800; font-size:1.25em; line-height:1.2; text-align:left; }
.post_content .swell-block-faq .faq_q::before { content:"Q"; color:var(--agc-navy) !important; top:14px; }
.post_content .swell-block-faq .faq_a::before { content:"A"; color:var(--agc-accent) !important; top:15px; }
@media (max-width:599px) { .post_content .swell-block-faq .faq_q, .post_content .swell-block-faq .faq_a { padding-left:2.7em; padding-right:8px; } .post_content .swell-block-faq .faq_q::before, .post_content .swell-block-faq .faq_a::before { left:10px; } }

/* 記事の最後：子カテゴリー・親カテゴリーへのリンク（横に2つ、上に紺の線） */
.post_content .agc-catnav { margin:3.2em 0 0; }
.post_content .agc-catnav__ttl { font-family:var(--agc-head, inherit); font-size:.78em; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--agc-navy); margin:0 0 .8em; }
.post_content .agc-catnav__list { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; }
.post_content a.agc-catnav__item { display:flex; flex-direction:column; gap:.3em; padding:16px 44px 16px 18px; border:1px solid var(--agc-line); border-top:3px solid var(--agc-navy); text-decoration:none; position:relative; background:#fff; transition:background .2s; }
.post_content a.agc-catnav__item::after { content:"→"; position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--agc-accent); font-weight:700; transition:right .2s; }
.post_content a.agc-catnav__item:hover { background:var(--agc-tint); }
.post_content a.agc-catnav__item:hover::after { right:12px; }
.post_content .agc-catnav__sub { font-size:.8em; color:var(--agc-gray); }
.post_content .agc-catnav__name { font-family:var(--agc-head, inherit); font-weight:700; font-size:1.05em; color:var(--agc-navy); }

/* 記事の表（固定ページの表と同じ考え方：塗りなし・上に紺の線・行間に細線） */
.single .post_content .wp-block-table > table { border:0; border-collapse:collapse; width:100%; }
.single .post_content .wp-block-table th, .single .post_content .wp-block-table td { border:0; border-bottom:1px solid var(--agc-line); background:none; padding:12px 14px 12px 0; text-align:left; vertical-align:top; }
.single .post_content .wp-block-table thead th { border-top:2px solid var(--agc-navy); border-bottom:1px solid var(--agc-navy); color:var(--agc-navy); font-family:var(--agc-head, inherit); font-size:.82em; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.single .post_content .wp-block-table:not(:has(thead)) tr:first-child > * { border-top:2px solid var(--agc-navy); }
.single .post_content .wp-block-table figcaption { text-align:left; font-size:.82em; color:var(--agc-gray); }
.single .post_content .wp-block-image figcaption { text-align:left; font-size:.82em; color:var(--agc-gray); }

/* 記事の H4・目次 */
.post_content h4 { color:var(--agc-navy); font-size:1.02em; padding:0 0 0 .9em; position:relative; border:0; }
.post_content h4::before { content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; background:var(--agc-accent); border:0; }
.p-toc.-border { border-color:var(--agc-line); border-top:2px solid var(--agc-navy); border-radius:0; }
.p-toc__ttl { font-family:var(--agc-head, inherit); color:var(--agc-navy); }
/* Q&A の Q/A：絶対位置をやめ、グリッドで1行目のベースラインにそろえる（10-19 浅原さん「縦位置ずれてる」） */
.post_content .swell-block-faq .faq_q, .post_content .swell-block-faq .faq_a { display:grid; grid-template-columns:2.2em minmax(0,1fr); column-gap:0; align-items:baseline; padding-left:16px; }
.post_content .swell-block-faq .faq_q::before, .post_content .swell-block-faq .faq_a::before { position:static !important; grid-column:1; grid-row:1; align-self:baseline; transform:none; line-height:1; }
.post_content .swell-block-faq .faq_a > * { grid-column:2; }
.post_content .swell-block-faq .faq_a > *:first-child { grid-row:1; align-self:baseline; }
@media (max-width:599px) { .post_content .swell-block-faq .faq_q, .post_content .swell-block-faq .faq_a { padding-left:10px; grid-template-columns:1.9em minmax(0,1fr); } }
/* Q/A の横位置：列の幅と Q/A の文字を px で固定（質問の行は文字が 1.05em なので em だと列幅が変わっていた）・列の中央にそろえる（10-19 浅原さん「A が左にずれてる」） */
.post_content .swell-block-faq .faq_q, .post_content .swell-block-faq .faq_a { grid-template-columns:40px minmax(0,1fr); padding-left:12px; }
.post_content .swell-block-faq .faq_q::before, .post_content .swell-block-faq .faq_a::before { font-size:21px !important; justify-self:center; text-align:center; width:auto; }
@media (max-width:599px) { .post_content .swell-block-faq .faq_q, .post_content .swell-block-faq .faq_a { grid-template-columns:34px minmax(0,1fr); padding-left:6px; } .post_content .swell-block-faq .faq_q::before, .post_content .swell-block-faq .faq_a::before { font-size:19px !important; } }
/* Q&A：まとまりの上の紺の太線をやめ、問いごとの細線にそろえる（10-19 浅原さん「一番上の質問だけ線が太い」） */
.post_content .swell-block-faq { border-top:1px solid var(--agc-line); }

/* フッターの前の予約の帯（ウィジェット＝本文の外なので .post_content なしで指定） */
.w-beforeFooter .agc-band-cta { position:relative; overflow:hidden; }
.w-beforeFooter .agc-band-cta .agc-photo-sec__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0; z-index:0; }
.w-beforeFooter .agc-band-cta::before { content:""; position:absolute; inset:0; z-index:1; background:rgba(0,37,80,.84); }
.w-beforeFooter .agc-band-cta .agc-photo-sec__in { position:relative; z-index:2; padding-top:80px; padding-bottom:80px; text-align:center; color:#fff; }
.w-beforeFooter .agc-band-cta .agc-cta__ttl { color:#fff; font-size:1.7em; font-weight:700; margin:0 0 .5em; font-family:var(--agc-head, inherit); }
.w-beforeFooter .agc-band-cta p { color:#e3e9f3; margin:0; }
.w-beforeFooter .agc-band-cta .agc-btns { display:flex; justify-content:center; margin-top:2em; }
.w-beforeFooter .agc-band-cta a.agc-btn { display:inline-block; background:var(--agc-accent); color:#fff; text-decoration:none; border-radius:4px; padding:.95em 2em; font-weight:600; font-family:var(--agc-head, inherit); }
.w-beforeFooter .agc-band-cta a.agc-btn:hover { background:#cf6812; color:#fff; }
@media (max-width:599px) { .w-beforeFooter .agc-band-cta .agc-photo-sec__in { padding-top:56px; padding-bottom:56px; } .w-beforeFooter .agc-band-cta .agc-cta__ttl { font-size:1.4em; } }
/* 帯のあるページは本文の下の余白を詰めて、帯がフッターの直前の区切りになるように */
#body_wrap:not(.agc-no-band) #content { margin-bottom:64px; }
/* フッター前の予約の帯は画面いっぱい（外枠の .l-container の幅・余白を外す。中の文字は帯の中の .l-container で本文の幅） */
.w-beforeFooter > .l-container { max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
.w-beforeFooter .agc-band-cta > .l-container { max-width:var(--container_size, 1200px); margin-left:auto; margin-right:auto; padding-left:48px; padding-right:48px; box-sizing:content-box; }
@media (max-width:959px) { .w-beforeFooter .agc-band-cta > .l-container { padding-left:4vw; padding-right:4vw; } }
/* 院の帯を戻した（10-19）：外枠は画面いっぱい、中身は帯の中の .l-container で本文の幅 */
.w-beforeFooter .agc-clinics-band { box-shadow:none; clip-path:none; }
.w-beforeFooter .agc-clinics-band__in { max-width:var(--container_size, 1200px); margin-left:auto; margin-right:auto; padding-left:48px; padding-right:48px; box-sizing:content-box; }
@media (max-width:959px) { .w-beforeFooter .agc-clinics-band__in { padding-left:4vw; padding-right:4vw; } }
/* 記事の H3：左に紺の縦線（H2＞H3＞H4 の順に目立つように。10-19 浅原さん「H3 のデザインはこれでいいの？」）。固定ページの H3 は各部品で作ってあるので記事だけ */
.single .post_content h3 { font-size:1.18em; line-height:1.5; padding:.15em 0 .15em .8em; border-left:4px solid var(--agc-navy); margin:2.2em 0 1em; }
.single .post_content h4 { font-size:1.02em; margin:1.8em 0 .8em; }
/* 本文直下の H2 の左右マイナス余白（SWELL の帯の見出し用）を消して本文と左端をそろえる（記事・プライバシーで本文より左にはみ出していた。10-19） */
.post_content > h2 { margin-left:0 !important; margin-right:0 !important; }
/* スマホのヘッダー右上の Contact ボタン（PC のヘッダーの紺のボタンと同じ見た目・アイコンは出さず文字だけ） */
@media (max-width:959px) {
  .l-header__customBtn .c-iconBtn, .l-fixHeader .l-header__customBtn .c-iconBtn { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; background:var(--agc-navy); color:#fff !important; border-radius:4px; height:34px; width:auto; min-width:0; padding:0 .9em; margin:auto 0; }
  .l-header__customBtn .c-iconBtn__icon { display:none; }
  .l-header__customBtn .c-iconBtn__label { display:block; color:#fff; font-family:var(--agc-head, inherit); font-weight:600; font-size:13px; line-height:1; margin:0; transform:none; }
  .l-header__customBtn { display:flex; align-items:center; justify-content:flex-end; width:auto; padding-right:2px; }
}
.l-header__customBtn .c-iconBtn__label { white-space:nowrap; }
/* ヘッダーの Contact（PC・スマホ・追従ヘッダー）をオレンジに＝サイト内の「予約・問い合わせ＝オレンジ」にそろえる（10-19 浅原さん） */
.c-gnav > .menu-item.agc-navcta > a, .l-fixHeader .c-gnav > .menu-item.agc-navcta > a { background:var(--agc-accent); }
.c-gnav > .menu-item.agc-navcta > a:hover { background:#cf6812; }
@media (max-width:959px) { .l-header__customBtn .c-iconBtn, .l-fixHeader .l-header__customBtn .c-iconBtn { background:var(--agc-accent); } }
/* スマホの Contact ボタンの右の余白を、左のメニューボタンと同じ 12px に（10-19 浅原さん「右余白せますぎ」） */
@media (max-width:959px) { .l-header__customBtn, .l-fixHeader .l-header__customBtn { padding-right:12px !important; } }
/* Our Clinics の帯の Contact us もオレンジ（予約・問い合わせのボタンはオレンジにそろえる。全ページ見直しで紺のまま残っていた 10-19） */
a.agc-clinics-band__btn { background:var(--agc-accent); }
a.agc-clinics-band__btn:hover { background:#cf6812; }

/* 10-20 最新記事（トップ）と記事一覧：一覧へのボタンはサイトの枠線ボタンに合わせる・記事一覧ページは本文幅(780)でなく枠いっぱい */
.agc-latest .is-style-more_btn { text-align:center; margin-top:2.2em; }
.agc-latest .is-style-more_btn a { display:inline-block; width:auto; min-width:0; max-width:none; background:transparent; color:var(--agc-navy); box-shadow:inset 0 0 0 1.5px var(--agc-navy); border:0; border-radius:4px; padding:.95em 2em; font-weight:600; line-height:1.4; font-family:var(--agc-head, inherit); text-decoration:none; transition:background .2s; }
.agc-latest .is-style-more_btn a:hover { background:var(--agc-navy); color:#fff; }
.agc-latest .is-style-more_btn a::before, .agc-latest .is-style-more_btn a::after { display:none; }
#body_wrap.blog #main_content, #body_wrap.archive #main_content { max-width:none; width:100%; }
