:root{--navy:#102d35;--green:#13b879;--mint:#dff7ee;--cream:#f5f3ed;--orange:#ff7657;--ink:#163138;--muted:#687b7f;--white:#fff;--line:#dce5e2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:82px;display:flex;align-items:center;padding:0 clamp(24px,5vw,76px);gap:48px;position:absolute;z-index:10;width:100%;color:#fff}.brand{display:flex;align-items:center;gap:11px;margin-right:auto;line-height:1}.brand>span:last-child{display:grid;gap:5px}.brand b{font:700 19px/1 "DM Sans"}.brand small{font-size:9px;letter-spacing:.24em}.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--green);position:relative;display:block;transform:rotate(-5deg)}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";position:absolute;background:#fff;border-radius:10px}.brand-mark:before{width:7px;height:17px;left:8px;top:9px}.brand-mark:after{width:7px;height:22px;right:8px;top:6px}.brand-mark i{width:7px;height:12px;left:14px;bottom:8px;transform:rotate(45deg)}nav{display:flex;gap:36px;font-size:13px;font-weight:600}nav a:hover{color:#7de0ba}.header-cta{border:1px solid #ffffff66;border-radius:100px;padding:11px 22px;font-size:12px;font-weight:700}.hero{min-height:760px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:110px clamp(30px,8vw,130px) 60px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label{font:700 11px/1 "DM Sans";letter-spacing:.25em;color:var(--green);display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:1px;background:var(--green)}h1{font-size:clamp(47px,5.1vw,77px);line-height:1.26;letter-spacing:-.055em;margin:25px 0 26px;font-weight:700}h1 em{font-style:normal;color:#68d4ae}.hero-lead{font-size:16px;line-height:2;margin-bottom:32px;color:#e0e9e8}.hero-actions{display:flex;align-items:center;gap:30px}.button{height:61px;padding:0 25px;border-radius:9px;display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:700}.button b{font-size:20px;margin-left:14px}.button.primary{background:var(--green);box-shadow:0 12px 30px #03191655}.button:hover{transform:translateY(-2px)}.line-icon{width:25px;height:25px;border-radius:7px;background:#fff;color:var(--green);font:800 14px/25px "DM Sans";text-align:center}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #ffffff55;padding:10px 0}.text-link span{margin-left:9px}.no-download{font-size:10px;color:#9eb0b3;margin-left:17px}.hero-visual{height:610px;position:relative;z-index:1}.phone{position:absolute;left:50%;top:50%;transform:translate(-42%,-46%) rotate(3deg);width:315px;height:626px;background:#192428;border:7px solid #23383d;border-radius:43px;padding:9px;box-shadow:0 35px 75px #0008;z-index:2}.phone-speaker{position:absolute;z-index:3;top:14px;left:50%;transform:translateX(-50%);width:78px;height:20px;background:#192428;border-radius:0 0 15px 15px}.phone-screen{height:100%;border-radius:31px;overflow:hidden;background:#f5f7f6;color:var(--ink);position:relative}.app-head{height:49px;padding:12px 15px;background:white;display:flex;justify-content:space-between;align-items:center;font-size:11px}.app-greeting{padding:18px 19px 12px;display:grid}.app-greeting small{font-size:8px;color:#899}.app-greeting strong{font-size:17px}.mode-tabs{display:flex;margin:0 13px;background:#e7eeeb;border-radius:8px;padding:3px;font-size:7px}.mode-tabs>*{width:50%;text-align:center;padding:7px}.mode-tabs b{background:white;border-radius:6px;color:var(--green);box-shadow:0 2px 8px #2342}.map{height:184px;margin-top:11px;background:linear-gradient(25deg,#d9e8df,#edf1e8);position:relative;overflow:hidden}.road{position:absolute;background:#fff;border:1px solid #d4ddd5;width:400px;height:24px}.r1{transform:rotate(25deg);left:-60px;top:80px}.r2{transform:rotate(-30deg);left:-20px;top:40px}.r3{transform:rotate(80deg);left:-55px;top:60px}.map-label{position:absolute;font-size:6px;color:#71827a}.l1{top:36px;left:35px}.l2{bottom:38px;right:33px}.pin{position:absolute;left:50%;top:47%;width:30px;height:30px;background:var(--green);border:5px solid white;box-shadow:0 3px 10px #3456;border-radius:50%;color:transparent}.booking-card{position:absolute;bottom:0;width:100%;background:white;border-radius:18px 18px 0 0;padding:13px 15px}.service-choice{display:flex;background:#f0f3f1;border-radius:8px;padding:3px;font-size:7px}.service-choice>*{width:50%;padding:7px;text-align:center}.service-choice b{background:#e2f7ef;border-radius:6px;color:#0b9764}.booking-card label{display:flex;align-items:center;gap:8px;padding:10px 3px;border-bottom:1px solid #eef1f0;font-size:8px}.booking-card label span{display:grid;margin-right:auto}.booking-card label small{font-size:6px;color:#9aa}.booking-card label b{font-size:6px;color:var(--green)}.dot{width:8px;height:8px;border-radius:50%}.dot.green{background:var(--green)}.dot.orange{background:var(--orange)}.booking-card button{border:0;width:100%;padding:11px;background:var(--green);color:white;border-radius:7px;font-weight:700;font-size:8px;margin-top:10px}.floating-chip{position:absolute;z-index:4;background:#fff;color:var(--ink);border-radius:13px;padding:12px 17px;display:flex;align-items:center;gap:11px;box-shadow:0 15px 40px #001d1a40;font-size:9px;line-height:1.4}.floating-chip i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green);font-style:normal;font-size:16px}.chip-a{left:-10px;top:160px}.chip-b{right:-8px;bottom:110px}.route-line{position:absolute;width:430px;height:430px;border:1px dashed #68cbae66;border-radius:48% 52% 30% 70%;top:110px;left:40px;transform:rotate(-20deg)}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-one{width:500px;height:500px;background:#1c615b55;right:-120px;top:-170px}.orb-two{width:270px;height:270px;background:#0a504a55;left:42%;bottom:-130px}.section-pad{padding:110px clamp(28px,8vw,130px)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin:22px 0 70px}.intro h2,.section-heading h2,.flow h2,.safety h2{font-size:clamp(34px,3.5vw,54px);line-height:1.42;letter-spacing:-.05em;margin:0}.intro-grid p{margin:0 0 18px;font-size:14px;color:var(--muted)}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-cards article{min-height:310px;border-radius:20px;padding:38px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.taxi-card{background:#dff4ed}.driver-card{background:#fbe6dd}.card-number{position:absolute;right:25px;top:20px;font:600 12px "DM Sans";color:#78928c}.vehicle{position:absolute;right:40px;top:65px;font:800 35px "DM Sans";letter-spacing:-.05em;color:#0fae73;opacity:.17}.vehicle i{display:block;width:130px;height:45px;border:6px solid currentColor;border-radius:40px 50px 8px 8px;margin:8px}.driver-card .vehicle{color:var(--orange)}.service-cards small{font:700 9px "DM Sans";letter-spacing:.22em;color:var(--green)}.driver-card small{color:var(--orange)}.service-cards h3{margin:7px 0 8px;font-size:24px}.service-cards p{font-size:12px;color:var(--muted);max-width:340px;margin:0}.features{background:var(--navy);color:white}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px}.section-heading p{color:#a9b9ba;font-size:13px}.section-label.light{color:#64d0a9}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff1c}.feature-grid article{min-height:330px;padding:34px 28px;border-right:1px solid #ffffff1c;position:relative}.feature-grid article:last-child{border:0}.feature-grid article>span{font:500 10px "DM Sans";color:#729096}.feature-icon{margin:40px 0 35px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#153c41;color:#5dd0a6;font-style:normal;font-size:27px}.feature-grid h3{font-size:17px;margin:0 0 14px}.feature-grid p{font-size:11px;color:#9cafb1;margin:0}.flow{background:#fff}.flow-title{margin-bottom:65px}.flow-title .section-label{margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps article{position:relative}.steps article:not(:last-child):after{content:"→";position:absolute;right:-13px;top:143px;color:#9eb0ac;z-index:2}.steps article>b{font:700 9px "DM Sans";letter-spacing:.17em;color:var(--green)}.step-art{height:190px;background:var(--cream);border-radius:15px;margin:14px 0 23px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.line-art .line-icon{width:55px;height:55px;line-height:55px;font-size:26px;background:var(--green);color:white;border-radius:15px}.line-art>i{position:absolute;width:23px;height:23px;background:white;border-radius:50%;color:var(--green);text-align:center;line-height:23px;margin:25px 0 0 50px;font-style:normal}.choose-art{gap:8px}.choose-art span{width:42%;height:85px;border:1px solid #dfe5e2;border-radius:10px;display:grid;place-items:center;font-size:29px;background:white}.choose-art span:first-child{border:2px solid var(--green);background:#e5f7f0}.choose-art small{font-size:8px}.map-art{background:linear-gradient(30deg,#dcece3,#f2f4ed)}.map-art:before,.map-art:after{content:"";position:absolute;width:300px;height:20px;background:white;transform:rotate(35deg)}.map-art:after{transform:rotate(-50deg)}.map-art i{z-index:2;font-style:normal;font-size:27px;color:var(--green)}.done-art{flex-direction:column;gap:12px}.done-art i{width:46px;height:46px;border-radius:50%;background:var(--green);color:white;font-style:normal;font-size:25px;text-align:center;line-height:46px}.done-art span{font-size:8px;background:white;border-radius:7px;padding:8px 15px;box-shadow:0 5px 15px #3451}.steps h3{font-size:17px;margin:0 0 10px}.steps p{font-size:11px;color:var(--muted);margin:0}.safety{background:#e8f6f1;display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.safety>div:first-child>p{color:var(--muted);font-size:13px;margin-top:25px;max-width:380px}.safety .section-label{margin-bottom:20px}.safety-list{display:grid}.safety-list article{display:flex;gap:21px;align-items:center;border-bottom:1px solid #bcd9cf;padding:25px 0}.safety-list article>i{flex:none;width:47px;height:47px;border:1px solid #b3d4c8;border-radius:50%;display:grid;place-items:center;font-style:normal;color:var(--green);font-size:20px}.safety-list h3{font-size:16px;margin:0 0 4px}.safety-list p{font-size:11px;color:var(--muted);margin:0}.cta{text-align:center;background:var(--green);color:white;min-height:530px;padding:105px 25px;position:relative;overflow:hidden}.cta>*{position:relative;z-index:2}.cta .section-label{justify-content:center}.cta h2{font-size:clamp(37px,4vw,58px);line-height:1.4;letter-spacing:-.05em;margin:23px 0 13px}.cta p{font-size:13px}.button.white{background:#fff;color:var(--green);margin:18px 0}.button.white .line-icon{background:var(--green);color:#fff}.cta>small{display:block;font-size:9px;color:#d4fff0}.cta-rings{position:absolute;z-index:1;width:730px;height:730px;border:1px solid #ffffff22;border-radius:50%;left:50%;top:20%;transform:translate(-50%,-50%)}.cta-rings:after,.cta-rings:before{content:"";position:absolute;border:1px solid #ffffff16;border-radius:50%;inset:90px}.cta-rings:after{inset:210px}footer{background:#0c242a;color:#fff;padding:55px clamp(28px,8vw,130px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.footer-brand{margin:0}footer>p{font-size:11px;color:#81969a;text-align:right}footer>div{display:flex;gap:28px;font-size:10px}footer>small{text-align:right;color:#668086;font-size:8px}.footer-brand .brand-mark{width:30px;height:30px}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:120px}.hero-copy{text-align:center}.eyebrow{justify-content:center}.hero-actions{justify-content:center}.no-download{margin-left:0}.hero-visual{height:650px}.phone{transform:translate(-50%,-48%) rotate(2deg)}.chip-a{left:8%}.chip-b{right:7%}.intro-grid,.safety{grid-template-columns:1fr;gap:35px}.feature-grid,.steps{grid-template-columns:repeat(2,1fr)}.feature-grid article:nth-child(2){border-right:0}.steps article:nth-child(2):after{display:none}}
@media(max-width:600px){.site-header{height:68px;padding:0 20px}.header-cta{display:none}.hero{padding:100px 20px 35px;min-height:auto}h1{font-size:45px}.hero-lead{font-size:14px}.hero-actions{flex-direction:column;gap:11px}.no-download{margin-top:4px}.hero-visual{height:565px}.phone{width:275px;height:547px}.chip-a{left:0;top:150px}.chip-b{right:-5px;bottom:90px}.route-line{width:320px;height:400px;left:0}.section-pad{padding:76px 22px}.intro-grid{margin-bottom:45px}.service-cards,.feature-grid,.steps{grid-template-columns:1fr}.service-cards article{min-height:285px}.section-heading{display:block}.section-heading p{margin-top:25px}.feature-grid article{min-height:245px;border-right:0;border-bottom:1px solid #ffffff1c;padding:30px 5px}.feature-icon{margin:25px 0 20px}.steps{gap:35px}.steps article:after{display:none}.step-art{height:180px}.safety{gap:25px}.cta{min-height:490px;padding-top:80px}footer{grid-template-columns:1fr;text-align:center;justify-items:center}footer>p,footer>small{text-align:center}footer>div{flex-wrap:wrap;justify-content:center}.footer-brand{margin:0 auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* 期間限定のお知らせ */
.limited-offer{position:absolute;z-index:8;top:92px;left:50%;width:min(780px,72vw);transform:translateX(-50%) rotate(-4deg);display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 22px;color:#e32626;background:#fffdf4f2;border:3px solid #e32626;border-radius:8px;box-shadow:0 10px 28px #0005;font-style:normal;text-align:center;line-height:1.55}.limited-offer strong{flex:none;padding:4px 9px;background:#e32626;color:#fff;border-radius:4px;font-size:13px;letter-spacing:.08em}.limited-offer span{font-size:clamp(12px,1.15vw,16px);font-weight:800}
@media(max-width:900px){.hero{padding-top:205px}.limited-offer{top:88px;width:88vw}}
@media(max-width:600px){.hero{padding-top:220px}.limited-offer{top:76px;width:92vw;transform:translateX(-50%) rotate(-3deg);display:block;padding:9px 12px}.limited-offer strong{display:inline-block;margin-bottom:5px;font-size:11px}.limited-offer span{display:block;font-size:11px;line-height:1.6}}

/* Readability and journey-diagram refresh */
body{font-size:16px;line-height:1.9}
nav{font-size:15px}.brand small{font-size:11px}.header-cta{font-size:14px}
.hero-lead{font-size:18px;line-height:1.9}.button{font-size:16px}.text-link{font-size:14px}.no-download{font-size:13px}
.intro-grid p{font-size:16px;line-height:1.95}.section-heading p,.safety>div:first-child>p{font-size:16px;line-height:1.9}
.service-cards p{font-size:15px;line-height:1.8}.service-cards small{font-size:12px}.service-cards h3{font-size:27px}
.feature-grid article>span,.steps article>b{font-size:12px}.feature-grid h3,.steps h3{font-size:20px;line-height:1.45}.feature-grid p,.steps p{font-size:15px;line-height:1.85}
.safety-list h3{font-size:19px}.safety-list p{font-size:15px;line-height:1.8}.cta p{font-size:16px}.cta>small{font-size:12px}
footer>p{font-size:14px}footer>div{font-size:13px}footer>small{font-size:11px}
.step-art.journey-art{height:210px;padding:22px;background:#f4f8f6;border:1px solid #d9e8e1;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:inset 0 1px 0 #fff}
.journey-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font:800 28px/1 "DM Sans"}.journey-icon.line{background:#13b879;color:#fff}.journey-connector{font-size:25px;color:#79bda2}.journey-copy,.confirm-copy{display:grid;gap:4px}.journey-copy strong,.confirm-copy strong{font-size:16px;color:var(--navy)}.journey-copy small,.confirm-copy small{font-size:13px;color:var(--muted);line-height:1.5}.journey-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e1f7ed;color:#098c5b;font-weight:900}.journey-check.large{width:54px;height:54px;background:#13b879;color:#fff;font-size:27px;flex:none}
.service-art{display:grid!important;grid-template-columns:1fr 1fr;align-content:center;gap:10px}.service-option{min-height:92px;border:1px solid #cfddd6;border-radius:13px;background:#fff;display:grid;place-items:center;gap:4px;padding:11px;color:#60757a}.service-option.active{border:2px solid #13b879;background:#e5f8ef;color:#087f53;box-shadow:0 7px 16px #13b87920}.service-option i{font-size:31px;font-style:normal}.service-option span{font-size:14px;font-weight:800}.service-art>small,.route-art>small{grid-column:1/-1;text-align:center;font-size:13px;color:var(--muted);margin-top:3px}
.route-art{display:grid!important;grid-template-columns:58px 1fr 58px;grid-template-rows:1fr auto;align-content:center;gap:12px}.route-pin{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800;z-index:1}.route-pin.start{background:#13b879}.route-pin.goal{background:#ff7657}.route-path{height:4px;background:repeating-linear-gradient(90deg,#7bbda4 0 12px,transparent 12px 20px);position:relative}.route-path:after{content:"→";position:absolute;right:-3px;top:50%;transform:translateY(-54%);font-size:21px;color:#4b987b}.confirm-art{justify-content:flex-start!important;padding:30px!important;background:linear-gradient(135deg,#effaf5,#e6f7ef)!important}.confirm-copy{padding-left:5px}
@media(max-width:600px){body{font-size:16px}.hero-lead{font-size:16px}.intro-grid p,.section-heading p,.safety>div:first-child>p{font-size:16px}.feature-grid p,.steps p,.safety-list p{font-size:15px}.step-art.journey-art{height:190px}.service-cards h3{font-size:25px}}

/* Welfare taxi service */
.welfare-card{background:#e6f0fb}.welfare-card .vehicle,.welfare-card small{color:#3977b8}
.service-cards{grid-template-columns:repeat(3,1fr)}
.service-choice>*{width:33.333%;padding:6px 2px;white-space:nowrap}
.service-art{grid-template-columns:repeat(3,1fr)}.service-option{min-height:84px;padding:8px 4px}.service-option i{font-size:27px}.service-option span{font-size:12px}
@media(max-width:900px){.service-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.service-cards{grid-template-columns:1fr}.service-art{grid-template-columns:repeat(3,1fr)}.service-option span{font-size:11px}}
