/* =========================================================
   北赤羽駅前青衣クリニック  Snow Monkey 用スタイル
   色：メイン #00A79B ／ 濃い緑 #008C82・#006F67 ／ 予約 #92C261 ／ 医師・地図 #4397BE ／ 文字 #222222
   ========================================================= */
:root{
	--aoi-main:#00A79B; --aoi-deep:#008C82; --aoi-deeper:#006F67;
	--aoi-green:#92C261; --aoi-blue:#4397BE; --aoi-text:#222222;
	--aoi-line:#DCEDE8; --aoi-mint:#EAF6F2; --aoi-mint-bg:#F3FAF8;
	--aoi-maru:'Zen Maru Gothic',sans-serif; --aoi-kaku:'Zen Kaku Gothic New',sans-serif;
}
body{font-family:var(--aoi-kaku);color:var(--aoi-text);letter-spacing:.05em}
h1,h2,h3,h4,h5,h6{font-family:var(--aoi-maru)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 見出し ---------- */
.aoi-page-en{margin:0 0 4px!important;font-family:var(--aoi-maru);font-weight:700;font-size:clamp(26px,4vw,46px);letter-spacing:.2em;line-height:1.2;color:var(--aoi-main)}
.aoi-h2{position:relative;margin:56px 0 20px!important;padding:0 0 12px 18px!important;border-bottom:1px solid var(--aoi-line);font-weight:500;font-size:clamp(21px,2vw,23px)!important;line-height:1.5;letter-spacing:.04em;color:var(--aoi-text)}
.aoi-h2::before{content:"";position:absolute;left:0;top:.25em;bottom:calc(12px + .25em);width:5px;border-radius:3px;background:var(--aoi-main)}
.aoi-h3{margin:32px 0 12px!important;font-weight:500;font-size:20px!important;line-height:1.6;color:var(--aoi-deep)}
.aoi-h4{position:relative;margin:24px 0 10px!important;padding-left:14px;font-weight:500;font-size:17px!important;line-height:1.6;color:var(--aoi-text)}
.aoi-h4::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--aoi-green)}

/* ---------- ページ内リンク ---------- */
.aoi-anchors{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.aoi-anchors a{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;box-sizing:border-box;border:1px solid #CDE9E0;border-radius:6px;background:#fff;color:var(--aoi-deeper);text-decoration:none;font-size:13px;line-height:1.5}
.aoi-anchors a::after{content:"";width:6px;height:6px;border-right:1.5px solid var(--aoi-main);border-bottom:1.5px solid var(--aoi-main);transform:rotate(45deg) translateY(-2px);flex:none}

/* ---------- リスト・本文 ---------- */
.aoi-check{margin:0 0 16px!important;padding:18px 22px!important;list-style:none!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 24px;background:var(--aoi-mint-bg);border-radius:8px}
.aoi-check li{position:relative;margin:0!important;padding-left:20px;line-height:1.8}
.aoi-check li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--aoi-main)}
.aoi-note{font-size:13px}
.aoi-textlink a{display:inline-flex;align-items:center;gap:8px;color:var(--aoi-deep);font-weight:500}
.aoi-textlink a::after{content:"→"}

/* ---------- 表 ---------- */
.aoi-table{width:100%;margin:0 0 16px;border-collapse:collapse;font-size:14px;line-height:1.8;background:#fff}
.aoi-table th,.aoi-table td{border:1px solid var(--aoi-line);padding:10px 16px;text-align:left;vertical-align:top}
.aoi-table th{width:28%;background:var(--aoi-mint);color:var(--aoi-deeper);font-weight:500}
.aoi-table--vaccine thead th{background:var(--aoi-main);color:#fff;border-color:var(--aoi-main)}
.aoi-table--price th{background:#fff;color:var(--aoi-text)}
.aoi-table--price td{text-align:right;font-family:var(--aoi-maru);font-weight:500;color:var(--aoi-deeper);white-space:nowrap}
.aoi-table--cols th{width:auto}
.aoi-scroll{overflow-x:auto}
.aoi-history{margin:0 0 16px;border-collapse:collapse;font-size:14px;line-height:1.8}
.aoi-history tr{border-bottom:1px dashed var(--aoi-line)}
.aoi-history th{padding:6px 28px 6px 0;font-weight:500;color:var(--aoi-deep);text-align:left;vertical-align:top;white-space:nowrap;border:0;background:none}
.aoi-history td{padding:6px 0;border:0}

/* ---------- 医師・写真 ---------- */
.aoi-doctor-photo img{width:100%;max-width:420px;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.aoi-sign{text-align:right;font-size:13px;line-height:1.6}
.aoi-sign strong{font-size:18px;font-weight:500;letter-spacing:.15em}
.aoi-cs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;aspect-ratio:16/9;max-height:360px;margin:0 0 16px;border-radius:12px;background:linear-gradient(135deg,#E6F5F1 0%,#F4FAEC 100%);border:1px solid #D7ECE6;box-sizing:border-box}
.aoi-cs__en{font-family:var(--aoi-maru);font-weight:700;font-size:20px;letter-spacing:.24em;color:var(--aoi-main)}
.aoi-cs__jp{font-size:12px;color:#5E8F88;letter-spacing:.1em}
.aoi-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:16px}
.aoi-gallery figure{margin:0;display:flex;flex-direction:column;gap:8px}
.aoi-gallery .aoi-cs{aspect-ratio:4/3;margin:0}
.aoi-gallery .aoi-cs__en{font-size:15px}
.aoi-gallery figcaption{font-size:14px;text-align:center}

/* ---------- 健診・ワクチン ---------- */
.aoi-reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}
.aoi-reason{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:8px;background:var(--aoi-mint-bg)}
.aoi-reason p,.aoi-steps p{margin:0}
.aoi-reason__title,.aoi-steps__title{font-family:var(--aoi-maru);font-weight:500;font-size:16px;color:var(--aoi-deeper)}
.aoi-steps{display:flex;flex-direction:column;gap:12px;margin:0 0 16px;padding:0;list-style:none}
.aoi-steps li{display:flex;flex-direction:column;gap:2px;padding:14px 20px;border-left:4px solid var(--aoi-green);border-radius:0 8px 8px 0;background:#F7FBF1}
.aoi-vgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px}
.aoi-vgroup{display:flex;flex-direction:column;gap:8px}
.aoi-vgroup__label{align-self:flex-start;margin:0;padding:2px 12px;border-radius:3px;background:var(--aoi-main);color:#fff;font-size:13px;font-weight:500}
.aoi-vgroup .aoi-check{grid-template-columns:1fr;padding:14px 18px!important;margin:0!important}

/* ---------- ボタン（役割で色分け） ---------- */
.aoi-btn .wp-block-button__link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 24px;border-radius:6px;background:var(--aoi-main);color:#fff;font-family:var(--aoi-maru);font-weight:500;font-size:13px;letter-spacing:.12em;text-decoration:none}
.aoi-btn .wp-block-button__link::after{content:"→"}
.aoi-btn--blue .wp-block-button__link{background:var(--aoi-blue)}
.aoi-btn--green .wp-block-button__link{background:var(--aoi-green)}

/* ---------- 診療時間・アクセス ---------- */
.aoi-hours__table{width:100%;min-width:290px;border-collapse:collapse;text-align:center;font-size:13px}
.aoi-hours__table caption{caption-side:top;padding:10px;border-radius:6px 6px 0 0;background:var(--aoi-green);color:#fff;font-weight:500;letter-spacing:.2em}
.aoi-hours__table th,.aoi-hours__table td{padding:10px 6px;border:0;border-bottom:1px solid var(--aoi-line);font-weight:400;background:none}
.aoi-hours__table tbody th{padding:12px 6px;font-weight:500;text-align:left}
.aoi-hours__note{margin:12px 0 0;font-size:12px;line-height:1.8}
.aoi-hours__note b{color:var(--aoi-deep)}
.aoi-access{gap:44px!important;padding:clamp(20px,3vw,36px)!important;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(40,130,122,.10)}
.aoi-access__addr{margin:0!important;text-align:center;font-size:13px;line-height:1.7}
.aoi-access__tel{margin:0!important;text-align:center;font-family:var(--aoi-maru);font-weight:500;font-size:30px;letter-spacing:.06em}
.aoi-access__tel a{color:var(--aoi-deep);text-decoration:none}
.aoi-access__fax{margin:0 0 16px!important;text-align:center;font-size:15px}
.aoi-map{display:flex;align-items:center;justify-content:center;height:260px;margin-bottom:8px;border-radius:8px;background:#E4F2EE;font-size:12px}
.aoi-pills{margin:0 0 12px!important;padding:0!important;list-style:none!important;display:flex;flex-direction:column;gap:8px}
.aoi-pills li{margin:0!important;padding:6px 12px;border-radius:4px;background:var(--aoi-mint);color:var(--aoi-deeper);font-size:13px;text-align:center}

/* ---------- サイドバー：診療案内 ---------- */
.aoi-sidenav{padding:0!important;border:1px solid var(--aoi-line);border-radius:10px;overflow:hidden;background:#fff}
.aoi-sidenav__title{margin:0!important;padding:12px 18px;background:var(--aoi-main);color:#fff;font-family:var(--aoi-maru);font-weight:500;font-size:15px;letter-spacing:.08em}
.aoi-sidenav__list{margin:0;padding:0;list-style:none}
.aoi-sidenav__list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px;border-top:1px solid #EEF5F3;color:var(--aoi-text);text-decoration:none;font-size:14px;line-height:1.5}
.aoi-sidenav__list a::after{content:"";width:6px;height:6px;border-top:1.5px solid var(--aoi-main);border-right:1.5px solid var(--aoi-main);transform:rotate(45deg);flex:none}
.aoi-sidenav__list a[aria-current]{background:var(--aoi-mint);color:var(--aoi-deeper);font-weight:500}

/* ---------- 丸アイコン（水彩＋柄の乗算） ---------- */
.aoi-ico{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background-color:#A5D3AB;background-size:cover;background-position:center}
.aoi-ico::before{content:"";position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;mix-blend-mode:multiply;pointer-events:none}
.aoi-ico svg{position:relative;width:56%;height:56%}
.aoi-ico--lg{width:clamp(104px,9vw,128px);aspect-ratio:1;margin:0 auto}
.aoi-menu-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.aoi-menu-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px 20px;border:1px solid var(--aoi-line);border-radius:10px;background:#fff;color:var(--aoi-text);text-align:center;text-decoration:none}
.aoi-menu-card .aoi-ico{width:112px;aspect-ratio:1}
.aoi-menu-card__name{font-family:var(--aoi-maru);font-weight:500;font-size:17px;line-height:1.5}
.aoi-menu-card__link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--aoi-deep)}

/* ---------- TOP：共通セクション ---------- */
.aoi-sec{padding:64px 20px!important;background-size:100% 300px,100% 180px;background-position:center top,center bottom;background-repeat:no-repeat}
.aoi-sec>*{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important}
.aoi-sec--mv{padding:0!important}
.aoi-sec--mv>*{max-width:none!important}
.aoi-bg-wc-strong{background-size:cover!important;background-position:center!important}
.aoi-bg-geo{background-size:cover!important;background-position:center!important}
.aoi-title{display:flex;flex-direction:column;align-items:center;margin:0 0 40px!important;text-align:center;line-height:1.2}
.aoi-title__en{font-family:var(--aoi-maru);font-weight:700;font-size:46px;letter-spacing:.2em;color:var(--aoi-main)}
.aoi-title__jp{margin-top:6px;font-weight:400;font-size:clamp(21px,2vw,23px);letter-spacing:.04em;color:var(--aoi-text)}
/* メインビジュアル */
.aoi-mv{position:relative;height:600px;overflow:hidden;background:#fff}
.aoi-mv__photo{position:absolute;top:0;right:0;bottom:0;width:72%;overflow:hidden}
.aoi-mv__photo img{position:absolute;top:-12%;right:-5%;height:133%;width:auto;max-width:none}
.aoi-mv__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.85) 8%,rgba(255,255,255,0) 26%)}
.aoi-mv__ribbon{position:absolute;left:-2%;bottom:-190px;width:104%;max-width:none;opacity:.6;pointer-events:none}
.aoi-mv__catch{position:absolute;left:64px;top:52px;z-index:2;margin:0;font-family:var(--aoi-maru);font-weight:500;font-size:clamp(18px,3.1vw,50px);line-height:1.5;letter-spacing:.12em;color:var(--aoi-deeper);text-shadow:0 0 6px #fff,0 0 14px #fff,0 0 24px rgba(255,255,255,.9)}
.aoi-mv__catch span{display:block}
.aoi-mv__points{position:absolute;left:64px;top:330px;z-index:3;display:flex;gap:16px;margin:0;padding:0;list-style:none}
.aoi-mv__points li{width:136px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-family:var(--aoi-maru);font-weight:500;font-size:18px;line-height:1.4;letter-spacing:.05em;text-shadow:0 1px 4px rgba(0,90,80,.35)}
/* お知らせ */
.aoi-news{margin:0 0 24px!important;padding:0!important;list-style:none!important;border-top:1px solid var(--aoi-line)}
.aoi-news li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0!important;padding:18px 4px;border-bottom:1px solid var(--aoi-line)}
.aoi-news a{color:var(--aoi-text);text-decoration:none;font-family:var(--aoi-maru)}
.aoi-news time{order:-1}
/* 当院の特徴 */
.aoi-features{gap:56px!important;margin-bottom:24px!important}
.aoi-point{margin:0!important;display:flex;flex-direction:column;font-family:var(--aoi-maru);font-size:13px;font-weight:500;line-height:1;color:var(--aoi-main)}
.aoi-point strong{margin-top:4px;font-size:52px;font-weight:500}
.aoi-feature__title{margin:8px 0 16px!important;font-weight:500;font-size:20px!important;line-height:1.6}
.aoi-feature__img img{width:100%;height:260px;object-fit:cover;border-radius:12px}
/* 診療案内 */
.aoi-medical{gap:16px!important;margin-bottom:32px!important;text-align:center}
.aoi-medical__title{margin:12px 0 8px!important;display:flex;flex-direction:column;line-height:1.4;font-weight:500;font-size:17px!important}
.aoi-medical__title span{font-size:11px;font-weight:400;letter-spacing:.08em;color:var(--aoi-deep)}
.aoi-medical .aoi-check{display:block;background:none;padding:0!important;font-size:12px;text-align:left}
.aoi-medical .wp-block-buttons{justify-content:center}
/* ご挨拶 */
.aoi-greeting{gap:56px!important;align-items:center!important;margin-bottom:40px!important}
.aoi-greeting__img img{width:100%;height:280px;object-fit:cover;border-radius:4px;box-shadow:0 14px 30px rgba(26,120,140,.12)}
.aoi-greeting__title{margin:0 0 12px!important;font-weight:500;font-size:20px!important;color:var(--aoi-deep)}
.aoi-greeting__text{font-size:12px!important;line-height:2}
.aoi-greeting__name{font-size:13px;line-height:1.6}
.aoi-greeting__name strong{font-size:18px;font-weight:500;letter-spacing:.15em}

/* ---------- フッター（ウィジェットに配置） ---------- */
.aoi-footer{padding:56px 20px 24px!important;background-color:#fff;background-size:100% 220px,100% 160px;background-position:center top,center bottom;background-repeat:no-repeat}
.aoi-footer>*{max-width:1000px!important;margin-left:auto!important;margin-right:auto!important}
.aoi-footer .wp-block-column:first-child{text-align:center}
.aoi-footer__logo img{height:60px;width:auto}
.aoi-footer__dept{display:inline-block;margin:8px 0!important;padding:3px 18px;border-radius:3px;background:var(--aoi-green);color:#fff;font-size:12px;letter-spacing:.08em}
.aoi-footer__addr{margin:0 0 8px!important;font-size:12px;line-height:1.7}
.aoi-footer .aoi-pills{max-width:240px;margin:0 auto 12px!important}
.aoi-footer .aoi-pills li{font-size:12px;padding:6px}
.aoi-footer__tel{margin:0!important;font-family:var(--aoi-maru);font-weight:500;font-size:28px;letter-spacing:.06em}
.aoi-footer__tel a{color:var(--aoi-deep);text-decoration:none}
.aoi-footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;margin-top:40px;padding-top:18px;border-top:1px solid #E3ECE9;font-size:13px}
.aoi-footer__nav a{color:var(--aoi-text);text-decoration:none}

/* ---------- 本日の診療時間（追従） ---------- */
.aoi-today{position:fixed;right:0;top:min(548px,calc(100vh - 280px));z-index:60;width:230px;border-radius:14px 0 0 14px;background:#fff;box-shadow:0 10px 30px rgba(11,79,71,.18);font-family:var(--aoi-kaku);color:var(--aoi-text);letter-spacing:.05em;overflow:hidden}
.aoi-today[hidden]{display:none}
.aoi-today__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px 20px;border-bottom:3px solid #E3EFEC}
.aoi-today__title{margin:0;font-family:var(--aoi-maru);font-weight:500;font-size:16px;letter-spacing:.08em}
.aoi-today__close{display:flex;padding:4px;border:0;background:none;color:var(--aoi-text);cursor:pointer}
.aoi-today__body{padding:12px 20px 16px;font-size:14px;line-height:1.9}
.aoi-today__row{margin:0;display:flex;gap:14px}
.aoi-today__row b{color:var(--aoi-deeper)}
.aoi-today__msg{margin:0 0 6px;padding:4px 8px;border-radius:4px;background:#FFF6E0;color:#8A5A00;font-size:12px;line-height:1.6}
.aoi-today__msg[hidden]{display:none}
.aoi-today__note{margin:6px 0 0;padding-top:8px;border-top:1px solid #E3EFEC;font-size:12px;line-height:1.7}
/* TOPボタン */
.aoi-pagetop{position:fixed;right:0;top:calc(min(548px,calc(100vh - 280px)) + 202px);z-index:60;width:60px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #CDE9E0;border-right:0;border-radius:8px 0 0 8px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(11,79,71,.18);color:var(--aoi-deep);text-decoration:none}
.aoi-pagetop span{font-family:var(--aoi-maru);font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1}
/* スマホ固定ボタン */
.aoi-spbar{display:none}

/* ---------- スマホ ---------- */
@media (max-width:767px){
	.aoi-h2{margin-top:40px!important}
	.aoi-anchors a{min-height:36px;padding:4px 12px;font-size:12px}
	.aoi-check{grid-template-columns:1fr;padding:14px 16px!important}
	.aoi-table{font-size:13px}
	.aoi-table th,.aoi-table td{padding:8px 10px}
	.aoi-table th{width:32%}
	.aoi-h3{font-size:18px!important}
	.aoi-gallery,.aoi-menu-cards{grid-template-columns:1fr 1fr;gap:12px}
	.aoi-menu-card{padding:18px 8px 16px}
	.aoi-menu-card .aoi-ico{width:84px}
	.aoi-menu-card__name{font-size:15px}
	.aoi-sec{padding:40px 20px!important}
	.aoi-sec--mv{padding:0!important}
	.aoi-title__en{font-size:32px}
	.aoi-mv{height:auto;padding-bottom:20px;background:linear-gradient(180deg,#DFEFEB 300px,#fff 100%)}
	.aoi-mv__photo{position:relative;width:100%;height:300px}
	.aoi-mv__photo img{top:0;right:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
	.aoi-mv__photo::after{display:none}
	.aoi-mv__ribbon{top:220px;bottom:auto;left:-25%;width:150%}
	.aoi-mv__catch{left:16px;top:212px;font-size:24px;line-height:1.45;letter-spacing:.06em}
	.aoi-mv__catch span{display:inline}
	.aoi-mv__catch span:nth-child(3){display:block}
	.aoi-mv__points{position:static;justify-content:center;gap:10px;padding-top:16px}
	.aoi-mv__points li{width:104px;font-size:13px}
	.aoi-greeting__img img{height:240px}
	.aoi-today{top:auto;bottom:68px;left:16px;right:auto;width:240px;border-radius:16px}
	.aoi-today__head{position:relative;justify-content:center;padding:10px 36px 8px}
	.aoi-today__close{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
	.aoi-today__body{padding:10px 16px 14px;text-align:center}
	.aoi-today__row{flex-direction:column;gap:0}
	.aoi-today__row b{display:block;background:var(--aoi-mint);font-weight:500;padding:2px 0}
	.aoi-pagetop{top:auto;bottom:68px;width:52px;height:52px}
	.aoi-spbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;height:56px;font-family:var(--aoi-maru);font-size:14px;font-weight:700;letter-spacing:1.4px;box-shadow:0 -4px 14px rgba(11,79,71,.18)}
	.aoi-spbar a{display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;text-decoration:none}
	.aoi-spbar__tel{background:var(--aoi-main)}
	.aoi-spbar__reserve{background:var(--aoi-green)}
	.aoi-spbar__access{background:var(--aoi-blue)}
	body{padding-bottom:56px}
}

/* グローバルナビ・ドロワーの英語サブラベル（メニューのラベルに <span class="aoi-nav-en">Home</span> を追加） */
.aoi-nav-en{display:block;margin-top:2px;font-family:var(--aoi-maru);font-size:10px;font-weight:400;letter-spacing:.12em;line-height:1.2;color:var(--aoi-deep)}

/* =========================================================
   Snow Monkey 本体との調整
   ========================================================= */
/* テーマの見出し装飾を外す */
.aoi-h2,.aoi-h3,.aoi-h4{background:none!important;border-left:0!important}
.aoi-h2::after,.aoi-h3::after{content:none!important}

/* ---------- ヘッダー（2行） ---------- */
.l-header{background:#fff}
.l-2row-header .c-container{max-width:1240px}
.l-2row-header__row:first-child{position:relative;padding-top:26px;padding-bottom:12px}
.aoi-hc__lead{position:absolute;top:4px;right:0;margin:0;font-size:10px;line-height:1.4;letter-spacing:.06em;color:var(--aoi-text);white-space:nowrap}
/* ロゴの大きさは「外観」›「カスタマイズ」›「基本デザイン設定」のロゴの拡大率で調整します */
.l-2row-header .c-row__col--fit{flex:1 1 auto!important}
.aoi-hc{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.aoi-hc__addr{margin:0;padding-left:24px;border-left:1px solid #D6DEDC;font-size:12px;line-height:1.7;letter-spacing:.04em;color:var(--aoi-text)}
.aoi-hc__right{display:flex;align-items:center;gap:20px}
.aoi-hc__tel{display:inline-flex;align-items:center;gap:8px;color:var(--aoi-deep)!important;text-decoration:none!important;font-family:var(--aoi-maru);font-weight:500;font-size:26px;letter-spacing:.04em;white-space:nowrap}
.aoi-hc__reserve{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 26px;border-radius:6px;background:var(--aoi-green);color:#fff!important;text-decoration:none!important;font-family:var(--aoi-maru);font-weight:500;font-size:15px;letter-spacing:.12em;box-shadow:0 6px 16px rgba(110,160,60,.25);white-space:nowrap}
/* グローバルナビ（2段目） */
.l-2row-header__row+.l-2row-header__row,.l-2row-header .p-global-nav{border-top:1px solid #E6EEEC}
.p-global-nav .c-navbar{justify-content:space-between;width:100%}
.p-global-nav .c-navbar__item{flex:1 1 auto}
.p-global-nav .c-navbar__item>a{font-weight:400!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;color:var(--aoi-text);font-family:var(--aoi-maru);font-size:15px;line-height:1.4;letter-spacing:.06em}
.p-global-nav .c-navbar__item>a:hover{color:var(--aoi-deep)}
.p-global-nav .c-navbar__item>a>span{display:flex;flex-direction:column;align-items:center}
.p-global-nav .aoi-nav-en{display:block;margin:2px 0 0}
/* スクロール時に出るテーマのドロップナビは使わない（デザインはヘッダー追従なし） */
.l-header__drop-nav{display:none!important}

/* ---------- ページヘッダー（水彩の帯） ---------- */
.c-page-header{position:relative;height:auto!important;min-height:0!important;max-height:none!important;padding:56px 0 52px!important;overflow:hidden;background:#fff}
.c-page-header__bgimage{position:absolute!important;inset:0!important}
.c-page-header__bgimage img{width:100%;height:100%;object-fit:cover}
.c-page-header__bgimage::after{content:""!important;position:absolute;inset:0;background:rgba(255,255,255,.6)!important;opacity:1!important}
.c-page-header>.c-container{position:relative;z-index:1;max-width:1120px}
.c-page-header__content{display:flex;flex-direction:column;gap:6px;text-align:left!important;color:var(--aoi-text)!important;text-shadow:none!important}
.c-page-header .aoi-page-en{order:-1;margin:0!important}
.c-page-header__title{margin:0!important;font-family:var(--aoi-maru);font-weight:400!important;font-size:clamp(21px,2vw,23px)!important;line-height:1.4;letter-spacing:.04em;color:var(--aoi-text)!important;text-shadow:none!important}
.c-page-header~.l-contents__body .l-contents__main .aoi-page-en{display:none}

/* パンくず */
.c-breadcrumbs{font-size:12px!important}
.c-breadcrumbs a{color:var(--aoi-deep)!important}

/* ---------- フッター（ウィジェット＋コピーライト） ---------- */
.l-footer{border-top:0!important;background:#fff}
.l-footer-widget-area{padding:0!important}
.l-footer-widget-area>.c-container{max-width:none!important;padding:0!important}
.l-footer-widget-area .c-row{margin:0!important}
.l-footer-widget-area .c-row__col{padding:0!important}
.l-footer-widget-area .c-widget{margin:0!important}
.c-copyright{padding:10px 0!important;background:var(--aoi-main)!important;color:#fff!important;font-size:11px;letter-spacing:.1em;text-align:center}

/* TOPのセクション内は、個別の margin 指定があっても中央寄せを優先 */
.aoi-sec>*:not(#aoi-x),.aoi-footer>*:not(#aoi-x){margin-left:auto!important;margin-right:auto!important}

/* サイドバーのウィジェット余白 */
.l-contents__sidebar .aoi-sidenav{margin-bottom:24px}

/* ---------- スマホのメニュー（右から出るパネル） ---------- */
#drawer-nav{left:auto!important;right:0!important;width:84%!important;max-width:320px;box-shadow:-8px 0 24px rgba(11,79,71,.25)}
#drawer-nav .c-dropdown__inner{padding:0 22px 32px!important}
#drawer-nav .c-dropdown__menu:not(.p-drawer-sub-nav .c-dropdown__menu){margin:0;padding:0!important;border-top:1px solid rgba(255,255,255,.7)}
#drawer-nav .c-dropdown__menu>li>a{display:flex!important;align-items:baseline;gap:12px;padding:13px 8px!important;border-bottom:1px solid rgba(255,255,255,.7);color:#fff;font-family:var(--aoi-maru);font-size:15px;letter-spacing:.08em;line-height:1.4}
#drawer-nav .aoi-nav-en{display:inline;margin:0;color:#fff;font-size:10px;letter-spacing:.12em;opacity:.95}
.p-drawer-sub-nav .c-dropdown__menu{display:flex;flex-direction:column;gap:12px;padding:28px 0 0!important;border:0!important}
#drawer-nav .p-drawer-sub-nav .c-dropdown__menu>li>a{justify-content:center;align-items:center;min-height:46px;padding:0 12px!important;border:0;border-radius:4px}
#drawer-nav .p-drawer-sub-nav .aoi-dr-reserve>a{background:var(--aoi-green)}
#drawer-nav .p-drawer-sub-nav .aoi-dr-tel>a{border:1px solid #fff!important;font-family:var(--aoi-kaku)}

/* スマホ・タブレットのヘッダー：ロゴ中央、右端に緑のMENUボタン */
@media (max-width:1023px){
	.l-header__content{padding:0!important}
	.l-2row-header,.l-2row-header__row:first-child{position:static!important}
	.l-2row-header__row:first-child{padding-top:12px;padding-bottom:12px}
	.l-2row-header .c-row__col--auto{flex:1 1 auto!important;display:flex;justify-content:center}
	.l-2row-header .c-row__col--fit.u-invisible-lg-up{position:absolute!important;top:0;right:0;bottom:0;width:54px;margin:0!important;padding:0!important}
	.l-2row-header .c-hamburger-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;padding:0;background:var(--aoi-main);color:#fff}
	.l-2row-header .c-hamburger-btn__bar{background-color:#fff!important}
	.l-2row-header .c-hamburger-btn__label{color:#fff;font-size:10px;letter-spacing:.08em}
}
@media (max-width:767px){
	.c-page-header{padding:32px 0 28px!important}
	.c-page-header .aoi-page-en{font-size:26px;letter-spacing:.12em}
}

/* =========================================================
   スマホ：診療案内（TOP）を2カラム／文字を2px大きく
   ========================================================= */
@media (max-width:767px){
	/* 診療案内 2カラム（3件ずつ2段の列ブロックを、1つの2列グリッドとして並べる） */
	.aoi-sec--medical{display:grid!important;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:28px;align-items:stretch}
	.aoi-sec--medical>.aoi-title{grid-column:1/-1;margin-bottom:8px!important}
	.aoi-sec--medical>.aoi-medical{display:contents!important}
	.aoi-medical>.wp-block-column{max-width:none!important;flex:none!important;margin:0!important;display:flex;flex-direction:column;align-items:center}
	.aoi-medical>.wp-block-column .wp-block-buttons{margin-top:auto}
	.aoi-medical .aoi-ico--lg{width:96px}
	.aoi-medical__title{font-size:16px!important}
	.aoi-medical .aoi-btn .wp-block-button__link{padding:0 14px;gap:6px;letter-spacing:.06em}

	/* 本文の基準（テーマの文字サイズ 16px → 18px） */
	:root{--_global--font-size-px:18px}

	/* 個別に指定している文字を +2px */
	.aoi-anchors a{font-size:14px}
	.aoi-table{font-size:15px}
	.aoi-history{font-size:16px}
	.aoi-hours__table{font-size:15px}
	.aoi-hours__note{font-size:14px}
	.aoi-note{font-size:15px}
	.aoi-vgroup__label{font-size:15px}
	.aoi-gallery figcaption{font-size:16px}
	.aoi-sidenav__title{font-size:17px}
	.aoi-sidenav__list a{font-size:16px}
	.c-breadcrumbs{font-size:14px!important}
	.aoi-medical__title span{font-size:13px}
	.aoi-medical .aoi-check{font-size:14px}
	.aoi-greeting__text{font-size:14px!important}
	.aoi-greeting__name{font-size:15px}
	.aoi-access__addr{font-size:15px}
	.aoi-access__fax{font-size:17px}
	.aoi-pills li{font-size:15px}
	.aoi-btn .wp-block-button__link{font-size:15px}
	.aoi-point{font-size:15px}
	.aoi-menu-card__name{font-size:17px}
	.aoi-menu-card__link{font-size:14px}
	.aoi-footer__addr,.aoi-footer__dept{font-size:14px}
	.aoi-footer .aoi-pills li{font-size:14px}
	.aoi-footer__nav{font-size:15px}
	.c-copyright{font-size:13px}
}

/* =========================================================
   v1.1.5：診療案内のアイコンリンク・ボタン位置／見出しへのジャンプ位置／投稿の著者非表示
   ========================================================= */
/* TOP 診療案内：丸アイコンもリンク。各列の「詳しく見る」を下でそろえる */
.aoi-ico-link{display:block;width:fit-content;margin:0 auto;border-radius:50%;transition:opacity .2s}
.aoi-ico-link:hover{opacity:.85}
.aoi-medical>.wp-block-column{display:flex;flex-direction:column;align-items:center}
.aoi-medical>.wp-block-column>.wp-block-buttons{margin-top:auto!important;padding-top:12px}

/* ページ内リンクで飛んだとき、見出しが固定ヘッダーに隠れないように */
.aoi-h2,.aoi-h3,.aoi-sec{scroll-margin-top:110px}
@media (max-width:1023px){
	.aoi-h2,.aoi-h3,.aoi-sec{scroll-margin-top:96px}
}

/* 投稿の著者は表示しない */
.c-meta__item--author,.c-entry__meta .c-meta__item--author,.p-profile-box,.wp-profile-box{display:none!important}

/* v1.1.7: list rows + vaccine type table */
.aoi-check.aoi-check--rows{display:block;padding:4px 22px!important}
.aoi-check--rows li{padding:12px 0 12px 22px;border-bottom:1px dashed var(--aoi-line)}
.aoi-check--rows li:last-child{border-bottom:0}
.aoi-check--rows li::before{left:4px;top:calc(12px + .62em)}
.aoi-table--vtype{table-layout:fixed}
.aoi-table--vtype thead th{background:var(--aoi-main);color:#fff;border-color:var(--aoi-main)}
.aoi-table--vtype tbody th{width:28%;vertical-align:middle;font-family:var(--aoi-maru)}
.aoi-table--vtype thead th:first-child{width:28%}
.aoi-vnames{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0!important;padding:0!important;list-style:none!important}
.aoi-vnames li{margin:0!important;padding:2px 12px;border:1px solid var(--aoi-line);border-radius:999px;background:#fff;line-height:1.7}
@media (max-width:767px){
	.aoi-check.aoi-check--rows{padding:2px 16px!important}
	.aoi-table--vtype tbody th,.aoi-table--vtype thead th:first-child{width:34%}
	.aoi-vnames li{padding:1px 10px}
}

/* v1.1.8: PC global nav follows on scroll (the top row scrolls away, the nav row sticks) */
@media (min-width:1024px){
	.l-header.l-header--2row{position:sticky!important;top:var(--aoi-hsticky,-121px);z-index:100;transition:box-shadow .2s}
	.l-header.aoi-hstuck{box-shadow:0 2px 10px rgba(0,0,0,.08)}
}

/* v1.1.9: PC global-nav dropdown (診療案内) as a 2-column panel */
@media (min-width:1024px){
	.p-global-nav .c-navbar__submenu{display:grid;grid-template-columns:1fr 1fr;width:420px;left:0!important;right:auto!important;transform:none!important;padding:0;background:#fff;border:1px solid var(--aoi-line);box-shadow:0 8px 24px rgba(0,0,0,.16)}
	.p-global-nav .c-navbar__subitem{border-bottom:1px solid var(--aoi-line)}
	.p-global-nav .c-navbar__subitem:nth-child(odd){border-right:1px solid var(--aoi-line)}
	.p-global-nav .c-navbar__subitem>a{display:block;padding:12px 16px;font-size:14px;line-height:1.5;color:var(--aoi-text);background:#fff;white-space:nowrap}
	.p-global-nav .c-navbar__subitem>a:hover,.p-global-nav .c-navbar__subitem>a:focus-visible{color:var(--aoi-main);background:var(--aoi-mint-bg)}
}
/* SP drawer: parent with submenu keeps one line and a full-width underline */
#drawer-nav .c-dropdown__item--has-submenu>a{width:100%!important;max-width:none!important;flex:0 0 100%!important;padding-right:48px;white-space:nowrap}
#drawer-nav .c-dropdown__item--has-submenu>.c-dropdown__toggle{position:absolute;right:0;top:0;height:69px}
#drawer-nav .c-dropdown__submenu{width:100%}

/* v1.2.0 */
/* temporarily hidden blocks (photos not taken yet, 栄養指導 etc.): remove the class to show again */
.aoi-hide{display:none!important}
/* SP: TOP news list in one column (date on its own line, title below) */
@media (max-width:767px){
	.aoi-news li{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 4px}
}

/* v1.3.0: header / text sizes matched to the Kameari site, full-width nav band, page header, today panel */
@media (min-width:768px){
	:root{--_global--font-size-px:17px}
	body{font-weight:500}
}
@media (min-width:1024px){
	.aoi-hc__tel{font-size:34px;gap:10px}
	.aoi-hc__tel svg{width:28px;height:28px}
	.p-global-nav .c-navbar__item>a{padding:15px 12px!important;font-size:16px;font-weight:500!important}
	.l-2row-header__row+.l-2row-header__row{margin-top:0!important}
	.l-2row-header__row+.l-2row-header__row,.l-2row-header .p-global-nav{border-top:0}
	.l-2row-header__row:last-child{position:relative}
	.l-2row-header__row:last-child::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--aoi-mint);box-shadow:0 0 0 100vmax var(--aoi-mint);clip-path:inset(0 -100vmax)}
}
.c-page-header__bgimage::after{background:rgba(255,255,255,.25)!important}
.aoi-today{box-shadow:0 8px 28px rgba(0,0,0,.22)}
.aoi-today__word{margin:8px 0 0;padding-top:8px;border-top:1px solid #E3EFEC;font-size:12px;line-height:1.7;text-align:left}
/* today panel: title bar in brand green with white text */
.aoi-today__head{background:var(--aoi-main);border-bottom:0}
.aoi-today__title{color:#fff}
.aoi-today__close{color:#fff}

/* v1.3.2: page-top jump links as gradient pill buttons (green → blue) */
.aoi-anchors{gap:10px}
.aoi-anchors a{border:0;border-radius:999px;padding:8px 20px;background:linear-gradient(90deg,#3CC69A 0%,#00A79B 55%,#1E9DB4 100%);color:#fff;font-weight:500;letter-spacing:.06em;box-shadow:0 4px 12px rgba(0,140,130,.22);transition:transform .2s,box-shadow .2s,filter .2s}
.aoi-anchors a::after{border-color:#fff}
.aoi-anchors a:hover,.aoi-anchors a:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,140,130,.3);filter:brightness(1.06)}
@media (max-width:1023px){.aoi-anchors a{padding:6px 16px}}

/* v1.3.3: today panel anchored to the bottom (above the TOP button) so the whole text is visible */
@media (min-width:768px){
	.aoi-today{top:auto;bottom:96px;max-height:calc(100vh - 140px);overflow-y:auto}
}
@media (max-width:767px){
	.aoi-today{max-height:calc(100vh - 140px);overflow-y:auto}
}

/* v1.3.4: news — logo as fallback eyecatch, text list with category label */
.aoi-logo-eyecatch .c-eyecatch{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--aoi-mint-bg);border-radius:8px}
.aoi-logo-eyecatch .c-eyecatch img{width:auto;max-width:min(380px,80%);height:auto}
.c-entries--text .c-meta__item--categories{display:flex!important;align-items:center}
.c-entries--text .c-meta__item--categories .c-entry-summary__term{display:inline-block;padding:1px 10px;border-radius:999px;background:var(--aoi-main);color:#fff;font-size:12px;line-height:1.6;width:auto;height:auto}
/* TOP news: same watercolor band as the footer */
.aoi-sec--news{background-color:#fff;background-size:100% 220px,100% 160px;background-position:center top,center bottom;background-repeat:no-repeat}
.aoi-sec--news .aoi-news{background:rgba(255,255,255,.85);border-radius:8px}

/* v1.3.6: reservation = LINE (LINE green) */
:root{--aoi-linegreen:#06C755}
.aoi-hc__reserve{background:var(--aoi-linegreen);box-shadow:0 6px 16px rgba(6,199,85,.25)}
.aoi-spbar__reserve{background:var(--aoi-linegreen)!important}
#drawer-nav .p-drawer-sub-nav .aoi-dr-reserve>a{background:var(--aoi-linegreen)}
.aoi-line{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:0 0 32px;padding:20px 24px;border:2px solid var(--aoi-linegreen);border-radius:10px;background:#fff}
.aoi-line__title{flex:1 1 100%;margin:0!important;font-family:var(--aoi-maru);font-weight:500;font-size:1.1em;color:#05a647}
.aoi-line__qr img{display:block;width:140px;height:140px}
.aoi-line__body{flex:1 1 260px}
.aoi-line__body p{margin:0 0 12px}
.aoi-line__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 28px;border-radius:999px;background:var(--aoi-linegreen);color:#fff!important;text-decoration:none!important;font-family:var(--aoi-maru);font-weight:500;letter-spacing:.08em;box-shadow:0 4px 12px rgba(6,199,85,.25)}
.aoi-line__btn:hover{filter:brightness(1.05)}
@media (max-width:767px){
	.aoi-line__qr{display:none}
	.aoi-line{padding:16px}
	.aoi-line__btn{width:100%}
}
/* v1.3.7: access page — white panel wraps the access columns and the LINE box together */
.aoi-access-box{padding:clamp(20px,3vw,36px);border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(40,130,122,.10)}
.aoi-access-box>.aoi-access{padding:0!important;border-radius:0;box-shadow:none;background:none;margin-bottom:28px!important}
.aoi-access-box>.aoi-line{margin:0}

/* v1.3.8: drawer rules for Snow Monkey's standard drawer (c-drawer) — same look as the former c-dropdown markup */
#drawer-nav .c-drawer__inner{padding:0 22px 32px!important}
#drawer-nav .c-drawer__inner>.c-drawer__menu{margin:0;padding:0!important;border-top:1px solid rgba(255,255,255,.7)}
#drawer-nav .c-drawer__menu>li>a{display:flex!important;align-items:baseline;gap:12px;padding:13px 8px!important;border-bottom:1px solid rgba(255,255,255,.7);color:#fff;font-family:var(--aoi-maru);font-size:15px;letter-spacing:.08em;line-height:1.4}
#drawer-nav .aoi-nav-en{display:inline;margin:0;color:#fff;font-size:10px;letter-spacing:.12em;opacity:.95}
.p-drawer-sub-nav .c-drawer__menu{display:flex;flex-direction:column;gap:12px;padding:28px 0 0!important;border:0!important}
#drawer-nav .p-drawer-sub-nav .c-drawer__menu>li>a{justify-content:center;align-items:center;min-height:46px;padding:0 12px!important;border:0;border-radius:4px}
#drawer-nav .p-drawer-sub-nav .aoi-dr-reserve>a{background:var(--aoi-green)}
#drawer-nav .p-drawer-sub-nav .aoi-dr-tel>a{border:1px solid #fff!important;font-family:var(--aoi-kaku)}
#drawer-nav .c-drawer__item--has-submenu>a{width:100%!important;max-width:none!important;flex:0 0 100%!important;padding-right:48px;white-space:nowrap}
#drawer-nav .c-drawer__item--has-submenu>.c-drawer__toggle{position:absolute;right:0;top:0;height:69px}
#drawer-nav .c-drawer__submenu{width:100%}
#drawer-nav .p-drawer-sub-nav .aoi-dr-reserve>a{background:var(--aoi-linegreen)}

/* v1.4.0: tagline under the header logo */
.l-header .c-site-branding::after{content:"北赤羽駅赤羽口出てすぐ";display:block;margin-top:4px;font-family:var(--aoi-maru);font-weight:500;font-size:13px;line-height:1.3;letter-spacing:.1em;color:var(--aoi-deep);text-align:center;white-space:nowrap}
@media (min-width:1024px){.l-2row-header__row:first-child{padding-top:18px!important;padding-bottom:8px!important}}
@media (max-width:1023px){.l-header .c-site-branding::after{font-size:10px;margin-top:2px}}
/* v1.4.1: tagline centered under the logo itself, in the logo blue */
.l-header .c-site-branding{width:fit-content}
.l-header .c-site-branding::after{color:#0063C2}
/* v1.4.2: PC — tagline tucked right under the logo (the logo image has a transparent margin at the bottom/left) */
@media (min-width:1024px){.l-header .c-site-branding::after{margin-top:-5px;padding-left:9px}}
