@charset "UTF-8";

/* 神戸三宮アステオ歯科 医療機関の方へ 専用CSS */
/* 原稿カンプのCSSから本ページ使用ルールを抽出。既存ページへの影響を防止するため body.medical-referral-page に限定 */


body.medical-referral-page { margin:0; padding:0; }
body.medical-referral-page, body.medical-referral-page * { box-sizing:border-box; }


/* ===== 元カンプ CSS part 1 ===== */
body.medical-referral-page * { margin:0; padding:0; box-sizing:border-box; }

body.medical-referral-page { font-size:10px; }

body.medical-referral-page { font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
font-size:16px; line-height:1.9; color:#1b2a3d; background:#fff; width:100%; overflow-x:hidden; }

body.medical-referral-page img { max-width:100%; vertical-align:middle; }

body.medical-referral-page a { color:inherit; text-decoration:none; }

body.medical-referral-page .inner { width:1160px; max-width:calc(100% - 40px); margin:0 auto; position:relative; }

body.medical-referral-page { --pink:#2f7fd6; --pink-d:#1f63b3; --wine:#2b5c9e;
--char:#1b2a3d; --char2:#2c3e57;
--gold:#5b9be0; --gold-l:#a9cdf3; --gold-pale:#e3effb; }

body.medical-referral-page .tx-warm { background-color:#f6f4f1; background-image:radial-gradient(rgba(150,130,110,.12) 1px, transparent 1px), radial-gradient(rgba(150,130,110,.08) 1px, transparent 1px); background-size:26px 26px, 17px 17px; background-position:0 0, 9px 13px; }

body.medical-referral-page .tx-paper { background-color:#f7fafd; background-image:radial-gradient(rgba(90,140,200,.13) 1px, transparent 1px); background-size:22px 22px; }

body.medical-referral-page header { background:#fff; box-shadow:0 1px 0 #eee9ef; position:relative; z-index:60; }

body.medical-referral-page .worry { padding:96px 0 100px; }

body.medical-referral-page .worry-head { text-align:center; margin-bottom:16px; }

body.medical-referral-page .worry-head .en { font-family:"EB Garamond",serif; font-style:italic; font-size:17px; letter-spacing:.3em; color:var(--gold); }

body.medical-referral-page .worry-head h2 { font-family:"Noto Serif JP",serif; font-size:36px; font-weight:700; letter-spacing:.1em; margin-top:4px; }

body.medical-referral-page .worry-head h2 b { color:var(--pink-d); }

body.medical-referral-page .worry-lead { text-align:center; font-size:15px; color:#55637a; margin-bottom:44px; }

body.medical-referral-page .worry-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }

body.medical-referral-page .worry-card { display:flex; background:#fff; box-shadow:0 16px 44px rgba(30,60,100,.12); position:relative; overflow:hidden; min-height:190px; transition:transform .25s, box-shadow .25s; }

body.medical-referral-page .worry-card:hover { transform:translateY(-4px); box-shadow:0 22px 54px rgba(30,60,100,.18); }

body.medical-referral-page .worry-card::after { content:""; position:absolute; top:0; right:0; border-top:48px solid var(--gold-l); border-left:48px solid transparent; }

body.medical-referral-page .worry-card:nth-child(even)::after { border-top-color:var(--pink-d); }

body.medical-referral-page .worry-card .ph { flex:0 0 225px; overflow:hidden; }

body.medical-referral-page .worry-card .ph img { width:100%; height:100%; object-fit:cover; display:block; }

body.medical-referral-page .worry-card .tx { flex:1; padding:24px 30px 40px 26px; }

body.medical-referral-page .worry-card .tx h4 { font-family:"Noto Serif JP",serif; font-size:20px; line-height:1.5; margin-bottom:8px; }

body.medical-referral-page .worry-card .tx h4 span { color:var(--pink-d); }

body.medical-referral-page .worry-card .tx p { font-size:13.5px; color:#55637a; line-height:1.75; }

body.medical-referral-page section { position:relative; }

body.medical-referral-page .st-head { display:flex; align-items:flex-end; gap:24px; margin-bottom:46px; position:relative; z-index:2; }

body.medical-referral-page .st-head.center { justify-content:center; text-align:center; }

body.medical-referral-page .st-num { font-family:"EB Garamond",serif; font-style:italic; font-size:90px; line-height:.78; color:transparent; -webkit-text-stroke:1.5px var(--gold); flex:0 0 auto; }

body.medical-referral-page .st-ttl .k { font-size:12.5px; letter-spacing:.3em; color:var(--gold); font-weight:700; font-family:"EB Garamond",serif; }

body.medical-referral-page .st-ttl h2 { font-family:"Noto Serif JP",serif; font-size:35px; font-weight:700; line-height:1.5; letter-spacing:.04em; }

body.medical-referral-page .st-ttl h2 .pk { color:var(--pink-d); }

body.medical-referral-page .on-dark .st-num { -webkit-text-stroke:1.5px var(--gold-l); }

body.medical-referral-page .on-dark .st-ttl h2 { color:#fff; }

body.medical-referral-page .on-dark .st-ttl h2 .pk { color:var(--gold-pale); }

body.medical-referral-page .vlabel { position:absolute; writing-mode:vertical-rl; font-family:"EB Garamond",serif; font-style:italic; font-size:48px; letter-spacing:.24em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.16); pointer-events:none; z-index:1; white-space:nowrap; }

body.medical-referral-page .s03 { position:relative; padding:100px 0; color:#fff; overflow:hidden; background:linear-gradient(128deg,#141119 0%,#1b2a3d 60%,#2c3e57 100%); }

body.medical-referral-page .s03::after { content:""; position:absolute; right:-80px; top:-40px; width:420px; height:420px; background-image:radial-gradient(rgba(200,225,245,.3) 2.2px, transparent 2.2px); background-size:20px 20px; }

body.medical-referral-page .s03-in { display:flex; align-items:center; gap:60px; position:relative; z-index:2; }

body.medical-referral-page .s03-txt { flex:1; }

body.medical-referral-page .s03-txt .big { font-family:"Noto Serif JP",serif; font-size:46px; font-weight:700; line-height:1.5; margin:18px 0 16px; }

body.medical-referral-page .s03-txt p { font-size:15.5px; color:rgba(255,255,255,.88); margin-bottom:12px; }

body.medical-referral-page .s03-specs { display:flex; gap:14px; margin-top:22px; }

body.medical-referral-page .s03-spec { border:1px solid rgba(200,225,245,.5); background:rgba(200,225,245,.08); padding:14px 24px; text-align:center; font-size:13.5px; line-height:1.6; }

body.medical-referral-page .s03-spec b { display:block; font-family:"Noto Serif JP",serif; font-size:17px; color:var(--gold-pale); }

body.medical-referral-page .s03-ph { flex:0 0 460px; position:relative; }

body.medical-referral-page .s03-ph img { width:100%; display:block; box-shadow:0 30px 70px rgba(0,0,0,.5); }

body.medical-referral-page .s03-ph::after { content:""; position:absolute; right:-16px; bottom:-16px; width:55%; height:55%; border-right:3px solid var(--gold-l); border-bottom:3px solid var(--gold-l); }

body.medical-referral-page .doctor { padding:100px 0 0; }

body.medical-referral-page .contact { position:relative; color:#fff; padding:110px 0 90px; overflow:hidden; background:linear-gradient(128deg,#14233a 0%,#3a2233 50%,#2b5c9e 100%); clip-path:polygon(0 44px, 100% 0, 100% 100%, 0 100%); }

body.medical-referral-page .contact::before { content:""; position:absolute; right:-60px; top:0; width:400px; height:100%; background:linear-gradient(135deg,rgba(200,225,245,.4),rgba(227,239,251,.1)); clip-path:polygon(35% 0, 100% 0, 100% 100%, 0 100%); }

body.medical-referral-page .contact-head { text-align:center; margin-bottom:30px; position:relative; z-index:2; }

body.medical-referral-page .contact-head .en { font-family:"EB Garamond",serif; font-size:62px; letter-spacing:.1em; line-height:1; }

body.medical-referral-page .contact-head .ja { font-size:15px; letter-spacing:.46em; margin-top:8px; color:rgba(255,255,255,.8); }

body.medical-referral-page .contact-lead { text-align:center; font-family:"Noto Serif JP",serif; font-size:27px; letter-spacing:.08em; line-height:1.9; position:relative; z-index:2; }

body.medical-referral-page .contact-lead b { color:var(--gold-pale); }

body.medical-referral-page .contact-btns { display:flex; gap:24px; justify-content:center; margin-top:44px; position:relative; z-index:2; align-items:stretch; }

body.medical-referral-page .c-tel2 { background:#fff; color:var(--char); padding:26px 44px; text-align:center; box-shadow:0 24px 60px rgba(2,2,10,.5); }

body.medical-referral-page .c-tel2 .label { font-size:13.5px; font-weight:700; letter-spacing:.12em; }

body.medical-referral-page .c-tel2 .num { font-family:"EB Garamond",serif; font-size:44px; font-weight:600; line-height:1.15; }

body.medical-referral-page .c-tel2 .time { font-size:12px; color:#5f6b7c; }

body.medical-referral-page .c-line2 { background:#20b356; color:#fff; padding:26px 40px; display:flex; flex-direction:column; justify-content:center; text-align:center; box-shadow:0 24px 60px rgba(2,2,10,.5); }

body.medical-referral-page .c-line2 .label { font-size:14px; font-weight:700; letter-spacing:.14em; }

body.medical-referral-page .c-line2 .big { font-size:23px; font-weight:900; letter-spacing:.06em; }

body.medical-referral-page .contact-access { margin-top:36px; text-align:center; font-size:14.5px; color:rgba(255,255,255,.88); position:relative; z-index:2; }

body.medical-referral-page footer { background:#12101a; color:#cfc8d6; padding:38px 0 24px; font-size:13px; }

body.medical-referral-page .footer-in { width:1160px; max-width:calc(100% - 40px); margin:0 auto; display:flex; justify-content:space-between; align-items:center; }

body.medical-referral-page .footer-logo { background:#fff; padding:10px 16px; }

body.medical-referral-page .footer-logo img { height:40px; width:auto; }

body.medical-referral-page .footer-info { text-align:right; line-height:1.9; }

body.medical-referral-page .footer-copy { text-align:center; margin-top:22px; font-size:11px; color:#7a7386; }

@media (max-width:1080px) {
body.medical-referral-page .worry-grid { gap:20px; }

body.medical-referral-page .s03-ph { flex:0 0 360px; }
}

@media (max-width:720px) {
body.medical-referral-page { font-size:9px; }

body.medical-referral-page { line-height:1.85; }

body.medical-referral-page .worry { padding:64px 0 70px; }

body.medical-referral-page .worry-head h2 { font-size:28px; }

body.medical-referral-page .worry-grid { grid-template-columns:1fr; gap:20px; }

body.medical-referral-page .worry-card { flex-direction:column; }

body.medical-referral-page .worry-card .ph { flex:0 0 180px; height:180px; }

body.medical-referral-page .s03 { padding:64px 0; }

body.medical-referral-page .st-head { gap:14px; margin-bottom:32px; }

body.medical-referral-page .st-num { font-size:60px; }

body.medical-referral-page .st-ttl h2 { font-size:25px; }

body.medical-referral-page .vlabel { display:none; }

body.medical-referral-page .s03-in { flex-direction:column; gap:34px; }

body.medical-referral-page .s03-txt .big { font-size:32px; }

body.medical-referral-page .s03-ph { flex:0 0 auto; width:100%; }

body.medical-referral-page .s03-specs { flex-wrap:wrap; }

body.medical-referral-page .doctor { padding:64px 0 0; }

body.medical-referral-page .contact { padding:80px 0 90px; clip-path:polygon(0 24px, 100% 0, 100% 100%, 0 100%); }

body.medical-referral-page .contact-head .en { font-size:46px; }

body.medical-referral-page .contact-lead { font-size:21px; }

body.medical-referral-page .contact-btns { flex-direction:column; gap:16px; }

body.medical-referral-page .contact-btns > a { width:100%; }

body.medical-referral-page .footer-in { flex-direction:column; gap:16px; text-align:center; }

body.medical-referral-page .footer-info { text-align:center; }

body.medical-referral-page { padding-bottom:58px; }
}

body.medical-referral-page { font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; }

body.medical-referral-page .hero { --hero-target-h: calc(90 * 9px);
position: relative;
min-height: max(520px, var(--hero-target-h));
overflow: hidden;
color: #fff;
background: #163d70; }

body.medical-referral-page .hero__photo { position: absolute;
inset: 0;
background-image: url(https://kobe-asteo.com/wp-content/themes/kobe-asteo/images/end/end-micro03.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: 70% center;
transform: scale(1.001); }

body.medical-referral-page .hero__shade { position: absolute;
inset: 0;
background:
linear-gradient(90deg, rgba(22,61,112,.90) 0%, rgba(31,82,150,.78) 28%, rgba(60,120,190,.45) 45%, rgba(150,190,230,.18) 62%, rgba(200,225,245,0) 78%),
linear-gradient(0deg, rgba(22,61,112,.24) 0%, rgba(22,61,112,0) 48%); }

body.medical-referral-page .hero__inner { position: relative;
z-index: 2;
width: min(100%, 1440px);
min-height: max(520px, var(--hero-target-h));
margin: 0 auto;
padding: 44px clamp(28px, 7.5vw, 108px) 78px;
display: flex;
align-items: center; }

body.medical-referral-page .hero__copy { width: min(47vw, 640px);
transform: translateY(-2%); }

body.medical-referral-page .hero__eyebrow { margin: 0 0 10px;
font-size: clamp(16px, 1.18vw, 19px);
line-height: 1.5;
color: rgba(227,239,251,.9);
letter-spacing: .02em; }

body.medical-referral-page .hero__title { margin: 0;
font-weight: 400;
letter-spacing: 0;
text-shadow: 0 1px 8px rgba(0,0,0,.12);
line-height: 1.08; }

body.medical-referral-page .hero__title-line { display: flex;
align-items: baseline;
white-space: nowrap; }

body.medical-referral-page .hero__title-line--main { font-size: clamp(44px, 4.55vw, 66px); }

body.medical-referral-page .hero__title-line--sub { display: block;
margin-top: 6px;
font-size: clamp(42px, 4.3vw, 64px);
line-height: 1.18; }

body.medical-referral-page .hero__lead { margin: 22px 0 0;
font-size: clamp(17px, 1.55vw, 23px);
line-height: 1.9;
letter-spacing: .02em;
color: rgba(255,255,255,.86); }

body.medical-referral-page .hero__cta { margin-top: clamp(34px, 5vw, 70px);
width: min(100%, 400px);
min-height: 56px;
padding: 0 14px 0 30px;
display: flex;
align-items: center;
justify-content: space-between;
background: rgba(255,255,255,.14);
-webkit-backdrop-filter: blur(12px) saturate(130%);
backdrop-filter: blur(12px) saturate(130%);
border: 1px solid rgba(255,255,255,.4);
color: #fff;
font-size: clamp(16px, 1.35vw, 20px);
font-weight: 600;
letter-spacing: 0;
box-shadow: 0 10px 30px rgba(20,8,14,.28), inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(255,255,255,.08);
transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }

body.medical-referral-page .hero__cta:hover { transform: translateY(-1px);
background: rgba(255,255,255,.22);
box-shadow: 0 14px 34px rgba(20,8,14,.34), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(255,255,255,.1); }

body.medical-referral-page .hero__cta-arrow { width: 22px;
height: 22px;
display: grid;
place-items: center;
border: 1px solid rgba(255,255,255,.65);
color: #fff;
border-radius: 50%;
font-size: 0; 
line-height: 1; }

body.medical-referral-page .hero__cta-arrow::before { content: "";
width: 5px;
height: 5px;
border-top: 1.5px solid currentColor;
border-right: 1.5px solid currentColor;
transform: translate(-1px, 3.5px) rotate(45deg); }

body.medical-referral-page .post-hero-feature { position: relative;
padding: 0 48px 42px;
background-color: #f3f7fb;
background-image:
radial-gradient(rgba(29,74,134,.12) 1px, transparent 1px),
linear-gradient(180deg, rgba(22,61,112,.08) 0%, rgba(22,61,112,0) 58px);
background-size: 9px 9px, 100% 100%; }

body.medical-referral-page .feature-cards { position: relative;
z-index: 1;
width: min(100%, 1440px);
margin: 0 auto -18px;
display: grid;
grid-template-columns: 1fr 1.08fr 1fr;
gap: 8px;
align-items: end;
transform: translateY(-18px); }

body.medical-referral-page .feature-card { position: relative;
min-width: 0;
overflow: hidden;
border: 2px solid rgba(227,239,251,.72);
background:
radial-gradient(circle at 50% 0%, rgba(59,122,201,.34) 0%, rgba(59,122,201,0) 45%),
linear-gradient(135deg, #123160 0%, #163d70 100%);
color: #fff;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
box-shadow: 0 10px 26px rgba(22,61,112,.16); }

body.medical-referral-page .feature-card--side { height: 214px;
padding: 36px 28px 28px; }

body.medical-referral-page .feature-card--center { height: 274px;
padding: 56px 32px 34px;
background:
radial-gradient(circle at 50% 0%, rgba(91,155,224,.15) 0%, rgba(91,155,224,0) 48%),
linear-gradient(135deg, #3b7ac9 0%, #1d4a86 58%, #143564 100%);
border-color: rgba(227,239,251,.9);
box-shadow: 0 16px 34px rgba(22,61,112,.24);

z-index: 2; }

body.medical-referral-page .feature-card__ribbon { position: absolute;
top: 0;
left: 50%;
width: 260px;
height: 38px;
margin: 0;
transform: translateX(-50%);
display: grid;
place-items: center;
background: linear-gradient(90deg, #4f7fb5 0%, #5b9be0 18%, #a9cdf3 50%, #5b9be0 82%, #4f7fb5 100%);
color: #fff;
font-size: 13px;
font-weight: 700;
letter-spacing: .08em;

box-shadow: 0 5px 12px rgba(22,61,112,.18); }

body.medical-referral-page .feature-card__ribbon::before,
body.medical-referral-page .feature-card__ribbon::after { content: none; }

body.medical-referral-page .feature-card__kicker { margin: 0;
color: #e3effb;
font-size: 17px;
font-weight: 700;
letter-spacing: .12em; }

body.medical-referral-page .feature-card__kicker span { margin-left: 8px;
font-size: 12px;
letter-spacing: .2em;
opacity: .76; }

body.medical-referral-page .feature-card__rule { width: 54px;
height: 1px;
margin: 14px auto 20px;
background: #a9cdf3; }

body.medical-referral-page .feature-card__main { position: relative;
z-index: 1;
margin: 0;
line-height: 1;
color: #fff;
text-shadow: 0 1px 8px rgba(22,61,112,.28); }

body.medical-referral-page .feature-card__main--text { font-size: 31px;
font-weight: 700;
line-height: 1.25;
letter-spacing: .02em; }

body.medical-referral-page .feature-card__text { position: relative;
z-index: 1;
margin: 14px 0 0;
color: rgba(227,239,251,.95);
font-size: 13px;
font-weight: 600;
line-height: 1.6; }

@media (max-width: 1100px) {
body.medical-referral-page .hero__inner { padding-right: 28px;
padding-left: 32px; }

body.medical-referral-page .hero__copy { width: min(54vw, 520px); }
}

@media (max-width: 920px) {
body.medical-referral-page .hero { min-height: max(600px, var(--hero-target-h)); }

body.medical-referral-page .hero__inner { min-height: max(600px, var(--hero-target-h));
padding: 40px 28px 72px; }

body.medical-referral-page .hero__copy { width: min(100%, 430px); }

body.medical-referral-page .hero__shade { background:
linear-gradient(90deg, rgba(22,61,112,.96) 0%, rgba(29,74,134,.86) 42%, rgba(59,122,201,.36) 72%, rgba(200,225,245,.12) 100%),
linear-gradient(0deg, rgba(22,61,112,.62) 0%, rgba(22,61,112,0) 48%); }

body.medical-referral-page .hero__photo { background-position: 58% center; }

body.medical-referral-page .post-hero-feature { padding: 28px 20px 42px; }

body.medical-referral-page .feature-cards { grid-template-columns: 1fr;
gap: 14px;
transform: none;
margin-bottom: 0; }

body.medical-referral-page .feature-card,
body.medical-referral-page .feature-card--side,
body.medical-referral-page .feature-card--center { height: auto;
min-height: 190px;
padding: 40px 24px 30px;
clip-path: none; }

body.medical-referral-page .feature-card--center { padding-top: 64px; }
}

@media (max-width: 640px) {
body.medical-referral-page .hero { min-height: 690px;
background: #163d70; }

body.medical-referral-page .hero__photo { background-size: auto 58%;
background-position: 73% 0; }

body.medical-referral-page .hero__shade { background:
linear-gradient(180deg, rgba(22,61,112,.08) 0%, rgba(22,61,112,.18) 30%, rgba(22,61,112,.88) 55%, rgba(22,61,112,.98) 100%),
linear-gradient(90deg, rgba(22,61,112,.98) 0%, rgba(29,74,134,.82) 58%, rgba(59,122,201,.26) 100%); }

body.medical-referral-page .hero__inner { min-height: 690px;
padding: 34px 18px 22px;
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: flex-end; }

body.medical-referral-page .hero__copy { width: 100%;
max-width: 360px;
padding-top: 220px; }

body.medical-referral-page .hero__eyebrow { margin-bottom: 8px;
font-size: 13px;
line-height: 1.5; }

body.medical-referral-page .hero__title-line--main { height: auto;
font-size: 24px;
line-height: 1.1; }

body.medical-referral-page .hero__title-line--sub { margin-top: 8px;
font-size: 31px;
line-height: 1.25; }

body.medical-referral-page .hero__lead { margin-top: 18px;
font-size: 15px;
line-height: 1.9; }

body.medical-referral-page .hero__cta { width: 100%;
max-width: 328px;
min-height: 52px;
margin-top: 20px;
padding: 0 14px 0 20px;
font-size: 15px; }

body.medical-referral-page .post-hero-feature { padding: 22px 14px 34px; }

body.medical-referral-page .feature-card__main--text { font-size: 24px; }

body.medical-referral-page .feature-card__ribbon { width: 220px;
height: 34px;
font-size: 12px; }
}

@media (max-width: 390px) {
body.medical-referral-page .hero { min-height: 668px; }

body.medical-referral-page .hero__inner { min-height: 668px;
padding-left: 16px;
padding-right: 16px; }

body.medical-referral-page .hero__photo { background-size: auto 54%;
background-position: 72% 0; }

body.medical-referral-page .hero__copy { max-width: 342px;
padding-top: 206px; }

body.medical-referral-page .hero__eyebrow { font-size: 12px; }

body.medical-referral-page .hero__title-line--main { font-size: 21px; }

body.medical-referral-page .hero__title-line--sub { font-size: 27px; }

body.medical-referral-page .hero__lead { font-size: 14px; }

body.medical-referral-page .hero__cta { font-size: 14px; }
}

body.medical-referral-page .post-hero-cluster { position: relative;
background-color: #f3f7fb;
background-image:
radial-gradient(rgba(29,74,134,.12) 1px, transparent 1px),
linear-gradient(180deg, rgba(22,61,112,.08) 0%, rgba(22,61,112,0) 58px);
background-size: 9px 9px, 100% 100%; }

body.medical-referral-page .post-hero-cluster .post-hero-feature { background: transparent;
background-image: none; }

body.medical-referral-page .post-hero-cluster .post-hero-feature { padding-top: 34px; }

body.medical-referral-page .post-hero-cluster .feature-cards { transform: none;
margin-bottom: 0; }

@media (max-width: 920px) {
body.medical-referral-page .post-hero-cluster .post-hero-feature { padding-top: 24px; }
}

body.medical-referral-page .side-cta { position: fixed;
right: 0;
top: 50%;
z-index: 80;
display: flex;
flex-direction: column;
gap: 12px;
transform: translateY(-50%); }

body.medical-referral-page .side-cta__item { width: 66px;
min-height: 136px;
padding: 15px 8px 14px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 11px;
color: #fff;
box-shadow: 0 10px 24px rgba(22,61,112,.18);
transition: transform .2s ease, filter .2s ease; }

body.medical-referral-page .side-cta__item:hover { transform: translateX(-4px);
filter: brightness(1.04); }

body.medical-referral-page .side-cta__item--consult { background: linear-gradient(180deg, #3b7ac9 0%, #1d4a86 100%);
border: 1px solid rgba(227,239,251,.38);
border-right: 0; }

body.medical-referral-page .side-cta__item--line { min-height: 158px;
background: linear-gradient(180deg, #20b356 0%, #168b43 100%);
border: 1px solid rgba(255,255,255,.28);
border-right: 0; }

body.medical-referral-page .side-cta__text { display: block;
writing-mode: vertical-rl;
text-orientation: upright;
font-size: 20px;
font-weight: 600;
letter-spacing: .12em;
line-height: 1.08; }

body.medical-referral-page .side-cta__icon { display: inline-grid;
place-items: center;
flex: 0 0 auto;
width: 30px;
height: 30px;
color: #fff;
font-size: 24px;
line-height: 1; }

@media (max-width: 920px) {
body.medical-referral-page .side-cta { display: none; }
}

/* ===== 元カンプ CSS part 2 ===== */
body.medical-referral-page .end-header { position: sticky;
top: 0;
left: 0;
z-index: 9999;
width: 100%;
background: rgba(255, 255, 255, .94);
border-bottom: 1px solid rgba(181, 138, 42, .18);
box-shadow: 0 8px 26px rgba(7, 27, 58, .06);
backdrop-filter: blur(10px);
color: #071b3a;
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Times New Roman", serif; }

body.medical-referral-page .end-header * { box-sizing: border-box; }

body.medical-referral-page .end-header a { text-decoration: none; }

body.medical-referral-page .end-header__inner { display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
max-width: 1440px;
min-height: 92px;
margin: 0 auto;
padding: 0 3%; }

body.medical-referral-page .end-header__logo { flex: 0 0 auto;
width: min(300px, 23vw); }

body.medical-referral-page .end-header__logo a { display: block; }

body.medical-referral-page .end-header__logo img { display: block;
width: 100%;
height: auto; }

body.medical-referral-page .end-header__nav { flex: 1 1 auto;
min-width: 0; }

body.medical-referral-page .end-header__nav-list { display: flex;
align-items: center;
justify-content: center;
gap: clamp(14px, 1.8vw, 32px);
margin: 0;
padding: 0;
list-style: none; }

body.medical-referral-page .end-header__nav-item { position: relative; }

body.medical-referral-page .end-header__nav-item > a { position: relative;
display: flex;
align-items: center;
min-height: 92px;
color: #071b3a;
font-size: clamp(13px, 1vw, 15px);
font-weight: 700;
line-height: 1.5;
letter-spacing: .06em;
white-space: nowrap;
transition: color .3s ease; }

body.medical-referral-page .end-header__nav-item > a::after { content: "";
position: absolute;
left: 50%;
bottom: 22px;
width: 0;
height: 1px;
background: #b58a2a;
transform: translateX(-50%);
transition: width .3s ease; }

body.medical-referral-page .end-header__nav-item:hover > a { color: #b58a2a; }

body.medical-referral-page .end-header__nav-item:hover > a::after { width: 100%; }

body.medical-referral-page .end-header__dropdown { position: absolute;
top: calc(100% - 8px);
left: 50%;
min-width: 230px;
padding: 12px;
background: rgba(255, 255, 255, .96);
border: 1px solid rgba(181, 138, 42, .28);
border-radius: 10px;
box-shadow: 0 16px 34px rgba(7, 27, 58, .12);
opacity: 0;
visibility: hidden;
transform: translate(-50%, 10px);
transition: opacity .3s ease, visibility .3s ease, transform .3s ease; }

body.medical-referral-page .end-header__nav-item:hover .end-header__dropdown { opacity: 1;
visibility: visible;
transform: translate(-50%, 0); }

body.medical-referral-page .end-header__dropdown::before { content: "";
position: absolute;
top: -7px;
left: 50%;
width: 12px;
height: 12px;
background: rgba(255, 255, 255, .96);
border-left: 1px solid rgba(181, 138, 42, .28);
border-top: 1px solid rgba(181, 138, 42, .28);
transform: translateX(-50%) rotate(45deg); }

body.medical-referral-page .end-header__dropdown a { position: relative;
display: block;
padding: 12px 14px 12px 28px;
border-radius: 6px;
color: #071b3a;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
letter-spacing: .05em;
white-space: nowrap;
transition: background .3s ease, color .3s ease; }

body.medical-referral-page .end-header__dropdown a::before { content: "›";
position: absolute;
left: 12px;
top: 50%;
color: #b58a2a;
transform: translateY(-50%); }

body.medical-referral-page .end-header__dropdown a:hover { background: #fbf8f1;
color: #b58a2a; }

body.medical-referral-page .end-header__cta { display: flex;
align-items: center;
gap: 10px;
flex: 0 0 auto; }

body.medical-referral-page .end-header__btn { display: inline-flex;
align-items: center;
justify-content: center;
min-width: 118px;
min-height: 44px;
padding: 10px 18px;
border-radius: 999px;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
letter-spacing: .06em;
white-space: nowrap;
transition: transform .3s ease, opacity .3s ease, box-shadow .3s ease; }

body.medical-referral-page .end-header__btn--web { background: linear-gradient(135deg, #caa044 0%, #a77a1f 100%);
color: #fff;
box-shadow: 0 8px 20px rgba(181, 138, 42, .22); }

body.medical-referral-page .end-header__btn:hover { transform: translateY(-2px);
opacity: .9; }

body.medical-referral-page .end-header__tel { display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
min-height: 44px;
padding-left: 12px;
border-left: 1px solid rgba(181, 138, 42, .36);
color: #071b3a;
font-size: clamp(15px, 1.2vw, 19px);
font-weight: 700;
line-height: 1.15;
letter-spacing: .04em;
white-space: nowrap; }

body.medical-referral-page .end-header__tel span { margin-bottom: 3px;
color: #8b651f;
font-size: 11px;
letter-spacing: .06em; }

body.medical-referral-page .end-header__check,
body.medical-referral-page .end-header__hamburger,
body.medical-referral-page .end-header__sp-menu { display: none; }

@media screen and (max-width: 1180px) {
body.medical-referral-page .end-header__inner { min-height: 78px; }

body.medical-referral-page .end-header__logo { width: 260px; }

body.medical-referral-page .end-header__nav,
body.medical-referral-page .end-header__cta { display: none; }

body.medical-referral-page .end-header__hamburger { position: relative;
display: flex;
flex-direction: column;
justify-content: center;
gap: 7px;
width: 54px;
height: 54px;
margin-left: auto;
border: 1px solid rgba(181, 138, 42, .48);
border-radius: 50%;
background: #fff;
cursor: pointer;
z-index: 10001; }

body.medical-referral-page .end-header__hamburger span { display: block;
width: 22px;
height: 2px;
margin: 0 auto;
background: #071b3a;
border-radius: 999px;
transition: transform .3s ease, opacity .3s ease; }

body.medical-referral-page .end-header__check:checked ~ .end-header__hamburger span:nth-child(1) { transform: translateY(9px) rotate(45deg); }

body.medical-referral-page .end-header__check:checked ~ .end-header__hamburger span:nth-child(2) { opacity: 0; }

body.medical-referral-page .end-header__check:checked ~ .end-header__hamburger span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

body.medical-referral-page .end-header__sp-menu { display: block;
position: fixed;
top: 78px;
left: 0;
width: 100%;
height: calc(100vh - 78px);
overflow-y: auto;
background:
radial-gradient(circle at 100% 0%, rgba(181, 138, 42, .12) 0%, transparent 34%),
linear-gradient(180deg, #fbfaf6 0%, #f7f3eb 100%);
opacity: 0;
visibility: hidden;
transform: translateY(-12px);
transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
z-index: 10000; }

body.medical-referral-page .end-header:has(.end-header__check:checked) .end-header__sp-menu { opacity: 1;
visibility: visible;
transform: translateY(0); }

body.medical-referral-page .end-header__sp-inner { width: min(680px, 100%);
margin: 0 auto;
padding: 28px 22px 42px; }

body.medical-referral-page .end-header__sp-block { border-bottom: 1px solid rgba(181, 138, 42, .24); }

body.medical-referral-page .end-header__sp-block:first-child { border-top: 1px solid rgba(181, 138, 42, .24); }

body.medical-referral-page .end-header__sp-block summary { position: relative;
display: block;
padding: 18px 44px 18px 4px;
color: #071b3a;
font-size: 17px;
font-weight: 700;
line-height: 1.5;
letter-spacing: .07em;
cursor: pointer;
list-style: none; }

body.medical-referral-page .end-header__sp-block summary::-webkit-details-marker { display: none; }

body.medical-referral-page .end-header__sp-block summary::before,
body.medical-referral-page .end-header__sp-block summary::after { content: "";
position: absolute;
right: 10px;
top: 50%;
width: 16px;
height: 1px;
background: #b58a2a;
transition: transform .3s ease; }

body.medical-referral-page .end-header__sp-block summary::after { transform: rotate(90deg); }

body.medical-referral-page .end-header__sp-block[open] summary::after { transform: rotate(0deg); }

body.medical-referral-page .end-header__sp-block ul { margin: 0;
padding: 0 0 16px;
list-style: none; }

body.medical-referral-page .end-header__sp-block li + li { margin-top: 8px; }

body.medical-referral-page .end-header__sp-block a { position: relative;
display: block;
padding: 11px 14px 11px 28px;
background: rgba(255, 255, 255, .68);
border: 1px solid rgba(181, 138, 42, .16);
border-radius: 8px;
color: #071b3a;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
letter-spacing: .05em; }

body.medical-referral-page .end-header__sp-block a::before { content: "›";
position: absolute;
left: 14px;
top: 50%;
color: #b58a2a;
transform: translateY(-50%); }

body.medical-referral-page .end-header__sp-cta { display: grid;
gap: 12px;
margin-top: 26px; }

body.medical-referral-page .end-header__sp-btn { position: relative;
display: block;
align-items: center;
justify-content: center;
min-height: 58px;
padding: 13px 40px 13px 24px;
border-radius: 999px;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
letter-spacing: .06em;
text-align: center; }

body.medical-referral-page .end-header__sp-btn::after { content: "〉";
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%); }

body.medical-referral-page .end-header__sp-btn--web { background: linear-gradient(135deg, #caa044 0%, #a77a1f 100%);
color: #fff;
box-shadow: 0 10px 24px rgba(181, 138, 42, .22); }

body.medical-referral-page .end-header__sp-btn--tel { background: #fff;
border: 1px solid rgba(181, 138, 42, .72);
color: #071b3a; }

body.medical-referral-page .end-header__sp-btn--tel span { color: #b58a2a;
font-size: 1.55em;
letter-spacing: .04em; }
}

@media screen and (max-width: 767px) {
body.medical-referral-page .end-header__inner { min-height: 68px;
padding: 0 16px; }

body.medical-referral-page .end-header__logo { width: min(238px, calc(100% - 70px)); }

body.medical-referral-page .end-header__hamburger { width: 48px;
height: 48px;
gap: 6px; }

body.medical-referral-page .end-header__hamburger span { width: 20px; }

body.medical-referral-page .end-header__check:checked ~ .end-header__hamburger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }

body.medical-referral-page .end-header__check:checked ~ .end-header__hamburger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

body.medical-referral-page .end-header__sp-menu { top: 68px;
height: calc(100vh - 68px); }

body.medical-referral-page .end-header__sp-inner { padding: 24px 16px 36px; }

body.medical-referral-page .end-header__sp-block summary { padding: 16px 42px 16px 2px;
font-size: 16px; }
}

/* ===== 元カンプ CSS part 3 ===== */
body.medical-referral-page { --pink:#2f7fd6; --pink-d:#1f63b3; --wine:#2b5c9e; --char:#1b2a3d; --char2:#2c3e57; --gold:#5b9be0; --gold-l:#a9cdf3; --gold-pale:#e3effb; --blue:#2f7fd6; --blue-d:#1f4e8c; --blue-l:#8ec1f2; --pale:#eef4fb; --ink:#1b2a3d; }

body.medical-referral-page { background:#fff; color:var(--ink); }

body.medical-referral-page .tx-warm { background:#f7fafd ; }

body.medical-referral-page .tx-paper { background:#fff ; }

body.medical-referral-page .hero { --hero-target-h:600px; min-height:600px; background:#1f4e8c; }

body.medical-referral-page .hero__inner { min-height:600px; padding-top:56px; padding-bottom:56px; display:flex; align-items:center; }

body.medical-referral-page .hero__copy { transform:none; width:min(50vw,680px); }

body.medical-referral-page .hero__eyebrow { margin:0 0 14px; }

body.medical-referral-page .hero__badge { margin-bottom:22px; }

body.medical-referral-page .hero__title { margin:0 0 22px; }

body.medical-referral-page .hero__lead { margin:0 0 30px; white-space:nowrap; }

body.medical-referral-page .hero__cta { margin-top:0; }

body.medical-referral-page .hero__photo { background-image:url(https://kobe-asteo.com/wp-content/themes/kobe-asteo/images/end/end-micro03.jpg) ; background-position:72% 45% ; }

body.medical-referral-page .hero__shade { background:linear-gradient(90deg, rgba(20,52,100,.86) 0%, rgba(31,78,140,.72) 34%, rgba(47,127,214,.28) 60%, rgba(255,255,255,0) 82%), linear-gradient(0deg, rgba(20,52,100,.35), rgba(20,52,100,0) 40%) ; }

body.medical-referral-page .hero__eyebrow { color:#d9ebfb ; }

body.medical-referral-page .hero__lead { text-shadow:0 1px 8px rgba(10,40,80,.45); }

body.medical-referral-page .hero__title-line--main { font-size:clamp(26px,2.8vw,38px) ; letter-spacing:.06em; }

body.medical-referral-page .hero__title-line--sub { font-size:clamp(34px,3.8vw,52px); }

body.medical-referral-page .hero__badge { display:inline-block; background:rgba(255,255,255,.92); color:var(--blue-d); font-family:"Noto Serif JP",serif; font-weight:700; font-size:15px; letter-spacing:.12em; padding:8px 18px; margin-bottom:18px; border-left:4px solid var(--blue); }

body.medical-referral-page .hero__cta { background:rgba(255,255,255,.14) ; border:1px solid rgba(255,255,255,.75) ; backdrop-filter:blur(8px); display:inline-flex ; align-items:center; gap:18px; padding:14px 26px ; width:auto ; max-width:none ; white-space:nowrap; }

body.medical-referral-page .hero__cta > span:first-child { display:flex; flex-direction:column; line-height:1.3; }

body.medical-referral-page .hero__cta .tel { font-family:"EB Garamond",serif; font-size:30px; letter-spacing:.04em; }

body.medical-referral-page .hero__cta small { font-size:12px; opacity:.9; white-space:nowrap; }

body.medical-referral-page .worry-card { display:block ; padding:0 ; overflow:hidden; }

body.medical-referral-page .worry-card .ph { width:100% ; height:210px; }

body.medical-referral-page .worry-card .ph img { width:100%; height:210px; object-fit:cover; display:block; }

body.medical-referral-page .worry-card .tx { padding:20px 22px 24px ; width:auto ; }

body.medical-referral-page .worry-card h4 { font-size:18px; margin:0 0 8px; }

body.medical-referral-page .worry-card p { font-size:13.5px; line-height:1.9; margin:0; }

body.medical-referral-page .feature-card { background:rgba(255,255,255,.88) ; backdrop-filter:blur(10px); border:1px solid rgba(47,127,214,.28) ; color:var(--ink) ; box-shadow:0 18px 40px rgba(31,78,140,.12) ; }

body.medical-referral-page .feature-card--center { background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(227,239,251,.96)) ; border-color:rgba(47,127,214,.5) ; }

body.medical-referral-page .feature-card__kicker,
body.medical-referral-page .feature-card__kicker span { color:var(--blue-d) ; }

body.medical-referral-page .feature-card__rule { background:linear-gradient(90deg,#2f7fd6,#8ec1f2) ; }

body.medical-referral-page .feature-card__main--text { font-size:clamp(20px,1.9vw,26px); color:var(--blue-d) ; }

body.medical-referral-page .feature-card__text { color:#3d4b60 ; }

body.medical-referral-page .feature-card__ribbon { background:linear-gradient(135deg,#2f7fd6,#1f63b3) ; color:#fff ; }

body.medical-referral-page .post-hero-cluster { background:linear-gradient(180deg,#eef4fb,#fff); }

body.medical-referral-page .accept { padding:72px 0 64px; background:#fff; text-align:center; }

body.medical-referral-page .accept .en { font-family:"EB Garamond",serif; letter-spacing:.3em; color:var(--blue); font-size:13px; }

body.medical-referral-page .accept h2 { font-family:"Noto Serif JP",serif; font-size:34px; color:var(--blue-d); line-height:1.6; margin:10px 0 18px; }

body.medical-referral-page .accept h2 .g { color:var(--blue); }

body.medical-referral-page .accept p { max-width:760px; margin:0 auto; font-size:15px; line-height:2.1; color:#3d4b60; }

body.medical-referral-page .accept .pts { display:flex; justify-content:center; gap:16px; margin-top:28px; flex-wrap:wrap; }

body.medical-referral-page .accept .pt { background:#fff; border:1px solid #dde8f3; box-shadow:0 14px 34px rgba(31,78,140,.08); padding:22px 28px; min-width:260px; text-align:left; display:flex; gap:14px; align-items:flex-start; }

body.medical-referral-page .accept .pt i { color:var(--blue); font-size:22px; margin-top:4px; }

body.medical-referral-page .accept .pt b { display:block; font-family:"Noto Serif JP",serif; font-size:16px; color:var(--blue-d); margin-bottom:4px; }

body.medical-referral-page .accept .pt span { font-size:13px; color:#3d4b60; line-height:1.8; }

body.medical-referral-page .st-num { color:#8ec1f2 ; }

body.medical-referral-page .st-ttl .k { color:var(--blue) ; }

body.medical-referral-page .st-ttl h2 .pk { color:var(--blue) ; }

body.medical-referral-page .worry-head .en { color:var(--blue) ; }

body.medical-referral-page .worry-card h4 span { color:var(--blue-d) ; }

body.medical-referral-page .worry-card { box-shadow:0 14px 34px rgba(31,78,140,.10) ; border:1px solid #e3effb; }

body.medical-referral-page .worry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

body.medical-referral-page .s03 { background:linear-gradient(135deg,#123160 0%,#1f4e8c 55%,#2f7fd6 100%) ; }

body.medical-referral-page .s03 .vlabel { color:rgba(255,255,255,.18) ; }

body.medical-referral-page .s03 .big { color:#fff ; }

body.medical-referral-page .s03 p { color:#d9ebfb ; }

body.medical-referral-page .s03-spec { background:rgba(255,255,255,.12) ; border:1px solid rgba(255,255,255,.45) ; color:#fff ; backdrop-filter:blur(6px); }

body.medical-referral-page .s03-spec b { color:#fff ; }

body.medical-referral-page .s03-ph { box-shadow:0 24px 50px rgba(10,40,80,.4); }

body.medical-referral-page .doctor { padding-top:64px; padding-bottom:64px; background:#fff ; }

body.medical-referral-page .doc-compact { display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:center; }

body.medical-referral-page .doc-compact .ph { position:relative; box-shadow:0 20px 44px rgba(31,78,140,.16); }

body.medical-referral-page .doc-compact .ph img { width:100%; display:block; }

body.medical-referral-page .doc-compact .name-tag { position:absolute; left:0; bottom:0; background:var(--blue-d); color:#fff; font-size:12px; letter-spacing:.12em; padding:6px 14px; }

body.medical-referral-page .doc-compact .lb { font-family:"EB Garamond",serif; letter-spacing:.3em; color:var(--blue); font-size:13px; }

body.medical-referral-page .doc-compact h2 { font-family:"Noto Serif JP",serif; font-size:30px; color:var(--blue-d); margin:6px 0 12px; line-height:1.5; }

body.medical-referral-page .doc-compact h2 .g { color:var(--blue); }

body.medical-referral-page .doc-compact .nm { font-family:"Noto Serif JP",serif; font-size:15px; color:var(--blue-d); }

body.medical-referral-page .doc-compact .nm b { font-size:24px; margin-left:8px; }

body.medical-referral-page .doc-compact .career { margin-top:10px; font-size:12.5px; line-height:1.9; color:#3d4b60; border-top:1px solid #dde8f3; padding-top:10px; }

body.medical-referral-page .contact { background:linear-gradient(135deg,#1f4e8c 0%,#2f7fd6 60%,#5b9be0 100%) ; }

body.medical-referral-page .contact::before { background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.04)) ; }

body.medical-referral-page .contact-btns { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); max-width:900px; margin-left:auto; margin-right:auto; }

body.medical-referral-page .contact .c-tel2 { background:rgba(255,255,255,.94) ; border:0 ; color:var(--blue-d) ; }

body.medical-referral-page .contact .c-tel2 .num { font-size:38px; white-space:nowrap; color:var(--blue-d) ; font-family:"EB Garamond",serif; }

body.medical-referral-page .contact .c-tel2 .label,
body.medical-referral-page .contact .c-tel2 .time { color:#4f7fb5 ; }

body.medical-referral-page .contact .c-line2 { background:rgba(255,255,255,.14) ; border:1px solid rgba(255,255,255,.7) ; color:#fff ; backdrop-filter:blur(8px); }

body.medical-referral-page .contact .c-line2 .big { font-size:20px; white-space:nowrap; color:#fff ; }

body.medical-referral-page .contact .c-line2 .label { color:#d9ebfb ; }

body.medical-referral-page .contact-note { margin-top:22px; text-align:center; font-size:13px; color:#d9ebfb; line-height:1.9; }

body.medical-referral-page footer { background:#12305a ; }

body.medical-referral-page .footer-logo { background:#fff; }

body.medical-referral-page .footer-logo .logo-txt { color:var(--blue-d) ; }

body.medical-referral-page .side-cta__item--consult { background:var(--blue-d) ; }

body.medical-referral-page .side-cta__item--line { background:var(--blue) ; }

/* WordPress: 共通スタイルとの競合防止と表示補正 */
body.medical-referral-page { font-family:"Noto Sans JP",Meiryo,sans-serif; font-size:16px; line-height:1.9; background:#fff; overflow-x:hidden; }
body.medical-referral-page .hero__title { font-weight:normal; }
body.medical-referral-page a { text-decoration:none; }
body.medical-referral-page a:focus-visible, body.medical-referral-page button:focus-visible { outline:3px solid #f5c04c; outline-offset:3px; }
body.medical-referral-page .side-cta__item:focus-visible { outline-offset:-3px; }
body.medical-referral-page .hero,body.medical-referral-page .accept,body.medical-referral-page .worry,body.medical-referral-page .s03,body.medical-referral-page .doctor,body.medical-referral-page .contact { scroll-margin-top:90px; }
@media (max-width: 767px) {
  body.medical-referral-page .hero__copy { width:100%; }
  body.medical-referral-page .hero__lead { white-space:normal; }
  body.medical-referral-page .hero__cta { max-width:100% ; white-space:normal ; }
  body.medical-referral-page .hero__cta small { white-space:normal; }
  body.medical-referral-page .worry-grid { grid-template-columns:1fr; }
  body.medical-referral-page .doc-compact { grid-template-columns:1fr; }
  body.medical-referral-page .doc-compact .ph { max-width:320px; }
  body.medical-referral-page .contact-btns { grid-template-columns:1fr; }
  body.medical-referral-page .contact .c-tel2 .num { font-size:clamp(23px,6vw,38px); }
  body.medical-referral-page .contact .c-line2 .big { white-space:normal; }
  body.medical-referral-page .accept .pts { flex-direction:column; }
  body.medical-referral-page .accept .pt { min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
  body.medical-referral-page * { scroll-behavior:auto ; animation-duration:0.01ms ; transition-duration:0.01ms ; }
}

/* スマホ：長い見出しの画面外はみ出しを防止 */
@media (max-width: 640px) {
  body.medical-referral-page .hero__title-line {
    white-space: normal;
  }
  body.medical-referral-page .hero__title-line--sub {
    font-size: clamp(22px, 6vw, 28px) ;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  body.medical-referral-page .hero__title-line--main {
    white-space: normal;
  }
}


/* ============================================================
   2026-10-13 | PC/SP デザインレビュー最終調整
   - 専用ページ限定（他のWordPressページには適用しない）
   - 既存PCのレイアウトは維持してフォントと余白を整える
   - SPのFV余白、改行、フッター余白を根本から解消
   ============================================================ */

/* 明朝体を強調すべき見出しに明示し、本文は可読性の高いゴシックに統一 */
body.medical-referral-page {
  --ref-serif: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --ref-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-family: var(--ref-sans);
  font-size: 16px;
  padding-bottom: 0 ;
}
body.medical-referral-page :is(.hero__title,.hero__badge,.feature-card__main,.accept h2,.accept .pt b,.worry-head h2,.worry-card h4,.st-ttl h2,.s03-txt .big,.s03-spec b,.doc-compact h2,.doc-compact .nm,.contact-lead,.contact .c-line2 .big,.footer-logo .logo-txt) {
  font-family: var(--ref-serif);
  font-synthesis: none;
}
body.medical-referral-page .hero__eyebrow,
body.medical-referral-page .hero__lead,
body.medical-referral-page .hero__cta small,
body.medical-referral-page .feature-card__text,
body.medical-referral-page .accept p,
body.medical-referral-page .worry-lead,
body.medical-referral-page .worry-card .tx p,
body.medical-referral-page .s03-txt p,
body.medical-referral-page .doc-compact .career,
body.medical-referral-page .contact-note,
body.medical-referral-page .contact-access { font-family:var(--ref-sans); }
body.medical-referral-page .hero__title { line-height:1.35; letter-spacing:.025em; }
body.medical-referral-page .hero__title-line--main { line-height:1.42; }
body.medical-referral-page .hero__title-line--sub { line-height:1.33; }
body.medical-referral-page .hero__lead-line { display:block; }
body.medical-referral-page .accept__heading-row { display:block; }
body.medical-referral-page .accept__heading-unit,
body.medical-referral-page .doctor__heading-unit,
body.medical-referral-page .contact-lead__unit,
body.medical-referral-page .facility__unit { display:inline-block; }
body.medical-referral-page .facility__line,
body.medical-referral-page .contact-lead__line { display:block; }
body.medical-referral-page .footer-logo { background:transparent ; padding:0; }
body.medical-referral-page .footer-logo .logo-txt {
  color:#fff ; font-size:21px; font-weight:600;
  letter-spacing:.065em; line-height:1.5;
}
body.medical-referral-page > footer { margin:0; background:#12305a; }
body.medical-referral-page .footer-copy { color:rgba(255,255,255,.55); }

/* PC：広い余白の間延びを抑え、文章の読み幅を整理 */
@media (min-width:921px) {
  body.medical-referral-page .accept { padding-top:82px; padding-bottom:72px; }
  body.medical-referral-page .accept h2 { font-size:clamp(27px,2.5vw,35px); line-height:1.65; }
  body.medical-referral-page .accept p { max-width:860px; }
  body.medical-referral-page .doctor { padding-top:74px; padding-bottom:74px; }
  body.medical-referral-page .doc-compact h2 { font-size:clamp(25px,2.2vw,31px); line-height:1.6; }
  body.medical-referral-page .contact { padding-top:105px; padding-bottom:90px; }
  body.medical-referral-page .footer-in { gap:32px; }
}

/* タブレット：狭い2カラムや改行崩れを防止 */
@media (min-width:641px) and (max-width:920px) {
  body.medical-referral-page .hero__copy { width:min(74vw,540px) ; }
  body.medical-referral-page .hero__title-line--main { font-size:clamp(27px,3.3vw,35px) ; }
  body.medical-referral-page .hero__title-line--sub { font-size:clamp(30px,4vw,40px); white-space:normal; }
  body.medical-referral-page .hero__lead { white-space:normal; }
  body.medical-referral-page .accept h2 { font-size:clamp(26px,3.3vw,33px); }
  body.medical-referral-page .accept .pt { min-width:0; flex:1 1 220px; }
  body.medical-referral-page .s03-in { flex-direction:column; align-items:stretch; gap:34px; }
  body.medical-referral-page .s03-ph { flex:none; max-width:520px; margin:auto; }
  body.medical-referral-page .doc-compact { grid-template-columns:minmax(180px,240px) minmax(0,1fr); gap:26px; }
  body.medical-referral-page .doc-compact h2 { font-size:25px; }
}

/* SP：カンプのメリハリを引き継ぎ、FVを写真と文章の一体型にする */
@media (max-width:640px) {
  body.medical-referral-page { padding:0 ; overflow-x:clip; }
  body.medical-referral-page .inner { width:auto; max-width:none; margin-inline:20px; }
  body.medical-referral-page .end-header__inner { min-height:64px; padding:0 16px; }
  body.medical-referral-page .end-header__logo { width:min(238px,calc(100% - 66px)); }
  body.medical-referral-page .end-header__hamburger { width:43px; height:43px; }
  body.medical-referral-page .end-header__sp-menu {
    top:64px; height:calc(100dvh - 64px); overscroll-behavior:contain;
  }

  /* 旧指定の画像高さ58%、本文上余白220px、固定高690pxをすべて解除 */
  body.medical-referral-page .hero {
    min-height:0 ; height:auto ;
    background:#183f73; isolation:isolate;
  }
  body.medical-referral-page .hero__photo {
    inset:0; background-size:cover ;
    background-position:65% center ;
    transform:none;
  }
  body.medical-referral-page .hero__shade {
    background:linear-gradient(180deg,
       rgba(11,40,78,.08) 0%,
       rgba(13,48,91,.20) 24%,
       rgba(16,52,99,.73) 43%,
       rgba(16,48,91,.94) 72%,
       rgba(12,41,80,.97) 100%) ;
  }
  body.medical-referral-page .hero__inner {
    width:100%; min-height:0 ;
    padding:clamp(190px,52vw,245px) 20px 34px ;
    display:block ;
  }
  body.medical-referral-page .hero__copy {
    width:100% ; max-width:none ;
    padding:0 ; margin:0;
    transform:none ;
  }
  body.medical-referral-page .hero__eyebrow {
    font-size:12px; letter-spacing:.06em; margin:0 0 9px;
    line-height:1.6; color:#e3effb;
  }
  body.medical-referral-page .hero__badge {
    display:inline-block; max-width:100%;
    margin:0 0 15px; padding:7px 11px;
    font-size:clamp(10px,2.9vw,12px); line-height:1.6;
    letter-spacing:.035em; border-left-width:3px;
  }
  body.medical-referral-page .hero__title {
    margin:0 0 15px; line-height:1.3;
    letter-spacing:0; word-break:normal;
  }
  body.medical-referral-page .hero__title-line,
  body.medical-referral-page .hero__title-line--main,
  body.medical-referral-page .hero__title-line--sub {
    display:block; width:100%; height:auto;
    white-space:nowrap ; overflow-wrap:normal ;
    word-break:keep-all; letter-spacing:0;
  }
  body.medical-referral-page .hero__title-line--main {
    font-size:clamp(21px,5.55vw,27px) ; line-height:1.45;
  }
  body.medical-referral-page .hero__title-line--sub {
    margin-top:1px; font-size:clamp(20px,5.4vw,25px) ;
    line-height:1.55;
  }
  body.medical-referral-page .hero__lead {
    margin:0 0 19px; font-size:clamp(12px,3.4vw,14px);
    line-height:1.85; letter-spacing:.01em;
    white-space:normal ; color:#f0f5fb;
    text-wrap:pretty;
  }
  body.medical-referral-page .hero__lead-line { display:block; }
  body.medical-referral-page .hero__cta {
    width:100% ; max-width:360px ;
    min-height:62px; margin:0; padding:11px 15px ;
    gap:8px; justify-content:space-between;
    white-space:normal ; border-radius:0;
  }
  body.medical-referral-page .hero__cta .tel { font-size:clamp(24px,6.5vw,30px); }
  body.medical-referral-page .hero__cta small {
    font-size:clamp(9px,2.65vw,11px); line-height:1.4;
    white-space:normal ;
  }
  body.medical-referral-page .hero__cta-arrow { flex:none; }

  /* 3カードは同じ幅・適切な高さ。中央カードの優先順位を残す */
  body.medical-referral-page .post-hero-cluster,
  body.medical-referral-page .post-hero-feature { background:#f3f7fb; }
  body.medical-referral-page .post-hero-feature { padding:22px 18px 28px ; }
  body.medical-referral-page .feature-cards {
    width:100%; margin:0; display:grid; grid-template-columns:minmax(0,1fr);
    gap:12px; transform:none;
  }
  body.medical-referral-page .feature-card,
  body.medical-referral-page .feature-card--side {
    min-height:142px; height:auto; padding:19px 15px 20px;
    border-radius:0;
  }
  body.medical-referral-page .feature-card--center {
    min-height:174px; height:auto; padding:45px 14px 21px;
  }
  body.medical-referral-page .feature-card__ribbon {
    width:190px; height:29px; font-size:11px;
  }
  body.medical-referral-page .feature-card__kicker { font-size:13px; }
  body.medical-referral-page .feature-card__kicker span { font-size:10px; }
  body.medical-referral-page .feature-card__rule { margin:9px auto 11px; }
  body.medical-referral-page .feature-card__main--text {
    font-size:clamp(18px,5.2vw,22px); line-height:1.5;
    letter-spacing:.01em; overflow-wrap:normal;
  }
  body.medical-referral-page .feature-card__text {
    font-size:11.5px; font-weight:400; line-height:1.75;
    margin-top:7px; max-width:32em;
  }

  /* 紹介セクション：語句単位の整った改行 */
  body.medical-referral-page .accept { padding:57px 0 54px; }
  body.medical-referral-page .accept .en { font-size:12px; }
  body.medical-referral-page .accept h2 {
    font-size:clamp(20px,5.9vw,25px); line-height:1.78;
    letter-spacing:.015em; margin:10px 0 22px;
    overflow-wrap:normal; word-break:normal;
  }
  body.medical-referral-page .accept__heading-row { display:block; }
  body.medical-referral-page .accept__heading-unit { display:inline-block; }
  body.medical-referral-page .accept p {
    width:100%; max-width:560px; font-size:13px;
    text-align:left; line-height:2.05;
    letter-spacing:.01em; margin:0 auto;
  }
  body.medical-referral-page .accept .pts {
    display:grid; grid-template-columns:minmax(0,1fr);
    gap:11px; margin-top:25px;
  }
  body.medical-referral-page .accept .pt {
    width:100%; min-width:0; padding:17px 18px;
    gap:12px; align-items:center;
  }
  body.medical-referral-page .accept .pt i { font-size:19px; margin:0; }
  body.medical-referral-page .accept .pt b { font-size:15px; margin:0 0 4px; }
  body.medical-referral-page .accept .pt span { font-size:11.5px; }

  /* 症例：画像と見出しの左右余白を同じ基準に */
  body.medical-referral-page .worry.tx-warm {
    padding:59px 0 62px ;
  }
  body.medical-referral-page .worry-head { margin-bottom:15px; }
  body.medical-referral-page .worry-head h2 {
    font-size:clamp(23px,6vw,28px); line-height:1.55;
    letter-spacing:.035em;
  }
  body.medical-referral-page .worry-lead {
    font-size:12.5px; line-height:1.9; margin-bottom:23px;
  }
  body.medical-referral-page .worry-grid {
    display:grid; grid-template-columns:minmax(0,1fr); gap:17px;
  }
  body.medical-referral-page .worry-card { min-height:0; }
  body.medical-referral-page .worry-card .ph,
  body.medical-referral-page .worry-card .ph img {
    height:clamp(185px,53vw,225px);
  }
  body.medical-referral-page .worry-card .tx { padding:17px 20px 20px ; }
  body.medical-referral-page .worry-card .tx h4 {
    font-size:18px; line-height:1.55; margin:0 0 7px;
  }
  body.medical-referral-page .worry-card .tx p {
    font-size:12.5px; line-height:1.85;
  }

  /* 設備：大見出しの不自然な文字単位改行を防ぐ */
  body.medical-referral-page .s03 {
    padding:61px 0 67px ;
  }
  body.medical-referral-page .s03-in {
    display:flex; flex-direction:column; align-items:stretch;
    gap:28px; width:auto;
  }
  body.medical-referral-page .st-head {
    gap:12px; align-items:center; margin:0 0 24px;
  }
  body.medical-referral-page .st-num { font-size:58px; }
  body.medical-referral-page .st-ttl .k { font-size:11px; }
  body.medical-referral-page .st-ttl h2 {
    font-size:clamp(19px,5.4vw,25px);
    line-height:1.55; letter-spacing:0;
  }
  body.medical-referral-page .s03-txt .big {
    margin:0 0 20px; font-size:clamp(21px,5.65vw,27px);
    line-height:1.62; letter-spacing:.008em;
  }
  body.medical-referral-page .facility__line { display:block; }
  body.medical-referral-page .facility__unit { display:inline-block; }
  body.medical-referral-page .s03-txt p {
    font-size:12.5px; line-height:2; margin:0;
  }
  body.medical-referral-page .s03-specs {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px; margin-top:20px;
  }
  body.medical-referral-page .s03-spec {
    padding:10px 8px; font-size:11px; line-height:1.65;
  }
  body.medical-referral-page .s03-spec:last-child { grid-column:1 / -1; }
  body.medical-referral-page .s03-spec b { font-size:13px; line-height:1.55; }
  body.medical-referral-page .s03-ph { width:100%; max-width:540px; }

  /* 担当医：写真と肩書・見出しを揃える */
  body.medical-referral-page .doctor {
    padding:62px 0 66px;
  }
  body.medical-referral-page .doc-compact {
    display:grid; grid-template-columns:minmax(0,1fr);
    gap:25px; align-items:stretch;
  }
  body.medical-referral-page .doc-compact .ph {
    width:min(78%,290px); max-width:290px; margin:0 auto;
  }
  body.medical-referral-page .doc-compact .lb { font-size:12px; }
  body.medical-referral-page .doc-compact h2 {
    margin:8px 0 14px; font-size:clamp(20px,5.4vw,25px);
    letter-spacing:.015em; line-height:1.75;
    overflow-wrap:normal;
  }
  body.medical-referral-page .doctor__heading-row { display:block; }
  body.medical-referral-page .doctor__heading-unit { display:inline-block; }
  body.medical-referral-page .doc-compact .nm { font-size:14px; }
  body.medical-referral-page .doc-compact .nm b { font-size:22px; }
  body.medical-referral-page .doc-compact .career {
    font-size:11.5px; line-height:1.9;
    word-break:normal; overflow-wrap:anywhere;
  }

  /* CONTACT：余白と改行を調整。画面内に収まるカード */
  body.medical-referral-page .contact {
    padding:91px 0 76px ;
    clip-path:polygon(0 20px,100% 0,100% 100%,0 100%);
  }
  body.medical-referral-page .contact-head { margin-bottom:25px; }
  body.medical-referral-page .contact-head .en {
    font-size:clamp(42px,11vw,53px); line-height:1.15;
  }
  body.medical-referral-page .contact-head .ja {
    margin-top:4px; font-size:11px; letter-spacing:.24em;
  }
  body.medical-referral-page .contact-lead {
    font-size:clamp(16px,4.5vw,20px);
    line-height:1.9; letter-spacing:.02em;
  }
  body.medical-referral-page .contact-lead__line { display:block; }
  body.medical-referral-page .contact-lead__unit { display:inline-block; }
  body.medical-referral-page .contact-btns {
    display:grid; grid-template-columns:minmax(0,1fr);
    gap:13px; margin-top:30px;
  }
  body.medical-referral-page .contact .c-tel2,
  body.medical-referral-page .contact .c-line2 {
    width:100%; min-width:0; padding:21px 14px;
  }
  body.medical-referral-page .contact .c-tel2 .label { font-size:12px; }
  body.medical-referral-page .contact .c-tel2 .num {
    font-size:clamp(27px,8vw,36px);
    white-space:nowrap;
  }
  body.medical-referral-page .contact .c-tel2 .time { font-size:10px; }
  body.medical-referral-page .contact .c-line2 .label { font-size:11px; }
  body.medical-referral-page .contact .c-line2 .big { font-size:19px; }
  body.medical-referral-page .contact-note {
    font-size:11px; line-height:1.8; margin-top:22px;
  }
  body.medical-referral-page .contact-access {
    font-size:11px; line-height:1.8; margin-top:21px;
  }

  /* フッターに白いロゴタイルと不要な下余白を出さない */
  body.medical-referral-page > footer {
    padding:28px 0 22px ;
    margin:0 ; min-height:0;
    background:#12305a ; color:#fff;
  }
  body.medical-referral-page .footer-in {
    display:flex; flex-direction:column; align-items:center;
    gap:13px; text-align:center;
  }
  body.medical-referral-page .footer-logo {
    padding:0 ; background:transparent ;
    box-shadow:none; border:0;
  }
  body.medical-referral-page .footer-logo .logo-txt {
    color:#fff ; font-size:18px;
  }
  body.medical-referral-page .footer-info {
    text-align:center; font-size:11px; line-height:1.8;
  }
  body.medical-referral-page .footer-copy {
    margin:15px 0 0; font-size:10px;
  }
}

@media (max-width:350px) {
  body.medical-referral-page .hero__inner { padding-top:172px ; padding-inline:16px ; }
  body.medical-referral-page .hero__title-line--sub { font-size:19px ; }
  body.medical-referral-page .hero__lead { font-size:12px; }
  body.medical-referral-page .accept h2 { font-size:19px; }
  body.medical-referral-page .s03-txt .big { font-size:20px; }
  body.medical-referral-page .doc-compact h2 { font-size:20px; }
  body.medical-referral-page .contact-lead { font-size:15px; }
}


/* ================================================================
 * 2026-10-14 最終統合：フォント・視認性・フッター
 * 追記用ではなく、既存CSSと統合した完全版です。
 * ページ限定。PC/SPの既存レイアウトは維持します。
 * ================================================================ */

/* 読み込み済みのGoogle Fontsを明示的に使用 */
body.medical-referral-page {
  --ref-serif: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --ref-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

/* カンプの明朝体：説明、カード文、補助ラベルも含む */
body.medical-referral-page .hero__lead,
body.medical-referral-page .hero__lead-line,
body.medical-referral-page .hero__eyebrow,
body.medical-referral-page .hero__title,
body.medical-referral-page .hero__badge,
body.medical-referral-page .end-header__btn,
body.medical-referral-page .end-header__sp-btn,
body.medical-referral-page .side-cta__text,
body.medical-referral-page .feature-card__kicker,
body.medical-referral-page .feature-card__ribbon,
body.medical-referral-page .feature-card__main,
body.medical-referral-page .feature-card__text,
body.medical-referral-page .accept h2,
body.medical-referral-page .accept .pt b,
body.medical-referral-page .worry-head h2,
body.medical-referral-page .worry-card h4,
body.medical-referral-page .st-ttl h2,
body.medical-referral-page .s03-txt .big,
body.medical-referral-page .s03-spec b,
body.medical-referral-page .doc-compact h2,
body.medical-referral-page .doc-compact .nm,
body.medical-referral-page .contact-lead,
body.medical-referral-page .contact .c-tel2 .label,
body.medical-referral-page .contact .c-tel2 .time,
body.medical-referral-page .contact .c-line2 .label,
body.medical-referral-page .contact .c-line2 .big,
body.medical-referral-page .footer-logo .logo-txt {
  font-family: var(--ref-serif);
}

/* 和英混在の英字ラベルはカンプのセリフ体で統一 */
body.medical-referral-page .feature-card__kicker span,
body.medical-referral-page .accept .en,
body.medical-referral-page .st-ttl .k,
body.medical-referral-page .doc-compact .lb {
  font-family: "EB Garamond", Georgia, serif;
}

body.medical-referral-page .hero__lead {
  font-weight: 500;
  letter-spacing: .025em;
}
body.medical-referral-page .feature-card__text {
  font-weight: 500;
  line-height: 1.8;
  color: #334e70;
}
body.medical-referral-page .feature-card__kicker {
  font-weight: 600;
}
body.medical-referral-page .feature-card__ribbon {
  font-weight: 700;
}

/* 青背景の設備セクション：識別しやすい明度とコントラスト */
body.medical-referral-page .s03 .st-ttl .k {
  color: #e1f0ff;
}
body.medical-referral-page .s03 .st-ttl h2 {
  color: #ffffff;
}
body.medical-referral-page .s03 .st-ttl h2 .pk {
  color: #eaf6ff !important; /* PHP内のインラインカラーを優先的に置換 */
}
body.medical-referral-page .s03 .st-num {
  color: #b8dbff;
}
body.medical-referral-page .s03 .s03-txt > p {
  color: #f5faff;
  opacity: 1;
  text-shadow: 0 1px 2px rgba(13, 41, 77, .32);
}

/* コンパクトなフッターロゴをカンプと同じ白タイル・濃紺文字へ */
body.medical-referral-page .footer-logo {
  background: #ffffff;
  padding: 8px 14px;
  border: 0;
  box-shadow: none;
}
body.medical-referral-page .footer-logo .logo-txt {
  color: #1f4e8c;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.4;
}

@media (max-width: 640px) {
  /* FVの画像と文章の高さ・余白は前版の良好な状態を維持 */
  body.medical-referral-page .hero__eyebrow {
    color: #ffffff;
    font-weight: 600;
    text-shadow: 0 1px 5px rgba(3, 27, 61, .45);
  }
  body.medical-referral-page .hero__lead {
    color: #f5f9ff;
    font-weight: 500;
  }
  body.medical-referral-page .feature-card__text {
    font-size: 11.5px;
    line-height: 1.85;
  }
  body.medical-referral-page .s03 .st-ttl .k {
    color: #ebf6ff;
  }
  body.medical-referral-page .s03 .s03-txt > p {
    color: #ffffff;
  }
  body.medical-referral-page .footer-logo {
    padding: 8px 12px;
    background: #ffffff;
  }
  body.medical-referral-page .footer-logo .logo-txt {
    color: #1f4e8c;
    font-size: 18px;
  }
}

/* ============================================================
   2026-10-14 | スマホ下部固定CTA（2ボタン横並び）
   PC版の右側追従CTAは変更せず、既存の2リンクを活用。
   対象はこの固定ページのみ。!important は使わない。
   ============================================================ */
@media screen and (max-width: 767px) {
  body.medical-referral-page .side-cta {
    position: fixed;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 0 0 env(safe-area-inset-bottom, 0px);
    transform: none;
    z-index: 9990;
    background: #1f4e8c;
    box-shadow: 0 -4px 18px rgba(11, 38, 77, .17);
  }

  body.medical-referral-page .side-cta__item,
  body.medical-referral-page .side-cta__item--line {
    width: 100%;
    min-width: 0;
    min-height: 64px;
    height: 64px;
    padding: 8px 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    box-shadow: none;
    transform: none;
    filter: none;
    font-family: var(--ref-serif, "Noto Serif JP", serif);
  }

  body.medical-referral-page .side-cta__item--consult {
    background: #1f4e8c;
    border-right: 1px solid rgba(255, 255, 255, .35);
  }

  body.medical-referral-page .side-cta__item--line {
    background: #2f7fd6;
  }

  body.medical-referral-page .side-cta__item:hover {
    transform: none;
    filter: brightness(1.06);
  }

  body.medical-referral-page .side-cta__icon {
    width: 22px;
    height: 22px;
    font-size: 19px;
    flex: 0 0 auto;
  }

  body.medical-referral-page .side-cta__text {
    display: inline-block;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-size: clamp(13px, 3.5vw, 15px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .04em;
    white-space: nowrap;
  }

  /* 固定ボタンがフッター本文・著作権表示を覆わないようにする。
     ページ末尾に白い帯を追加せず、フッターの紺色を維持。 */
  body.medical-referral-page > footer {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}
