:root{--green:#174f3f;--green-dark:#103c31;--gold:#d8a529;--gold-light:#f2ce61;--cream:#fff8e6;--paper:#fffdfa;--ink:#26312d;--soft:#67716c;--line:#ded8c6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e6e0d4;color:var(--ink);font-family:var(--font-jp),"Yu Gothic",sans-serif}a{color:inherit;text-decoration:none}
.page-shell{width:min(430px,100%);margin:0 auto;background:var(--paper);min-height:100vh;box-shadow:0 12px 38px rgba(34,37,31,.18);padding-bottom:72px;overflow:hidden}
.site-header{position:absolute;z-index:5;inset:0 0 auto;height:68px;padding:9px 12px;background:rgba(16,60,49,.96);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:0 0 12px 12px;box-shadow:0 4px 18px rgba(5,25,19,.22);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;gap:8px;min-width:0}.logo-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font:800 20px var(--font-serif),serif;flex:none}.logo small{display:block;font-size:9px;line-height:1.4;letter-spacing:.04em;color:#d9e8e2}.logo b{display:block;font:700 13px/1.35 var(--font-serif),serif;white-space:nowrap}.header-phone{background:var(--gold-light);color:var(--green-dark);padding:7px 10px;border-radius:18px 4px 18px 4px;text-align:center;flex:none;box-shadow:0 2px 8px rgba(0,0,0,.12)}.header-phone small{display:block;font-size:9px;font-weight:800}.header-phone b{font-size:12px;letter-spacing:.02em}
.hero{height:590px;position:relative;background:var(--green-dark)}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 44%;image-rendering:auto;filter:saturate(.82);transform:scale(1.58) translateY(-2.5%)}.hero-overlay{position:absolute;inset:0;padding:96px 20px 112px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(180deg,rgba(10,34,27,.02) 0%,rgba(10,34,27,.18) 38%,rgba(10,34,27,.94) 100%)}.hero-badge,.light-ribbon{align-self:flex-start;background:var(--gold);color:#fff;padding:7px 12px;border-radius:4px;font-size:12px;font-weight:800}.hero-overlay>p{font-size:14px;font-weight:700;margin:13px 0 5px;color:#e7f0ec}.hero h1{font:800 32px/1.34 var(--font-serif),serif;margin:0 0 20px;text-shadow:0 2px 10px rgba(0,0,0,.4)}.hero h1 strong{font-size:42px;color:var(--gold-light)}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-points span{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);border-radius:8px;padding:10px 6px;text-align:center;font-size:12px;line-height:1.55;backdrop-filter:blur(5px)}.hero-points b{display:block;font-size:16px;color:#fff}
.action-panel{position:relative;z-index:6;margin:-92px 14px 0;padding:18px 16px 16px;background:linear-gradient(145deg,#ffdc6f,#e9ad23);border:4px solid #e89212;border-radius:16px;text-align:center;box-shadow:0 10px 24px rgba(80,54,5,.24)}.action-label{margin:0 0 11px;color:var(--green-dark);font-weight:900;font-size:13px}.primary-button{min-height:70px;background:var(--green-dark);color:#fff;border-radius:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(16,60,49,.25)}.primary-button span{font-size:12px;font-weight:700}.primary-button b{font-size:21px;letter-spacing:.05em}.secondary-button{min-height:50px;margin-top:10px;background:#fff;color:var(--green-dark);border:2px solid var(--green-dark);border-radius:25px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.secondary-button span{margin-left:12px}.action-panel>small{display:block;margin-top:10px;color:#684f13;font-size:10px;font-weight:700}
.content-section{padding:40px 20px}.ribbon{display:inline-flex;background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;padding:6px 14px;border-radius:4px;font-size:11px;font-weight:800;box-shadow:0 3px 8px rgba(16,60,49,.2)}h2{font:800 25px/1.45 var(--font-serif),serif;margin:14px 0 10px;color:var(--ink)}.lead{font-size:12px;line-height:1.8;color:var(--soft);margin:0 0 20px}
.worries-section{background:#fff}.worry-list{display:grid;gap:10px}.worry-list article{display:grid;grid-template-columns:44px 1fr;gap:11px;border:1px solid #e8ddbf;background:var(--cream);border-radius:12px;padding:13px}.worry-list article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-weight:900;font-size:11px}.worry-list h3{font-size:13px;margin:0 0 3px}.worry-list p{font-size:10.5px;line-height:1.65;color:var(--soft);margin:0}.mid-button{display:flex;align-items:center;justify-content:center;margin-top:18px;min-height:48px;border-radius:25px;background:var(--green);color:#fff;font-size:12px;font-weight:800}.mid-button.gold{background:var(--gold);color:var(--green-dark)}
.approach-section{padding:72px 22px 40px;margin-top:35px;background:linear-gradient(160deg,var(--green),var(--green-dark));color:#fff;position:relative}.staff-photo{position:absolute;top:-52px;left:22px;width:108px;height:108px;border:5px solid var(--gold-light);border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 7px 20px rgba(0,0,0,.2)}.staff-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.approach-section .light-ribbon{margin-left:116px;background:var(--gold);font-size:9px}.approach-section h2{color:#fff;font-size:26px;margin-top:24px}.approach-section>p{font-size:12px;line-height:2;color:#e3eeea}.approach-section ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:8px}.approach-section li{background:rgba(255,255,255,.1);border-left:4px solid var(--gold-light);padding:10px 12px;font-size:11px;font-weight:700}
.flow-section{background:#fff}.flow-list{position:relative;margin-top:22px;padding-left:7px}.flow-list::before{content:"";position:absolute;left:25px;top:28px;bottom:28px;width:3px;background:#e6d8ad}.flow-list article{position:relative;display:grid;grid-template-columns:52px 1fr;gap:12px;margin-bottom:20px}.step-number{z-index:1;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--green);color:var(--gold-light);font-weight:800}.step-number small{font-size:7px;line-height:1}.step-number b{font-size:15px;line-height:1.1}.flow-list h3{font-size:14px;margin:3px 0 4px}.flow-list p{font-size:10.5px;line-height:1.75;color:var(--soft);margin:0}
.access-section{padding:40px 20px;background:linear-gradient(160deg,#fff2c8,var(--cream))}.access-section h2 strong{font-size:35px;color:var(--green)}.station-card{height:270px;position:relative;overflow:hidden;background:#fff;border-radius:14px;padding:30px;box-shadow:0 6px 18px rgba(59,54,37,.12)}.station-card::before,.station-card::after{content:"";position:absolute;background:#e1eadf;transform:rotate(-13deg)}.station-card::before{width:130%;height:27px;left:-15%;top:45%}.station-card::after{width:27px;height:130%;left:48%;top:-15%}.station-card span,.station-card>b,.station-card i,.station-card strong{position:relative;z-index:2;display:block}.station-card span{font-size:9px;color:var(--soft)}.station-card>b{font:800 25px var(--font-serif),serif}.station-card i{position:absolute;top:48%;left:46%;background:var(--gold);color:#fff;border-radius:15px;padding:5px 9px;font-size:9px;font-style:normal}.station-card strong{position:absolute;right:18px;bottom:17px;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--green);color:#fff;font:800 13px/1.4 var(--font-serif),serif}.access-section dl{margin:20px 0 0}.access-section dl div{display:grid;grid-template-columns:78px 1fr;border-top:1px solid #dfd2ab;padding:12px 3px}.access-section dt{font-size:10px;font-weight:800;color:#766b4d}.access-section dd{margin:0;font-size:12px;font-weight:700;line-height:1.65}.access-section dd small{color:#91876e;font-weight:400}
.faq-section{background:#fff}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;list-style:none;padding:17px 34px 17px 0;font-size:12px;font-weight:800;position:relative}.faq-section summary::before{content:"Q";color:var(--gold);font:900 17px var(--font-serif),serif;margin-right:10px}.faq-section summary::after{content:"＋";position:absolute;right:5px;color:var(--green)}.faq-section details[open] summary::after{content:"−"}.faq-section p{margin:0;padding:0 13px 17px 30px;color:var(--soft);font-size:10.5px;line-height:1.8}
.final-action{padding:50px 20px;background:var(--green-dark);color:#fff;text-align:center}.final-action>span{display:inline-block;background:var(--gold);padding:5px 13px;border-radius:15px;font-size:10px;font-weight:800}.final-action h2{color:#fff;font-size:26px}.final-action .primary-button{background:var(--gold-light);color:var(--green-dark)}.secondary-button.light{border-color:#fff;background:transparent;color:#fff}footer{padding:35px 20px 25px;text-align:center;color:var(--soft);font-size:10px;line-height:1.7}footer>b{font:800 16px var(--font-serif),serif;color:var(--ink)}footer small{display:block;color:#919894;margin-top:18px}
.sticky-actions{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100%);height:72px;background:#fff;display:grid;grid-template-columns:1fr 1.7fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #ddd9ca;box-shadow:0 -5px 18px rgba(28,44,37,.12);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.sticky-actions.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,calc(100% + 18px))}.sticky-actions a{display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;font-weight:800}.sticky-actions a:first-child{border:2px solid var(--green);color:var(--green)}.sticky-actions a:last-child{background:var(--green);color:#fff;flex-direction:column}.sticky-actions small{font-size:9px}.sticky-actions b{font-size:14px}
@media(min-width:431px){body{padding:34px 12px 70px}.page-shell{border-radius:18px}.sticky-actions{bottom:16px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Soft, airy visual refresh */
:root{--green:#4e7d70;--green-dark:#315f54;--gold:#d7a360;--gold-light:#f2cf9b;--cream:#f7f4ec;--paper:#fcfbf7;--ink:#31423d;--soft:#718079;--line:#dfe7e2;--coral:#cf624c;--mint:#edf5f1;--peach:#fff1ea}
body{background:#eef2ee}
.page-shell{background:var(--paper);box-shadow:0 12px 34px rgba(65,91,81,.1)}
.site-header{background:rgba(255,255,255,.94);color:var(--green-dark);border-bottom:1px solid rgba(78,125,112,.14);box-shadow:0 5px 18px rgba(50,83,72,.09)}
.logo-mark{background:var(--mint);color:var(--green-dark)}
.logo small{color:#6f8c83}
.header-phone{background:var(--coral);color:#fff;box-shadow:0 4px 12px rgba(207,98,76,.2)}
.hero{background:#dfeae5}
.hero>img{filter:saturate(.68) brightness(1.12) contrast(.92)}
.hero-overlay{color:var(--green-dark);background:linear-gradient(180deg,rgba(243,248,245,.04) 0%,rgba(239,246,242,.2) 30%,rgba(239,246,242,.93) 64%,rgba(239,246,242,.99) 100%)}
.hero-badge,.light-ribbon{background:var(--coral);color:#fff}
.hero-overlay>p{color:#48665d}
.hero h1{color:var(--green-dark);text-shadow:none}
.hero h1 strong{color:var(--coral)}
.hero-points span{border:1px solid rgba(78,125,112,.24);background:rgba(255,255,255,.78);color:#4e675f;box-shadow:0 4px 14px rgba(65,91,81,.07)}
.hero-points b{color:var(--green-dark)}
.action-panel{background:linear-gradient(145deg,#fff8f3,var(--peach));border:2px solid #efb3a5;box-shadow:0 12px 28px rgba(109,78,65,.14)}
.action-label{color:#755145}
.primary-button{background:var(--coral);color:#fff;box-shadow:0 6px 16px rgba(207,98,76,.2)}
.secondary-button{background:rgba(255,255,255,.9);border-color:var(--green);color:var(--green-dark)}
.action-panel>small{color:#8a6f66}
.ribbon{background:var(--mint);color:var(--green-dark);box-shadow:none;border:1px solid #d6e7df}
.worries-section,.flow-section,.faq-section{background:#fff}
.worry-list article{border-color:#dfeae4;background:#f7faf8}
.worry-list article>span{background:var(--coral)}
.mid-button{background:var(--green-dark)}
.mid-button.gold{background:var(--coral);color:#fff}
.approach-section{background:linear-gradient(160deg,#f1f7f4,#e5f0eb);color:var(--ink)}
.staff-photo{border-color:#fff;box-shadow:0 7px 20px rgba(65,91,81,.14);outline:2px solid #efb3a5}
.approach-section .light-ribbon{background:var(--coral)}
.approach-section h2{color:var(--green-dark)}
.approach-section>p{color:var(--soft)}
.approach-section li{background:rgba(255,255,255,.82);border-left-color:var(--coral);color:var(--green-dark)}
.flow-list::before{background:#d9e6df}
.step-number{background:#6d988c;color:#fff}
.access-section{background:linear-gradient(160deg,#fbf8f0,#eef6f2)}
.station-card{box-shadow:0 6px 18px rgba(65,91,81,.09)}
.station-card::before,.station-card::after{background:#e4efea}
.station-card i{background:var(--coral)}
.station-card strong{background:#6d988c}
.final-action{background:linear-gradient(160deg,#edf6f2,#f8f5ed);color:var(--green-dark)}
.final-action>span{background:var(--coral);color:#fff}
.final-action h2{color:var(--green-dark)}
.final-action .primary-button{background:var(--coral);color:#fff}
.secondary-button.light{border-color:var(--green);background:#fff;color:var(--green-dark)}
footer{background:#fff}
.sticky-actions{background:rgba(255,255,255,.97);border-top-color:#dfe7e2;box-shadow:0 -5px 18px rgba(65,91,81,.1)}
.sticky-actions a:last-child{background:var(--coral)}
/* Reference-inspired image-led composition */
.hero{height:720px;background-color:var(--mint);background-image:linear-gradient(rgba(78,125,112,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(78,125,112,.055) 1px,transparent 1px);background-size:56px 56px}
.hero>img{position:absolute;top:68px;left:0;width:100%;height:250px;object-fit:cover;object-position:center 47%;transform:none;filter:saturate(.8) brightness(1.05) contrast(.95);border-bottom:1px solid #dce9e3}
.hero-overlay{inset:318px 0 0;padding:24px 20px 112px;justify-content:flex-start;background:linear-gradient(90deg,rgba(237,245,241,.96),rgba(248,250,248,.94))}
.hero-overlay>p{margin:12px 0 4px;font-size:12px;letter-spacing:.02em}
.hero h1{font-size:30px;line-height:1.25;margin:0 0 16px}
.hero h1 strong{font-size:39px}
.hero-points span{padding:8px 6px;font-size:11px}
.hero-points b{font-size:15px}
.action-panel{margin-top:-92px}
.approach-section{padding:42px 20px 46px;margin-top:0}
.shop-gallery{position:relative;height:260px;margin:0 0 52px}
.shop-gallery img{display:block;object-fit:cover}
.shop-gallery img:first-child{width:88%;height:232px;border-radius:22px 4px 22px 4px;box-shadow:0 12px 30px rgba(65,91,81,.12)}
.shop-gallery img:last-child{position:absolute;right:0;bottom:-24px;width:48%;height:124px;border:6px solid #fff;border-radius:4px 18px 4px 18px;box-shadow:0 10px 24px rgba(65,91,81,.14)}
.approach-section .light-ribbon{margin-left:0}
.approach-section h2{margin-top:18px}
/* Official-site content and review trust signals */
.review-badge{position:absolute;z-index:5;top:286px;right:18px;min-width:188px;min-height:50px;padding:8px 11px 8px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.97);border:1px solid #e1e8e4;border-radius:12px;box-shadow:0 7px 20px rgba(49,95,84,.16);color:var(--green-dark)}
.review-badge span{display:grid;gap:1px}.review-badge small{font-size:10px;font-weight:800;color:#64766f}.review-badge b{font-size:15px;line-height:1.2}.review-badge i{color:#e6aa27;font-style:normal;letter-spacing:-.08em;margin-right:5px}.review-badge em{font-size:10px;font-style:normal;color:#7d8b86;border-left:1px solid #e0e7e3;padding-left:10px}
.service-section{padding:42px 20px 46px;background:linear-gradient(180deg,#f4f9f6,#edf5f1)}
.service-list{display:grid;gap:12px;margin-top:20px}.service-list article{position:relative;padding:18px 17px 18px 58px;background:#fff;border:1px solid #dce9e3;border-radius:14px;box-shadow:0 7px 18px rgba(65,91,81,.06)}.service-list article>span{position:absolute;left:16px;top:18px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:#fff;font-size:11px;font-weight:900}.service-list h3{margin:0 0 6px;font-size:16px;color:var(--green-dark)}.service-list p{margin:0;font-size:13px;line-height:1.8;color:var(--soft)}.service-note{margin:16px 2px 0;font-size:13px;line-height:1.8;color:#5e7069}
.lead{font-size:14px}.worry-list h3{font-size:15px}.worry-list p{font-size:13px}.worry-list article{grid-template-columns:44px 1fr;padding:14px}.worry-list article>span{font-size:12px}
.google-map{height:320px;overflow:hidden;background:#fff;border:1px solid #dce7e1;border-radius:14px;box-shadow:0 7px 20px rgba(65,91,81,.1)}.google-map iframe{display:block;width:100%;height:100%;border:0}
.page-shell{padding-bottom:0}.production-credit{margin-top:28px!important;padding-top:16px;border-top:1px solid #eef1ef;color:#a0aaa5!important;font-size:9px!important;letter-spacing:.04em}
.logo{padding-left:4px}
