
    :root{--cream:#f3eedb;--paper:#fff;--teal:#21877d;--dark:#173f39;--ink:#17332f;--muted:#687e79;--coral:#ff7657;--yellow:#ffc65d;--mint:#dcefeb;--line:#e3ece9}
    body{overflow-x:hidden;overflow-y:auto!important}
    *{box-sizing:border-box}body{margin:0;background:#edf3f1;color:var(--ink);font-family:"Avenir Next","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif}a{color:inherit;text-decoration:none}.page{max-width:1180px;margin:28px auto;background:var(--cream);border-radius:30px;overflow:hidden;box-shadow:0 30px 90px #173c3624}.site-header{height:76px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fff}.logo{font-size:23px;font-weight:800;letter-spacing:-.05em}.logo i{display:inline-block;width:9px;height:9px;margin-left:4px;border-radius:50%;background:var(--coral)}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:650;color:#41605b}.nav a.active{color:#fff;background:var(--dark);padding:11px 17px;border-radius:999px}.hero{min-height:500px;padding:105px 7% 75px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"</>";position:absolute;right:-30px;top:60px;font:800 230px/1 ui-monospace;color:#14766c0a;transform:rotate(-8deg)}.hero:after{content:"";position:absolute;width:270px;height:270px;border:2px dashed #e6ae3b;border-radius:50%;left:-120px;bottom:-120px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.19em;color:var(--teal)}h1{font-size:clamp(38px,6vw,70px);line-height:1.18;letter-spacing:-.06em;margin:16px 0 25px}h1 span{color:var(--coral);position:relative;white-space:nowrap}h1 span:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:8px;background:var(--coral);border-radius:50%;transform:rotate(-2deg)}.hero p{color:var(--muted);font-size:15px;line-height:2}.contact{padding:0 7% 95px}.contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-35px;position:relative;z-index:2}.method{background:#fff;border-radius:22px;padding:26px;text-align:center;box-shadow:0 12px 35px #173c360b}.method-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:15px;background:var(--mint);display:grid;place-items:center;color:var(--teal);font-size:22px}.method:nth-child(2) .method-icon{background:#fff2de;color:var(--coral)}.method:nth-child(3) .method-icon{background:#fff4d4;color:#b17e13}.method strong{display:block;font-size:15px;margin-bottom:7px}.method small{color:var(--muted);font-size:11px}.form-card{max-width:860px;margin:24px auto 0;background:#fff;border-radius:26px;padding:45px;box-shadow:0 14px 40px #173c360d}.form-head{text-align:center;margin-bottom:32px}.form-head h2{font-size:28px;margin:8px 0}.form-head p{font-size:12px;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.wide{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:var(--teal)}.field input,.field textarea{width:100%;border:1px solid var(--line);background:#f4f8f6;border-radius:14px;padding:15px 16px;font:inherit;font-size:13px;color:var(--ink);outline:none}.field input:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #21877d17}.field textarea{min-height:145px;resize:vertical}.send{display:block;margin:28px auto 0;border:0;border-radius:999px;background:var(--coral);color:#fff;padding:15px 32px;font-weight:750;cursor:pointer}.note{text-align:center;color:var(--muted);font-size:10px;margin-top:15px}.access{padding:0 7% 95px}.access-grid{display:grid;grid-template-columns:300px 1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 14px 40px #173c360d}.access-copy{padding:34px}.access-copy h2{font-size:23px;margin:8px 0 18px}.access-copy p{font-size:12px;line-height:1.9;color:var(--muted)}.station-badge{display:inline-block;margin:5px 0 18px;padding:8px 11px;background:var(--mint);color:var(--teal);border-radius:99px;font-size:10px;font-weight:700}.map-link{display:inline-block;padding:12px 18px;border-radius:99px;background:var(--dark);color:#fff;font-size:11px;font-weight:700}.map{min-height:500px;position:relative;overflow:hidden;background:#dfeee9}.map-grid{position:absolute;inset:0;background:linear-gradient(#173f3908 1px,transparent 1px),linear-gradient(90deg,#173f3908 1px,transparent 1px);background-size:40px 40px}.road{position:absolute;background:#fff;border:1px solid #c7dcd7;border-radius:99px}.r1{width:130%;height:28px;left:-15%;top:20%;transform:rotate(-8deg)}.r2{width:32px;height:130%;left:48%;top:-15%;transform:rotate(11deg)}.r3{width:110%;height:20px;left:-4%;bottom:20%;transform:rotate(7deg)}.rail{position:absolute;width:14px;height:135%;left:18%;top:-18%;transform:rotate(-9deg);border-left:3px dashed #718983;border-right:3px dashed #718983}.range{position:absolute;width:350px;height:350px;border:2px dashed #e7ad37;background:#ffc65d20;border-radius:50%;left:54%;top:50%;transform:translate(-50%,-50%)}.range:after{content:"徒歩圏 約500m";position:absolute;right:16px;top:16px;background:#fff4d4;color:#98711e;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:700}.pin{position:absolute;z-index:3;transform:translate(-50%,-50%);text-align:center}.pin:before{content:"";display:block;margin:auto;width:24px;height:24px;border-radius:50% 50% 50% 8%;background:var(--teal);transform:rotate(-45deg)}.pin span{display:block;margin-top:6px;padding:5px 7px;background:#fff;border-radius:8px;white-space:nowrap;font-size:8px;font-weight:700;box-shadow:0 4px 12px #173c3618}.hq{left:54%;top:50%}.hq:before{width:38px;height:38px;background:var(--coral)}.hq span{background:var(--dark);color:#fff;font-size:9px}.station{left:19%;top:21%}.school{left:66%;top:27%}.santoku{left:31%;top:39%}.lala{left:22%;top:58%}.seven{left:71%;top:68%}.nursery{left:48%;top:73%}.north{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-weight:800;color:var(--coral)}.footer{display:flex;justify-content:space-between;align-items:center;padding:26px 6%;background:#102f2b;color:#bcd1cd;font-size:10px}.footer .logo{color:#fff;font-size:18px}@media(max-width:760px){body{background:var(--cream)}.page{margin:0;border-radius:0}.site-header{height:66px}.nav{gap:14px}.nav a{font-size:11px}.hero{min-height:440px;padding:85px 6% 65px}.contact,.access{padding:0 6% 68px}.contact-methods,.fields,.access-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.form-card{padding:30px 22px}.map{min-height:480px}.range{width:310px;height:310px}.footer{align-items:flex-start;flex-direction:column;gap:12px}}
    .hero:before,.hero:after{display:none}
    .nav a:not(.active){border:0;background:transparent;color:#41605b;padding:10px 0}.nav a.active{background:var(--dark);color:#fff;min-width:82px;text-align:center;border:0;padding:11px 17px;border-radius:999px}.form-view[hidden]{display:none}.field-error,.form-status{min-height:1.35em;margin:0;color:#b74f39;font-size:11px;line-height:1.45}.form-status{text-align:center;margin-top:16px}.confirmation-list{display:grid;gap:0;margin:0}.confirmation-list div{padding:14px 0;border-bottom:1px solid var(--line)}.confirmation-list dt{color:var(--teal);font-size:11px;font-weight:750}.confirmation-list dd{white-space:pre-wrap;margin:6px 0 0;font-size:13px;line-height:1.7}.form-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}.form-actions .send{margin:0}.send.secondary{background:var(--dark)}.complete-copy{text-align:center;padding:18px 0}.complete-copy h2{font-size:28px;margin:8px 0}.complete-copy p{color:var(--muted);font-size:13px;line-height:1.8}.preview-label{display:inline-block;border-radius:99px;background:#fff4d4;color:#98711e;padding:7px 11px;font-size:10px;font-weight:750}@media(max-width:760px){.nav a:not(.active){padding:8px 0}.nav a.active{min-width:0;padding:9px 11px}.form-actions{align-items:stretch;flex-direction:column}.form-actions .send{width:100%}}
    @media(max-width:760px){.site-header{height:66px;padding:0 4%}.logo{font-size:18px}.nav{gap:8px}.nav a{font-size:9px}}
    html,body{margin:0;background:#edf3f1}
    @media(max-width:760px){html,body{background:var(--cream)}}
