@charset "UTF-8";
/* 奥戸いろは歯科・矯正歯科 インプラントLP */
:root{
  --navy:#1d3a6e;
  --navy2:#2c5596;
  --navy-lt:#6f97cf;
  --gold:#b0924f;
  --gold2:#d8bf7c;
  --gold-dk:#8a6d2f;
  --beige:#f6f2ea;
  --cream:#efe9dd;
  --txt:#333;
  --serif:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --script:"Great Vibes",cursive;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--txt);font-size:15px;line-height:1.9;letter-spacing:.06em;background:#fff;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
.sp{display:none}
@media (max-width:767px){.sp{display:inline}.pc{display:none}}

/* ---------- アイコン（SVGをマスクで） ---------- */
.ic{display:inline-block;width:1.2em;height:1.2em;background:currentColor;vertical-align:-.2em;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ic-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.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 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'/%3E%3C/svg%3E")}
.ic-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-1h3zm-2 7v10h14V9zm2 2h3v3H7zm5 0h3v3h-3z'/%3E%3C/svg%3E")}
.ic-line{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 3.9 3.5 7.2 8.3 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.5s6-3.5 8.2-6.1C21.6 14 22 12.6 22 11c0-4.4-4.5-8-10-8zM8 13.4H6.1a.5.5 0 0 1-.5-.5V9a.5.5 0 0 1 1 0v3.4H8a.5.5 0 0 1 0 1zm2-.5a.5.5 0 0 1-1 0V9a.5.5 0 0 1 1 0zm4.6 0a.5.5 0 0 1-.9.3l-2-2.7v2.4a.5.5 0 0 1-1 0V9a.5.5 0 0 1 .9-.3l2 2.7V9a.5.5 0 0 1 1 0zm3.1-2.4a.5.5 0 0 1 0 1h-1.4v.9h1.4a.5.5 0 0 1 0 1h-1.9a.5.5 0 0 1-.5-.5V9a.5.5 0 0 1 .5-.5h1.9a.5.5 0 0 1 0 1h-1.4v.9z'/%3E%3C/svg%3E")}
.ic-tooth{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M7 3c-2.5 0-4 2-4 4.5 0 2.3 1.2 3.6 1.8 5.6.6 2 .8 7.9 2.7 7.9 1.7 0 1.6-5.5 4.5-5.5s2.8 5.5 4.5 5.5c1.9 0 2.1-5.9 2.7-7.9.6-2 1.8-3.3 1.8-5.6C21 5 19.5 3 17 3c-2.2 0-3 1.2-5 1.2S9.2 3 7 3z'/%3E%3C/svg%3E")}
.ic-implant{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M7 3h10l-1 4H8zM9 7v2h6V7M9 10h6M9.5 13h5M10 16h4M10.5 19h3M12 22v-1M9 9l1 12h4l1-12'/%3E%3C/svg%3E")}
.ic-crown{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 7c0-2 2-3 4-3 1.6 0 2.4.8 4 .8S14.4 4 16 4c2 0 4 1 4 3 0 3-1.5 6-3 8s-2 5-5 5-3.5-3-5-5-3-5-3-8z'/%3E%3C/svg%3E")}

/* ---------- ボタン ---------- */
.btn{display:flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--serif);color:#fff;text-decoration:none;border-radius:6px;padding:12px 10px;font-size:16px;letter-spacing:.1em;box-shadow:0 3px 6px rgba(0,0,0,.2)}
.btn-gold{background:linear-gradient(180deg,#c9a85a,#8d6a24)}
.btn-navy{background:linear-gradient(180deg,#3b66ab,#1d3a6e)}
.btn-green{background:linear-gradient(180deg,#52a865,#2b7a3f)}

/* ---------- ヘッダー ---------- */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:4px solid var(--navy)}
.hd-in{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 40px;gap:20px}
.hd-logo img{width:300px;display:block}
.hd-r{text-align:right;font-family:var(--serif)}
.hd-lead{font-size:10px;color:#666;letter-spacing:.08em;line-height:1.6}
.hd-addr{font-size:13px;line-height:1.7}
.pin{display:inline-block;width:10px;height:13px;margin-right:6px;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 13'%3E%3Cpath d='M5 0a5 5 0 0 0-5 5c0 3.5 5 8 5 8s5-4.5 5-8a5 5 0 0 0-5-5zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'/%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 10 13'%3E%3Cpath d='M5 0a5 5 0 0 0-5 5c0 3.5 5 8 5 8s5-4.5 5-8a5 5 0 0 0-5-5zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'/%3E%3C/svg%3E") center/contain no-repeat}
.hd-tel{font-size:13px;font-weight:600}
.hd-tel a{font-size:24px;color:var(--gold);text-decoration:none;letter-spacing:.05em;margin-left:6px}
.hd-menu{display:none}
.drawer{display:none}

/* PC右の固定ボタン */
.side-btn{position:fixed;right:0;top:150px;z-index:40;display:flex;flex-direction:column;gap:10px}
.side-btn a{display:flex;flex-direction:column;align-items:center;gap:10px;width:58px;padding:18px 0;color:#fff;text-decoration:none;font-family:var(--serif);font-size:16px;writing-mode:vertical-rl;letter-spacing:.3em;border-radius:10px 0 0 10px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.side-btn .ic{width:22px;height:22px}
.side-web{background:linear-gradient(90deg,#b8a68a,#8c7a5e)}
.side-line{background:linear-gradient(90deg,#4fbf5d,#2f9a3e)}

/* ---------- FV ---------- */
.fv{position:relative;overflow:hidden;background:#2a4370}
.fv-bg{position:absolute;inset:0;background:linear-gradient(90deg,#1c3566 0%,#1f3a6c 40%,rgba(31,58,108,.55) 52%,rgba(31,58,108,.1) 75%,rgba(31,58,108,0) 100%),url(img/fv.jpg) right 0 top 22%/60% auto no-repeat;}
.fv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 70%,rgba(20,40,80,.35));pointer-events:none}
.fv-in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:70px 40px 40px;min-height:560px}
.fv-box{position:relative;width:560px;padding:36px 30px 40px;text-align:center;font-family:var(--serif);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.7);outline:1px solid rgba(216,191,124,.8);outline-offset:-8px;backdrop-filter:blur(2px)}
.fv-box::before,.fv-box::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--gold2)}
.fv-box::before{left:-6px;top:-6px;border-right:0;border-bottom:0}
.fv-box::after{right:-6px;bottom:-6px;border-left:0;border-top:0}
.fv-pre{font-size:24px;line-height:1.6;letter-spacing:.12em;padding-bottom:16px;margin-bottom:18px;background:linear-gradient(90deg,transparent,var(--gold2),transparent) bottom/80% 1px no-repeat;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.fv-ttl{font-weight:600;line-height:1.35;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.fv-ttl-s{display:block;font-size:30px;letter-spacing:.15em;color:#f4e3b5}
.fv-ttl-m{display:block;font-size:52px;letter-spacing:.08em}
.fv-script{position:absolute;left:0;right:0;bottom:2px;font-family:var(--script);font-size:96px;line-height:1;color:rgba(255,255,255,.18);pointer-events:none}
.fv-laurel{display:flex;gap:6px;margin-top:34px;width:700px}
.fv-laurel li:first-child{flex:1.35}
.fv-laurel li{position:relative;flex:1;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.fv-laurel li::before,.fv-laurel li::after{content:"";position:absolute;top:8px;bottom:8px;width:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 120'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f7e3a3'/%3E%3Cstop offset='.5' stop-color='%23d1a84f'/%3E%3Cstop offset='1' stop-color='%23a07a2c'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M30 118C10 100 6 60 18 8l2 1C9 60 13 98 32 116z'/%3E%3Cellipse cx='9' cy='100' rx='9' ry='4' transform='rotate(-40 9 100)'/%3E%3Cellipse cx='7' cy='84' rx='9' ry='4' transform='rotate(-55 7 84)'/%3E%3Cellipse cx='6' cy='68' rx='9' ry='4' transform='rotate(-65 6 68)'/%3E%3Cellipse cx='7' cy='52' rx='9' ry='4' transform='rotate(-75 7 52)'/%3E%3Cellipse cx='9' cy='36' rx='9' ry='4' transform='rotate(-85 9 36)'/%3E%3Cellipse cx='14' cy='21' rx='8' ry='3.6' transform='rotate(-95 14 21)'/%3E%3Cellipse cx='22' cy='104' rx='9' ry='4' transform='rotate(20 22 104)'/%3E%3Cellipse cx='20' cy='88' rx='9' ry='4' transform='rotate(10 20 88)'/%3E%3Cellipse cx='19' cy='72' rx='9' ry='4' transform='rotate(0 19 72)'/%3E%3Cellipse cx='20' cy='56' rx='9' ry='4' transform='rotate(-10 20 56)'/%3E%3Cellipse cx='22' cy='40' rx='8' ry='3.6' transform='rotate(-20 22 40)'/%3E%3Cellipse cx='25' cy='25' rx='7' ry='3.2' transform='rotate(-30 25 25)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.fv-laurel li::before{left:0}
.fv-laurel li::after{right:0;transform:scaleX(-1)}
.lt{font-size:22px;letter-spacing:.1em;line-height:1.3}
.lt-sm{font-size:15px}
.ln{font-size:42px;font-weight:600;line-height:1.15;letter-spacing:0;white-space:nowrap}
.ln small{font-size:18px;margin-left:2px}
.ln-txt{font-size:26px;line-height:1.3;letter-spacing:.08em}
.lnote{font-size:10px;letter-spacing:0}
.fv-cert{position:absolute;right:40px;bottom:40px;width:190px;text-align:center;font-family:var(--serif);color:#fff;font-size:13px;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.fv-cert figcaption{margin-bottom:8px}
.fv-cert img{border:4px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.35)}

/* ページ内ナビ */
.gnav{background:linear-gradient(180deg,#e8e8e8,#d6d6d6)}
.gnav ul{max-width:1200px;margin:0 auto;display:flex}
.gnav li{flex:1;border-left:1px solid #fff}
.gnav li:last-child{border-right:1px solid #fff}
.gnav a{display:flex;align-items:center;justify-content:center;height:78px;text-align:center;font-family:var(--serif);font-size:14px;line-height:1.5;color:#444;text-decoration:none;transition:.2s}
.gnav a:hover{background:rgba(255,255,255,.6);color:var(--navy)}

/* オールオン4の流れ */
.day1{padding:50px 20px 60px;text-align:center}
.day1-box{display:inline-block;width:640px;max-width:100%;font-family:var(--serif)}
.day1-hd{background:var(--navy);color:#fff;font-size:20px;letter-spacing:.15em;padding:8px}
.day1-flow{display:flex;background:var(--navy-lt)}
.day1-flow li{flex:1;position:relative;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:21px;padding:20px 8px 34px;letter-spacing:.1em}
.day1-flow li:nth-child(2){background:#5b85c2}
.day1-flow li:nth-child(3){background:#3d68a9}
.day1-flow li:not(:last-child)::after{content:"";position:absolute;right:-18px;top:0;bottom:0;width:18px;background:inherit;clip-path:polygon(0 0,100% 50%,0 100%);z-index:1}
.day1-flow .ic{width:30px;height:30px}
.day1-ft{display:inline-block;margin-top:-22px;position:relative;z-index:2;background:var(--navy);color:#fff;font-size:22px;letter-spacing:.15em;padding:6px 60px;clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%)}
.day1-ft b{color:var(--gold2);font-size:32px;font-weight:600;margin:0 4px}

/* ---------- セクション共通 ---------- */
.sec{padding:90px 20px 100px;position:relative}
.sec-marble{background:radial-gradient(ellipse at 15% 20%,rgba(214,192,140,.18),transparent 45%),radial-gradient(ellipse at 85% 75%,rgba(214,192,140,.15),transparent 45%),linear-gradient(160deg,#fbfaf7 0%,#f3efe6 50%,#fbfaf7 100%)}
.sec-cream{background:linear-gradient(180deg,#f7f4ee,#efeae0)}
.sec-paper{background:#f7f7f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}
.sec-glitter{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.9) 0 2px,transparent 3px) 0 0/38px 38px,radial-gradient(circle at 70% 60%,rgba(255,255,255,.8) 0 1.5px,transparent 2.5px) 0 0/27px 27px,linear-gradient(180deg,#e9eaef 0%,#f2f2f6 30%,#f4f4f7 75%,#e6e7ec 100%)}
.ttl{position:relative;text-align:center;margin-bottom:60px;font-family:var(--serif)}
.ttl::before{content:"";display:block;width:26px;height:26px;margin:0 auto 18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg fill='%23c9a85a'%3E%3Cpath d='M13 0c2 4 2 8 0 13-2-5-2-9 0-13z'/%3E%3Cpath d='M13 13c-3-4-8-5-12-3 3 1 5 4 5 7 2-3 4-4 7-4z'/%3E%3Cpath d='M13 13c3-4 8-5 12-3-3 1-5 4-5 7-2-3-4-4-7-4z'/%3E%3Crect x='9' y='19' width='8' height='2'/%3E%3Ccircle cx='13' cy='24' r='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.ttl-en{position:absolute;left:0;right:0;top:44px;font-family:var(--script);font-size:72px;line-height:1;color:rgba(201,168,90,.2);white-space:nowrap;pointer-events:none}
.ttl h2{position:relative;font-size:34px;font-weight:500;letter-spacing:.12em;line-height:1.5;color:#222}
.ttl::after{content:"";display:block;width:300px;max-width:70%;height:12px;margin:22px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop offset='0' stop-color='%23c9a85a' stop-opacity='0'/%3E%3Cstop offset='.5' stop-color='%23c9a85a'/%3E%3Cstop offset='1' stop-color='%23c9a85a' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 6h300' stroke='url(%23g)' stroke-width='2'/%3E%3Cg fill='%23c9a85a'%3E%3Cellipse cx='150' cy='6' rx='9' ry='4'/%3E%3Cellipse cx='134' cy='6' rx='5' ry='2.6'/%3E%3Cellipse cx='166' cy='6' rx='5' ry='2.6'/%3E%3Ccircle cx='123' cy='6' r='2'/%3E%3Ccircle cx='177' cy='6' r='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}

/* 3つの安心 */
.stats{max-width:1000px;margin:0 auto;display:flex;gap:20px}
.stats li{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 16px;padding:26px 16px;color:#fff;font-family:var(--serif);box-shadow:0 3px 10px rgba(0,0,0,.12)}
.stat-dk{background:linear-gradient(135deg,#2c4f8b,#16305d)}
.stat-lt{background:linear-gradient(135deg,#86a8da,#5a83c2)}
.st-l{font-size:15px;line-height:1.5;letter-spacing:.1em}
.st-n{font-size:46px;line-height:1.1;color:#f6d77a;font-weight:600;letter-spacing:0}
.st-n small{font-size:18px;color:#fff;margin-left:2px}
.st-txt{font-size:28px;color:#fff;letter-spacing:.08em}
.st-note{width:100%;text-align:center;font-size:11px;opacity:.9}

/* 院長紹介 */
.doc{text-align:center;font-family:var(--serif)}
.doc-photo{display:inline-block;padding:10px;background:#fff;border:1px solid #d7c69a;outline:1px solid #e8dcbc;outline-offset:6px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.doc-photo img{width:250px;display:block}
.doc-logo{display:block;width:220px;margin:26px auto 8px}
.doc-name{font-size:30px;letter-spacing:.15em}
.doc-name span{display:inline-block;vertical-align:middle;font-size:14px;border:1px solid #888;padding:2px 8px;margin-right:14px;letter-spacing:.1em}
.doc-card{max-width:1100px;margin:40px auto 0;background:#fff;padding:50px 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;box-shadow:0 3px 14px rgba(0,0,0,.05)}
.doc-h{font-family:var(--serif);font-weight:500;text-align:center;font-size:20px;letter-spacing:.12em;margin-bottom:26px;padding-bottom:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8'%3E%3Cpath d='M0 4h200' stroke='%23c9a85a'/%3E%3Cellipse cx='100' cy='4' rx='7' ry='3' fill='%23c9a85a'/%3E%3C/svg%3E") bottom center/200px 8px no-repeat}
.dot li{position:relative;padding-left:16px;font-size:14px;line-height:1.7;margin-bottom:8px}
.dot li::before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:#555}
.dot-2{margin-top:18px;padding-top:18px;border-top:1px dashed #ccc}
.certs{max-width:1100px;margin:50px auto 0;text-align:center}
.certs-h{display:inline-block;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.12em;margin-bottom:26px;padding:0 40px;background:linear-gradient(90deg,var(--gold),var(--gold)) left center/30px 1px no-repeat,linear-gradient(90deg,var(--gold),var(--gold)) right center/30px 1px no-repeat}
.cert-list{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cert-list li{background:#fff;padding:8px;box-shadow:0 3px 10px rgba(0,0,0,.15);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.cert-list img{max-height:100%;object-fit:contain}
.cert-tmp{font-size:12px;line-height:1.6;color:#999;border:1px dashed #ccc;background:#fafafa!important}

/* 当院のインプラント 01〜 */
.feat{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:80px}
.feat-item{display:flex;align-items:center;gap:50px}
.feat-item.rev{flex-direction:row-reverse}
.feat-img{position:relative;flex:0 0 46%;padding-bottom:34px}
.feat-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.feat-img::after{content:"";position:absolute;left:0;right:0;bottom:30px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.rev .feat-img::after{background:linear-gradient(270deg,var(--gold),transparent)}
.feat-en{position:absolute;left:12%;bottom:0;font-family:var(--script);font-size:26px;color:var(--gold);line-height:1}
.feat-no{position:absolute;right:16px;bottom:-4px;font-family:var(--script);font-size:96px;line-height:1;color:var(--navy2)}
.feat-txt{flex:1;text-align:center}
.feat-txt h3{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.6;letter-spacing:.1em;padding-bottom:20px;margin-bottom:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8'%3E%3Cpath d='M0 4h200' stroke='%23c9a85a'/%3E%3Cellipse cx='100' cy='4' rx='7' ry='3' fill='%23c9a85a'/%3E%3C/svg%3E") bottom center/200px 8px no-repeat}
.feat-txt p{font-size:14.5px;line-height:2.1;text-align:left;display:inline-block}

/* オールオン4の特徴カード */
.cards{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid #eee;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:24px 22px 30px}
.card-img{position:relative;margin-bottom:22px}
.card-img img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.card-no{position:absolute;right:6px;bottom:-22px;font-family:var(--script);font-size:72px;line-height:1;color:var(--navy2)}
.card h3{font-family:var(--serif);font-weight:500;text-align:center;font-size:19px;line-height:1.7;letter-spacing:.08em;padding-bottom:16px;margin-bottom:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8'%3E%3Cpath d='M0 4h200' stroke='%23c9a85a'/%3E%3Cellipse cx='100' cy='4' rx='7' ry='3' fill='%23c9a85a'/%3E%3C/svg%3E") bottom center/180px 8px no-repeat}
.card p{font-size:14px;line-height:1.95;margin-bottom:12px}

/* ---------- CTA ---------- */
.cta{padding:60px 20px 50px;text-align:center;border-top:3px solid var(--gold2);border-bottom:3px solid var(--gold2);background:radial-gradient(ellipse at 80% 30%,rgba(214,192,140,.25),transparent 50%),radial-gradient(ellipse at 10% 80%,rgba(214,192,140,.2),transparent 45%),linear-gradient(150deg,#fff 0%,#f4efe5 60%,#fbf9f4 100%)}
.cta-lead{font-family:var(--serif);font-size:20px;letter-spacing:.1em;line-height:1.8;margin-bottom:30px}
.cta-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.cbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:250px;height:76px;border-radius:6px;color:#fff;text-decoration:none;font-family:var(--serif);font-size:17px;line-height:1.35;letter-spacing:.08em;box-shadow:0 4px 8px rgba(0,0,0,.25);transition:.2s}
.cbtn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.28)}
.cbtn::after{content:"";position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 0a9 9 0 1 0 0 18A9 9 0 0 0 9 0zm-1 13V5l5 4z'/%3E%3C/svg%3E") center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M9 0a9 9 0 1 0 0 18A9 9 0 0 0 9 0zm-1 13V5l5 4z'/%3E%3C/svg%3E") center/contain}
.cbtn .ic{width:22px;height:22px}
.cbtn small{display:block;font-size:13px}
.cbtn-tel{background:linear-gradient(180deg,#c9a24f,#8a6420)}
.cbtn-tel span{font-size:19px}
.cbtn-web{background:linear-gradient(180deg,#d9cfc0,#b5a68c);color:#4a3d2a}
.cbtn-web::after{background:#6a5a40}
.cbtn-line{background:linear-gradient(180deg,#4ea0d9,#1f4f97)}
.cta-time{margin-top:22px;font-size:13px;line-height:1.8}
.cta-badge{max-width:1000px;margin:24px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cta-badge li{display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;padding:14px 10px;font-family:var(--serif);font-size:15px;box-shadow:0 2px 8px rgba(0,0,0,.08);min-height:84px}
.cta-badge b{font-size:36px;color:var(--gold);font-weight:600;line-height:1}
.cta-badge small{display:block;font-size:11px}
.cta-badge .bt{font-size:14px;line-height:1.5;text-align:left}
.cta-badge em{font-style:normal;font-size:22px;color:var(--gold)}
.bi{flex:0 0 52px;height:52px;margin-right:8px;border-radius:50%;background:linear-gradient(135deg,#3a63a6,#16305d) ;position:relative}
.bi::after{content:"";position:absolute;inset:12px;background:#fff;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.bi-yen{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M6 3l6 9 6-9M12 12v9M7 13h10M7 17h10'/%3E%3C/svg%3E")}
.bi-shield{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5z'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E")}
.bi-sleep{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20 14A8 8 0 1 1 10 4a7 7 0 0 0 10 10z'/%3E%3Cpath d='M14 3h4l-4 4h4'/%3E%3C/svg%3E")}

/* ---------- 料金表 ---------- */
.price{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:14px}
.price dl{background:#fff;border:1px solid #e3ddd0;border-radius:10px;padding:14px;text-align:center}
.price-head{color:#666;font-size:14px}
.price dt,.price dd{height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #e6e1d6}
.price dd:last-child{border-bottom:0}
.price-col dt{background:linear-gradient(180deg,#2c5596,#1d3a6e);color:#fff;border-radius:6px;font-family:var(--serif);font-size:18px;line-height:1.35;letter-spacing:.08em;border:0}
.price-col dt small{font-size:13px}
.price-col dd{font-family:var(--serif);font-size:15px;flex-direction:row;align-items:baseline;gap:2px}
.price-col dd b{font-size:28px;font-weight:600;color:var(--navy);letter-spacing:.02em}
.price-col dd:nth-of-type(2) b{color:var(--gold-dk)}
.price-note{max-width:900px;margin:30px auto 0;background:#f4eee3;border:1px solid #d9ccb0;border-radius:10px;padding:34px 50px;text-align:center}
.price-note h3{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.12em;margin-bottom:14px}
.price-note p{font-size:14px;line-height:1.9;padding-bottom:18px;margin-bottom:18px;border-bottom:3px double #d4c4a0;text-align:left}
.price-note ul{display:inline-block;text-align:left;font-size:13px;line-height:1.8}

/* ---------- 比較表 ---------- */
.cmp-wrap{max-width:1000px;margin:0 auto}
.cmp{width:100%;border-collapse:collapse;font-family:var(--serif);table-layout:fixed}
.cmp thead th{border:0;padding:0 8px 18px;font-weight:500;font-size:17px;line-height:1.5;vertical-align:bottom}
.cmp thead th:first-child{width:20%}
.cmp thead img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px;border:3px solid #fff;outline:1px solid #d6c79f;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.cmp thead small{font-size:13px}
.cmp tbody th,.cmp tbody td{border-top:1px solid #333;border-bottom:1px solid #333;padding:20px 10px;text-align:center;font-size:15px;font-weight:400;background:#fff}
.cmp tbody tr:nth-child(even) th,.cmp tbody tr:nth-child(even) td{background:#f6f0e4}
.cmp tbody td{border-left:1px dashed #555}

/* ---------- オールオン4とは ---------- */
.what{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:0}
.what-txt{flex:0 0 58%;background:#fff;padding:40px 40px;position:relative;z-index:1}
.what-txt p{font-size:14.5px;line-height:2.1;margin-bottom:22px}
.what-txt p:last-child{margin-bottom:0}
.what-img{flex:1;margin-left:-40px;margin-top:80px}
.what-img img{width:100%;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.sub-ttl{max-width:1000px;margin:80px auto 34px;text-align:center;font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:.12em;color:var(--gold-dk)}
.orn{display:block;width:210px;height:18px;margin:0 auto 14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 18' fill='none' stroke='%23d1a84f' stroke-width='2'%3E%3Cpath d='M2 9c20-12 40 12 60 0s40-12 52 0 32 12 52 0 30-8 42 0'/%3E%3Cpath d='M2 9c20 12 40-12 60 0s40 12 52 0 32-12 52 0 30 8 42 0'/%3E%3C/svg%3E") center/contain no-repeat}
.check2{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;font-family:var(--serif)}
.check2 li{position:relative;padding-left:34px;font-size:17px;line-height:1.6;letter-spacing:.08em}
.check2 li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border:1.5px solid var(--gold);background:#fff}
.check2 li::after{content:"";position:absolute;left:5px;top:3px;width:12px;height:7px;border-left:2px solid var(--gold-dk);border-bottom:2px solid var(--gold-dk);transform:rotate(-45deg);top:6px}
.md{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.md-hd{position:relative;text-align:center;font-family:var(--serif);font-size:22px;letter-spacing:.2em;padding:34px 0 10px;margin-bottom:24px;border-bottom:1px solid #333}
.md-hd::after{content:"";position:absolute;left:46%;bottom:-1px;width:16px;height:12px;background:#f3f3f6;border-left:1px solid #333;transform:skewX(-35deg)}
.md-en{position:absolute;left:0;right:0;top:0;font-family:var(--script);font-size:46px;line-height:1;letter-spacing:0;opacity:.3}
.md-m .md-hd{color:#c0414c}.md-m .md-en{color:#e48a95}
.md-d .md-hd{color:var(--navy2)}.md-d .md-en{color:#7da0d4}
.md dt{position:relative;padding-left:30px;font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:.06em;margin-bottom:10px}
.md dt::before{content:"";position:absolute;left:0;top:5px;width:17px;height:17px;border:1.5px solid currentColor;background:#fff}
.md dt::after{content:"";position:absolute;left:4px;top:8px;width:10px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.md-m dt{color:#333}.md-m dt::before,.md-m dt::after{border-color:#c0414c}
.md-d dt::before,.md-d dt::after{border-color:var(--navy2)}
.md dd{font-size:14px;line-height:1.9;padding-left:30px;margin-bottom:28px}

/* ---------- 症例 ---------- */
.cases{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:30px}
.case{background:#efe8d8;padding-bottom:30px}
.case-tag{background:var(--navy);color:#fff;font-family:var(--serif);font-size:18px;letter-spacing:.15em;text-align:center;padding:8px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ba>div{position:relative;aspect-ratio:3/2;overflow:hidden;background:#ddd}
.ba img{width:100%;height:100%;object-fit:cover;display:block}
.ba-l{position:absolute;left:10px;top:4px;font-family:var(--serif);font-size:28px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.ba-l small{font-size:13px;margin-left:8px}
.ba-tmp{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#e4e4e4 0 10px,#ececec 10px 20px)!important}
.ba-tmp em{font-style:normal;color:#888;text-align:center;font-size:14px;line-height:1.6}
.ba-tmp .ba-l{color:#666;text-shadow:none}
.case-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:30px 30px 0}
.case-info dl{display:grid;grid-template-columns:100px 1fr;background:#fff;align-content:start}
.case-info dt{background:#b0924f;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:1.5;padding:12px 6px;border-bottom:1px solid #fff}
.case-info dd{padding:12px 14px;font-size:13.5px;line-height:1.75;border-bottom:1px solid #eee;display:flex;flex-direction:column;justify-content:center}

/* ---------- 治療の流れ ---------- */
.flow{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:18px;counter-reset:f}
.flow li{position:relative;display:flex;align-items:stretch;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.flow li:not(:last-child)::after{content:"";position:absolute;left:50px;bottom:-14px;border:10px solid transparent;border-top-color:var(--gold);border-bottom:0;z-index:1}
.fl-no{flex:0 0 120px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c5596,#1d3a6e);color:#fff;font-family:var(--serif);font-size:12px;letter-spacing:.15em;line-height:1.2}
.fl-no b{font-size:30px;font-weight:500;color:var(--gold2);letter-spacing:0}
.flow li>div{padding:18px 26px}
.flow h3{font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:.08em;margin-bottom:4px;color:var(--navy)}
.flow p{font-size:14px;line-height:1.8}
.flow-note{max-width:900px;margin:30px auto 0;font-size:13px;line-height:1.9;padding:20px 26px;border:1px solid #d7c69a;background:#fffdf7}

/* ---------- FAQ ---------- */
.faq-sec{background:linear-gradient(90deg,#fff 0 66%,#e9edf3 66%)}
.faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq details{background:#ede7d6}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:14px 50px 14px 52px;font-size:15px;line-height:1.7;letter-spacing:.06em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:18px;top:8px;font-family:var(--script);font-size:30px;color:var(--gold-dk)}
.faq summary::after{content:"＋";position:absolute;right:20px;top:14px;color:var(--gold-dk)}
.faq details[open] summary{background:linear-gradient(180deg,#b9984f,#a3813c);color:#fff}
.faq details[open] summary::before{color:#fff}
.faq details[open] summary::after{content:"－";color:#fff}
.faq-a{position:relative;background:#fff;padding:18px 26px 22px 52px;font-size:14.5px;line-height:1.95}
.faq-a::before{content:"A";position:absolute;left:20px;top:10px;font-family:var(--script);font-size:30px;color:var(--gold)}

/* ---------- フッター ---------- */
.ft{background:#efebe3;padding:60px 20px 0}
.ft-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:50px}
.ft-bnr{position:relative;display:block;height:150px;overflow:hidden;border:1px solid #c9b88a;text-decoration:none}
.ft-bnr>img{width:100%;height:100%;object-fit:cover;filter:sepia(.35) brightness(1.05)}
.ft-bnr-in{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);padding:12px;text-align:center}
.ft-bnr-in img{width:240px}
.ft-bnr-in small{display:block;margin-top:6px;font-size:12px;color:var(--gold-dk);font-family:var(--serif);letter-spacing:.1em}
.ft-addr{margin-top:24px;background:#fff;border-radius:30px;padding:8px 20px;font-family:var(--serif);font-size:14px;text-align:center}
.ft-tel{margin-top:18px;text-align:center;font-family:var(--serif);font-size:14px;font-weight:600}
.ft-tel a{font-size:26px;color:var(--gold);text-decoration:none;margin-left:6px}
.hours{width:100%;margin-top:20px;background:#fff;border-collapse:collapse;font-family:var(--serif);font-size:14px;text-align:center}
.hours th,.hours td{padding:12px 4px}
.hours thead th{font-weight:600;border-bottom:1px solid #ddd}
.hours thead th:first-child{font-weight:400;color:#666}
.hours td{color:#8a6420}
.hours td:first-child{color:#333;white-space:nowrap}
.hours-note{margin-top:8px;text-align:right;font-size:13px;color:#c0414c;font-family:var(--serif)}
.map{height:340px;border:1px solid #d7cfbe;border-radius:6px;overflow:hidden;background:#fff}
.map iframe{width:100%;height:100%;border:0;display:block}
.ft-route{margin-top:16px;background:#fff;border:1px solid #ddd;border-radius:6px;padding:14px 20px;font-size:13px;line-height:1.9}
.ft-route li::before{content:"・"}
.copy{background:#8a7d6b;color:#fff;text-align:center;font-size:11px;padding:12px;margin:0 -20px}

.fix-sp{display:none}
.pagetop{position:fixed;right:16px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--navy);opacity:0;pointer-events:none;transition:.3s;z-index:40}
.pagetop::after{content:"";position:absolute;left:17px;top:19px;width:12px;height:12px;border-left:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg)}
.pagetop.on{opacity:.85;pointer-events:auto}

/* ---------- タブレット ---------- */
@media (max-width:1100px){
  .hd-in{padding:10px 20px}
  .hd-lead{display:none}
  .fv-cert{width:150px;right:80px}
  .fv-box{width:520px}
  .fv-cert{font-size:12px}
  .gnav a{font-size:12.5px;letter-spacing:0}
}
@media (min-width:768px) and (max-width:960px){
  .fv-cert{top:40px;bottom:auto;right:70px;width:136px;font-size:11px;letter-spacing:0}
  .fv-cert figcaption{white-space:nowrap}
}

/* ---------- スマホ ---------- */
@media (max-width:767px){
  body{font-size:14px}
  html{scroll-padding-top:64px}
  .hd{border-bottom-width:3px}
  .hd-in{padding:8px 0 8px 12px;gap:8px}
  .hd-logo img{width:220px}
  .hd-r{display:none}
  .hd-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:58px;height:52px;margin:-8px 0;background:#9e8a5f;border:0;color:#fff;cursor:pointer}
  .hd-menu span{display:block;width:28px;height:2px;background:#fff;transition:.3s}
  .hd-menu em{font-style:normal;font-size:10px;letter-spacing:.1em;line-height:1}
  .hd.open .hd-menu span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hd.open .hd-menu span:nth-child(2){opacity:0}
  .hd.open .hd-menu span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .drawer{display:block;position:absolute;left:0;right:0;top:100%;max-height:0;overflow:hidden;background:rgba(29,58,110,.97);transition:max-height .35s}
  .hd.open .drawer{max-height:calc(100vh - 60px);overflow-y:auto}
  .drawer ul{padding:10px 20px}
  .drawer li a{display:block;color:#fff;text-decoration:none;font-family:var(--serif);padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.2)}
  .drawer-btn{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 20px 24px}

  .side-btn{display:none}

  .fv-bg{background:linear-gradient(180deg,rgba(25,48,92,.55) 0%,rgba(40,70,120,.35) 50%,rgba(25,48,92,.75) 100%),url(img/fv.jpg) center 30%/cover no-repeat}
  .fv-in{padding:96px 14px 22px;min-height:0}
  .fv-box{width:100%;padding:22px 12px 26px}
  .fv-pre{font-size:17px;padding-bottom:10px;margin-bottom:12px}
  .fv-ttl-s{font-size:20px}
  .fv-ttl-m{font-size:33px}
  .fv-script{font-size:64px}
  .fv-laurel{width:100%;margin-top:18px;gap:2px}
  .fv-laurel li{height:108px}
  .fv-laurel li::before,.fv-laurel li::after{width:28px}
  .lt{font-size:14px}
  .lt-sm{font-size:9.5px;letter-spacing:0}
  .ln{font-size:22px}
  .ln small{font-size:10px;margin-left:0}
  .fv-laurel li{padding:0 14px}
  .fv-laurel li:first-child{flex:1.5}
  .ln-txt{font-size:17px}
  .lnote{font-size:8px;line-height:1.3;text-align:center;white-space:nowrap;transform:scale(.85)}
  .fv-cert{left:14px;right:auto;top:14px;bottom:auto;width:auto;display:flex;align-items:center;gap:10px;font-size:11px;text-align:left}
  .fv-cert figcaption{order:2;margin:0}
  .fv-cert img{width:54px;border-width:2px}

  .gnav ul{flex-wrap:wrap}
  .gnav li{flex:0 0 33.333%;border-left:0;border-right:1px solid #fff!important;border-bottom:1px solid #fff}
  .gnav li:nth-child(3n){border-right:0!important}
  .gnav a{height:60px;font-size:11.5px}

  .day1{padding:30px 10px 26px}
  .day1-hd{font-size:16px;padding:6px}
  .day1-flow li{font-size:14px;gap:4px;padding:14px 2px 30px;letter-spacing:.02em}
  .day1-flow .ic{width:20px;height:20px}
  .day1-flow li:not(:last-child)::after{right:-12px;width:12px}
  .day1-ft{font-size:16px;padding:4px 40px}
  .day1-ft b{font-size:24px}
  .sp-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}

  .sec{padding:60px 16px 70px}
  .ttl{margin-bottom:40px}
  .ttl::before{width:20px;height:20px;margin-bottom:12px}
  .ttl-en{top:34px;font-size:46px;white-space:normal;line-height:.9}
  .ttl h2{font-size:24px}
  .ttl::after{margin-top:16px}

  .stats{flex-direction:column;gap:10px}
  .stats li{padding:18px 12px}
  .st-n{font-size:38px}
  .st-txt{font-size:24px}

  .doc-photo img{width:200px}
  .doc-name{font-size:24px}
  .doc-card{grid-template-columns:1fr;padding:30px 20px;gap:30px;margin-top:30px}
  .doc-h{font-size:18px;margin-bottom:18px}
  .cert-list{grid-template-columns:repeat(3,1fr);gap:10px}

  .feat{gap:50px}
  .feat-item,.feat-item.rev{flex-direction:column;gap:20px}
  .feat-img{width:100%}
  .feat-no{font-size:68px}
  .feat-en{font-size:20px;left:6%}
  .feat-txt h3{font-size:20px;padding-bottom:14px;margin-bottom:16px}
  .feat-txt p{font-size:14px}

  .cards{grid-template-columns:1fr;gap:20px}
  .card-no{font-size:60px}

  .cta{padding:40px 14px 36px}
  .cta-lead{font-size:15px;margin-bottom:20px}
  .cta-btns{flex-direction:column;align-items:center;gap:10px}
  .cbtn{width:100%;max-width:340px;height:64px;font-size:16px}
  .cbtn br{display:none}
  .cta-time{font-size:12px}
  .cta-badge{grid-template-columns:1fr;gap:8px}
  .cta-badge li{min-height:70px;justify-content:flex-start;padding:10px 18px}
  .bi{flex-basis:44px;height:44px}
  .bi::after{inset:10px}

  .price{grid-template-columns:1fr;gap:16px}
  .price-head{display:none}
  .price-col dt{height:auto;padding:10px}
  .price-col dd{height:auto;flex-direction:row;justify-content:space-between;padding:12px 8px}
  .price-col dd::before{content:attr(data-l);font-family:var(--sans);font-size:12px;color:#777}
  .price-col dd b{font-size:24px}
  .price-note{padding:26px 18px}
  .price-note h3{font-size:18px}

  .cmp-wrap{margin:0 -6px}
  .cmp thead th{font-size:12px;padding:0 3px 10px;letter-spacing:0}
  .cmp thead th:first-child{width:24%}
  .cmp thead img{border-width:2px;margin-bottom:8px}
  .cmp thead small{font-size:10px}
  .cmp tbody th,.cmp tbody td{font-size:11.5px;padding:12px 2px;letter-spacing:0;line-height:1.5}

  .what{flex-direction:column}
  .what-txt{padding:24px 20px}
  .what-img{margin:-10px 0 0 30px}
  .sub-ttl{font-size:19px;margin:56px auto 24px}
  .orn{width:160px}
  .check2{grid-template-columns:1fr;gap:12px}
  .check2 li{font-size:15px}
  .md{grid-template-columns:1fr;gap:30px}
  .md-en{font-size:36px}
  .md dt{font-size:16px}

  .case-tag{font-size:15px}
  .ba-l{font-size:20px}
  .ba-l small{display:block;margin:0;font-size:10px;line-height:1}
  .case-info{grid-template-columns:1fr;gap:10px;padding:16px 12px 0}
  .case-info dl{grid-template-columns:84px 1fr}
  .case-info dt{font-size:12px}
  .case-info dd{font-size:13px;padding:10px}
  .case{padding-bottom:16px}

  .fl-no{flex-basis:76px;font-size:10px}
  .fl-no b{font-size:24px}
  .flow li>div{padding:14px 16px}
  .flow h3{font-size:16px}
  .flow p{font-size:13px}
  .flow li:not(:last-child)::after{left:28px}

  .faq-sec{background:#fff}
  .faq summary{font-size:14px;padding:12px 40px 12px 44px}
  .faq summary::before{left:14px;top:6px;font-size:26px}
  .faq summary::after{right:14px;top:12px}
  .faq-a{padding:14px 16px 18px 44px;font-size:13.5px}
  .faq-a::before{left:16px}

  .ft{padding:40px 16px 0}
  .ft-in{grid-template-columns:1fr;gap:24px;padding-bottom:30px}
  .ft-addr{font-size:12.5px;border-radius:10px}
  .map{height:260px}
  .copy{margin:0 -16px;padding-bottom:80px}

  .fix-sp{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -2px 8px rgba(0,0,0,.15)}
  .fix-sp a{display:flex;align-items:center;justify-content:center;gap:6px;height:56px;color:#fff;text-decoration:none;font-family:var(--serif);font-size:14px;letter-spacing:.06em}
  .fx-line{background:linear-gradient(180deg,#4fbf5d,#2f9a3e)}
  .fx-tel{background:linear-gradient(180deg,#c9a24f,#8a6420)}
  .fx-web{background:linear-gradient(180deg,#3b66ab,#1d3a6e)}
  .pagetop{bottom:70px;right:10px;width:40px;height:40px}
  .pagetop::after{left:14px;top:16px}
}
/* 提携医院 */
.partner{max-width:900px;margin:56px auto 0;background:#fff;border:1px solid #e6dcc4;padding:34px 40px 36px}
.partner-h{font-family:var(--serif);font-weight:500;text-align:center;font-size:22px;letter-spacing:.1em;color:var(--navy);margin-bottom:26px}
.partner-in{display:flex;gap:36px;align-items:center}
.partner-photo{flex:0 0 220px;text-align:center}
.partner-photo img{width:220px;height:220px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 14px}
.partner-photo figcaption{font-family:var(--serif);font-size:14px;line-height:1.8}
.partner-photo b{font-size:17px;font-weight:500;color:var(--navy)}
.partner-txt p{font-size:15px;line-height:2;margin-bottom:10px}
@media (max-width:767px){
  .partner{margin-top:36px;padding:26px 18px 24px}
  .partner-h{font-size:19px;margin-bottom:18px}
  .partner-in{flex-direction:column;gap:18px}
  .partner-photo{flex:none}
  .partner-photo img{width:170px;height:170px}
  .partner-txt p{font-size:14px}
}

/* ---------- 表示崩れ対策（1文字だけの改行・数字の途中の改行など） ---------- */
.nw{display:inline-block}
p,li,dd,th,td,summary,h3{text-wrap:pretty}
.cta-badge small{white-space:nowrap}
@media (min-width:768px) and (max-width:960px){
  .cta-badge{grid-template-columns:1fr;max-width:560px;gap:10px}
  .cta-badge li{min-height:70px}
}
@media (max-width:767px){
  .fv-cert{font-size:12px}
  .ba-tmp{padding-top:36px}
  .gnav a{font-size:12px;letter-spacing:.02em}
  .cmp tbody th,.cmp tbody td{font-size:12px}
  .st-note,.cta-badge small{font-size:12px}
  .cta-badge li{gap:4px;padding:10px 12px}
  .ba-l small{font-size:12px}
}

/* ---------- CTA下の強み：TOP下「3つの安心」と同じデザインに統一 10/14 ---------- */
.stats-cta{margin:24px auto 0;text-align:left}
@media (max-width:767px){.stats-cta{margin-top:18px}}

/* ---------- 強み（3つの安心・CTA下）文字組みの調整 10/14 ---------- */
.stats li{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:0;padding:28px 16px 26px;text-align:center}
.stats .st-l{font-size:15px;line-height:1.4;letter-spacing:.12em;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(246,215,122,.55)}
.stats .st-v{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px}
.stats .st-n{font-size:48px;line-height:1.05;letter-spacing:.01em;white-space:nowrap}
.stats .st-n small{font-size:17px;margin-left:3px;letter-spacing:.04em}
.stats .st-txt{font-size:30px;line-height:1.35;letter-spacing:.1em;color:#fff}
.stats .st-note{width:auto;margin-top:6px;font-size:11px;letter-spacing:.06em;opacity:.85}
.stats-cta{text-align:center}
@media (max-width:767px){
  .stats{gap:8px}
  .stats li{display:grid;grid-template-columns:130px 1fr;align-items:center;column-gap:16px;padding:16px 16px;min-height:84px;text-align:left}
  .stats .st-l{font-size:13px;letter-spacing:.06em;line-height:1.5;white-space:nowrap;padding:4px 12px 4px 0;margin:0;border-bottom:0;border-right:1px solid rgba(246,215,122,.55)}
  .stats .st-v{align-items:flex-start;min-height:0}
  .stats .st-n{font-size:38px}
  .stats .st-n small{font-size:15px}
  .stats .st-txt{font-size:24px;letter-spacing:.08em}
  .stats .st-note{margin-top:4px;font-size:11px}
}

/* ---------- iPhoneでの文字崩れ対策（ページ内メニュー・FVバッジ） 10/14 ---------- */
.gnav a{word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:767px){
  .gnav a{height:auto;min-height:60px;padding:8px 4px;font-size:12px;line-height:1.45;letter-spacing:0}
  .fv-laurel .lnote{word-break:keep-all;overflow-wrap:anywhere}
}

/* ---------- FV中央の枠：ぼかし無し 10/15 ---------- */
.fv-box{-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---------- 強み：枠の大きさをそろえて3色に 10/15 ---------- */
.stats li:nth-child(1){background:linear-gradient(135deg,#2c4f8b,#16305d)}
.stats li:nth-child(2){background:linear-gradient(135deg,#c9a560,#93702c)}
.stats li:nth-child(2) .st-n{color:#fff}
.stats li:nth-child(2) .st-l{border-color:rgba(255,255,255,.6)}
.stats li:nth-child(3){background:linear-gradient(135deg,#6f97d0,#4672b5)}
@media (max-width:767px){
  .stats li{flex:0 0 auto;min-height:0;height:104px}
}

/* ---------- 症例：ビフォー・アフターを縦に並べて写真を大きく 10/15 ---------- */
.ba{grid-template-columns:1fr;gap:12px;max-width:760px;margin:0 auto;padding:30px 30px 0}
.ba>div{aspect-ratio:auto}
.ba img{height:auto}
.ba-tmp{aspect-ratio:3/2!important}
@media (max-width:767px){
  .ba{gap:8px;padding:12px 12px 0}
}

/* ===== 10/21 デザイン調整（オールオン4の流れ・3つの安心・CTA下の強み・修了証・メリットデメリット） ===== */

/* --- オールオン4の流れ：立体感 --- */
.day1-box{filter:drop-shadow(0 10px 16px rgba(20,40,80,.22))}
.day1-hd{position:relative;background:linear-gradient(180deg,#2d5394 0%,#1d3a6e 55%,#142b55 100%);color:#f6e6b8;border:2px solid #c9a75a;border-bottom:0;border-radius:10px 10px 0 0;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.day1-hd::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#e9d08c,transparent)}
.day1-flow{border:2px solid #c9a75a;border-top:0;border-radius:0 0 10px 10px;overflow:hidden;background:#3d68a9}
.day1-flow li{text-shadow:0 1px 3px rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.day1-flow li:nth-child(1){background:linear-gradient(180deg,#9dbbe6 0%,#7099d2 48%,#5f88c4 100%)}
.day1-flow li:nth-child(2){background:linear-gradient(180deg,#7ea2d8 0%,#5b85c2 48%,#4a74b3 100%)}
.day1-flow li:nth-child(3){background:linear-gradient(180deg,#5a85c6 0%,#3d68a9 48%,#2e5795 100%)}
.day1-flow li::before{content:"";position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0));pointer-events:none}
.day1-flow li:not(:last-child)::after{filter:drop-shadow(3px 0 2px rgba(0,0,0,.18))}
.day1-flow .ic{color:#fbe9b4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.day1-ft{background:linear-gradient(135deg,#f8e7b0 0%,#d6b062 35%,#a07a2c 62%,#efd590 100%);color:#fff;padding:8px 64px;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.day1-ft::before{content:"";position:absolute;inset:3px;z-index:-1;background:linear-gradient(180deg,#2d5394 0%,#1a3566 55%,#122850 100%);clip-path:polygon(6% 0,94% 0,100% 50%,94% 100%,6% 100%,0 50%)}
.day1-ft b{color:#f6d77a}
@media (max-width:767px){
  .day1-ft{padding:6px 42px}
  .day1-hd{border-radius:8px 8px 0 0}
  .day1-flow{border-radius:0 0 8px 8px}
}

/* --- 3つの安心・CTA下の強み：金の縁取り＋光沢＋アイコンで立体的に --- */
.stats{gap:28px}
#strength .stats{margin-top:46px}
.stats-cta{margin-top:50px}
.stats li{position:relative;border:3px solid transparent;border-radius:12px;padding:44px 16px 26px;box-shadow:0 12px 24px rgba(15,35,75,.25),0 2px 4px rgba(0,0,0,.12)}
.stats li:nth-child(1){background:linear-gradient(160deg,#3a64a8 0%,#22437e 50%,#132b58 100%) padding-box,linear-gradient(135deg,#fbecbb 0%,#d2ab57 35%,#a07a2c 62%,#f3dc9a 100%) border-box}
.stats li:nth-child(2){background:linear-gradient(160deg,#dcbd77 0%,#b8924a 50%,#8a6627 100%) padding-box,linear-gradient(135deg,#fff8de 0%,#f0dca4 35%,#c9a75a 62%,#fff3cf 100%) border-box}
.stats li:nth-child(3){background:linear-gradient(160deg,#86aadf 0%,#5b85c2 50%,#3c66a8 100%) padding-box,linear-gradient(135deg,#fbecbb 0%,#d2ab57 35%,#a07a2c 62%,#f3dc9a 100%) border-box}
.stats li::before{content:"";position:absolute;inset:6px;border:1px solid rgba(248,226,160,.7);border-radius:7px;pointer-events:none}
.stats li:nth-child(2)::before{border-color:rgba(255,255,255,.7)}
.stats li::after{content:"";position:absolute;left:0;right:0;top:0;height:48%;border-radius:9px 9px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0));pointer-events:none}
.stats .st-n{text-shadow:0 2px 4px rgba(0,0,0,.3)}
.stats .st-l{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.stats .st-txt{text-shadow:0 2px 4px rgba(0,0,0,.3)}
.st-ic{position:absolute;left:50%;top:-30px;transform:translateX(-50%);width:60px;height:60px;border-radius:50%;z-index:1;background:radial-gradient(circle at 35% 28%,#fff6d6 0%,#f1d98f 30%,#d1a84f 65%,#a07a2c 100%);box-shadow:0 5px 10px rgba(0,0,0,.3),inset 0 0 0 2px rgba(255,255,255,.55),inset 0 -4px 8px rgba(110,78,20,.35)}
.st-ic::before{content:"";position:absolute;inset:15px;background:#1d3a6e;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.st-ic-yen{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3l7 9 7-9M12 12v9M6.5 13h11M6.5 17h11'/%3E%3C/svg%3E")}
.st-ic-shield{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}
.st-ic-moon{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5A8.5 8.5 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z'/%3E%3Cpath d='M16 3.5v3M14.5 5h3'/%3E%3C/svg%3E")}
@media (max-width:767px){
  .stats{gap:10px}
  #strength .stats,.stats-cta{margin-top:18px}
  .stats li{padding:16px 16px;border-width:2px;border-radius:10px}
  .stats li::before{inset:4px;border-radius:6px}
  .stats li::after{border-radius:8px 8px 0 0}
  .st-ic{display:none}
}

/* --- セミナー修了証：いただいた画像に差し替え --- */
.cert-list2{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:30px 26px}
.cert-list2 li{background:none;padding:0;box-shadow:none;aspect-ratio:auto;display:block}
.cert-list2 figure{margin:0}
.cert-list2 img{display:block;height:240px;width:auto;max-width:100%;max-height:none;margin:0 auto;background:#fff;padding:6px;border:1px solid #e3d5b2;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.cert-list2 figcaption{margin-top:12px;font-family:var(--serif);font-size:14px;line-height:1.55;letter-spacing:.04em;color:#333}
@media (max-width:767px){
  .cert-list2{gap:20px 10px}
  .cert-list2 li{width:calc(50% - 5px)}
  .cert-list2 img{height:118px;padding:4px}
  .cert-list2 figcaption{margin-top:8px;font-size:12px;letter-spacing:0}
}

/* --- オールオン4のメリット・デメリット：白の半透明の枠で読みやすく --- */
.md-col{background:rgba(255,255,255,.88);border:1px solid #fff;border-radius:12px;padding:6px 32px 8px;box-shadow:0 6px 20px rgba(30,50,90,.08)}
.md-hd::after{background:#fefefe}
@media (max-width:767px){
  .md-col{padding:4px 16px 4px}
}

/* --- オールオン4の流れ：矢印（三角）の継ぎ目の線を消す 10/21 --- */
.day1-flow li{box-shadow:none}
.day1-flow li::before{content:none}
.day1-flow li:nth-child(1){background:linear-gradient(180deg,#b3cbee 0%,#8aaee0 22%,#7099d2 50%,#5f88c4 100%)}
.day1-flow li:nth-child(2){background:linear-gradient(180deg,#98b7e4 0%,#7097cf 22%,#5b85c2 50%,#4a74b3 100%)}
.day1-flow li:nth-child(3){background:linear-gradient(180deg,#7ba0d6 0%,#5480c0 22%,#3d68a9 50%,#2e5795 100%)}
.day1-flow li:not(:last-child)::after{filter:none;right:-17px;width:18px}
@media (max-width:767px){
  .day1-flow li:not(:last-child)::after{right:-11px;width:12px}
}

/* --- 「最短1日！」の文字まわりの余白をそろえる 10/21 --- */
.day1-ft{display:inline-flex;align-items:baseline;justify-content:center;line-height:1.3;letter-spacing:.14em;padding:10px 64px 10px 64px}
.day1-ft b{margin:0 .22em 0 .1em;line-height:1;letter-spacing:0}
.day1-ex{letter-spacing:0;margin-right:-.5em}
@media (max-width:767px){
  .day1-ft{padding:7px 42px}
}

/* --- SPのFV：認定証を中央の帯にまとめ、枠の飾りと重ならないように 10/21 --- */
@media (max-width:767px){
  .fv-in{display:flex;flex-direction:column;padding-top:18px}
  .fv-cert{position:static;order:-1;align-self:center;display:flex;align-items:center;gap:12px;width:auto;margin:0 0 22px;padding:7px 18px 7px 7px;background:rgba(18,38,78,.55);border:1px solid rgba(216,191,124,.75);border-radius:4px;font-size:12px;line-height:1.5;letter-spacing:.04em;text-align:left;text-shadow:none}
  .fv-cert figcaption{order:2;margin:0;white-space:nowrap}
  .fv-cert img{width:44px;border-width:2px;box-shadow:0 2px 6px rgba(0,0,0,.35)}
}

/* --- SPのFV：先生の顔に文字の枠・修了証がかからないように 10/21 --- */
@media (max-width:767px){
  .fv-bg{background-size:100% 100%,126% auto;background-position:0 0,40% -112px;background-color:#22406f}
  .fv-in{padding-top:150px;padding-bottom:16px}
  .fv-cert{order:3;margin:14px 0 0;padding:5px 14px 5px 5px;font-size:11px}
  .fv-cert img{width:34px}
}

/* --- SPのFV：修了証を右上へ（先生の顔にかからない位置） 10/21 --- */
@media (max-width:767px){
  .fv-bg{background-position:0 0,92% -112px}
  .fv-cert{position:absolute;order:0;top:10px;right:8px;left:auto;margin:0;flex-direction:column;align-items:center;gap:5px;width:auto;padding:6px 7px 7px;font-size:10px;line-height:1.4;letter-spacing:0;text-align:center;background:rgba(18,38,78,.6)}
  .fv-cert figcaption{order:2;white-space:nowrap}
  .fv-cert img{width:44px}
}

/* --- SPのFV：「麻酔科医による〜」の枠を少し下げる 10/21 --- */
@media (max-width:767px){
  .fv-in{padding-top:185px}
}

/* --- PCのFV：認定証を小さくして右下へ（先生の顔にかからない位置） 10/21 --- */
@media (min-width:768px){
  .fv-cert{top:auto;bottom:26px;right:30px;width:auto;font-size:12px;line-height:1.45;letter-spacing:.02em}
  .fv-cert figcaption{white-space:nowrap;margin-bottom:6px}
  .fv-cert img{display:block;width:112px;margin:0 auto;border-width:3px}
}
/* --- SPのFV：認定証を少し下げ、背景の写真を少し上へ 10/21 --- */
@media (max-width:767px){
  .fv-bg{background-position:0 0,92% -135px}
  .fv-cert{top:22px}
}

/* --- SPのFV：「麻酔科医による〜」の枠をもう少し下げる 10/21 --- */
@media (max-width:767px){
  .fv-in{padding-top:215px}
}

/* --- SPのFV：認定証をもう少し下げる 10/21 --- */
@media (max-width:767px){
  .fv-cert{top:42px}
}

/* --- SPのFV：認定証と「麻酔科医による〜」の枠を少しだけ上げる 10/21 --- */
@media (max-width:767px){
  .fv-cert{top:30px}
  .fv-in{padding-top:203px}
}

/* --- SPのFV：認定証を少しだけ大きく 10/21 --- */
@media (max-width:767px){
  .fv-cert{font-size:10.5px;padding:7px 8px 8px;gap:6px}
  .fv-cert img{width:56px}
}

/* --- SPのFV：背景の写真を少しだけ下げる 10/21 --- */
@media (max-width:767px){
  .fv-bg{background-position:0 0,92% -120px}
}

/* ===== 10/21-2 オールオン4の流れ：横幅を広げ、白基調で高級感・清潔感のあるデザインに ===== */
.d2{padding:64px 20px 70px;background:linear-gradient(180deg,#ffffff 0%,#f8f6f1 100%);text-align:center;font-family:var(--serif)}
.d2-box{max-width:980px;margin:0 auto}
.d2-en{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.d2-hd{position:relative;margin-top:6px;padding-bottom:20px;font-size:28px;font-weight:500;letter-spacing:.14em;color:#1d3a6e}
.d2-hd::after{content:"";position:absolute;left:50%;bottom:0;width:120px;height:1px;margin-left:-60px;background:linear-gradient(90deg,transparent,#c9a75a 25%,#c9a75a 75%,transparent)}
.d2-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:40px}
.d2-flow li{position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 16px 30px;background:#fff;border:1px solid #e8dfc9;border-top:3px solid #1d3a6e;box-shadow:0 14px 30px rgba(20,40,80,.08)}
.d2-flow li:not(:last-child)::after{content:"";position:absolute;right:-37px;top:50%;width:16px;height:16px;margin-top:-8px;border-top:2px solid #c9a75a;border-right:2px solid #c9a75a;transform:rotate(45deg)}
.d2-step{font-size:13px;letter-spacing:.24em;color:var(--gold)}
.d2-ic{display:flex;align-items:center;justify-content:center;width:78px;height:78px;margin:14px 0 16px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#3a63a8 0%,#22437e 55%,#142c5a 100%);box-shadow:0 0 0 3px #fff,0 0 0 4px #d8bf7c,0 8px 16px rgba(20,40,80,.25)}
.d2-ic .ic{width:36px;height:36px;color:#f2dc9c}
.d2-txt{font-size:23px;letter-spacing:.14em;color:#1d3a6e}
.d2-ft{margin-top:40px}
.d2-ft-in{display:inline-flex;align-items:baseline;justify-content:center;padding:14px 72px 14px 76px;border-radius:999px;background:linear-gradient(180deg,#2d5394 0%,#1d3a6e 55%,#142b55 100%);color:#fff;font-size:24px;letter-spacing:.18em;line-height:1.3;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 4px #fff,0 0 0 5px #c9a75a,0 12px 24px rgba(20,40,80,.25)}
.d2-ft b{margin:0 .22em 0 .06em;font-size:40px;line-height:1;font-weight:600;letter-spacing:0;color:#f2d47a}
.d2-ex{letter-spacing:0;margin-right:-.5em}
@media (max-width:767px){
  .d2{padding:40px 14px 46px}
  .d2-en{font-size:11px}
  .d2-hd{font-size:21px;padding-bottom:14px}
  .d2-flow{gap:20px;margin-top:26px}
  .d2-flow li{padding:16px 4px 16px}
  .d2-flow li:not(:last-child)::after{right:-15px;width:9px;height:9px;margin-top:-5px}
  .d2-step{font-size:10px;letter-spacing:.12em}
  .d2-ic{width:50px;height:50px;margin:8px 0 10px}
  .d2-ic .ic{width:24px;height:24px}
  .d2-txt{font-size:15px;letter-spacing:.04em;white-space:nowrap}
  .d2-ft{margin-top:28px}
  .d2-ft-in{padding:10px 44px 10px 48px;font-size:18px}
  .d2-ft b{font-size:30px}
}

/* ===== 10/21-2 CTA：ボタンを大きく目立たせ、下の強み3つは控えめに ===== */
.cta-btns{gap:22px}
.cbtn{width:310px;height:94px;border-radius:8px;font-size:20px;gap:16px;box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.cbtn .ic{width:28px;height:28px}
.cbtn small{font-size:14px}
.cbtn-tel span{font-size:25px;letter-spacing:.04em}
.cbtn::after{width:22px;height:22px;margin-top:-11px;right:16px}
.stats-cta{max-width:780px;gap:16px;margin-top:44px}
.stats-cta li{padding:26px 10px 14px;border-width:2px;box-shadow:0 6px 14px rgba(15,35,75,.16)}
.stats-cta li::before{inset:5px}
.stats-cta .st-l{font-size:12px;padding-bottom:5px;margin-bottom:5px}
.stats-cta .st-v{min-height:52px}
.stats-cta .st-n{font-size:32px}
.stats-cta .st-n small{font-size:13px}
.stats-cta .st-txt{font-size:21px}
.stats-cta .st-note{font-size:10px;margin-top:3px}
.stats-cta .st-ic{width:40px;height:40px;top:-20px}
.stats-cta .st-ic::before{inset:10px}
@media (max-width:767px){
  .cbtn{width:100%;max-width:360px;height:74px;font-size:18px}
  .cbtn-tel span{font-size:22px}
  .stats-cta{margin-top:20px;gap:6px}
  .stats-cta li{height:auto;min-height:0;padding:10px 14px;grid-template-columns:118px 1fr}
  .stats-cta .st-l{font-size:12px}
  .stats-cta .st-n{font-size:26px}
  .stats-cta .st-n small{font-size:12px}
  .stats-cta .st-txt{font-size:18px}
}
@media (max-width:767px){
  .cta-btns{gap:12px}
}
@media (min-width:768px) and (max-width:1100px){
  .cta-btns{gap:14px}
  .cbtn{width:214px;height:86px;font-size:17px;gap:10px}
  .cbtn-tel span{font-size:20px}
  .cbtn small{font-size:12px}
  .cbtn::after{right:10px;width:18px;height:18px;margin-top:-9px}
}
@media (min-width:768px) and (max-width:1100px){
  .cbtn-tel{padding-right:22px}
  .cbtn-tel span{font-size:18px;letter-spacing:0}
}
@media (max-width:767px){
  .stats-cta li{padding:6px 14px;grid-template-columns:110px 1fr}
  .stats-cta .st-l{font-size:11px}
  .stats-cta .st-n{font-size:23px}
  .stats-cta .st-n small{font-size:11px}
  .stats-cta .st-txt{font-size:16px}
  .stats-cta .st-note{font-size:9.5px;margin-top:1px}
}

/* ===== 10/21-3 CTA下の強み：白基調のすっきりしたカードに（CTAボタンより控えめ） ===== */
.stats.stats-cta{max-width:840px;gap:14px;margin:34px auto 0}
.stats.stats-cta li,.stats.stats-cta li:nth-child(n){display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:14px;row-gap:2px;height:auto;min-height:0;padding:16px 18px;text-align:left;border:1px solid #e2d2a6;border-radius:6px;background:linear-gradient(180deg,#ffffff 0%,#fbf8f1 100%);box-shadow:0 6px 16px rgba(30,45,80,.07)}
.stats.stats-cta li::before{inset:4px;border:1px solid rgba(201,167,90,.28);border-radius:4px}
.stats.stats-cta li::after{content:none}
.stats.stats-cta .st-ic{position:static;grid-row:1/3;transform:none;width:46px;height:46px;box-shadow:0 3px 8px rgba(20,40,80,.18)}
.stats.stats-cta li:nth-child(1) .st-ic{background:radial-gradient(circle at 35% 28%,#3a63a8 0%,#22437e 55%,#142c5a 100%)}
.stats.stats-cta li:nth-child(2) .st-ic{background:radial-gradient(circle at 35% 28%,#f3dc9a 0%,#c9a24f 55%,#9c7428 100%)}
.stats.stats-cta li:nth-child(3) .st-ic{background:radial-gradient(circle at 35% 28%,#8db0e2 0%,#5b85c2 55%,#3c66a8 100%)}
.stats.stats-cta .st-ic::before{inset:12px;background:#fff}
.stats.stats-cta .st-l{grid-column:2;align-self:end;margin:0;padding:0;border:0;font-size:12px;line-height:1.4;letter-spacing:.08em;color:#8a6d2f;text-shadow:none;white-space:nowrap}
.stats.stats-cta .st-v{grid-column:2;align-self:start;align-items:flex-start;min-height:0}
.stats.stats-cta .st-n,.stats.stats-cta li:nth-child(n) .st-n{font-size:27px;line-height:1.15;color:#1d3a6e;text-shadow:none}
.stats.stats-cta .st-n small{font-size:12px;color:#1d3a6e}
.stats.stats-cta .st-txt{font-size:20px;letter-spacing:.06em}
.stats.stats-cta .st-note{margin-top:2px;font-size:10px;color:#777;opacity:1;letter-spacing:.02em}
@media (max-width:767px){
  .stats.stats-cta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:400px;margin-top:22px}
  .stats.stats-cta li,.stats.stats-cta li:nth-child(n){display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:auto;padding:12px 4px 11px;text-align:center}
  .stats.stats-cta li::before{inset:3px}
  .stats.stats-cta .st-ic{width:32px;height:32px;margin-bottom:6px}
  .stats.stats-cta .st-ic::before{inset:8px}
  .stats.stats-cta .st-l{font-size:10px;letter-spacing:0;padding:0;border:0}
  .stats.stats-cta .st-v{align-items:center}
  .stats.stats-cta .st-n,.stats.stats-cta li:nth-child(n) .st-n{font-size:20px}
  .stats.stats-cta .st-n small{font-size:10px;margin-left:1px}
  .stats.stats-cta .st-txt{font-size:13px;letter-spacing:0;margin-top:4px}
  .stats.stats-cta .st-note{font-size:9px;line-height:1.35;letter-spacing:0;margin-top:2px}
}
.stats.stats-cta .st-ic{position:relative;left:auto;top:auto;display:block}
@media (max-width:767px){
  .stats.stats-cta .st-ic{display:block}
  .stats.stats-cta .st-l,.stats.stats-cta .st-v{width:100%;text-align:center;justify-content:center;align-self:center}
  .stats.stats-cta .st-note{white-space:normal}
}

/* --- オールオン4の流れ：デザインはそのまま、横幅だけ広げる 10/21 --- */
.day1-box{width:980px}
.day1-hd{font-size:22px;padding:10px}
.day1-flow li{font-size:23px;padding:24px 8px 40px}
.day1-flow .ic{width:32px;height:32px}
@media (max-width:767px){
  .day1-box{width:100%}
  .day1-hd{font-size:16px;padding:6px}
  .day1-flow li{font-size:14px;padding:14px 2px 30px}
  .day1-flow .ic{width:20px;height:20px}
}
.stats.stats-cta li .st-n.st-txt{font-size:20px;letter-spacing:.06em;line-height:1.3}
.stats.stats-cta li{min-width:0}
@media (max-width:767px){
  .stats.stats-cta{grid-template-columns:1fr 1fr 1fr}
  .stats.stats-cta li .st-n.st-txt{font-size:14px;letter-spacing:0;margin-top:5px}
  .stats.stats-cta .st-note{font-size:8.5px}
}
@media (min-width:768px) and (max-width:1100px){
  .stats.stats-cta .st-note{white-space:nowrap;font-size:9.5px}
  .stats.stats-cta li{padding:16px 12px;column-gap:10px}
}
@media (max-width:767px){
  .stats.stats-cta{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* --- CTA下の強み：中身を中央にそろえ、余白を整える 10/21 --- */
.stats.stats-cta li,.stats.stats-cta li:nth-child(n){grid-template-columns:auto auto;justify-content:center;align-content:center;column-gap:16px;padding:18px 16px;min-height:112px}
.stats.stats-cta .st-l{align-self:end}
.stats.stats-cta .st-v{align-self:start}
@media (min-width:768px) and (max-width:1100px){
  .stats.stats-cta li,.stats.stats-cta li:nth-child(n){column-gap:10px;padding:16px 10px}
}
@media (max-width:767px){
  .stats.stats-cta{max-width:360px;gap:8px}
  .stats.stats-cta li,.stats.stats-cta li:nth-child(n){display:flex;justify-content:flex-start;min-height:132px;padding:14px 4px 12px}
  .stats.stats-cta .st-ic{margin-bottom:8px}
  .stats.stats-cta .st-l{margin-bottom:4px}
  .stats.stats-cta .st-v{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%}
  .stats.stats-cta li .st-n.st-txt{margin-top:0}
}

/* --- CTA下の強み：3枚の中身の位置をそろえる 10/21 --- */
.stats.stats-cta li,.stats.stats-cta li:nth-child(n){justify-content:start;padding:18px 20px 18px 34px;column-gap:18px}
.stats.stats-cta li .st-n.st-txt{font-size:24px;line-height:1.15}
@media (min-width:768px) and (max-width:1100px){
  .stats.stats-cta li,.stats.stats-cta li:nth-child(n){padding:16px 10px 16px 18px;column-gap:12px}
  .stats.stats-cta li .st-n.st-txt{font-size:20px}
}
@media (max-width:767px){
  .stats.stats-cta li,.stats.stats-cta li:nth-child(n){justify-content:flex-start;padding:14px 4px 12px}
  .stats.stats-cta .st-v{flex:0 0 auto;justify-content:flex-start;min-height:0}
  .stats.stats-cta .st-n,.stats.stats-cta li:nth-child(n) .st-n{line-height:1.2;min-height:24px;display:flex;align-items:center;justify-content:center}
  .stats.stats-cta li .st-n.st-txt{font-size:15px}
}

/* --- CTAボタン：アイコンと文字を矢印に重ならないよう中央にそろえる 10/21 --- */
.cbtn{padding:0 52px;gap:12px}
.cbtn > span{text-align:center}
.cbtn-tel span{font-size:23px;letter-spacing:.02em}
@media (min-width:768px) and (max-width:1100px){
  .cbtn{padding:0 34px 0 22px;gap:8px}
  .cbtn-tel span{font-size:18px}
}
@media (max-width:767px){
  .cbtn{padding:0 48px}
}

/* --- TOP下「3つの安心」：文字を大きく・くっきり読みやすく 10/21 --- */
#strength .stats li:nth-child(2){background:linear-gradient(160deg,#c9a660 0%,#a07c34 50%,#76561c 100%) padding-box,linear-gradient(135deg,#fff8de 0%,#f0dca4 35%,#c9a75a 62%,#fff3cf 100%) border-box}
#strength .stats li:nth-child(3){background:linear-gradient(160deg,#6f94cf 0%,#4c76b6 50%,#33599a 100%) padding-box,linear-gradient(135deg,#fbecbb 0%,#d2ab57 35%,#a07a2c 62%,#f3dc9a 100%) border-box}
#strength .stats .st-l{font-size:17px;font-weight:600;letter-spacing:.1em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
#strength .stats .st-n,#strength .stats .st-txt{text-shadow:0 2px 6px rgba(0,0,0,.4)}
#strength .stats .st-note{font-size:13px;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.4)}
@media (max-width:767px){
  #strength .stats li{grid-template-columns:128px 1fr;height:auto;min-height:104px}
  #strength .stats .st-l{font-size:14px;letter-spacing:.04em;white-space:normal}
  #strength .stats .st-note{font-size:11.5px}
}
@media (max-width:767px){
  #strength .stats li{grid-template-columns:122px 1fr;column-gap:14px}
  #strength .stats .st-l{font-size:13.5px;letter-spacing:.02em;white-space:nowrap}
  #strength .stats .st-v{align-items:flex-start}
  #strength .stats .st-note{font-size:10.5px;white-space:nowrap;text-align:left;letter-spacing:0}
}

/* --- CTAボタン：中身を「左端〜矢印」の間の中央に置く（右寄りに見えないように） 10/21 --- */
.cbtn{padding:0 64px 0 20px}
@media (min-width:768px) and (max-width:1100px){
  .cbtn,.cbtn-tel{padding:0 40px 0 8px}
}
@media (max-width:767px){
  .cbtn{padding:0 60px 0 20px}
}
