*{box-sizing:border-box}
:root{
  --green:#16835b;--green-dark:#0f5d41;--green-deep:#0b4934;
  --mint:#eaf7f0;--mint-2:#f4fbf7;--cream:#fff7e6;--yellow:#f2c85b;
  --blue:#4b9fc7;--blue-soft:#eaf5fa;--coral:#e98d78;--coral-soft:#fff0ec;
  --text:#26342e;--muted:#68766f;--border:#dbe7e0;--white:#fff;
  --shadow:0 18px 45px rgba(25,72,51,.10);--shadow-soft:0 10px 28px rgba(25,72,51,.07)
}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;color:var(--text);line-height:1.75;background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{width:min(1120px,calc(100% - 36px));margin:0 auto}
.top-notice{background:var(--green-deep);color:#fff;font-size:.84rem}.top-notice-inner{min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.notice-dot{width:8px;height:8px;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 4px rgba(242,200,91,.18)}.notice-sub{opacity:.78;margin-left:8px}
.site-header{border-bottom:1px solid rgba(219,231,224,.9);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--green),var(--green-dark));display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(22,131,91,.22)}.brand-mark span{font-size:1.7rem;line-height:1;font-weight:300}.brand-name{display:block;font-weight:900;font-size:1.32rem;line-height:1.25}.eyebrow{display:block;font-size:.75rem;color:var(--muted);letter-spacing:.05em;margin-bottom:2px}.header-actions{display:flex;align-items:center;gap:16px}.header-tel{text-decoration:none;font-weight:800;color:var(--green-dark);font-size:.95rem}.header-tel span{color:var(--green)}
.hero{position:relative;overflow:hidden;padding:82px 0 74px;background:linear-gradient(135deg,#f3fbf7 0%,#fff 48%,#fff9ed 100%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}.hero-shape{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.shape-a{width:360px;height:360px;background:rgba(22,131,91,.07);right:-90px;top:-90px}.shape-b{width:240px;height:240px;background:rgba(242,200,91,.12);left:-100px;bottom:-100px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #dcebe3;padding:8px 14px;border-radius:999px;color:var(--green-dark);font-weight:800;font-size:.86rem;box-shadow:0 6px 18px rgba(25,72,51,.05)}.hero-badge span{color:var(--yellow);font-size:.72rem}.hero-title{font-size:clamp(2.45rem,5.3vw,4.5rem);line-height:1.18;letter-spacing:-.025em;margin:20px 0 24px;font-weight:900}.hero-title em{font-style:normal;color:var(--green);position:relative}.hero-title em:after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.22em;background:rgba(242,200,91,.42);z-index:-1;border-radius:999px}.hero-copy{font-size:1.08rem;color:var(--muted);max-width:650px;margin:0}.quick-tags{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0}.quick-tags span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:.84rem;font-weight:700;color:#496158}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-actions.center{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:0 25px;border-radius:999px;text-decoration:none;font-weight:900;transition:.2s transform,.2s box-shadow,.2s background}.btn:hover{transform:translateY(-1px)}.btn.small{min-height:42px;padding:0 18px;font-size:.88rem}.btn-line{background:var(--green);color:#fff;box-shadow:0 9px 22px rgba(22,131,91,.20)}.btn-line:hover{background:var(--green-dark)}.btn-main{padding:0 27px}.btn-icon{font-size:.64rem;background:#fff;color:var(--green-dark);border-radius:6px;padding:3px 5px;letter-spacing:-.03em}.btn-outline{border:2px solid var(--green);color:var(--green-dark);background:#fff}.phone-icon{font-size:1.05rem}.note{color:var(--muted);font-size:.83rem;margin-top:14px}
.hero-visual{position:relative;min-height:455px;display:grid;place-items:center}.visual-orbit{position:absolute;border-radius:50%;border:1px dashed rgba(22,131,91,.24)}.orbit-one{width:390px;height:390px}.orbit-two{width:300px;height:300px;border-color:rgba(242,200,91,.42);transform:rotate(12deg)}.pharmacy-illustration{position:relative;width:min(360px,88%);background:#fff;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(-1.5deg)}.illustration-top{display:flex;align-items:center;gap:10px;padding:18px 20px;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;font-weight:900}.mini-cross{width:30px;height:30px;border-radius:10px;background:#fff;color:var(--green);display:grid;place-items:center;font-size:1.25rem}.illustration-body{min-height:205px;padding:28px;position:relative;display:flex;align-items:flex-end;background:radial-gradient(circle at 78% 28%,rgba(242,200,91,.18),transparent 32%),linear-gradient(155deg,#fff 15%,#eff9f3 100%)}.illustration-text{position:relative;z-index:3}.illustration-text strong{display:block;font-size:1.55rem;margin-bottom:4px}.illustration-text small{color:var(--muted)}.pill{position:absolute;border-radius:999px;transform:rotate(-34deg);box-shadow:0 8px 18px rgba(25,72,51,.09)}.pill:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.72)}.pill-a{width:98px;height:38px;right:35px;top:45px;background:linear-gradient(90deg,var(--green) 0 50%,#fff 50%);border:1px solid #d6e9df}.pill-b{width:74px;height:30px;right:93px;top:103px;background:linear-gradient(90deg,var(--yellow) 0 50%,#fff 50%);border:1px solid #eadfbf;transform:rotate(22deg)}.illustration-footer{display:flex;justify-content:space-between;gap:10px;padding:13px 18px;border-top:1px solid var(--border);color:#51665c;font-size:.78rem;font-weight:700}.float-card{position:absolute;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);padding:11px 14px;display:flex;align-items:center;gap:9px;font-size:.78rem}.float-card b{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff}.float-card span{font-weight:800;color:#445c51}.float-line{left:-8px;top:82px}.float-line b{background:var(--green)}.float-home{right:-6px;top:182px}.float-home b{background:var(--yellow);color:#5e4a14}.float-med{left:35px;bottom:48px}.float-med b{background:var(--blue)}
.contact-strip{margin-top:-1px;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.contact-strip-grid{display:grid;grid-template-columns:.82fr 1.35fr 1.1fr}.strip-item{display:flex;align-items:center;gap:13px;padding:19px 24px;border-right:1px solid var(--border)}.strip-item:last-child{border-right:none}.strip-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--green-dark);font-weight:900}.strip-item small{display:block;color:var(--muted);font-size:.72rem}.strip-item strong{display:block;font-size:.89rem;line-height:1.45}
.section{padding:82px 0}.section-kicker{text-align:center;margin:0 0 8px;color:var(--green);font-weight:900;font-size:.75rem;letter-spacing:.18em}.section-kicker.light{color:#bce8d3}.section-title{text-align:center;font-size:clamp(1.9rem,3vw,2.45rem);line-height:1.35;margin:0 0 12px}.section-title.left{text-align:left}.section-lead{text-align:center;color:var(--muted);margin:0 auto 38px;max-width:700px}.section-lead.left-lead{text-align:left;margin-left:0;margin-bottom:24px}.services-section{background:#fff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{position:relative;padding:28px 24px 24px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden;transition:.22s transform,.22s box-shadow}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card:before{content:"";position:absolute;right:-28px;top:-30px;width:100px;height:100px;border-radius:50%;opacity:.62}.card-green:before{background:var(--mint)}.card-blue:before{background:var(--blue-soft)}.card-yellow:before{background:var(--cream)}.card-coral:before{background:var(--coral-soft)}.card-icon{position:relative;z-index:2;width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-weight:900;font-size:1.15rem;margin-bottom:20px}.card-green .card-icon{background:var(--mint);color:var(--green-dark)}.card-blue .card-icon{background:var(--blue-soft);color:#2d769a}.card-yellow .card-icon{background:var(--cream);color:#7b621c}.card-coral .card-icon{background:var(--coral-soft);color:#9a4d3c}.card h3{position:relative;z-index:2;margin:0 0 10px;color:var(--green-dark);font-size:1.16rem}.card p{position:relative;z-index:2;margin:0;color:#5f7068;font-size:.93rem}.card-label{display:inline-block;margin-top:18px;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800;background:#f5f8f6;color:#60746a}
.consult-section{padding:58px 0;background:linear-gradient(125deg,var(--green-deep),#167454);color:#fff;position:relative;overflow:hidden}.consult-section:after{content:"+";position:absolute;right:3%;top:-54px;font-size:240px;font-weight:200;line-height:1;color:rgba(255,255,255,.045)}.consult-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:center}.consult-section .section-kicker{text-align:left}.consult-section h2{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.35;margin:0 0 16px}.consult-section p{color:#d9eee4;margin:0}.consult-tags{display:flex;flex-wrap:wrap;gap:12px}.consult-tags span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(6px);padding:11px 16px;border-radius:999px;font-weight:800;font-size:.9rem}
.line-section{background:linear-gradient(135deg,#f3faf6 0%,#fff 60%)}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:center}.line-copy .section-kicker{text-align:left}.steps{list-style:none;padding:0;margin:22px 0 28px}.steps li{display:flex;align-items:center;gap:13px;padding:10px 0}.steps>li>span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:900;flex:0 0 36px;box-shadow:0 7px 16px rgba(22,131,91,.18)}.steps li div{display:flex;flex-direction:column}.steps strong{font-size:.95rem}.steps small{color:var(--muted)}.qr-box{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:28px;text-align:center}.qr-head{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px}.qr-head span{background:var(--green);color:#fff;font-size:.68rem;font-weight:900;border-radius:7px;padding:4px 7px}.line-qr{display:block;width:min(230px,75vw);height:auto;margin:0 auto 14px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:10px}.qr-box p{margin:0;color:var(--muted);font-size:.85rem}.privacy-note{margin-top:16px;color:var(--muted);font-size:.82rem}
.hours-section{background:#fff}.hours-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px;align-items:center}.hours-heading .section-kicker{text-align:left}.hours-heading p{color:var(--muted)}.closed-badge{display:inline-flex;align-items:center;background:var(--coral-soft);color:#8a4637;border-radius:999px;padding:7px 12px;font-weight:900;font-size:.85rem}.hours-box{padding:28px 30px;background:linear-gradient(145deg,#fff,#f9fcfa);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-soft)}.hours-table{text-align:left}.hours-table div{display:flex;justify-content:space-between;gap:24px;padding:16px 4px;border-bottom:1px solid var(--border)}.hours-table div:last-child{border-bottom:none}.hours-table strong{color:var(--green-dark)}.hours-table span{font-weight:900}.hours-table .closed span{color:#9a5546}.hours-box .note{margin-bottom:0}
.notice-section{padding:0 0 76px}.notice-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--cream);border:1px solid #f1e3bd;border-radius:20px;padding:20px 24px}.notice-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--yellow);color:#5d4c1b;font-weight:900;font-family:Georgia,serif}.notice-card strong{color:#5f4c17}.notice-card p{margin:3px 0 0;color:#6d6244;font-size:.9rem}.notice-card a{text-decoration:none;font-weight:900;color:#5f4c17;white-space:nowrap}
.access-section{background:var(--mint-2)}.access-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;align-items:stretch}.access-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow-soft)}.access-mark{width:46px;height:46px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.6rem;margin-bottom:18px}.access-card h3{font-size:1.25rem;margin:0 0 14px}.access-card p{color:#5e7167}.access-tel a{text-decoration:none;color:var(--green-dark);font-weight:900}.mini-btn{display:inline-flex;margin-top:8px;padding:9px 12px;border-radius:10px;background:var(--mint);color:var(--green-dark);text-decoration:none;font-weight:800;font-size:.82rem}.map-box{overflow:hidden;border-radius:22px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-soft)}.map-box iframe{display:block}
.cta{padding-top:70px;padding-bottom:82px}.cta-box{position:relative;overflow:hidden;text-align:center;background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;border-radius:30px;padding:54px 28px;box-shadow:0 24px 55px rgba(15,93,65,.22)}.cta-box h2{font-size:clamp(2rem,4vw,3rem);line-height:1.4;margin:0 0 8px}.cta-box>p:not(.section-kicker){color:#d9eee4;margin:0}.btn-white-line{background:#fff;color:var(--green-dark);box-shadow:0 8px 22px rgba(0,0,0,.12)}.btn-white-outline{border:2px solid rgba(255,255,255,.8);color:#fff;background:transparent}.cta-decoration{position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}.deco-one{width:210px;height:210px;left:-65px;bottom:-100px}.deco-two{width:150px;height:150px;right:-25px;top:-70px}
.site-footer{padding:38px 0 22px;background:#0e3f2d;color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-brand{display:flex;align-items:center;gap:10px;font-size:1.12rem}.footer-cross{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff;color:var(--green-dark);font-size:1.2rem}.site-footer p{margin:7px 0;color:#c8ddd3;font-size:.88rem}.footer-links{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.footer-links a{color:#fff;text-underline-offset:3px;font-size:.88rem}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding-top:18px;color:#9fc0b1;font-size:.78rem}.mobile-br{display:none}.mobile-sticky{display:none}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero-visual{min-height:390px}.contact-strip-grid{grid-template-columns:1fr 1fr}.strip-item:nth-child(2){border-right:none}.strip-item:nth-child(3){grid-column:1/-1;border-top:1px solid var(--border);border-right:none}.cards{grid-template-columns:1fr 1fr}.consult-grid,.two-col,.hours-layout,.access-grid{grid-template-columns:1fr}.qr-box{max-width:420px;margin:0 auto;width:100%}.hours-heading{text-align:center}.hours-heading .section-kicker,.hours-heading .section-title{text-align:center}.access-card{text-align:center}.access-mark{margin-left:auto;margin-right:auto}}
@media(max-width:640px){body{padding-bottom:70px}.top-notice{font-size:.74rem}.notice-sub{display:none}.site-header{position:static}.header-inner{min-height:70px}.brand-mark{width:39px;height:39px;border-radius:12px}.brand-name{font-size:1.16rem}.eyebrow{font-size:.68rem}.header-actions{display:none}.hero{padding:44px 0 46px}.hero-title{font-size:2.42rem}.hero-copy{font-size:1rem}.quick-tags{gap:7px}.quick-tags span{font-size:.74rem;padding:6px 9px}.hero-actions .btn{width:100%}.hero-visual{min-height:330px}.orbit-one{width:300px;height:300px}.orbit-two{width:235px;height:235px}.pharmacy-illustration{width:min(315px,88%)}.illustration-body{min-height:165px;padding:22px}.illustration-text strong{font-size:1.3rem}.illustration-footer{font-size:.7rem}.float-card{padding:8px 10px}.float-card b{width:31px;height:31px}.float-card span{font-size:.7rem}.float-line{left:-3px;top:48px}.float-home{right:0;top:145px}.float-med{left:15px;bottom:27px}.contact-strip-grid{display:block}.strip-item{border-right:none;border-bottom:1px solid var(--border);padding:14px 4px}.strip-item:last-child{border-bottom:none}.section{padding:58px 0}.section-title{font-size:2rem}.section-lead{font-size:.94rem;margin-bottom:28px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:23px}.consult-section{padding:48px 0}.consult-grid{gap:28px}.consult-section h2{font-size:2rem}.consult-tags{gap:8px}.consult-tags span{font-size:.78rem;padding:8px 11px}.line-section .two-col{gap:25px}.qr-box{display:none}.hours-box{padding:22px}.hours-table div{gap:12px}.notice-section{padding-bottom:55px}.notice-card{grid-template-columns:auto 1fr;padding:18px}.notice-card a{grid-column:1/-1;text-align:center;background:rgba(255,255,255,.55);padding:8px;border-radius:10px}.map-box iframe{height:300px}.cta{padding:52px 0}.cta-box{border-radius:24px;padding:42px 18px}.cta-box .btn{width:100%}.footer-grid{display:block}.footer-links{align-items:flex-start;margin-top:22px}.mobile-br{display:block}.mobile-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1.25fr .75fr;background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(20,62,44,.10);padding:8px 10px max(8px,env(safe-area-inset-bottom));gap:8px}.mobile-sticky a{min-height:52px;border-radius:13px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900}.mobile-sticky a span{font-size:.76rem}.mobile-line{background:var(--green);color:#fff}.mobile-line b{font-size:.68rem;background:#fff;color:var(--green-dark);padding:2px 4px;border-radius:5px}.mobile-phone{background:#f2f7f4;color:var(--green-dark);border:1px solid var(--border)}}

/* ===== v5: 明るく、少し賑やかに ===== */
.guide-section{padding:64px 0 72px;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);position:relative;overflow:hidden}
.guide-section:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(75,159,199,.08);left:-120px;top:-110px}
.guide-section:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(242,200,91,.12);right:-80px;bottom:-110px}
.guide-section .wrap{position:relative;z-index:2}
.guide-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px}
.guide-heading .section-kicker{text-align:left;margin-bottom:6px}
.guide-heading .section-title{margin-bottom:0}
.guide-heading>p{max-width:460px;margin:0;color:var(--muted);font-size:.94rem}
.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guide-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;min-height:190px;border-radius:24px;padding:24px;border:1px solid var(--border);box-shadow:var(--shadow-soft);overflow:hidden}
.guide-card:after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;right:-42px;bottom:-48px;opacity:.55}
.guide-line{background:linear-gradient(145deg,#f0fbf5,#fff)}.guide-line:after{background:#cdebdc}
.guide-home{background:linear-gradient(145deg,#fff9e9,#fff)}.guide-home:after{background:#f3d77e}
.guide-rx{background:linear-gradient(145deg,#eef8fc,#fff)}.guide-rx:after{background:#bfe3f1}
.guide-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-weight:900;font-size:1.12rem}
.guide-line .guide-icon{background:var(--green);color:#fff}
.guide-home .guide-icon{background:var(--yellow);color:#644f11}
.guide-rx .guide-icon{background:var(--blue);color:#fff}
.guide-chip{display:inline-flex;border-radius:999px;padding:4px 9px;margin-bottom:7px;font-size:.68rem;font-weight:900;letter-spacing:.03em}
.guide-line .guide-chip{background:#dff3e8;color:#146948}
.guide-home .guide-chip{background:#fff0bd;color:#735a14}
.guide-rx .guide-chip{background:#dff2f9;color:#2d7392}
.guide-card h3{margin:0 0 8px;color:var(--green-dark);font-size:1.08rem}
.guide-card p{margin:0;color:#607168;font-size:.88rem;line-height:1.7}

/* サービスカードをもう一段カラフルに */
.services-section{background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.card{border-width:1px;border-top-width:5px;transform:translateZ(0)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(25,72,51,.12)}
.card-green{border-top-color:var(--green);background:linear-gradient(160deg,#f2fbf6 0%,#fff 74%)}
.card-blue{border-top-color:var(--blue);background:linear-gradient(160deg,#eff8fc 0%,#fff 74%)}
.card-yellow{border-top-color:var(--yellow);background:linear-gradient(160deg,#fff9e9 0%,#fff 74%)}
.card-coral{border-top-color:var(--coral);background:linear-gradient(160deg,#fff3ef 0%,#fff 74%)}
.card-label{font-weight:900}
.card-green .card-label{background:#e4f5ec;color:#176d4b}
.card-blue .card-label{background:#e6f4fa;color:#2c7392}
.card-yellow .card-label{background:#fff0bd;color:#745a14}
.card-coral .card-label{background:#ffe3db;color:#8c4939}

/* LINEを3ステップの図に */
.line-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin:28px 0 30px}
.flow-step{position:relative;text-align:center;background:#fff;border:1px solid var(--border);border-radius:20px;padding:21px 13px 17px;box-shadow:0 8px 24px rgba(25,72,51,.06)}
.flow-number{position:absolute;left:10px;top:10px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.72rem;font-weight:900}
.flow-icon{width:56px;height:56px;border-radius:18px;margin:2px auto 12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mint),#fff7dc);color:var(--green-dark);font-size:1.5rem;font-weight:900}
.flow-step strong{display:block;color:var(--green-dark);font-size:.9rem;line-height:1.4}
.flow-step small{display:block;color:var(--muted);font-size:.72rem;line-height:1.55;margin-top:5px}
.flow-arrow{display:grid;place-items:center;color:var(--green);font-weight:900;font-size:1.35rem}

/* 小さな遊び心 */
.hero-visual .float-line{background:linear-gradient(135deg,#fff,#eaf7f0)}
.hero-visual .float-home{background:linear-gradient(135deg,#fff,#fff4cf)}
.hero-visual .float-med{background:linear-gradient(135deg,#fff,#eaf5fa)}
.contact-strip{background:linear-gradient(90deg,#fff,#f8fcfa,#fff)}

@media(max-width:900px){
  .guide-heading{display:block}
  .guide-heading>p{margin-top:8px}
  .guide-cards{grid-template-columns:1fr}
  .guide-card{min-height:0}
  .line-flow{grid-template-columns:1fr;gap:9px}
  .flow-arrow{height:20px;transform:rotate(90deg)}
}
@media(max-width:640px){
  .guide-section{padding:46px 0 54px}
  .guide-heading{margin-bottom:20px}
  .guide-card{border-radius:19px;padding:19px}
  .guide-icon{width:44px;height:44px;border-radius:14px}
  .line-flow{margin:24px 0 26px}
  .flow-step{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:13px;align-items:center;padding:17px 16px 17px 48px}
  .flow-number{left:12px;top:50%;transform:translateY(-50%)}
  .flow-icon{grid-row:1/3;width:46px;height:46px;margin:0;border-radius:14px}
  .flow-step strong{font-size:.92rem}
  .flow-step small{margin-top:1px}
}


/* ===== v6: 「ここで処方せんOK」「在庫はLINEで確認」を最優先 ===== */
.first-visit-section{padding:64px 0 68px;background:linear-gradient(180deg,#f4fbf7 0%,#fff 100%);border-top:1px solid #e5efe9;border-bottom:1px solid #e7efe9}
.first-visit-head{text-align:center;max-width:780px;margin:0 auto 30px}.first-visit-head .section-lead{margin-bottom:0}
.first-visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.answer-card{position:relative;border-radius:24px;padding:25px 23px 24px;border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;overflow:hidden}
.answer-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-48px;bottom:-58px;opacity:.38}
.answer-rx{background:linear-gradient(145deg,#f0fbf5,#fff)}.answer-rx:after{background:#9ed7ba}
.answer-stock{background:linear-gradient(145deg,#fff8df,#fff)}.answer-stock:after{background:#f2c85b}
.answer-line{background:linear-gradient(145deg,#eef8fc,#fff)}.answer-line:after{background:#79bfdb}
.answer-q{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--green-dark);color:#fff;font-weight:900;margin-bottom:16px}
.answer-card h3{margin:0 0 12px;font-size:1.05rem;line-height:1.55;color:var(--green-dark)}
.answer-card p{margin:0;color:#617068;font-size:.9rem;line-height:1.8}.answer-card p strong{color:var(--text);font-size:1rem}
.first-visit-cta{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:26px}.first-visit-cta span{font-size:.88rem;color:var(--muted)}.first-visit-cta span a{color:var(--green-dark);font-weight:900}
.hero-title em{background:linear-gradient(transparent 64%,rgba(242,200,91,.42) 64%);font-style:normal;color:var(--green-dark)}
.hero-copy{max-width:650px}.hero-badge{background:#fff7d9;border-color:#f0d98a;color:#5d4a12}.hero-badge span{color:#e0a91d}
.quick-tags span:nth-child(2){background:#fff3c9;border-color:#f0d98a;color:#6b5515}.quick-tags span:nth-child(3){background:#eaf5fa;border-color:#cce5ef;color:#2e718e}
@media(max-width:900px){.first-visit-grid{grid-template-columns:1fr}.first-visit-cta{flex-direction:column;gap:12px}}
@media(max-width:640px){.first-visit-section{padding:46px 0 50px}.answer-card{padding:20px;border-radius:19px}.first-visit-cta .btn{width:100%}.hero-title{font-size:2.35rem}.hero-copy{font-size:1rem;line-height:1.9}.hero-badge{font-size:.76rem}.mobile-line span{font-size:.72rem}}


/* ===== v7: 処方せん送信を主役に・スマホ表示崩れ修正 ===== */
html, body { overflow-x: hidden; }

.hero-title > span {
  display: inline-block;
}

.hero-title .hero-second {
  white-space: nowrap;
}

.quick-tags span:nth-child(2) {
  background: #e4f5ec;
  border-color: #c9e8d8;
  color: #176d4b;
}

.quick-tags span:nth-child(3) {
  background: #fff3c9;
  border-color: #f0d98a;
  color: #6b5515;
}

.line-section .section-title,
.first-visit-section .section-title {
  word-break: keep-all;
  overflow-wrap: normal;
}

@media (max-width: 640px) {
  body {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .hero-title {
    font-size: 2.06rem;
    line-height: 1.22;
    letter-spacing: -0.035em;
    margin-top: 18px;
    margin-bottom: 20px;
  }

  .hero-title .hero-second {
    white-space: nowrap;
  }

  .section-title {
    line-height: 1.25;
    letter-spacing: -0.025em;
  }

  .first-visit-head .section-title {
    font-size: 2rem;
  }

  .line-section .section-title {
    font-size: 2rem;
  }

  .mobile-sticky {
    padding-top: 7px;
    padding-bottom: max(7px, env(safe-area-inset-bottom));
  }

  .mobile-sticky a {
    min-height: 50px;
  }

  .mobile-line span {
    font-size: .70rem;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .hero-title {
    font-size: 1.92rem;
  }

  .mobile-line span {
    font-size: .66rem;
  }
}


/* ===== v7.1: 処方せん送信 + 在庫確認の2本柱 ===== */
.btn-stock {
  background: #fff7d8;
  color: #315a47;
  border: 1px solid #e6cb6b;
}

.btn-stock:hover {
  background: #fff1b8;
}

@media (max-width: 640px) {
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .btn-stock {
    width: 100%;
    text-align: center;
  }
}

/* ===== v7.2: スマホのヒーロー図版・文字重なり修正 ===== */
@media (max-width: 640px) {
  /* 浮遊ラベルを薬局カードの外側へ逃がし、見出しと重ねない */
  .hero-visual {
    min-height: 0;
    display: block;
    padding: 58px 0 56px;
  }

  .pharmacy-illustration {
    width: min(315px, calc(100% - 24px));
    margin: 0 auto;
    transform: none;
  }

  .illustration-top {
    padding: 15px 16px;
  }

  .illustration-top span {
    font-size: .84rem;
    line-height: 1.35;
  }

  .illustration-body {
    min-height: 160px;
    padding: 22px;
  }

  .float-card {
    z-index: 6;
    white-space: nowrap;
  }

  .float-line {
    left: 2px;
    top: 3px;
  }

  .float-home {
    right: 0;
    top: 3px;
  }

  .float-med {
    left: 10px;
    bottom: 3px;
  }

  .visual-orbit {
    z-index: -1;
  }
}

@media (max-width: 360px) {
  .float-card {
    gap: 6px;
    padding: 7px 8px;
  }

  .float-card b {
    width: 29px;
    height: 29px;
  }

  .float-card span {
    font-size: .64rem;
  }

  .pharmacy-illustration {
    width: calc(100% - 18px);
  }
}

/* ===== v7.3: スマホ余白と固定ボタン安全域の最終調整 ===== */
@media (max-width: 640px) {
  /* LINE説明の末尾と営業時間セクションの間隔を少し詰める */
  .line-section {
    padding-bottom: 24px;
  }

  .line-section .privacy-note {
    margin-top: 16px;
    margin-bottom: 0;
  }

  .hours-section {
    padding-top: 26px;
  }

  .hours-layout {
    gap: 18px;
  }

  .hours-heading p {
    margin-bottom: 12px;
  }

  /* 最下部が固定ボタンに隠れにくいように安全余白を確保 */
  body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .site-footer {
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 360px) {
  .line-section {
    padding-bottom: 20px;
  }

  .hours-section {
    padding-top: 22px;
  }
}

/* ===== v7.4: スマホ最終修正（キャッシュ対策＋重なり完全回避） ===== */
@media (max-width: 640px) {
  /* 浮遊ラベルを絶対配置から通常レイアウトへ変更。文字重なりを完全に回避 */
  body.v7 .hero-visual {
    min-height: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 0;
  }

  body.v7 .pharmacy-illustration {
    order: 1;
    flex: 0 0 min(315px, calc(100% - 12px));
    width: min(315px, calc(100% - 12px));
    margin: 0 auto 8px;
    transform: none;
  }

  body.v7 .hero-visual .float-card {
    position: static;
    inset: auto;
    transform: none;
    z-index: 2;
    margin: 0;
    white-space: nowrap;
    padding: 8px 10px;
  }

  body.v7 .hero-visual .float-line { order: 2; }
  body.v7 .hero-visual .float-home { order: 3; }
  body.v7 .hero-visual .float-med { order: 4; }
  body.v7 .hero-visual .visual-orbit { display: none; }

  /* LINE説明→営業時間の余白を確実に縮める */
  body.v7 .line-section {
    padding-bottom: 20px !important;
  }

  body.v7 .line-section .privacy-note {
    margin-bottom: 0 !important;
  }

  body.v7 .hours-section {
    padding-top: 24px !important;
  }

  body.v7 .hours-layout {
    gap: 18px;
  }

  /* 固定ボタンの安全域 */
  body.v7 {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 360px) {
  body.v7 .hero-visual .float-card {
    padding: 7px 8px;
  }
  body.v7 .hero-visual .float-card span {
    font-size: .64rem;
  }
}

/* ===== v7.5: オンライン服薬指導の案内 ===== */
.online-section {
  padding: 18px 0 72px;
  background: linear-gradient(180deg, #fbfdfc 0%, #f3faf7 100%);
}

.online-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 260px;
  gap: 24px;
  align-items: center;
  padding: 30px 32px;
  border: 1px solid var(--border);
  border-radius: 26px;
  background:
    radial-gradient(circle at 93% 8%, rgba(75,159,199,.13), transparent 25%),
    linear-gradient(145deg, #eef8fc 0%, #ffffff 58%, #f1fbf6 100%);
  box-shadow: var(--shadow-soft);
}

.online-mark {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: linear-gradient(145deg, var(--blue), #3b8fb7);
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(75,159,199,.20);
}

.online-copy .online-kicker {
  text-align: left;
  margin-bottom: 5px;
  color: #2c7898;
}

.online-copy h2 {
  margin: 0 0 10px;
  color: var(--green-dark);
  font-size: clamp(1.55rem, 2.5vw, 2.1rem);
  line-height: 1.4;
}

.online-copy > p:not(.online-note) {
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
}

.online-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}

.online-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e7f4fa;
  color: #2d7392;
  border: 1px solid #cfe6ef;
  font-size: .74rem;
  font-weight: 900;
}

.online-tags span:nth-child(3) {
  background: #e7f5ed;
  color: #176d4b;
  border-color: #cee7d9;
}

.online-note {
  margin: 14px 0 0;
  color: #68766f;
  font-size: .82rem;
  line-height: 1.7;
}

.online-action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.online-action .btn {
  width: 100%;
  white-space: nowrap;
}

.online-action small {
  color: var(--muted);
  font-size: .73rem;
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 900px) {
  .online-panel {
    grid-template-columns: auto 1fr;
  }

  .online-action {
    grid-column: 1 / -1;
    max-width: 420px;
    width: 100%;
    justify-self: center;
  }
}

@media (max-width: 640px) {
  .online-section {
    padding: 6px 0 48px;
  }

  .online-panel {
    display: block;
    padding: 24px 20px;
    border-radius: 21px;
  }

  .online-mark {
    width: 54px;
    height: 54px;
    margin-bottom: 16px;
    border-radius: 17px;
    font-size: 1.25rem;
  }

  .online-copy h2 {
    font-size: 1.62rem;
  }

  .online-copy > p:not(.online-note) {
    font-size: .92rem;
  }

  .online-action {
    margin-top: 20px;
  }

  .online-action small {
    text-align: left;
  }
}
