/* 整体院 根本改善型(見本 山陽整体院 小郡院 ogori.sanyo-seikotsuin.com)。読みやすい版。直したら style.css を作り直す(.sr → .sr.sr.sr と all:revert) */
/* 色: 紺(主色)・黄緑(差し色の線・三角)・オレンジ(強調の文字・ボタン)。紺を変えると型の主色が変わる */
.sr.sr.sr *{all:revert}

.sr.sr.sr{--nv:#0e436f;--nv2:#165f9a;--nv3:#2a78bb;--lm:#92bb05;--lm2:#c4dc5a;--or:#ea4c00;--or2:#f2672a;--or3:#e2300c;--bd:#898271;--gy:#f2f5f7;--be:#e9e4d7;--yl:#fff35a;--ye:#ffd23c;--ink:#333;--ln:#06c755;
  max-width:480px;margin:0 auto;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:15px;line-height:1.85;overflow-x:clip;position:relative;-webkit-text-size-adjust:100%}
.sr.sr.sr *{box-sizing:border-box}
.sr.sr.sr img{display:block;max-width:100%}
.sr.sr.sr p{margin:0}
.sr.sr.sr h1,.sr.sr.sr h2,.sr.sr.sr h3{margin:0;font-weight:inherit;font-size:inherit}
.sr.sr.sr ul,.sr.sr.sr ol{margin:0;padding:0;list-style:none}
.sr.sr.sr a{color:inherit;text-decoration:none}
.sr.sr.sr b{font-weight:700}
.sr.sr.sr em{font-style:normal}
.sr.sr.sr s{text-decoration:line-through}

/* 共通: 中央の太い見出し(==でオレンジ)・横長の写真・本文(**でオレンジの太字、==で下線) */
.sr.sr.sr .h{font-size:clamp(21px,6.1vw,25px);font-weight:900;line-height:1.65;text-align:center;color:#3a3a3a;letter-spacing:.03em;padding:0 10px}
.sr.sr.sr .h em{color:var(--or)}
.sr.sr.sr .wd{width:100%;aspect-ratio:13/5;object-fit:cover;margin-top:30px}
.sr.sr.sr .tx{padding:0 12px}
.sr.sr.sr .tx p{margin-top:18px;font-size:15px;line-height:1.95}
.sr.sr.sr .tx b{color:var(--or);font-weight:700}
.sr.sr.sr .tx em{text-decoration:underline;text-underline-offset:4px}

/* いちばん上の帯(固定) */
.sr.sr.sr .hd{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:rgba(255,255,255,.95);box-shadow:0 1px 4px rgba(0,0,0,.14)}
.sr.sr.sr .hd .lg{min-width:0}
.sr.sr.sr .hd .tg{display:inline-block;background:#333;color:#fff;font-size:11px;font-weight:700;line-height:1.55;padding:1px 9px;letter-spacing:.04em}
.sr.sr.sr .hd .nm{display:flex;align-items:baseline;gap:6px;line-height:1.3;margin-top:3px;white-space:nowrap}
.sr.sr.sr .hd .nm b{font-size:clamp(14px,4.4vw,18px);font-weight:900;color:#333;letter-spacing:.06em}
.sr.sr.sr .hd .nm span{font-size:12px;font-weight:700;color:var(--nv);letter-spacing:.06em}
.sr.sr.sr .hd .hb{flex:none;display:flex;align-items:center;justify-content:center;text-align:center;width:86px;min-height:44px;padding:4px 6px;border-radius:5px;background:linear-gradient(180deg,var(--or2),var(--or3));color:#fff;font-size:12.5px;font-weight:700;line-height:1.3;box-shadow:0 2px 0 #a8240a}

/* 最初の画面: 大きな施術写真+キャッチ+丸い写真+丸いキャンペーン札+斜めの帯 */
.sr.sr.sr .fv{position:relative;height:clamp(560px,150vw,640px);overflow:hidden;background:#f4f1ea}
.sr.sr.sr .fv .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% 35%}
.sr.sr.sr .fv:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.86) 48%,rgba(255,255,255,.25) 78%,rgba(255,255,255,0) 100%)}
.sr.sr.sr .fv .fx{position:relative;z-index:2;padding:30px 16px 0}
.sr.sr.sr .fv .ld{display:inline-block;font-size:clamp(17px,5vw,20px);font-weight:500;line-height:1.55;color:#333;padding-bottom:14px;border-bottom:2px dashed #b4ae9f}
.sr.sr.sr .fv .cp{margin-top:14px;font-size:clamp(33px,9.8vw,40px);font-weight:900;line-height:1.3;color:#222;letter-spacing:.02em;text-shadow:0 0 12px rgba(255,255,255,.9)}
.sr.sr.sr .fv .cp em{color:var(--or)}
.sr.sr.sr .fv .rd{position:absolute;z-index:2;right:-16px;bottom:86px;width:clamp(130px,38vw,158px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.sr.sr.sr .fv .rd img{width:100%;height:100%;object-fit:cover}
.sr.sr.sr .fv .bg{position:absolute;z-index:3;left:calc(50% - 40px);bottom:30px;width:134px;height:134px;border-radius:50%;background:radial-gradient(circle at 50% 30%,var(--nv3),var(--nv) 72%);border:5px solid #d6b04a;box-shadow:0 0 0 2px #fff,0 6px 16px rgba(0,0,0,.3);color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25}
.sr.sr.sr .fv .bg .t{background:#fff;color:var(--nv);font-size:11px;font-weight:900;line-height:1.6;padding:0 8px;border-radius:999px;margin-bottom:4px;white-space:nowrap}
.sr.sr.sr .fv .bg small{font-size:12px;font-weight:700}
.sr.sr.sr .fv .bg b{font-size:30px;font-weight:900;letter-spacing:-.01em;line-height:1.1}
.sr.sr.sr .fv .bg b span{font-size:14px;margin-left:1px}
.sr.sr.sr .fv .sp{position:absolute;z-index:2;left:0;right:0;bottom:0;height:64px}
.sr.sr.sr .fv .sp:before{content:"";position:absolute;inset:0;background:var(--nv);clip-path:polygon(0 60%,100% 22%,100% 100%,0 100%)}
.sr.sr.sr .fv .sp:after{content:"";position:absolute;inset:0;background:var(--lm);clip-path:polygon(0 28%,64% 100%,0 100%)}

/* 駅・駐車場の帯+4つのボタン */
.sr.sr.sr .ac{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 10px 0}
.sr.sr.sr .ac span{background:var(--bd);color:#fff;text-align:center;font-size:clamp(13px,3.8vw,15px);font-weight:700;letter-spacing:.1em;padding:6px 4px;line-height:1.4}
.sr.sr.sr .nv{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 10px 0}
.sr.sr.sr .nv a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 2px 8px;background:#f8f7f3;border:2px solid #3c3c3c;border-radius:8px;font-size:11px;font-weight:700;line-height:1.3;text-align:center;color:#333;box-shadow:0 2px 0 #3c3c3c}
.sr.sr.sr .nv i{display:block;width:26px;height:26px;background:var(--nv);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.sr.sr.sr .nv .i1{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 6.5l4 5.5 4-5.5M12 12v6.5M8.5 13h7M8.5 15.8h7' fill='none' stroke='black' stroke-width='1.9'/%3E%3C/svg%3E")}
.sr.sr.sr .nv .i2{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v12H11l-5 4.5V16H3z' fill='black'/%3E%3C/svg%3E")}
.sr.sr.sr .nv .i3{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5a7.5 7.5 0 0 0-7.5 7.5c0 5.4 7.5 13.5 7.5 13.5s7.5-8.1 7.5-13.5A7.5 7.5 0 0 0 12 1.5zm0 10.2a2.7 2.7 0 1 1 0-5.4 2.7 2.7 0 0 1 0 5.4z' fill='black'/%3E%3C/svg%3E")}
.sr.sr.sr .nv .i4{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z' fill='black'/%3E%3C/svg%3E")}

/* 注目!(院の思い) */
.sr.sr.sr .at{padding:60px 0 0}
.sr.sr.sr .at .ch{width:84px;height:84px;margin:0 auto;border-radius:50%;border:2px solid var(--nv);display:flex;align-items:center;justify-content:center;color:var(--nv);font-size:20px;font-weight:900;background:#fff;letter-spacing:.04em}
.sr.sr.sr .at .nb{position:relative;margin:30px 16px 0;background:linear-gradient(180deg,var(--nv),#105088);color:#fff;text-align:center;padding:28px 12px 38px}
.sr.sr.sr .at .nb .s{font-size:clamp(16px,4.8vw,19px);font-weight:500;letter-spacing:.04em}
.sr.sr.sr .at .nb h2{margin-top:8px;font-size:clamp(23px,6.9vw,29px);font-weight:900;line-height:1.45}
.sr.sr.sr .at .nb h2 em{color:var(--ye)}
.sr.sr.sr .at .nb .pp{position:absolute;z-index:2;right:-8px;bottom:-66px;width:116px;height:116px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.sr.sr.sr .at .nb:after{content:"";position:absolute;right:92px;bottom:-15px;border-style:solid;border-width:16px 0 0 18px;border-color:#105088 transparent transparent transparent}
.sr.sr.sr .at .gp{position:relative;border-top:5px solid var(--lm);background-color:#fff;background-image:linear-gradient(#eeece6 1px,transparent 1px),linear-gradient(90deg,#eeece6 1px,transparent 1px);background-size:18px 18px;padding:76px 16px 30px;text-align:center}
.sr.sr.sr .at .gp h3{font-size:clamp(20px,5.9vw,24px);font-weight:900;line-height:1.8;color:var(--nv)}
.sr.sr.sr .at .gp h3 span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.sr.sr.sr .at .gp p{margin-top:24px;font-size:clamp(16px,4.8vw,19px);font-weight:500;color:#444;line-height:1.65}
.sr.sr.sr .at .gp .sg{font-weight:900;color:#333}
.sr.sr.sr .at .ar{display:block;width:230px;height:76px;margin:0 auto;background:linear-gradient(180deg,#f0f6d6,var(--lm2));clip-path:polygon(0 0,100% 0,50% 100%)}
.sr.sr.sr .at .dl{margin:26px auto 0;width:fit-content;max-width:calc(100% - 32px);text-align:center}
.sr.sr.sr .at .dl li{border-bottom:2px dotted #8d8a6c;padding:5px 6px 3px;font-size:clamp(16px,4.7vw,19px);font-weight:700;color:#333;line-height:1.6}
.sr.sr.sr .at .dl em{color:var(--or)}
.sr.sr.sr .at .ms{margin-top:44px}
.sr.sr.sr .at .mp{position:relative;display:grid;grid-template-columns:1fr 46%;align-items:center;background:linear-gradient(90deg,#fff 0,#f1f4f7 100%)}
.sr.sr.sr .at .mp img{grid-column:2;grid-row:1;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.sr.sr.sr .at .mt{grid-column:1/3;grid-row:1;position:relative;z-index:2;padding:0 0 0 16px;font-size:clamp(19px,5.7vw,23px);font-weight:900;color:var(--nv);line-height:1.5;text-shadow:0 0 6px #fff,0 0 12px #fff}
.sr.sr.sr .at .mt em{color:var(--or)}
.sr.sr.sr .at .mb{background:var(--nv);color:#fff;font-weight:700;font-size:clamp(14px,4.3vw,17px);padding:13px 16px;line-height:1.5}

/* なぜ?+写真のタイル */
.sr.sr.sr .wy{padding:72px 0 0;text-align:center}
.sr.sr.sr .wy .pin{position:relative;width:88px;height:88px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--nv2),var(--nv) 72%);color:#fff;font-size:17px;font-weight:500;display:flex;align-items:center;justify-content:center;letter-spacing:.06em}
.sr.sr.sr .wy .pin:after{content:"";position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);border-style:solid;border-width:18px 10px 0 10px;border-color:var(--nv) transparent transparent transparent}
.sr.sr.sr .wy .dt{margin:34px auto 0;width:fit-content;max-width:calc(100% - 28px)}
.sr.sr.sr .wy .dt li{border-bottom:2px dotted #8d8a6c;padding:5px 6px 3px;font-size:clamp(17px,5.2vw,21px);font-weight:500;color:#333;line-height:1.55}
.sr.sr.sr .wy .dt em{background:linear-gradient(transparent 55%,var(--yl) 55%)}
.sr.sr.sr .wy .tri{display:flex;justify-content:center;gap:42px;margin-top:14px}
.sr.sr.sr .wy .tri i{display:block;width:0;height:0;border-style:solid;border-width:15px 10px 0 10px;border-color:var(--lm) transparent transparent transparent}
.sr.sr.sr .wy h2{margin-top:16px;font-size:clamp(26px,7.8vw,32px);font-weight:900;line-height:1.45;color:#222;padding:0 10px}
.sr.sr.sr .wy h2 em{color:var(--or)}
.sr.sr.sr .wy .tl{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:34px}
.sr.sr.sr .wy .tl img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* 推薦者のカード */
.sr.sr.sr .rc{padding:72px 6px 0}
.sr.sr.sr .rc .rh{border-top:4px solid #333;border-bottom:4px double #333;text-align:center;padding:0 0 20px}
.sr.sr.sr .rc .rh p{border-bottom:1px solid #333;margin-top:3px;padding:10px;font-size:15px;letter-spacing:.2em;border-top:1px solid #333}
.sr.sr.sr .rc .rh h2{margin-top:20px;font-size:clamp(23px,7vw,28px);font-weight:900;line-height:1.45;color:#333}
.sr.sr.sr .rc .rh h2 em{color:var(--or)}
.sr.sr.sr .rc .cs{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:40px;padding:0 2px}
.sr.sr.sr .rc .c h3{background:linear-gradient(180deg,var(--nv2),var(--nv));border-bottom:4px solid var(--lm);color:#fff;font-size:clamp(14px,4.4vw,18px);font-weight:900;text-align:center;line-height:1.3;padding:8px 4px;min-height:58px;display:flex;align-items:center;justify-content:center}
.sr.sr.sr .rc .c .b{background:var(--be);padding:16px 8px 10px;text-align:center;height:calc(100% - 58px)}
.sr.sr.sr .rc .c .f{width:min(120px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;object-fit:cover;border:4px solid #fff}
.sr.sr.sr .rc .c .r{font-size:10.5px;margin-top:10px;line-height:1.5}
.sr.sr.sr .rc .c .n{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600;margin-top:2px;line-height:1.5}
.sr.sr.sr .rc .c .w{position:relative;background:#fff;border:1px solid #bdb6a5;text-align:left;font-size:14px;line-height:1.6;padding:10px 8px;margin-top:16px}
.sr.sr.sr .rc .c .w:before{content:"";position:absolute;left:18px;top:-15px;border-style:solid;border-width:0 0 15px 14px;border-color:transparent transparent #bdb6a5 transparent}
.sr.sr.sr .rc .c .w:after{content:"";position:absolute;left:19px;top:-13px;border-style:solid;border-width:0 0 14px 12px;border-color:transparent transparent #fff transparent}
.sr.sr.sr .rc .rn{margin-top:14px;font-size:11px;color:#888;text-align:right}

/* 実績の写真枠 */
.sr.sr.sr .pf{padding:72px 6px 0}
.sr.sr.sr .pf .fr{position:relative;border:1px solid #ddd;border-top:14px solid var(--lm);background-color:#fff;background-image:linear-gradient(#f0eee8 1px,transparent 1px),linear-gradient(90deg,#f0eee8 1px,transparent 1px);background-size:18px 18px;padding:34px 16px 22px;text-align:center}
.sr.sr.sr .pf .fr:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--nv)}
.sr.sr.sr .pf h2{font-size:clamp(21px,6.3vw,25px);font-weight:900;line-height:1.55;color:#333}
.sr.sr.sr .pf h2 em{color:var(--or)}
.sr.sr.sr .pf img{width:100%;margin-top:22px;aspect-ratio:3/2;object-fit:cover}
.sr.sr.sr .pf .cap{margin-top:10px;font-size:12px;line-height:1.6}

/* 初回の説明・本当の原因 */
.sr.sr.sr .fs,.sr.sr.sr .cz{padding:72px 0 0}
.sr.sr.sr .st{margin:26px 12px 0}
.sr.sr.sr .st li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px dashed #c8c3b4}
.sr.sr.sr .st li:last-child{border-bottom:1px dashed #c8c3b4}
.sr.sr.sr .st .no{width:44px;height:44px;border-radius:50%;background:var(--nv);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px}
.sr.sr.sr .st h3{font-size:17px;font-weight:900;color:var(--nv);line-height:1.45;padding-top:9px}
.sr.sr.sr .st p{font-size:14px;line-height:1.75;margin-top:4px}
.sr.sr.sr .bl{margin:18px 12px 0 34px;list-style:disc}
.sr.sr.sr .bl li{font-size:15px;line-height:1.7;margin-top:8px}
.sr.sr.sr .bl li::marker{color:var(--nv)}
.sr.sr.sr .bl li b{display:block;font-weight:700}
.sr.sr.sr .bl li span{display:block;font-size:14px;color:#555}

/* お客様の声 */
.sr.sr.sr .vc{padding:72px 0 0}
.sr.sr.sr .vc .sub{text-align:center;font-size:clamp(19px,5.6vw,23px);font-weight:900;margin-top:14px;color:#3a3a3a}
.sr.sr.sr .vc .v{background:var(--gy);margin:30px 10px 0;padding:26px 16px 20px}
.sr.sr.sr .vc .v+.v{margin-top:10px}
.sr.sr.sr .vc .v h3{font-size:clamp(17px,5vw,19px);font-weight:900;line-height:1.7;color:#333;text-indent:-.5em}
.sr.sr.sr .vc .v img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-top:14px}
.sr.sr.sr .vc .v .t{margin-top:12px;font-size:14.5px;line-height:1.95}
.sr.sr.sr .vc .v .t em{color:#e60012}
.sr.sr.sr .vc .v .t b{font-weight:400;text-decoration:underline;text-underline-offset:4px}
.sr.sr.sr .vc .v .w{margin-top:14px;font-size:14.5px}
.sr.sr.sr .vc .v .n{margin-top:12px;font-size:11px;color:#9a9a9a}

/* 選ばれる理由(番号つきの紺の帯) */
.sr.sr.sr .rs{padding:72px 0 0}
.sr.sr.sr .rs .r{margin-top:42px}
.sr.sr.sr .rs h3{margin:0 6px;background:linear-gradient(90deg,var(--nv),var(--nv2));color:#fff;font-size:clamp(16px,4.9vw,19px);font-weight:900;line-height:1.45;padding:10px 10px}
.sr.sr.sr .rs h3 em{color:#fff100}
.sr.sr.sr .rs .n01:before{content:"①"}.sr.sr.sr .rs .n02:before{content:"②"}.sr.sr.sr .rs .n03:before{content:"③"}.sr.sr.sr .rs .n04:before{content:"④"}.sr.sr.sr .rs .n05:before{content:"⑤"}.sr.sr.sr .rs .n06:before{content:"⑥"}.sr.sr.sr .rs .n07:before{content:"⑦"}
.sr.sr.sr .rs img{width:calc(100% - 12px);margin:16px 6px 0;aspect-ratio:16/9;object-fit:cover;object-position:50% 30%}
.sr.sr.sr .rs .r p{margin:16px 8px 0;font-size:15px;line-height:1.9}

/* ビフォーアフター */
.sr.sr.sr .ba{padding:64px 0 0}
.sr.sr.sr .ba .dn{display:block;width:180px;height:36px;margin:10px auto 0;background:#e2dccb;clip-path:polygon(0 0,100% 0,50% 100%)}
.sr.sr.sr .ba .b{background:var(--gy);margin:20px 10px 0;padding:26px 14px 20px;text-align:center}
.sr.sr.sr .ba .b+.b{margin-top:10px}
.sr.sr.sr .ba .pa{display:grid;grid-template-columns:1fr 1fr;gap:2px;border:2px solid #ccc;background:#ccc}
.sr.sr.sr .ba figure{margin:0;background:var(--gy)}
.sr.sr.sr .ba figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.sr.sr.sr .ba figcaption{font-size:15px;padding:6px 0 0;color:#333}
.sr.sr.sr .ba .c{color:var(--or);font-weight:900;font-size:16px;line-height:1.6;margin-top:10px}
.sr.sr.sr .ba .n{font-size:11px;color:#999;margin-top:8px}

/* 料金(キャンペーン) */
.sr.sr.sr .pr{padding:64px 0 0;text-align:center}
.sr.sr.sr .pr .rb{position:relative;overflow:hidden;margin:0 6px;background:linear-gradient(180deg,var(--nv2),var(--nv));color:#fff;font-size:clamp(21px,6.6vw,28px);font-weight:700;letter-spacing:.18em;padding:16px 8px 16px 18px;line-height:1.4}
.sr.sr.sr .pr .ck{position:absolute;left:-26px;top:10px;transform:rotate(-38deg);background:var(--lm);color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1.6;padding:1px 26px}
.sr.sr.sr .pr .tl{display:block;width:0;height:0;margin:0 auto;border-style:solid;border-width:14px 13px 0 13px;border-color:var(--nv) transparent transparent transparent}
.sr.sr.sr .pr .dd{margin-top:40px;font-size:18px;font-weight:900}
.sr.sr.sr .pr .dd b{font-size:clamp(25px,7.4vw,30px);color:#1c62c6;letter-spacing:.04em;font-weight:900}
.sr.sr.sr .pr .on{margin-top:6px;font-size:18px;font-weight:900}
.sr.sr.sr .pr .cs{margin-top:40px;font-size:17px;font-weight:700;color:#333}
.sr.sr.sr .pr .cn{margin-top:10px;font-size:clamp(24px,7.2vw,29px);font-weight:900;line-height:1.5;color:#333;padding:0 8px}
.sr.sr.sr .pr .cd{margin-top:16px;font-size:clamp(17px,5vw,20px);line-height:1.6}
.sr.sr.sr .pr .pl{margin-top:36px;color:var(--or);font-size:clamp(26px,8vw,34px);font-weight:900;line-height:1.3}
.sr.sr.sr .pr .pv{color:var(--or);font-weight:900;line-height:1.25;margin-top:6px;font-size:clamp(22px,6.6vw,28px)}
.sr.sr.sr .pr .pv b{font-size:clamp(46px,14vw,58px);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px;font-weight:900;letter-spacing:.01em}
.sr.sr.sr .pr .pv small{display:block;font-size:12px;color:#555;font-weight:500}
.sr.sr.sr .pr .was{margin-top:12px;font-size:14px;line-height:1.7;color:#333}
.sr.sr.sr .pr .was span{display:block;font-size:16px}
.sr.sr.sr .pr .was s{font-weight:700;text-decoration-color:#e60012;text-decoration-thickness:2px}
.sr.sr.sr .pr .af{margin-top:18px;font-size:14px}
.sr.sr.sr .pr .lm{margin-top:34px;font-size:16px;font-weight:700}
.sr.sr.sr .pr .lm span{display:block;margin-top:6px}
.sr.sr.sr .pr .lm span b{color:#1c62c6;font-size:28px}
.sr.sr.sr .pr .co{margin:28px 12px 0;border:2px solid var(--nv);background:#fff}
.sr.sr.sr .pr .co .ct{background:var(--nv);color:#fff;font-weight:700;font-size:15px;padding:6px 8px;line-height:1.5}
.sr.sr.sr .pr .co ul{padding:6px 12px 10px;text-align:left}
.sr.sr.sr .pr .co li{position:relative;font-size:14px;font-weight:700;line-height:1.5;padding:8px 0 8px 24px;border-bottom:1px dashed #ccc}
.sr.sr.sr .pr .co li:last-child{border-bottom:0}
.sr.sr.sr .pr .co li:before{content:"";position:absolute;left:3px;top:12px;width:12px;height:7px;border-left:3px solid var(--lm);border-bottom:3px solid var(--lm);transform:rotate(-45deg)}
.sr.sr.sr .pr .nt{margin:22px 12px 0;font-size:12.5px;line-height:1.8;text-align:left;color:#555}

/* 予約(電話・LINE) */
.sr.sr.sr .yk{margin-top:56px;padding:44px 14px 40px;background:var(--gy);text-align:center}
.sr.sr.sr .yk .ld{margin-top:12px;font-size:14.5px}
.sr.sr.sr .yk .tb,.sr.sr.sr .yk .lb{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:360px;margin:22px auto 0;border-radius:999px;color:#fff;font-weight:900;line-height:1.3;text-align:center}
.sr.sr.sr .yk .tb{padding:10px 16px 12px 52px;background:linear-gradient(180deg,var(--or2),var(--or3));box-shadow:0 4px 0 #9b2208}
.sr.sr.sr .yk .tb small{font-size:13px;font-weight:700}
.sr.sr.sr .yk .tb b{font-size:clamp(25px,7.6vw,30px);letter-spacing:.04em;font-weight:900}
.sr.sr.sr .yk .tb:before{content:"";position:absolute;left:20px;top:50%;width:28px;height:28px;margin-top:-14px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat}
.sr.sr.sr .yk .hr{margin-top:14px;font-size:13.5px;line-height:1.75;color:#444}
.sr.sr.sr .yk .lb{padding:16px;background:linear-gradient(180deg,#22d36b,#05a548);box-shadow:0 4px 0 #04773a;font-size:clamp(18px,5.4vw,21px);letter-spacing:.06em}
.sr.sr.sr .yk .tp{margin-top:18px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.sr.sr.sr .yk .nt{margin-top:16px;font-size:12px;color:#666;line-height:1.7}

/* 院情報 */
.sr.sr.sr .if{padding:56px 0 0}
.sr.sr.sr .if dl{margin:22px 12px 0;border-top:1px solid #d5d9de}
.sr.sr.sr .if dl div{display:grid;grid-template-columns:86px 1fr;border-bottom:1px solid #d5d9de}
.sr.sr.sr .if dt{background:var(--gy);font-size:13px;font-weight:700;padding:10px 8px;color:var(--nv);line-height:1.6}
.sr.sr.sr .if dd{margin:0;font-size:14px;padding:10px 10px;line-height:1.65}
.sr.sr.sr .if iframe{display:block;width:calc(100% - 24px);height:240px;border:0;margin:18px 12px 0;background:#e9edf1}
.sr.sr.sr .ft{margin-top:46px;background:#ebeff3;text-align:center;padding:26px 10px 0}
.sr.sr.sr .ft .fl{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 8px;line-height:1.3}
.sr.sr.sr .ft .fl b{font-size:clamp(18px,5.4vw,23px);font-weight:900;letter-spacing:.12em;color:#3a3a3a}
.sr.sr.sr .ft .fl span{font-size:13px;font-weight:700;color:var(--nv);letter-spacing:.1em}
.sr.sr.sr .ft .cr{margin:22px -10px 0;background:var(--nv);color:#fff;font-size:11px;padding:8px 10px}
