@charset "UTF-8";
/* =========================================================
   大津クオーレ歯科クリニック オールオンフォーLP
   ========================================================= */
:root{
  --navy:#1b223d;
  --navy2:#3d4a74;
  --navy3:#575f82;
  --teal:#01a99d;
  --teal-l:#76d0ca;
  --gray:#e8e8eb;
  --gray2:#d0d1d7;
  --slate:#5f6477;
  --text:#1a1a1a;
  --gold:#c9c4b1;
  --red:#c1272d;
  --grad-tn:linear-gradient(90deg,#01a99d 0%,#0e6d74 45%,#1b223d 100%);
  --grad-nv:linear-gradient(90deg,#3d4a74 0%,#1b223d 100%);
  --mincho:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --gothic:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --en:"EB Garamond","Cormorant Garamond",Garamond,serif;
  --header-h:80px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font-family:var(--mincho);font-size:20.9px;line-height:1.9;letter-spacing:.06em;font-feature-settings:"palt" 0;overflow-x:hidden}
img{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
table{border-collapse:collapse}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sp{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.container{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.container--narrow{width:min(940px,calc(100% - 64px))}
.container--fee{width:min(780px,calc(100% - 64px))}
.container--faq{width:min(900px,calc(100% - 64px))}
.note{font-family:var(--gothic);font-size:17px;line-height:1.7;letter-spacing:.02em;margin-top:8px}

/* ---------- icons (CSS / inline SVG) ---------- */
.ico-tel,.ico-cal,.ico-mail,.ico-clip{display:inline-block;width:1em;height:1em;background:currentColor;
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ico-tel{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
.ico-cal{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3zm12 7H5v10h14zM7 11h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z'/%3E%3C/svg%3E")}
.ico-mail{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.3V17h16V7.3l-8 5.3zM5.6 7l6.4 4.2L18.4 7z'/%3E%3C/svg%3E")}
.ico-clip{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1zm1 2v2h4V4zM6 6v14h12V6h-2v2H8V6zm2 5h8v1.6H8zm0 3.4h8V16H8z'/%3E%3C/svg%3E")}
.arrow{display:inline-block;width:18px;height:18px;border-radius:50%;background:#fff;position:relative;flex:none}
.arrow::after{content:"";position:absolute;left:5px;top:6px;width:5px;height:5px;border-top:2px solid var(--navy);border-right:2px solid var(--navy);transform:rotate(45deg)}

/* ---------- English labels ---------- */
.en{font-family:var(--en);font-weight:400;line-height:1;letter-spacing:.02em;color:var(--navy);font-size:clamp(52px,6.4vw,88px)}
.en--white{color:#fff}
.en--silver{background:linear-gradient(100deg,#f4f4f4 0%,#c9c9c9 35%,#8f8f8f 55%,#e9e9e9 75%,#a8a8a8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.en--msg{font-size:clamp(38px,3.6vw,52px);letter-spacing:.06em}
.sec-head{text-align:center;padding-top:clamp(56px,6vw,80px)}
.sec-head__ja{font-size:clamp(25.4px,2.7vw,36.8px);font-weight:700;color:var(--navy);letter-spacing:.12em;margin-top:14px;line-height:1.6}
.sec-head--white .en,.sec-head--white .sec-head__ja{color:#fff}

.band-title{text-align:center;color:#fff;padding:22px 16px 26px}
.band-title--grad{background:var(--grad-tn)}
.band-title--navy{background:var(--grad-nv);padding:44px 16px 46px}
.band-title--tall{padding:50px 16px 52px}
.band-title--sm .en{font-size:clamp(34px,3.3vw,46px)}
.band-title .en{font-size:clamp(40px,3.8vw,54px)}
.band-title__ja{font-size:clamp(21.6px,1.9vw,26.7px);font-weight:500;letter-spacing:.16em;margin-top:8px;line-height:1.6}
.band-title--tall .band-title__ja{font-size:clamp(22.9px,2.3vw,33px)}

/* ---------- header ---------- */
.header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:space-between;padding-left:clamp(16px,2vw,40px);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.header__logo img{width:clamp(200px,17vw,300px)}
.header__right{display:flex;align-items:center;height:100%;gap:22px}
.header__tel{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--en);font-size:27px;letter-spacing:.06em;color:var(--navy)}
.header__web{display:flex;align-items:center;gap:12px;height:52px;padding:0 14px;background:var(--navy);color:#fff;text-decoration:none;font-size:11.5px;line-height:1.35;border-radius:4px}
.header__web .ico-clip{font-size:26px}
.header__menu{width:var(--header-h);height:100%;background:var(--grad-tn);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.header__menu .bars{display:flex;flex-direction:column;gap:7px}
.header__menu .bars i{display:block;width:30px;height:2px;background:#fff;transition:.3s}
.header__menu .label{font-family:var(--en);font-size:12px;letter-spacing:.12em;line-height:1}
.is-open .header__menu .bars i:nth-child(1){transform:translateY(9px) rotate(45deg)}
.is-open .header__menu .bars i:nth-child(2){opacity:0}
.is-open .header__menu .bars i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.gnav{position:fixed;z-index:49;top:var(--header-h);right:0;width:min(380px,100%);max-height:calc(100vh - var(--header-h));overflow:auto;background:rgba(27,34,61,.97);color:#fff;transform:translateX(100%);transition:transform .35s;visibility:hidden}
.is-open .gnav{transform:none;visibility:visible}
.gnav ul{padding:16px 0 24px}
.gnav a{display:block;padding:14px 32px;text-decoration:none;font-size:15px;border-bottom:1px solid rgba(255,255,255,.12)}
.gnav__ext a{font-size:13px;color:#cfd3e2}

/* ---------- FV ---------- */
main{padding-top:var(--header-h)}
.fv{position:relative;overflow:hidden;height:clamp(560px,50vw,800px);background:#cfd8e2}
.fv__bg{position:absolute;inset:0}
.fv__building{position:absolute;right:0;top:0;width:76%;height:100%;object-fit:cover;object-position:60% 50%}
.fv__doctor{position:absolute;left:0;top:0;width:52%;height:100%;object-fit:cover;object-position:28% 30%;
  -webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}
.fv::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.18) 60%,rgba(255,255,255,.05));pointer-events:none}
.fv__inner{position:absolute;z-index:2;left:41%;top:7%;right:2%}
.fv__h1{display:inline-block;font-size:clamp(16.5px,1.4vw,20px);font-weight:700;letter-spacing:.1em;color:#fff;background:var(--navy);padding:4px 16px;margin-bottom:clamp(10px,1.2vw,18px);line-height:1.6}
.fv__lead,.fv__catch{font-weight:700;color:var(--navy);text-shadow:0 0 12px #fff,0 0 6px #fff,0 0 3px #fff}
.fv__lead{font-size:clamp(20px,1.9vw,28.2px);letter-spacing:.14em}
.fv__catch{font-size:clamp(23.5px,2.5vw,35.3px);line-height:1.55;letter-spacing:.12em;margin-top:clamp(10px,1.2vw,18px)}
.fv__copy{margin-top:clamp(8px,1vw,14px);font-weight:700;font-size:clamp(34px,3.5vw,52px);line-height:1.4;letter-spacing:.12em;
  background:linear-gradient(180deg,#1aa79c 0%,#0c7c78 60%,#0b6b6b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px rgba(255,255,255,.9))}
.fv__copy small{font-size:.66em}
.fv__badges{display:flex;gap:clamp(8px,1.2vw,18px);margin-top:clamp(14px,1.8vw,30px);margin-left:-3%}
.fv__badges li{width:clamp(130px,12.4vw,180px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--navy);
  background:radial-gradient(circle at 35% 28%,#fff 0%,#f3f3f3 32%,#cfcfcf 62%,#9c9c9c 82%,#e6e6e6 100%);box-shadow:0 6px 18px rgba(0,0,0,.25), inset 0 0 0 4px rgba(255,255,255,.7);line-height:1.25;font-weight:700}
.fv__badges .s,.fv__badges .s2{font-size:clamp(10px,.85vw,13px);letter-spacing:.04em}
.fv__badges .m{font-size:clamp(13px,1.15vw,17px)}
.fv__badges .l{font-size:clamp(12px,1vw,15px)}
.fv__badges .l b{font-family:var(--en);font-style:italic;font-weight:500;font-size:clamp(34px,3.3vw,48px);letter-spacing:0;line-height:1}
.fv__badges .d{font-size:clamp(9px,.75vw,11px);font-weight:500}
.fv__badges .m2{font-size:clamp(11px,1vw,14px);margin-top:4px}

/* ---------- breadcrumb ---------- */
.breadcrumb{background:#f4f4f6}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px;width:min(1120px,calc(100% - 64px));margin:auto;padding:8px 0;font-size:12px;font-family:var(--gothic);letter-spacing:.04em}
.breadcrumb li+li::before{content:"＞";margin-right:4px;color:#888}
.breadcrumb a{color:var(--navy2)}

/* ---------- hours table ---------- */
.hours{width:max-content;max-width:100%;margin:36px auto 0;font-size:17px;line-height:1.4;letter-spacing:.02em}
.hours__table{min-width:380px;text-align:center}
.hours__table thead th{background:var(--navy);color:#fff;font-weight:400;padding:8px 6px}
.hours__table thead th:first-child{padding-inline:14px}
.hours__table tbody th{font-weight:400;padding:7px 10px;white-space:nowrap}
.hours__table tbody th small{display:block;font-size:14px}
.hours__table tbody td{padding:7px 6px;min-width:28px}
.hours__table tbody tr+tr{border-top:1px solid #999}
.hours__table tbody{background:#fff}
.hours__note{font-size:16px;margin-top:6px}

/* ---------- CTA buttons ---------- */
.cta{display:flex;justify-content:center;gap:clamp(14px,2.4vw,40px);margin-top:28px}
.cta li{width:min(330px,31%)}
.cta__btn{display:flex;align-items:center;gap:14px;height:72px;padding:0 14px;color:#fff;text-decoration:none;transition:opacity .25s}
.cta__btn:hover{opacity:.85}
.cta__btn--web{background:var(--navy)}
.cta__btn--mail{background:var(--navy3)}
.cta__btn--tel{background:var(--teal)}
.cta__ico{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:28px}
.cta__btn--web .cta__ico{color:var(--navy)}
.cta__btn--mail .cta__ico{color:var(--navy3)}
.cta__btn--tel .cta__ico{color:var(--teal)}
.cta__txt{font-weight:700;font-size:20px;line-height:1.45;letter-spacing:.06em}
.cta__txt small{display:block;font-size:18px;font-weight:700}
.cta__btn--mail .cta__txt{flex:1;text-align:center;font-size:22px;padding-right:40px}
.cta__btn--tel .cta__txt b{display:block;font-family:var(--en);font-weight:500;font-size:30.7px;line-height:1.05;letter-spacing:.06em}

/* ---------- CONSULTATION ---------- */
.consult{padding-bottom:64px;text-align:center}
.consult__tags{display:flex;justify-content:center;gap:clamp(12px,1.8vw,26px);margin-top:40px}
.consult__tags li{position:relative;color:#fff;font-size:19px;padding:5px 26px;background:var(--navy);transform:skewX(-6deg);box-shadow:3px 3px 0 #fff,4px 4px 0 var(--navy2)}
.consult__tags li::before{content:"✓";color:#e2434b;margin-right:6px}
.consult__lead{font-size:clamp(21.6px,1.9vw,26.7px);font-weight:700;margin-top:28px;line-height:1.7}
.consult__text{font-size:20px;line-height:2;margin-top:16px}

/* ---------- WORRIES ---------- */
.worries__head{background:#555;text-align:center;padding:60px 16px 70px;position:relative}
.worries__head::after{content:"";position:absolute;left:0;right:0;bottom:-58px;height:60px;background:#555;clip-path:polygon(0 0,100% 0,100% 0,50% 100%,0 0)}
.worries__title{color:var(--gold);font-size:clamp(25.9px,2.7vw,37.8px);font-weight:700;letter-spacing:.14em;margin-top:24px;display:inline-block;padding:0 8px 6px;
  background:linear-gradient(transparent 86%,rgba(201,196,177,.9) 86%,rgba(201,196,177,.9) 92%,transparent 92%)}
.worries__title em{font-style:normal;font-size:1.2em;color:#e6e2d3;position:relative}
.worries__title em::before{content:"・・・";position:absolute;left:0;right:0;top:-1.05em;font-size:.6em;letter-spacing:.85em;text-align:center;text-indent:.5em}
.worries__body{background:#e9e9e9 url(../img/marble.jpg) center/cover;padding:110px 0 0}
.worries__inner{position:relative;display:flex;justify-content:center;min-height:500px}
.checklist{padding:0 0 60px 0;margin-right:120px}
.checklist li{position:relative;padding-left:46px;font-size:clamp(20.3px,1.7vw,25.4px);line-height:1.5;margin-bottom:24px;letter-spacing:.12em}
.checklist li::before{content:"";position:absolute;left:0;top:.05em;width:28px;height:28px;border-radius:50%;background:var(--navy)}
.checklist li::after{content:"";position:absolute;left:10px;top:.38em;width:7px;height:12px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg)}
.worries__woman{position:absolute;right:max(0px,calc(50% - 540px));bottom:0;width:clamp(150px,13vw,190px)}
.worries__answer{background:var(--grad-nv);color:#fff;text-align:center;padding:26px 16px 30px;font-weight:700;letter-spacing:.14em}
.worries__answer .mark{display:inline-block;background:var(--teal);padding:0 8px;font-size:clamp(19.1px,1.7vw,25.4px)}
.worries__answer p+p{font-size:clamp(19.1px,1.7vw,25.4px);margin-top:4px}
.worries__answer strong{color:var(--teal-l);font-size:1.5em}
.worries__answer strong.lg{font-size:1.55em}

/* ---------- ABOUT ---------- */
.about{padding-bottom:70px}
.about__inner{display:flex;align-items:center;gap:56px;margin-top:40px;width:min(980px,calc(100% - 64px))}
.about__img{flex:0 0 42%;text-align:center}
.about__img img{width:80%;mix-blend-mode:multiply}
.about__h3{font-size:clamp(21.6px,1.9vw,26.7px);color:var(--navy2);font-weight:700;margin-bottom:14px;letter-spacing:.1em}
.about__txt p{font-size:20px;line-height:2.1;margin-bottom:4px}
.textlink{margin-top:14px !important}
.textlink a{color:var(--navy2);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.textlink a::before{content:"▶";font-size:.7em;margin-right:6px;color:var(--teal)}
.bar-title{background:var(--navy2);color:#fff;text-align:center;font-size:clamp(22.9px,2.6vw,35.6px);font-weight:700;letter-spacing:.14em;padding:4px 16px;margin-top:56px;line-height:1.6}
.recommend{position:relative;display:flex;align-items:center;min-height:380px}
.recommend__list{position:relative;z-index:2;padding-left:clamp(20px,8%,110px)}
.recommend__list li{font-size:clamp(20.3px,1.7vw,25.4px);margin:18px 0;letter-spacing:.14em}
.recommend__list li::before{content:"✓";color:var(--red);margin-right:14px}
.recommend__img{position:absolute;right:0;top:20px;width:62%;height:340px;
  -webkit-mask-image:radial-gradient(ellipse 70% 75% at 60% 40%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 75% at 60% 40%,#000 55%,transparent 100%)}
.recommend__img img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}

/* ---------- OVERDENTURE ---------- */
.iod{padding-bottom:70px}
.iod__title{background:var(--teal);color:#fff;text-align:center;font-size:clamp(24.2px,2.4vw,35.6px);font-weight:700;letter-spacing:.2em;line-height:1.6;padding:20px 16px}
.iod .container{width:min(980px,calc(100% - 64px))}
.iod__intro{display:flex;align-items:center;gap:56px;margin-top:36px}
.iod__img{flex:0 0 48%}
.iod__img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.iod__txt{flex:1;text-align:center}
.iod__q{color:var(--teal);font-size:clamp(19.1px,1.6vw,22.9px);letter-spacing:.06em;white-space:nowrap}
.iod__q2{font-size:19px}
.iod__tri{display:block;width:0;height:0;margin:22px auto;border-left:16px solid transparent;border-right:16px solid transparent;border-top:12px solid var(--teal)}
.iod__desc{text-align:left;font-size:19px;line-height:2.15}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 26px;margin-top:40px}
.points li{display:flex;flex-direction:column}
.points__no{background:var(--teal);color:#fff;text-align:center;font-family:var(--en);font-size:19px;letter-spacing:.06em;line-height:24px;height:24px}
.points li:nth-child(even) .points__no{background:var(--teal-l)}
.points__no b{font-weight:400;font-size:24px;vertical-align:-1px}
.points h3{color:var(--teal);text-align:center;font-size:clamp(17.8px,1.6vw,21.6px);font-weight:700;letter-spacing:.06em;line-height:1.5;margin:8px 0;min-height:1.5em}
.points p:last-child{font-family:var(--gothic);font-weight:300;font-size:18.5px;line-height:1.85;letter-spacing:.02em}
.grad-bar{background:var(--grad-tn);color:#fff;text-align:center;font-size:clamp(20.3px,1.9vw,25.4px);font-weight:700;letter-spacing:.14em;padding:12px 16px;margin-top:40px;line-height:1.5}
.grad-bar small{font-size:.68em}
.iod__combo{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:22px}
.iod__combo img{width:150px}
.iod__combo p{font-size:20px;line-height:2.3}
.iod__combo mark{background:var(--teal-l);color:#fff;padding:1px 4px;font-size:1.12em;letter-spacing:.1em}
.voices{display:flex;justify-content:center;gap:16px;margin-top:22px}
.voices li{flex:1;max-width:300px;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:8px 10px;color:#fff;font-size:17.5px;line-height:1.6;
  background:var(--grad-nv);clip-path:polygon(4% 0,100% 0,100% 82%,97% 100%,0 100%,0 18%);box-shadow:4px 4px 0 #fff;outline:1px solid var(--navy2);outline-offset:3px}
.iod__close{text-align:center;font-weight:700;font-size:clamp(20.3px,1.7vw,24.2px);letter-spacing:.18em;margin-top:40px}

/* ---------- spheres ---------- */
.sphere{position:absolute;z-index:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 30%,#fff 0%,#f3f3f5 30%,#dcdce0 60%,#c4c4ca 78%,#eeeef0 92%,#bdbdc3 100%);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.sphere--1{width:230px;height:230px;left:calc(50% - 470px);top:-80px}
.sphere--2{display:none}
.merit__item:nth-child(2) .merit__img::before{content:"";position:absolute;z-index:-1;width:260px;height:260px;right:-50px;bottom:-110px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#fff 0%,#f3f3f5 30%,#dcdce0 60%,#c4c4ca 78%,#eeeef0 92%,#bdbdc3 100%);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.sphere--3{width:250px;height:250px;left:calc(50% - 540px);bottom:-110px}
.sphere--4{width:250px;height:250px;left:calc(50% - 480px);top:-50px}
.sphere--5{width:270px;height:270px;right:calc(50% - 540px);bottom:-60px}

/* ---------- MERIT ---------- */
.merit{position:relative;background:var(--gray);padding-bottom:100px;overflow:hidden}
.merit>*{position:relative;z-index:1}
.merit .sphere{position:absolute;z-index:0}
.merit .container{width:min(980px,calc(100% - 64px))}
.merit__item{display:flex;align-items:center;gap:48px;margin-top:64px}
.merit__item--rev{flex-direction:row-reverse}
.merit__img{position:relative;flex:0 0 50%}
.merit__img img{width:100%;aspect-ratio:490/301;object-fit:cover}
.pointno{position:absolute;z-index:2;top:-34px;left:16px;font-family:var(--en);font-style:italic;color:var(--navy);font-size:72px;line-height:1;letter-spacing:-.02em;text-shadow:0 0 14px #fff,0 0 8px #fff,0 0 4px #fff}
.pointno span{font-size:24px;margin-right:2px}
.merit__item--rev .pointno{left:auto;right:16px}
.merit__txt h3{font-size:clamp(22.9px,2.2vw,30.5px);color:var(--navy);font-weight:700;letter-spacing:.14em;line-height:1.55;margin-bottom:18px}
.merit__txt>p{font-family:var(--gothic);font-weight:300;font-size:19px;line-height:2.15;letter-spacing:.03em}
.sim{margin-top:18px}
.sim__title{background:var(--grad-nv);color:#fff;text-align:center;font-size:19px;letter-spacing:.2em;padding:3px}
.sim__row{display:flex;align-items:center;gap:8px;margin-top:10px}
.sim__row dl{flex:1;border:1px solid var(--navy2);text-align:center;background:#fff}
.sim__row dt{background:var(--navy);color:#fff;font-size:17.5px;padding:2px 4px}
.sim__row dd{font-size:18px;padding:8px 4px}
.sim__arrow{flex:none;width:0;height:0;border-top:20px solid transparent;border-bottom:20px solid transparent;border-left:13px solid var(--navy)}

/* ---------- DEMERIT ---------- */
.demerit{position:relative;background:var(--slate);color:#fff;padding-bottom:80px;overflow:hidden}
.demerit::before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 64%,rgba(255,255,255,.12) 64%,rgba(255,255,255,.12) 78%,rgba(255,255,255,.22) 78%,rgba(255,255,255,.22) 83%,transparent 83%)}
.demerit .container{position:relative;width:min(860px,calc(100% - 64px))}
.demerit__item{display:flex;align-items:center;gap:36px;margin-top:56px}
.demerit__txt{flex:1}
.demerit__img{flex:0 0 33%}
.demerit__img img{width:100%;aspect-ratio:272/191;object-fit:cover}
.demerit__no{display:inline-block;background:#fff;color:var(--slate);font-family:var(--en);font-size:17px;letter-spacing:.06em;padding:2px 12px;line-height:1.6}
.demerit__no b{font-size:20px;font-weight:500;color:var(--navy)}
.demerit h3{font-size:clamp(22.9px,2.2vw,30.5px);font-weight:700;letter-spacing:.16em;line-height:1.5;margin:12px 0 10px}
.demerit__txt>p:last-child{font-family:var(--gothic);font-weight:300;font-size:18.5px;line-height:1.9;letter-spacing:.04em}

/* ---------- COMPARISON ---------- */
.comparison{padding-bottom:70px}
.grad-band{background:var(--grad-nv);color:#fff;text-align:center;font-size:19px;font-weight:700;letter-spacing:.2em;padding:14px 16px;margin-top:40px;line-height:1.6}
.comparison__lead{text-align:center;font-size:20px;line-height:2.1;margin-top:22px}
.comp-scroll{margin-top:28px}
.scroll-hint{display:none}
.comp-table{width:100%;table-layout:fixed;font-size:17.5px;text-align:center;letter-spacing:.04em;border:1px solid var(--navy)}
.comp-table th,.comp-table td{border:1px solid var(--navy);padding:9px 4px;line-height:1.5}
.comp-table thead th{background:var(--navy);color:#fff;font-weight:400;padding:12px 4px}
.comp-table .corner{width:12%;background:var(--navy)}
.comp-table .icons td{padding:10px;background:#fff}
.comp-table .icons img{width:118px}
.comp-table tbody th{font-weight:400;background:#fff}
.comp-table tbody tr:nth-child(even) th,.comp-table tbody tr:nth-child(even) td{background:#d5d6dc}
.comp-table small{font-size:16px}
.comparison__close{text-align:center;color:var(--teal);font-weight:700;font-size:clamp(20.3px,1.8vw,25.4px);letter-spacing:.14em;line-height:1.9;margin-top:34px}

/* ---------- REASON ---------- */
.reason__head{background:var(--grad-tn);color:#fff;text-align:center;padding:60px 16px 120px;clip-path:polygon(0 0,100% 0,100% calc(100% - 90px),50% 100%,0 calc(100% - 90px))}
.reason__title{font-size:clamp(25.4px,2.7vw,36.8px);font-weight:700;letter-spacing:.14em;line-height:1.6;margin:16px 0 26px}
.reason__head p:not(.en){font-size:15px;line-height:1.8;margin-top:10px}
.reason__list{width:min(900px,calc(100% - 64px));padding:30px 0 80px}
.reason__item{display:flex;align-items:flex-start;gap:56px;margin-top:40px}
.reason__item--rev{flex-direction:row-reverse}
.reason__txt{flex:1;padding-left:76px;position:relative}
.reason__img{flex:0 0 45%}
.reason__img img{width:100%;aspect-ratio:408/256;object-fit:cover}
.reason h3{font-size:clamp(21.6px,1.9vw,28px);color:var(--navy);font-weight:700;letter-spacing:.12em;line-height:1.5;margin:18px 0 18px}
.reason .no{position:absolute;left:0;top:10px;font-family:var(--en);font-style:italic;color:var(--teal);font-weight:400;font-size:76px;line-height:1;letter-spacing:-.04em}
.reason__txt p{font-family:var(--gothic);font-weight:300;font-size:18.5px;line-height:2.2;letter-spacing:.02em}

/* ---------- CASE ---------- */
.case__head{text-align:center;padding-bottom:40px}
.frame-label{display:inline-block;margin-top:26px;background:var(--navy2);color:#fff;font-size:20px;font-weight:700;letter-spacing:.12em;padding:4px 24px;box-shadow:3px 3px 0 #fff,4px 4px 0 var(--navy2)}
.case__lead{font-size:19px;margin-top:22px}
.case__body{background:var(--gray);padding:44px 0 70px}
.case__card{width:min(690px,calc(100% - 32px));margin:0 auto 40px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15);padding:28px 32px 36px}
.case__card:last-child{margin-bottom:0}
.case__title{text-align:center;color:var(--navy);font-weight:700}
.case__no{display:block;font-size:28px;letter-spacing:.06em;line-height:1.4}
.case__sub{display:block;font-size:19.5px;letter-spacing:.08em;margin-top:6px}
.case__photos{display:grid;grid-template-columns:1fr 24px 1fr;gap:14px 10px;align-items:center;margin-top:20px}
.case__ph{position:relative}
.case__ph img{width:100%;aspect-ratio:294/190;object-fit:cover}
.case__ph figcaption{position:absolute;left:0;right:0;bottom:6px;text-align:center;color:#fff;font-size:22px;letter-spacing:.04em;text-shadow:0 0 8px rgba(0,0,0,.6);line-height:1}
.case__arrow{width:12px;height:24px;justify-self:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 24'%3E%3Cpath d='M1 1l10 11L1 23' fill='none' stroke='%23333' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat}
.case__who{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:20px;padding:0 6px;margin-top:22px;line-height:1.5}
.case__table{width:100%;margin-top:12px;font-size:18.5px;line-height:1.75;border:1px solid var(--navy)}
.case__table th{width:112px;background:var(--navy);color:#fff;font-weight:400;font-size:18px;padding:10px 6px;text-align:center;border-bottom:1px solid #fff}
.case__table tr:last-child th{border-bottom:0}
.case__table td{padding:10px 16px;border-bottom:1px solid var(--navy)}

/* ---------- SECOND OPINION ---------- */
.second{background:var(--gray2);position:relative;overflow:hidden}
.second__inner{position:relative;padding-bottom:60px;background:linear-gradient(130deg,transparent 22%,rgba(255,255,255,.2) 22%,rgba(255,255,255,.2) 50%,transparent 50%)}
.second .sec-head{padding-top:40px}
.navy-bar{background:var(--navy);color:#fff;text-align:center;font-size:clamp(22.9px,2.2vw,30.5px);font-weight:700;letter-spacing:.18em;padding:4px 16px;margin-top:22px;line-height:1.6}
.second__lead{text-align:center;font-size:19px;line-height:1.75;margin-top:20px}
.second__list{width:min(620px,100%);margin:30px auto 0;background:#fff;border:1px solid var(--navy3);padding:6px 26px}
.second__list li{font-size:18.5px;padding:14px 0 14px 18px;position:relative;line-height:1.6}
.second__list li::before{content:"・";position:absolute;left:0}
.second__list li+li{border-top:1px solid #888}
.grad-wide{background:var(--grad-tn);color:#fff;text-align:center;font-size:clamp(21.6px,2.2vw,30.5px);font-weight:500;letter-spacing:.14em;padding:24px 16px;line-height:1.6}
.second__foot{display:flex;justify-content:center;align-items:center;gap:clamp(30px,7vw,90px);padding:20px 16px 40px}
.second__foot .hours{margin:0}
.btn-reserve{display:flex;align-items:center;justify-content:center;gap:40px;width:264px;height:56px;background:var(--navy);color:#fff;text-decoration:none;font-size:22.7px;font-weight:700;letter-spacing:.1em}

/* ---------- FLOW ---------- */
.flow{padding-bottom:70px}
.flow__lead{text-align:center;font-size:19px;line-height:1.75;margin-top:24px}
.flow__list{display:grid;grid-template-columns:repeat(3,1fr);gap:64px 34px;margin-top:60px;width:min(1120px,100%)}
.flow__list li{position:relative;border:1px solid var(--navy3);padding:14px 14px 18px;background:#fff}
.flow__list li:not(:nth-child(3n))::after{content:"";position:absolute;right:-35px;top:46%;width:34px;height:1px;background:var(--navy3)}
.flow__no{position:absolute;left:50%;top:-40px;transform:translateX(-50%);width:80px;height:80px;border-radius:50%;background:#fff;border:1px solid var(--navy);display:grid;place-items:center;font-family:var(--en);font-size:42px;color:var(--navy);line-height:1;z-index:1}
.flow__list img{width:100%;aspect-ratio:268/168;object-fit:cover}
.flow__list h3{text-align:center;color:var(--navy);font-size:clamp(19.1px,1.6vw,22.9px);font-weight:700;letter-spacing:.1em;margin:10px 0 4px}
.flow__list p{font-family:var(--gothic);font-weight:300;font-size:18px;line-height:1.95;letter-spacing:.04em}

/* ---------- FEE ---------- */
.fee{position:relative;background:var(--gray);padding-bottom:50px;overflow:hidden}
.fee>*:not(.sphere){position:relative;z-index:1}
.fee__lead{text-align:center;font-size:19px;line-height:1.75;margin-top:26px;padding:0 16px}
.fee__tables{width:min(780px,calc(100% - 64px));margin-top:30px}
.grad-head{background:var(--grad-nv);color:#fff;text-align:center;font-size:22.7px;font-weight:700;letter-spacing:.2em;padding:4px 16px;margin-top:20px}
.fee-table{width:100%;margin-top:8px;font-size:19px;text-align:center;background:#fff;border:1px solid var(--navy3)}
.fee-table thead th{background:var(--navy);color:#fff;font-weight:400;font-size:18px;padding:3px}
.fee-table thead th+th{border-left:1px solid #888}
.fee-table tbody th,.fee-table tbody td{padding:13px 8px;border-top:1px solid var(--navy3);line-height:1.5}
.fee-table tbody th{font-weight:400;width:47%;border-right:1px solid var(--navy3)}
.pay{margin-top:40px}
.pay__title{background:var(--navy);color:#fff;text-align:center;font-size:clamp(22.9px,2.2vw,30.5px);font-weight:700;letter-spacing:.14em;padding:14px 16px;line-height:1.6}
.pay__body{background:url(../img/payment_bg.jpg) center/cover;padding:50px 16px 46px}
.pay__list{display:flex;justify-content:center;gap:clamp(30px,6vw,90px)}
.pay__list li{text-align:center;width:200px}
.pay__ico{display:grid;place-items:center;width:120px;height:120px;margin:auto;border-radius:50%;background:#fff;border:1px solid var(--navy)}
.pay__ico img{width:58px}
.pay__name{margin-top:12px;font-size:25.7px;letter-spacing:.12em;text-shadow:0 0 8px #fff,0 0 12px #fff,0 0 4px #fff}
.pay__sub{font-size:19px;text-shadow:0 0 8px #fff,0 0 4px #fff}
.deduction-wrap{padding:36px 0 60px}
.deduction{border:1px solid #555;padding:0 18px 30px;font-family:var(--gothic);font-weight:300;font-size:18.5px;line-height:1.75;letter-spacing:.02em}
.deduction__title{background:#000;color:#fff;font-family:var(--mincho);text-align:center;font-size:24px;font-weight:500;letter-spacing:.12em;margin:18px 0 14px;padding:2px}
.deduction p+p{margin-top:10px}
.deduction__formula{font-weight:500}
.deduction .small{font-size:17px}
.deduction__btn{text-align:center;margin-top:24px !important}
.deduction__btn a{display:inline-flex;align-items:center;justify-content:center;gap:40px;width:220px;height:56px;color:#fff;text-decoration:none;font-family:var(--mincho);font-size:20px;letter-spacing:.06em;background:linear-gradient(180deg,#bdb59d,#9c9479)}
.deduction__btn .arrow::after{border-color:#9c9479}
.grad-band--fee{margin-top:40px;font-size:19px}
.risk{text-align:center;font-size:18.5px;line-height:2.2;margin-top:20px}

/* ---------- MESSAGE ---------- */
.message{padding-bottom:70px}
.message__title{text-align:center;color:var(--teal);font-size:clamp(25.7px,2.6vw,36.4px);font-weight:700;letter-spacing:.14em;margin-top:30px}
.message__title small{font-size:.66em}
.message__body{text-align:center;font-size:18.5px;line-height:1.75;margin-top:20px}
.message__body p+p{margin-top:16px}
.grad-band--wide{margin-top:40px}
.profile{display:flex;align-items:center;justify-content:center;gap:56px;margin-top:40px}
.profile__img{width:205px}
.profile .clinic{font-size:19px;font-weight:700;letter-spacing:.12em}
.profile .name{font-size:29.7px;font-weight:700;letter-spacing:.1em;margin-top:6px}
.profile .role{font-size:19px;margin-right:14px}
.profile .kana{font-size:19px}
.career{display:grid;grid-template-columns:1fr 1fr;gap:20px 54px;width:min(790px,100%);margin:38px auto 0}
.career__block--full{grid-column:1/-1}
.career h4{background:var(--navy);color:#fff;text-align:center;font-size:19px;font-weight:500;letter-spacing:.1em;line-height:1.4}
.career ul{width:max-content;max-width:100%;margin:6px auto 0;font-size:19px;line-height:1.75}
.career li::before{content:"・"}

/* ---------- CONTACT ---------- */
.contact{padding-bottom:60px;text-align:center}
.contact__title{font-size:clamp(24.2px,2.3vw,33px);color:var(--navy);font-weight:700;letter-spacing:.14em;margin-top:30px;line-height:1.6}
.contact__text{font-size:18.5px;line-height:1.85;margin-top:14px}
.contact__catch{color:var(--teal);font-weight:700;font-size:clamp(22.9px,2.3vw,33px);letter-spacing:.18em;margin-top:28px}
.contact .hours{margin-top:18px}

/* ---------- FAQ ---------- */
.faq{padding-bottom:80px}
.faq__list{margin-top:40px}
.faq__item{padding:30px 16px 30px;border-bottom:1px solid #777}
.faq__item:last-child{border-bottom:0}
.faq__q,.faq__a{display:flex;align-items:flex-start;gap:22px}
.faq__a{margin-top:18px}
.faq .q,.faq .a{flex:none;width:28px;font-family:var(--en);font-weight:600;font-size:30px;line-height:1}
.faq .q{color:#999}
.faq .a{color:var(--navy2)}
.faq h3{font-size:20px;font-weight:500;letter-spacing:.08em;line-height:1.8}
.faq__a p{font-size:20px;line-height:1.8}

/* ---------- ACCESS ---------- */
.access{padding-top:20px}
.access__logo{text-align:center}
.access__logo img{width:300px}
.access__title{text-align:center;font-size:19px;font-weight:500;color:var(--navy2);letter-spacing:.12em;margin-top:6px}
.access__inner{display:flex;justify-content:space-between;gap:50px;width:min(940px,100%);margin:36px auto 60px}
.access__info{flex:0 0 42%;text-align:center;font-size:20px;line-height:1.7}
.access__info dt{margin-top:16px}
.access__info dt:first-child{margin-top:0}
.access__info dd a{text-decoration:none}
.access__info .hours{margin:8px auto 0;font-size:16px}
.access__info .hours__table{min-width:0}
.access__map{flex:1}
.access__route{font-size:20px;line-height:1.75;padding-left:60px}
.access__route .st{margin-top:14px;padding-left:20px}
.access__route ul{padding-left:20px}
.access__route li::before{content:"・"}
.access__mapimg{display:block;margin-top:24px}
.access__mapimg img{width:100%}
.grad-wide--teal{font-weight:500}
.access__close{text-align:center;font-size:20.9px;letter-spacing:.12em;margin-top:40px}
.access .cta{margin-bottom:46px}

/* ---------- footer / sp bar ---------- */
.footer{background:var(--navy);color:#fff;text-align:center;font-size:20.9px;letter-spacing:.14em;padding:18px 16px}
.spbar{display:none}

/* =========================================================
   Tablet
   ========================================================= */
@media (max-width:1100px){
  .header__tel{font-size:22px}
  .fv__inner{left:36%}
  .sphere{display:none}
}

/* =========================================================
   SP
   ========================================================= */
@media (max-width:767px){
  :root{--header-h:56px}
  body{font-size:16.5px;padding-bottom:62px}
  .pc{display:none}
  .sp{display:inline}
  .container,.container--narrow,.container--fee,.container--faq{width:calc(100% - 40px)}
  .en{font-size:48px}
  .sec-head{padding-top:48px}
  .sec-head__ja{font-size:21px;margin-top:10px}
  .band-title .en{font-size:38px}
  .band-title--navy .en--msg{font-size:36px;line-height:1.15}
  .band-title__ja{font-size:18.5px}

  .header{padding-left:12px}
  .header__logo img{width:190px}
  .header__tel,.header__web{display:none}
  .header__menu{width:56px}
  .header__menu .bars{gap:6px}
  .header__menu .bars i{width:24px}
  .is-open .header__menu .bars i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .is-open .header__menu .bars i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .gnav{width:100%}

  .fv{height:auto;min-height:0;padding:16px 0 18px;aspect-ratio:auto}
  .fv__building{width:100%;object-position:62% 50%}
  .fv__doctor{width:70%;-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 95%);mask-image:linear-gradient(90deg,#000 45%,transparent 95%)}
  .fv__inner{position:relative;left:auto;right:auto;top:auto;padding:0 12px;text-align:right}
  .fv__h1{font-size:14.5px;padding:3px 10px;margin-bottom:10px}
  .fv__lead{font-size:18.5px;line-height:1.6}
  .fv__catch{font-size:21px;margin-top:4px}
  .fv__copy{font-size:30px;text-align:right;margin-top:12px}
  .fv__badges{justify-content:center;margin:16px 0 0;gap:6px}
  .fv__badges li{width:31%;max-width:118px}
  .fv__badges .s,.fv__badges .s2{font-size:9px}
  .fv__badges .m{font-size:11px}
  .fv__badges .l{font-size:10px}
  .fv__badges .l b{font-size:27px}
  .fv__badges .d{font-size:8px}
  .fv__badges .m2{font-size:9.5px}

  .breadcrumb ol{width:calc(100% - 40px);font-size:11px}

  .hours{width:100%;margin-top:26px}
  .hours__table{width:100%;min-width:0;font-size:13px}
  .hours__table thead th{padding:6px 2px}
  .hours__table thead th:first-child{padding-inline:4px}
  .hours__table tbody th{padding:6px 2px}
  .hours__table tbody td{padding:6px 1px;min-width:0}
  .hours__note{font-size:12.5px;text-align:left}
  .merit__item:nth-child(2) .merit__img::before{display:none}

  .cta{flex-direction:column;align-items:center;gap:12px;margin-top:24px}
  .cta li{width:100%;max-width:400px}
  .cta__btn{height:66px}
  .cta__txt{font-size:17px}
  .cta__btn--tel .cta__txt b{font-size:27px}

  .consult{padding-bottom:48px}
  .consult__tags{flex-direction:column;align-items:center;gap:8px;margin-top:26px}
  .consult__tags li{width:100%;max-width:340px;font-size:15.5px;padding:4px 10px}
  .consult__lead{font-size:18.5px;text-align:left;margin-top:24px}
  .consult__text{font-size:16px;text-align:left}
  .consult__text br{display:none}

  .worries__head{padding:40px 16px 40px}
  .worries__head::after{bottom:-34px;height:36px}
  .worries__title{font-size:23px;line-height:1.75;background:none;padding:0}
  .worries__body{padding:70px 0 0}
  .worries__inner{flex-direction:column;min-height:0}
  .checklist{margin:0;padding:0 0 10px}
  .checklist li{font-size:17px;padding-left:36px;margin-bottom:16px;letter-spacing:.06em}
  .checklist li::before{width:24px;height:24px}
  .checklist li::after{left:8px;top:.28em;width:6px;height:11px}
  .worries__woman{position:static;width:140px;margin:0 auto}
  .worries__answer{padding:20px 12px 22px}
  .worries__answer .mark{font-size:16px}
  .worries__answer p+p{font-size:16.5px;line-height:1.7}
  .worries__answer strong{font-size:1.4em}
  .worries__answer strong.lg{font-size:1.3em;display:inline-block}

  .about{padding-bottom:40px}
  .about__inner{flex-direction:column;gap:20px;width:calc(100% - 40px);margin-top:24px}
  .about__img img{width:84%}
  .about__h3{font-size:21px;text-align:center;line-height:1.6}
  .about__txt p{font-size:16px;line-height:2}
  .bar-title{font-size:19px;margin-top:40px;padding:6px 10px}
  .recommend{flex-direction:column;align-items:stretch;min-height:0}
  .recommend__list{padding-left:8px}
  .recommend__list li{font-size:16.5px;margin:8px 0;letter-spacing:.06em}
  .recommend__img{position:static;width:100%;height:220px;margin-top:10px}

  .iod{padding-bottom:40px}
  .iod__title{font-size:19px;letter-spacing:.12em;padding:16px 10px}
  .iod .container{width:calc(100% - 40px)}
  .iod__intro{flex-direction:column;gap:20px;margin-top:0}
  .iod__img{width:calc(100% + 40px);margin:0 -20px}
  .iod__q span{display:block}
  .iod__q{font-size:19px;white-space:normal}
  .iod__desc{font-size:15.5px;text-align:center}
  .points{grid-template-columns:1fr;gap:22px;margin-top:30px}
  .points__no{height:auto;line-height:1.6;padding:4px}
  .points h3{font-size:19px;min-height:0}
  .grad-bar{font-size:18.5px;padding:12px 10px}
  .grad-bar small{font-size:.8em}
  .iod__combo{flex-direction:column;gap:10px}
  .iod__combo img{width:220px}
  .iod__combo p{font-size:16px;text-align:center;line-height:2.2}
  .voices{flex-direction:column;align-items:center;gap:12px}
  .voices li{width:100%;max-width:330px;flex:none;font-size:15px}
  .iod__close{font-size:19px;line-height:1.75;margin-top:30px}

  .merit{padding-bottom:50px}
  .merit .container{width:calc(100% - 40px)}
  .merit__item,.merit__item--rev{flex-direction:column;align-items:stretch;gap:18px;margin-top:56px}
  .merit__img{flex:none}
  .pointno{font-size:52px;top:-30px;left:6px}
  .merit__item--rev .pointno{left:6px;right:auto}
  .pointno span{font-size:18px}
  .merit__txt h3{font-size:20px;margin-bottom:10px}
  .merit__txt>p{font-size:16px;line-height:1.95}
  .sim__row{flex-direction:column;gap:6px}
  .sim__row dl{width:100%}
  .sim__arrow{border-left:20px solid transparent;border-right:20px solid transparent;border-top:13px solid var(--navy);border-bottom:0}

  .demerit{padding-bottom:50px}
  .demerit .container{width:calc(100% - 40px)}
  .demerit__item{flex-direction:column-reverse;align-items:stretch;gap:16px;margin-top:36px}
  .demerit h3{font-size:20px}
  .demerit__txt>p:last-child{font-size:15.5px}

  .comparison{padding-bottom:50px}
  .grad-band{font-size:16.5px;letter-spacing:.1em;padding:12px 10px}
  .comparison__lead{font-size:16px}
  .comparison__lead br{display:none}
  .scroll-hint{display:block;text-align:right;font-size:13.5px;color:#666;margin-top:18px}
  .comp-scroll{margin-top:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-right:-20px;padding-right:20px}
  .comp-table{width:680px;font-size:14px}
  .comp-table .corner{width:70px}
  .comp-table thead th,.comp-table tbody th{position:sticky;left:0;z-index:1}
  .comp-table thead th:not(.corner){position:static}
  .comp-table .icons img{width:80px}
  .comparison__close{font-size:18px;letter-spacing:.08em}

  .reason__head{padding:46px 20px 90px;clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),50% 100%,0 calc(100% - 50px))}
  .reason__title{font-size:21px;margin:12px 0 18px}
  .reason__head p:not(.en){font-size:13.5px}
  .reason__list{width:calc(100% - 40px);padding:10px 0 50px}
  .reason__item,.reason__item--rev{flex-direction:column;gap:14px;margin-top:40px}
  .reason__txt{padding-left:0;display:contents}
  .reason__txt h3{order:-2;padding-left:66px;position:relative;min-height:56px;display:flex;align-items:center;margin:0}
  .reason__img{order:-1;flex:none;width:100%}
  .reason__txt p{order:0;font-size:15.5px;line-height:2}
  .reason__item{position:relative}
  .reason .no{font-size:62px;top:-4px}

  .case__head{padding:0 20px 30px}
  .frame-label{font-size:16.5px;padding:4px 14px}
  .case__lead{font-size:16px;text-align:left}
  .case__body{padding:30px 0 50px}
  .case__card{width:calc(100% - 24px);padding:22px 14px 26px;margin-bottom:28px}
  .case__no{font-size:22px}
  .case__sub{font-size:15.5px}
  .case__photos{grid-template-columns:1fr;gap:6px}
  .case__arrow{transform:rotate(90deg);height:18px}
  .case__ph figcaption{font-size:20px}
  .case__table{font-size:15px}
  .case__table th{width:78px;font-size:14px;letter-spacing:0;padding:8px 2px}
  .case__table td{padding:8px 10px}

  .navy-bar{font-size:19px}
  .second__lead{font-size:15.5px;text-align:left}
  .second__list{padding:4px 14px}
  .second__list li{font-size:15.5px}
  .grad-wide{font-size:20px;padding:22px 12px}
  .second__foot{flex-direction:column;gap:24px;padding:20px 20px 40px}
  .btn-reserve{width:100%;max-width:340px}

  .flow{padding-bottom:50px}
  .flow__lead{font-size:16px}
  .flow__list{grid-template-columns:1fr;gap:56px;margin-top:56px}
  .flow__list li::after{display:none}
  .flow__no{width:66px;height:66px;top:-34px;font-size:34px}
  .flow__list h3{font-size:18.5px}

  .fee__lead{font-size:16px}
  .fee__tables{width:calc(100% - 24px)}
  .fee-table{font-size:15px}
  .fee-table tbody th{width:45%}
  .fee-table tbody th,.fee-table tbody td{padding:10px 4px}
  .pay__body{padding:30px 16px}
  .pay__list{flex-direction:column;align-items:center;gap:22px}
  .pay__ico{width:96px;height:96px}
  .pay__ico img{width:46px}
  .pay__name{font-size:21px}
  .pay__sub{font-size:15px}
  .deduction{padding:0 14px 24px;font-size:15.5px}
  .deduction__title{font-size:19px}
  .risk{text-align:left;font-size:15.5px;line-height:2}

  .message__title{font-size:24px}
  .message__body{font-size:15.5px;line-height:1.85}
  .message__body br{display:none}
  .profile{flex-direction:column;gap:14px;align-items:flex-start;margin-top:22px}
  .profile__img{width:100%}
  .profile .name{font-size:23px}
  .profile .role{margin-right:8px}
  .career{grid-template-columns:1fr;gap:18px}
  .career ul{width:auto;margin:6px 0 0;font-size:15.5px}
  .career li{padding-left:1em;text-indent:-1em}

  .contact__title{font-size:19.5px;letter-spacing:.06em}
  .contact__text{font-size:15.5px}
  .contact__catch{font-size:21px}

  .faq{padding-bottom:40px}
  .faq__list{margin-top:20px}
  .faq__item{padding:24px 0}
  .faq__q,.faq__a{gap:14px}
  .faq h3,.faq__a p{font-size:16.5px}

  .access__logo img{width:250px}
  .access__inner{flex-direction:column;gap:30px;margin:26px auto 40px}
  .access__route{padding-left:0;text-align:center}
  .access__route .st,.access__route ul{padding-left:0}
  .access__info{font-size:16.5px}
  .access__close{font-size:16.5px;line-height:1.75;margin-top:28px}
  .footer{font-size:15.5px;padding:14px}

  .spbar{display:flex;position:fixed;z-index:40;left:0;right:0;bottom:0;height:62px}
  .spbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-decoration:none;line-height:1.3}
  .spbar__tel{background:var(--teal)}
  .spbar__web{background:var(--navy2)}
  .spbar .t{font-size:11px;letter-spacing:.06em}
  .spbar .n{display:flex;align-items:center;gap:6px;font-size:19px;font-family:var(--en);font-weight:500;letter-spacing:.04em}
  .spbar__web .n{font-family:var(--mincho);font-size:17px;font-weight:700}
}

/* ===== 2026-10-30 フォント拡大に伴う折り返し調整 ===== */
.cta li{width:min(370px,32.5%)}
.cta__btn{gap:12px;padding:0 12px}
.cta__txt{letter-spacing:.02em}
.iod .container{width:min(1060px,calc(100% - 64px))}
.points h3{letter-spacing:.02em}
.voices li{max-width:340px}
.sim__row dt{font-size:16px;letter-spacing:0}
.sim__row dd{font-size:16.5px;letter-spacing:0}
.comp-table thead th{letter-spacing:0}
.pay__list li{width:260px}
@media (max-width:767px){
  .cta li{width:100%}
  .iod .container{width:calc(100% - 40px)}
  .pay__list li{width:100%}
}
.sim__row dd{font-size:16px;white-space:nowrap}
.comp-table thead th{font-size:15.5px}
@media (max-width:767px){ .sim__row dd{font-size:16px;white-space:normal} }
@media (max-width:767px){ .reason__title{letter-spacing:.06em} }
/* ===== 2026-10-30 フォント再拡大に伴う調整 ===== */
.points h3{letter-spacing:0}
.iod__intro{gap:40px}
.iod__img{flex:0 0 44%}
.iod__q,.iod__desc{letter-spacing:.02em}
.case__table th{width:124px;letter-spacing:0}
@media (max-width:767px){
  .iod__img{flex:none}
  .case__table th{width:82px}
}
@media (max-width:767px){
  .fv__h1{font-size:13px;letter-spacing:.02em}
  .worries__answer p+p{letter-spacing:.06em}
  .worries__answer strong.lg{font-size:1.12em;letter-spacing:.02em}
  .band-title__ja{letter-spacing:.06em}
  .access__title{font-size:13.5px;letter-spacing:.02em}
  .case__table th{font-size:12px;letter-spacing:0}
  .profile .kana{display:block;font-size:14px;margin-top:2px}
}

/* ===== 2026-10-30 SPの崩れ修正：文節単位で改行・デザインどおりの配置に戻す ===== */
.ph .w{display:inline-block}
.btn-reserve__ico{display:none}
@media (max-width:767px){
  /* 中央揃えに戻す（デザインどおり） */
  .consult__lead,.consult__text,.second__lead,.iod__desc,.comparison__lead,.contact__text,.case__lead{text-align:center}
  .consult__lead{font-size:18px;letter-spacing:.06em}
  .worries__answer p+p{line-height:1.8}
  .worries__answer strong.lg{font-size:1.15em}
  .checklist li{letter-spacing:.04em}
  .message__body{text-align:center}
  .message__body p{letter-spacing:.04em}
  .grad-wide{line-height:1.7}
  /* Director's Message は2行で大きく */
  .band-title--navy .en--msg{font-size:46px;line-height:1.1;letter-spacing:.04em}
  /* 治療の流れ：ボックス間の縦線 */
  .flow__list li:not(:last-child)::after{display:block;content:"";position:absolute;left:50%;right:auto;top:100%;width:1px;height:56px;background:var(--navy3)}
  /* 予約ボタンにカレンダーアイコン */
  .btn-reserve{justify-content:space-between;padding:0 18px 0 12px;gap:12px}
  .btn-reserve__ico{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--navy);font-size:22px}
  /* 院長名はふりがなを同じ行に */
  .profile .name{font-size:22px;letter-spacing:.06em}
  .profile .kana{display:inline;font-size:13px;margin:0}
  .faq h3{letter-spacing:.04em}
}

/* ===== 2026-10-30 PC文字拡大に伴う幅・折り返し調整 ===== */
@media (min-width:768px){
  .container{width:min(1200px,calc(100% - 64px))}
  .cta li{width:min(390px,33%)}
  .cta__txt{font-size:17px}
  .cta__txt small{font-size:14.5px}
  .iod .container{width:min(1180px,calc(100% - 64px))}
  .points h3{font-size:clamp(15px,1.35vw,19px);letter-spacing:0}
  .voices li{max-width:380px;font-size:14.5px}
  .merit .container{width:min(1100px,calc(100% - 64px))}
  .merit__txt h3{letter-spacing:.06em}
  .reason__list{width:min(1080px,calc(100% - 64px))}
  .reason h3{letter-spacing:.04em}
  .fee__tables,.container--fee{width:min(900px,calc(100% - 64px))}
  .fee-table tbody th{width:52%}
  .comp-table thead th{font-size:13.5px}
}
/* ===== 2026-10-30 SPデザイン合わせ（共有デザインとの差分） ===== */
@media (max-width:767px){
  .consult__lead{text-align:left}
  .worries__title{display:inline;line-height:2;padding:0 4px 4px;
    background:linear-gradient(transparent 88%,rgba(201,196,177,.9) 88%,rgba(201,196,177,.9) 93%,transparent 93%);
    -webkit-box-decoration-break:clone;box-decoration-break:clone}
  .spbar .t{display:flex;align-items:center;gap:6px}
  .spbar .arrow{width:14px;height:14px}
  .spbar .arrow::after{left:3.5px;top:4.5px;width:4px;height:4px;border-width:1.5px}
}

/* ===== 2026-10-30 FV：デザインどおりの大きい人物写真・銀メダルに戻す（顔に文字が重ならない位置で） ===== */
.fv__badges li{color:#1a1a1a;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.6);
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,0) 60%,rgba(255,255,255,.55) 66%,rgba(255,255,255,0) 72%),
    linear-gradient(140deg,#f6f6f6 0%,#d9d9d9 28%,#b4b4b4 54%,#e2e2e2 74%,#9c9c9c 100%);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.95),inset 0 0 0 5px rgba(150,150,150,.55),inset 0 -8px 16px rgba(0,0,0,.08),0 4px 10px rgba(0,0,0,.28)}
.fv__badges .l b{font-weight:400;color:#222}
.fv__badges .d{font-weight:500}
@media (max-width:767px){
  .fv__doctor{width:168vw;max-width:none;height:auto;aspect-ratio:1300/867;left:-71vw;top:4px;object-fit:cover;object-position:50% 50%;
    -webkit-mask-image:linear-gradient(90deg,#000 60%,transparent 80%);mask-image:linear-gradient(90deg,#000 60%,transparent 80%)}
  .fv__badges li{max-width:112px}
  .fv__catch,.fv__copy{letter-spacing:.06em}
}

/* ===== 2026-10-30 FVを最新デザイン（pc1.png / sp1.png）に合わせる ===== */
/* --- PC --- */
.fv{height:clamp(560px,49.5vw,960px)}
.fv__inner{left:41.7%;top:8.5%}
.fv__h1{font-size:clamp(14px,1vw,19px);margin-bottom:clamp(8px,.8vw,16px)}
.fv__lead,.fv__catch{color:#1b223d;text-shadow:0 0 18px #fff,0 0 12px #fff,0 0 6px #fff,0 0 2px #fff}
.fv__lead{font-size:clamp(18px,1.875vw,38px);letter-spacing:.12em}
.fv__catch{font-size:clamp(22px,2.4vw,48px);line-height:1.6;letter-spacing:.1em;margin-top:clamp(10px,1.4vw,28px)}
.fv__copy{font-size:clamp(34px,3.95vw,78px);line-height:1.55;letter-spacing:.1em;margin-top:clamp(8px,1.1vw,22px);
  filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px rgba(255,255,255,.95)) drop-shadow(0 0 18px rgba(255,255,255,.8))}
.fv__badges{gap:clamp(8px,1.4vw,28px);margin-top:clamp(10px,1.2vw,24px);margin-left:-2%}
.fv__badges li{position:relative;width:clamp(130px,15.1vw,300px);color:#1a1a1a;line-height:1.25;
  background:conic-gradient(from 210deg,#fafafa,#b9b9b9 14%,#fdfdfd 30%,#9f9f9f 48%,#ececec 64%,#b2b2b2 82%,#fafafa);
  box-shadow:0 5px 14px rgba(0,0,0,.3)}
.fv__badges li::before{content:"";position:absolute;inset:4.5%;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 42% 30%,#ffffff 0%,#f1f1f1 30%,#d6d6d6 62%,#bcbcbc 88%,#cfcfcf 100%);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9),inset 0 -6px 14px rgba(0,0,0,.12)}
.fv__badges li>*{position:relative;z-index:1}
.fv__badges .s,.fv__badges .s2{font-size:clamp(10px,1.3vw,26px);letter-spacing:.02em}
.fv__badges .m{font-size:clamp(12.5px,1.62vw,32px)}
.fv__badges .l{font-size:clamp(11px,1.45vw,29px)}
.fv__badges .l b{font-size:clamp(32px,4.1vw,82px);font-weight:400}
.fv__badges .d{font-size:clamp(9px,1.15vw,23px);font-weight:500}
.fv__badges .m2{font-size:clamp(10.5px,1.38vw,27px);margin-top:.3em;line-height:1.35}
/* --- SP --- */
@media (max-width:767px){
  .fv{height:auto;min-height:128vw;padding:14px 0 20px}
  .fv__inner{left:auto;top:auto;padding:0 14px}
  .fv__h1{font-size:13px;margin-bottom:12px}
  .fv__lead{font-size:18.5px;line-height:1.75}
  .fv__catch{font-size:22px;margin-top:18px;line-height:1.65}
  .fv__copy{font-size:31px;margin-top:20px;line-height:1.5}
  .fv__badges{justify-content:space-between;gap:0;margin:22px 0 0;padding:0 2px}
  .fv__badges li{width:31.5%;max-width:none}
  .fv__badges .s,.fv__badges .s2{font-size:2.55vw}
  .fv__badges .m{font-size:3.2vw}
  .fv__badges .l{font-size:2.9vw}
  .fv__badges .l b{font-size:7.9vw}
  .fv__badges .d{font-size:2.3vw}
  .fv__badges .m2{font-size:2.75vw}
}
@media (max-width:767px){ .fv__catch{letter-spacing:.03em} }
@media (max-width:374px){ .fv__catch{font-size:20px} .fv__lead{font-size:17px} }
/* ===== 2026-10-30 メダルをデザインに合わせて微調整（縁の太さ・字間・数字の大きさ） ===== */
.fv__badges li{letter-spacing:0;color:#222;
  background:conic-gradient(from 200deg,#ffffff,#c4c4c4 12%,#f7f7f7 26%,#a6a6a6 46%,#f2f2f2 62%,#b4b4b4 80%,#ffffff)}
.fv__badges li::before{inset:6.5%;
  background:radial-gradient(circle at 38% 28%,#ffffff 0%,#f2f2f2 26%,#d9d9d9 55%,#b8b8b8 82%,#a9a9a9 100%);
  box-shadow:0 0 0 1.5px rgba(255,255,255,.95),inset 0 0 0 1px rgba(120,120,120,.35),inset -6px -8px 16px rgba(0,0,0,.14)}
.fv__badges .s,.fv__badges .s2,.fv__badges .m,.fv__badges .l,.fv__badges .d,.fv__badges .m2{letter-spacing:0}
.fv__badges .s,.fv__badges .s2{font-size:clamp(11px,1.4vw,28px)}
.fv__badges .m{font-size:clamp(13.5px,1.75vw,34px)}
.fv__badges .l{font-size:clamp(12px,1.6vw,31px)}
.fv__badges .l b{font-size:clamp(36px,4.6vw,90px);letter-spacing:-.02em}
.fv__badges .d{font-size:clamp(10px,1.3vw,25px)}
.fv__badges .m2{font-size:clamp(11.5px,1.5vw,29px)}
.fv__badges{gap:clamp(6px,1vw,20px)}
@media (max-width:767px){
  .fv__badges .s,.fv__badges .s2{font-size:2.8vw}
  .fv__badges .m{font-size:3.45vw}
  .fv__badges .l{font-size:3.2vw}
  .fv__badges .l b{font-size:8.6vw}
  .fv__badges .d{font-size:2.55vw}
  .fv__badges .m2{font-size:3vw}
}
@media (max-width:767px){ .fv__badges .s{font-size:2.6vw} }
/* ===== 2026-10-30 iPhone実機の不具合修正：メダル下の余白・「オールオン4で」のにじみ ===== */
.fv__copy{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#0f8a84;filter:none;
  text-shadow:0 0 3px #fff,0 0 8px #fff,0 0 14px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.8)}
@media (max-width:767px){
  .fv{min-height:0;padding-bottom:22px}
}
/* ===== 2026-10-30 SP FV：治療を受けている患者さんの顔が見えないよう写真の下側をぼかす（デザインどおり） ===== */
@media (max-width:767px){
  .fv__doctor{
    -webkit-mask-image:linear-gradient(90deg,#000 60%,transparent 80%),radial-gradient(ellipse 22% 26% at 63% 92%,transparent 0%,transparent 45%,#000 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,#000 60%,transparent 80%),radial-gradient(ellipse 22% 26% at 63% 92%,transparent 0%,transparent 45%,#000 100%);
    mask-composite:intersect}
}
/* ===== 2026-10-30 メダルをイラレデータから書き出した画像に差し替え（文字はHTMLのまま） ===== */
.fv__badges li{background:url(../img/fv_medal.png) center/112% 112% no-repeat;box-shadow:none;text-shadow:none}
.fv__badges li::before{content:none}
/* ===== 2026-10-30 SP FV背景をデザインの背景画像（先生＋医院外観の合成）に差し替え ===== */
@media (max-width:767px){
  .fv{background:#cfd8e2 url(../img/fv_sp_bg.jpg) center top/cover no-repeat;min-height:128vw}
  .fv__bg,.fv__doctor{display:none}
  .fv::after{content:none}
}
@media (max-width:392px){ .fv__copy{font-size:29px} .fv__catch{font-size:21px} }
@media (max-width:374px){ .fv__copy{font-size:27px} .fv__catch{font-size:19.5px} }
@media (max-width:767px){
  .fv__lead,.fv__catch{text-shadow:0 0 4px #fff,0 0 8px #fff,0 0 14px #fff,0 0 22px #fff,0 0 30px rgba(255,255,255,.9)}
  .fv__copy{text-shadow:0 0 4px #fff,0 0 10px #fff,0 0 18px #fff,0 0 28px rgba(255,255,255,.95)}
}
@media (max-width:767px){
  .fv__lead,.fv__catch,.fv__copy{background:radial-gradient(ellipse 60% 55% at 62% 52%,rgba(255,255,255,.72) 0%,rgba(255,255,255,.35) 55%,rgba(255,255,255,0) 100%);margin-right:-14px;padding-right:14px}
}
