@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
@font-face{font-family:'Klee One';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/handwriting-klee.ttf') format('truetype')}
:root{--blue:#0768d7;--cyan:#08bce8;--navy:#071a3c;--muted:#52647b;--pale:#edf7ff;--line:#dce8f2;--shadow:0 14px 40px rgba(13,65,119,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:#fff;font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}svg{width:1.4em;height:1.4em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header{height:76px;padding:0 clamp(24px,7.2vw,116px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,255,255,.97);position:relative;z-index:20;box-shadow:0 2px 16px rgba(7,51,100,.07)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>span:last-child{display:grid;line-height:1}.brand b{font-size:1.52rem;letter-spacing:.16em;color:#0863c6}.brand small{font-size:.59rem;margin-top:6px;color:#29466c}.brand-mark{width:47px;height:42px;display:flex;gap:3px;align-items:flex-end;transform:skew(-17deg)}.brand-mark i{width:13px;border-radius:3px;background:linear-gradient(155deg,#22a8ed,#0757bc)}.brand-mark i:nth-child(1){height:25px}.brand-mark i:nth-child(2){height:39px}.brand-mark i:nth-child(3){height:31px}
nav{display:flex;gap:clamp(18px,2.4vw,38px);align-items:center;font-size:.82rem;font-weight:700}nav a{transition:.2s}nav a:hover{color:var(--blue)}.header-actions{display:flex;align-items:center;gap:13px}.mail-button{display:flex;align-items:center;gap:10px;color:#fff;background:linear-gradient(135deg,#0872df,#0457bb);border-radius:9px;padding:11px 23px;font-size:.84rem;box-shadow:0 6px 20px rgba(6,105,216,.2)}.mail-button svg{font-size:1.08rem}.menu-button{display:none;border:0;background:none;padding:6px}.menu-button span{display:block;width:31px;height:2px;margin:6px;background:var(--navy)}
.hero{height:min(670px,44vw);min-height:570px;position:relative;overflow:hidden;background:#dff2ff}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;animation:heroIn 1.25s ease-out both}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 25%,rgba(255,255,255,.48) 45%,rgba(255,255,255,.03) 67%),linear-gradient(0deg,rgba(5,51,99,.12),transparent 45%)}
.hero-copy{position:absolute;left:clamp(28px,7.4vw,120px);top:clamp(44px,5.1vw,80px);z-index:2;max-width:700px}.eyebrow,.section-label{margin:0;color:var(--blue);font-weight:700;font-size:.74rem;letter-spacing:.28em}.hero h1,.section h2,.concierge h2,.contact h2{font-family:'Noto Serif JP',serif}.hero h1{margin:22px 0 16px;font-size:clamp(2.8rem,4.3vw,4.7rem);line-height:1.35;letter-spacing:.015em;font-weight:600}.hero-lead{font-size:1rem;line-height:1.9;font-weight:500}.hero-actions{display:flex;gap:15px;margin-top:26px}.button{height:49px;border-radius:28px;min-width:206px;padding:0 23px;display:inline-flex;align-items:center;justify-content:space-between;font-weight:700;transition:.25s}.button:hover{transform:translateY(-2px)}.button.primary{background:linear-gradient(135deg,#0874e1,#075bc5);color:#fff;box-shadow:0 9px 25px rgba(6,105,216,.22)}.button.secondary{border:1px solid var(--blue);background:rgba(255,255,255,.88);color:var(--blue)}.button span{font-size:1.7rem;line-height:1}.hero-message{position:absolute;z-index:2;right:5.7vw;top:117px;margin:0;color:white;font-family:'Noto Serif JP',serif;font-size:1.28rem;line-height:1.75;transform:rotate(-10deg);text-shadow:0 2px 10px rgba(0,52,108,.45)}.hero-origin{position:absolute;z-index:2;left:3.8vw;bottom:26px;color:#fff;font-size:.67rem;font-weight:600;letter-spacing:.14em;line-height:1.8;text-shadow:0 2px 8px #234}.hero-origin span{display:inline-block;width:32px;border-top:1px solid #fff;margin:0 10px 3px 0}
.section{padding:76px clamp(28px,7.3vw,118px)}.section-heading{display:grid;grid-template-columns:1.05fr .75fr;gap:7vw;align-items:end;margin-bottom:31px}.section-heading h2{font-size:clamp(2rem,3vw,3.25rem);margin:12px 0 0;line-height:1.38;font-weight:600}.section-heading>p{font-size:.9rem;line-height:1.9;color:var(--muted);margin:0}.section-label{display:flex;align-items:center;gap:16px}.section-label:before{content:"";width:42px;height:2px;background:var(--blue)}.service-swipe-hint{display:none}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{min-height:254px;border:1px solid #e4edf5;border-radius:13px;background:#fff;position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(20,74,123,.07);transition:.25s}.service-card:hover{transform:translateY(-4px);border-color:#8fc1ef;box-shadow:0 16px 38px rgba(20,74,123,.12)}.service-image{height:118px;background-size:cover;background-position:center}.service-net{background-image:linear-gradient(135deg,rgba(227,246,255,.08),rgba(255,255,255,.25)),url('./assets/aisuru-hero.png');background-position:16% 55%}.service-tv{background-image:linear-gradient(135deg,#e6f5ff,#b6d8ee);position:relative}.service-tv:after{content:"";position:absolute;left:12%;right:8%;bottom:-18px;height:85px;background:linear-gradient(160deg,transparent 47%,#344f67 48%,#f8fbfd 50%);opacity:.75}.service-sales{background-image:linear-gradient(120deg,rgba(6,39,80,.35),rgba(255,255,255,.1)),url('./assets/aisuru-hero-night.png');background-position:61% 55%}.service-life{background-image:url('./assets/aisuru-hero.png');background-position:60% 48%}.service-copy{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding:18px 19px 15px}.service-icon{width:42px;height:42px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:1.18rem}.service-card h3{margin:2px 0 7px;font-size:1rem;line-height:1.45}.service-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.65}.service-card>b{position:absolute;right:14px;bottom:12px;color:var(--blue);font-size:1.7rem}.service-card small{display:inline-block;color:white;background:var(--blue);border-radius:14px;padding:2px 8px;font-size:.58rem;margin-bottom:3px}.concierge-link{border-color:#b8daf8}
.concierge{height:790px;position:relative;overflow:hidden;background:#f4faff}.concierge-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.concierge-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 35%,rgba(255,255,255,.54) 58%,rgba(255,255,255,.03) 78%),linear-gradient(0deg,rgba(236,247,255,.6),transparent 40%)}.concierge-content{position:relative;z-index:2;width:min(610px,50vw);padding:70px 0 56px clamp(28px,7.3vw,118px)}.concierge-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;background:linear-gradient(135deg,#147fe8,#0460c9);color:#fff;border-radius:24px;padding:9px 17px;font-size:.81rem}.concierge-chip svg{font-size:1rem}.concierge-name{margin:0 0 16px;font-size:1.12rem;font-weight:800}.concierge h2{font-size:clamp(3rem,4.8vw,5.25rem);line-height:1.28;margin:0 0 17px;font-weight:600}.concierge h2 strong{color:var(--blue)}.concierge-lead{max-width:530px;margin:0;color:#263e5e;line-height:1.78;font-size:.9rem}.saving-card{width:min(470px,100%);margin:21px 0 18px;background:rgba(255,255,255,.95);border-radius:17px;padding:15px 22px 12px;box-shadow:var(--shadow);display:grid;text-align:center}.saving-card span{font-weight:700}.saving-card strong{font-size:clamp(3rem,4.4vw,4.7rem);line-height:1.13;color:var(--blue);letter-spacing:-.045em;text-decoration:underline;text-decoration-color:#ffe23b;text-decoration-thickness:10px;text-underline-offset:-4px}.saving-card small{justify-self:end;color:var(--muted);font-size:.68rem}.concierge-cta{width:min(470px,100%);height:58px}.no-sales{width:min(470px,100%);margin:12px 0 0;text-align:center;color:var(--blue);font-weight:700;font-size:.82rem}.no-sales:before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--blue);color:white;margin-right:8px}.concierge-note{position:absolute;z-index:2;right:5.5vw;top:116px;color:#0a5bb4;font-family:'Noto Serif JP',serif;font-size:1.24rem;line-height:1.7;transform:rotate(-8deg)}
.section-heading.compact{display:block}.check-section{padding-top:72px;background:#fff}.check-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.check-grid article{min-height:135px;border-radius:12px;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;padding:15px}.check-grid span{width:65px;height:65px;border-radius:50%;background:var(--pale);display:grid;place-items:center;color:var(--blue);font-size:1.72rem}.check-grid b{font-size:.95rem}.steps{margin-top:31px;padding:20px 25px 27px;border-radius:18px;background:linear-gradient(110deg,#eaf7ff,#f7fcff);text-align:center}.steps>p{margin:0 0 16px;color:var(--blue);font-size:1rem}.steps>p strong{font-size:1.35rem}.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;list-style:none;padding:0;margin:0}.steps li{background:white;border-radius:11px;padding:15px;display:grid;gap:7px}.steps li span{width:30px;height:30px;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center;margin:auto}.steps li small{color:var(--muted)}
.about{background:var(--navy);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.about-copy h2{font-size:clamp(2.25rem,3.7vw,4rem);line-height:1.4;margin:18px 0 25px}.about-copy>p:last-child{color:#c6d2e1;line-height:2}.about .section-label{color:#42b9ff}.reason-list article{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:25px 0;border-top:1px solid rgba(255,255,255,.16)}.reason-list article:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.reason-list article>b{color:#5fc1ff;font-size:.76rem}.reason-list h3{margin:0 0 7px}.reason-list p{margin:0;color:#b7c5d7;line-height:1.8;font-size:.86rem}.recruit{text-align:center;background:linear-gradient(135deg,#f2faff,#e0f2ff)}.recruit .section-label{justify-content:center}.recruit h2{font-size:clamp(2.1rem,3.2vw,3.6rem);margin:15px 0}.recruit>p:last-child{color:var(--muted)}.company{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.company h2{font-size:3rem;margin:15px 0}.company dl{margin:0}.company dl div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:20px 0}.company dl div:last-child{border-bottom:1px solid var(--line)}.company dt{color:var(--muted);font-size:.8rem}.company dd{margin:0;font-size:.9rem;font-weight:500}
.contact{padding:88px 24px;text-align:center;color:white;background:linear-gradient(125deg,#0661cb,#0796dd)}.contact .section-label{color:#fff;justify-content:center}.contact .section-label:before{background:#fff}.contact h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.5;margin:16px 0}.contact>p:not(.section-label){color:#e6f7ff}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;min-width:350px;margin-top:22px;background:white;color:var(--blue);border-radius:30px;padding:15px 24px;font-weight:700}.contact-button svg{font-size:1rem}.contact-button span{font-size:1.7rem}footer{padding:44px clamp(28px,7vw,112px) 26px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}.footer-links{display:flex;gap:26px;color:var(--muted);font-size:.77rem}footer>p{grid-column:1/-1;margin:0;border-top:1px solid var(--line);padding-top:18px;color:#8493a6;font-size:.68rem}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{from{transform:scale(1.025);opacity:.78}to{transform:scale(1);opacity:1}}
@media(max-width:1040px){nav{gap:16px;font-size:.75rem}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-message{display:none}}
@media(max-width:760px){.site-header{height:82px;padding:0 19px;position:relative}.brand{gap:10px}.brand b{font-size:1.3rem}.brand small{font-size:.57rem}.brand-mark{width:41px;height:37px}.brand-mark i{width:11px}.brand-mark i:nth-child(1){height:22px}.brand-mark i:nth-child(2){height:35px}.brand-mark i:nth-child(3){height:28px}.mail-button{width:49px;height:49px;padding:0;display:grid;place-items:center;border-radius:9px}.mail-button b{display:none}.menu-button{display:block}.menu-button span{width:32px;height:3px;border-radius:2px;margin:6px 0}nav{position:absolute;top:82px;inset-inline:0;background:rgba(255,255,255,.98);padding:25px;display:none;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);box-shadow:0 15px 30px rgba(0,32,77,.12)}nav.open{display:flex}
  .hero{height:830px;min-height:0}.hero-bg{height:100%;object-position:61% center}.hero-wash{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.75) 36%,rgba(255,255,255,.03) 63%,rgba(2,37,77,.64) 100%)}.hero-copy{left:20px;right:20px;top:55px;max-width:none}.eyebrow{font-size:.61rem;line-height:1.6;letter-spacing:.25em}.hero h1{font-size:clamp(2.35rem,10.5vw,3.45rem);line-height:1.43;margin:19px 0 13px}.hero-lead{font-size:.9rem;line-height:1.85}.hero-actions{position:absolute;top:610px;left:0;right:0;display:grid;gap:11px;margin:0}.button{width:100%;height:59px;font-size:1rem}.button.secondary{background:rgba(255,255,255,.96)}.hero-origin{left:auto;right:20px;bottom:147px;font-size:.57rem}.section{padding:64px 20px}.section-heading{grid-template-columns:1fr;gap:19px}.section-heading h2{font-size:2rem}.section-heading>p{font-size:.84rem}.services{padding-left:0;padding-right:0;overflow:hidden}.services .section-heading{margin-left:20px;margin-right:20px}.service-swipe-hint{display:flex;align-items:center;gap:7px;margin:0 20px 13px;color:#6b7d90;font-size:.61rem;letter-spacing:.2em}.service-swipe-hint b{color:var(--blue)}.service-swipe-hint i{width:28px;height:2px;background:linear-gradient(90deg,var(--blue),#cde9f8)}.service-grid{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:0 20px 18px;scrollbar-width:none}.service-grid::-webkit-scrollbar{display:none}.service-card{flex:0 0:min(84vw,330px);scroll-snap-align:start;min-height:254px}.service-image{height:121px}.service-copy{padding:17px 18px}.concierge{height:860px}.concierge-bg{object-position:57% center}.concierge-wash{background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.4) 68%,rgba(255,255,255,.07) 100%)}.concierge-content{width:auto;padding:43px 20px 40px}.concierge-chip{font-size:.71rem;padding:8px 13px}.concierge-name{font-size:1rem}.concierge h2{font-size:clamp(2.8rem,13vw,4rem);line-height:1.27}.concierge-lead{font-size:.82rem;max-width:95%}.saving-card{margin-top:17px}.saving-card strong{font-size:clamp(3rem,14vw,4rem)}.concierge-note{display:none}.check-grid{grid-template-columns:repeat(5,1fr);gap:6px}.check-grid article{min-height:102px;padding:8px}.check-grid span{width:47px;height:47px;font-size:1.3rem}.check-grid b{font-size:.67rem}.steps ol{grid-template-columns:1fr}.about,.company{grid-template-columns:1fr;gap:42px}.company dl div{grid-template-columns:88px 1fr}.contact-button{min-width:0;width:100%;max-width:380px}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card,.reveal,.hero-bg{transition:none;animation:none}.reveal{opacity:1;transform:none}}

/* Reference design: airy sky, glass, three connected businesses */
:root{--navy:#080f29;--blue:#0769cf;--muted:#59657c}
body{background:#f4f9ff;overflow-x:hidden}button{font:inherit}section[id]{scroll-margin-top:90px}.pointer-glow,.scroll-progress{display:none}
.site-header{position:absolute;inset:0 0 auto;height:120px;background:transparent;box-shadow:none;padding:0 5.4%;gap:24px}.brand b{color:#090f26;font-size:2rem;letter-spacing:.17em}.brand small{color:#0d1429;font-size:.8rem;letter-spacing:.13em}.brand-mark{height:49px;width:56px;gap:4px}.brand-mark i{width:14px;background:linear-gradient(180deg,#29dce9,#078aeb);border-radius:2px}.brand-mark i:nth-child(1){height:24px}.brand-mark i:nth-child(2){height:37px}.brand-mark i:nth-child(3){height:49px}.mail-button{border-radius:99px;padding:15px 25px;background:linear-gradient(115deg,#004bdd 15%,#4545e9 62%,#c646ef);box-shadow:0 4px 24px #8d9deb33;font-size:1rem;font-weight:400}.mail-button svg{display:none}.mail-button b{font-weight:500}.menu-button{display:block;cursor:pointer}.menu-button span{height:1.5px;width:32px;margin:8px 0}.site-header nav{display:none;position:absolute;right:4%;top:100px;flex-direction:column;align-items:stretch;padding:25px;background:#ffffffed;backdrop-filter:blur(20px);border:1px solid #e1e9f5;border-radius:16px;box-shadow:var(--shadow);font-size:1rem}.site-header nav.open{display:flex}
.hero{height:830px;min-height:0;background:#e4f4ff;isolation:isolate}.hero-bg{object-position:right 60%;object-fit:cover;animation:none;filter:none}.hero-wash{background:linear-gradient(105deg,#fff 9%,#ffffffef 33%,#ffffff77 46%,transparent 65%),linear-gradient(0deg,#edf6ff 0%,transparent 16%)}.hero-copy{left:5.4%;top:190px;max-width:800px}.eyebrow{color:#5c657b;letter-spacing:.32em;font-size:1rem;font-weight:500;display:flex;gap:26px;align-items:center}.eyebrow b{color:#0067db;letter-spacing:.08em}.hero h1{font-family:'Noto Sans JP',sans-serif;font-size:clamp(3rem,5.5vw,5.6rem);font-weight:800;line-height:1.3;letter-spacing:-.04em;margin:30px 0 24px}.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(105deg,#0068dc 8%,#2747d5 47%,#9133d1 92%);background-clip:text;-webkit-background-clip:text}.hero-lead{font-size:1.2rem;line-height:1.85;font-weight:400;margin:0;color:#1e2a45}.hero-signature{margin-top:32px;padding-left:26px;border-left:1px solid #14b6e5;font-size:.85rem;letter-spacing:.3em;line-height:1.85;color:#5d6982}.glass-message{position:absolute;top:240px;right:5%;border-left:1px solid #ffffffaa;padding:20px 25px;color:#122e5d;transform:skewY(-12deg);background:linear-gradient(135deg,#ffffff2b,#ffffff05)}.glass-message p,.card-message p{font-family:'Noto Serif JP',serif;line-height:1.7;font-size:1.25rem;margin:0 0 20px}.glass-message small,.card-message small{font-size:.7rem;line-height:1.8;letter-spacing:.26em}.glass-message i{display:block;width:25px;height:1px;background:#224470;margin-top:20px}
.services{position:relative;margin-top:-65px;padding:0 4% 36px;background:linear-gradient(0deg,#f3faff00,#ecf5ff44);z-index:3}.business-tabs{max-width:1200px;margin:auto;display:flex;gap:16px}.business-tabs button{border:1px solid #e1e8f4;border-radius:99px;background:#ffffffc9;box-shadow:0 2px 5px #6688b30a;flex:1;padding:21px 14px;font-size:1.05rem;font-weight:600;white-space:nowrap;cursor:pointer;color:#52617c;transition:background .3s,color .3s,box-shadow .3s}.business-tabs button span{font-weight:400;margin-right:10px}.business-tabs button[aria-selected=true]{color:white;border-color:transparent;background:linear-gradient(110deg,#006cb8,#101075);box-shadow:0 5px 16px #144daf20}.business-tabs button[aria-selected=true]::after{content:'';display:block;height:1px;width:38%;margin:5px auto -6px;background:#fff}.swipe-label{max-width:1200px;margin:10px auto 12px;text-align:right;font-size:.9rem;color:#5a6681;letter-spacing:.04em}.business-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;max-width:1200px;margin:auto;overscroll-behavior-x:contain}.business-track::-webkit-scrollbar{display:none}.business-card{flex:0 0 100%;position:relative;isolation:isolate;overflow:hidden;scroll-snap-align:start;border:8px solid #fff;border-radius:19px;min-height:500px;background:white;box-shadow:0 3px 12px #436bb617}.business-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.business-wash{position:absolute;inset:0;background:linear-gradient(105deg,white 0%,#fffffff5 31%,#ffffffdf 41%,transparent 58%)}.business-copy{position:relative;z-index:1;padding:28px 34px;width:53%}.business-kicker{letter-spacing:.16em;color:#69748b;font-size:.9rem;margin:0 0 16px}.business-name{color:#056dca;font-size:1.15rem;font-weight:700;margin:0 0 8px}.business-copy h2{font-family:'Noto Sans JP',sans-serif;font-size:clamp(2rem,3.4vw,3.3rem);font-weight:800;line-height:1.4;letter-spacing:-.035em;margin:0 0 16px}.business-description{font-size:1rem;line-height:1.75;color:#536078;max-width:410px;margin:0 0 22px}.business-button{display:flex;align-items:center;justify-content:space-between;border-radius:99px;background:#051432;color:white;width:280px;max-width:100%;padding:17px 30px;font-size:1.1rem;transition:background .25s,transform .25s}.business-button:hover{background:#0757b7;transform:translateY(-2px)}.card-message{position:absolute;right:3%;top:26px;max-width:190px;transform:rotate(-9deg);color:#234671}.business-ending{text-align:center;margin:43px 0 5px}.business-ending p{display:flex;align-items:center;justify-content:center;gap:40px;letter-spacing:.28em;font-size:.85rem;color:#65718c;margin:0 0 8px}.business-ending p:before,.business-ending p:after{content:'';height:1px;width:24px;background:linear-gradient(90deg,#13c5dd,#3451d0)}.business-ending h2{font-family:'Noto Sans JP',sans-serif;font-size:1.45rem;letter-spacing:-.025em;margin:0}.section h2,.concierge h2,.contact h2{font-family:'Noto Sans JP',sans-serif;font-weight:700}.sales-support>p:not(.section-label){line-height:1.9}.concierge{background:#f4faff}.about{background:#eaf5ff;color:var(--navy)}.about p,.reason-list p{color:#536078}.reason-list article{border-color:#cfdfed}.contact{background:linear-gradient(120deg,#0969cf,#373fc9);color:white}.reveal{opacity:1;transform:none}.reveal.visible{animation:softReveal .7s ease both}a:focus-visible,button:focus-visible,.business-track:focus-visible{outline:3px solid #9860e9;outline-offset:4px}@keyframes softReveal{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero-bg{object-position:right 62%}.hero{height:900px}.hero-copy{top:210px}}
@media(max-width:760px){.site-header{height:90px;padding:0 5%;gap:8px}.brand{gap:9px}.brand b{font-size:1.35rem}.brand small{font-size:.57rem;margin-top:5px}.brand-mark{width:32px;height:31px;gap:3px}.brand-mark i{width:8px}.brand-mark i:nth-child(1){height:15px}.brand-mark i:nth-child(2){height:23px}.brand-mark i:nth-child(3){height:31px}.header-actions{gap:12px}.mail-button{display:flex;width:auto;height:auto;padding:11px 17px;font-size:.78rem}.mail-button b{display:block}.menu-button{padding:3px}.menu-button span{width:23px;margin:6px 0;height:1px}.site-header nav{inset:82px 4% auto;gap:16px}.hero{height:calc(88vw + 42px);min-height:370px;max-height:720px}.hero-bg{object-position:right bottom}.hero-wash{background:linear-gradient(110deg,#fff 4%,#ffffffed 32%,#ffffff84 47%,transparent 69%),linear-gradient(0deg,#edf6ff 0%,transparent 11%)}.hero-copy{left:5.4%;right:auto;top:108px;max-width:90%}.eyebrow{font-size:.69rem;gap:17px;letter-spacing:.28em}.hero h1{font-size:clamp(2rem,8.65vw,4rem);line-height:1.28;margin:17px 0 13px;font-weight:800;letter-spacing:-.04em}.hero-lead{font-size:clamp(.78rem,2.9vw,1.2rem);line-height:1.63;letter-spacing:.01em}.hero-signature{font-size:.61rem;line-height:1.9;letter-spacing:.26em;margin:16px 0 0;padding-left:17px}.glass-message{top:138px;right:2.2%;padding:10px 8px;max-width:24%;}.glass-message p{font-size:clamp(.66rem,2.5vw,1.1rem);margin-bottom:10px}.glass-message small{font-size:.45rem;letter-spacing:.2em}.glass-message i{margin-top:10px;width:16px}.services{margin-top:-7px;padding:0 4% 28px;overflow:visible}.business-tabs{gap:7px}.business-tabs button{padding:13px 5px;font-size:clamp(.66rem,2.35vw,1rem);letter-spacing:-.04em}.business-tabs button span{margin-right:5px}.swipe-label{font-size:.68rem;margin:8px 0}.business-track{border-radius:12px;gap:12px}.business-card{border-width:5px;border-radius:13px;min-height:0;aspect-ratio:1.72}.business-copy{padding:10px 10px 12px;width:56%}.business-kicker{font-size:clamp(.56rem,2.05vw,.9rem);letter-spacing:.13em;margin:0 0 8px}.business-name{font-size:clamp(.68rem,2.6vw,1.15rem);margin:0 0 5px}.business-copy h2{font-size:clamp(1.1rem,4.8vw,2.4rem);line-height:1.32;letter-spacing:-.045em;margin-bottom:9px}.business-description{font-size:clamp(.65rem,2.3vw,1rem);line-height:1.62;margin-bottom:11px}.business-button{padding:9px 20px;font-size:clamp(.8rem,2.8vw,1.1rem);width:100%}.business-wash{background:linear-gradient(104deg,white 0%,#fffffff7 37%,#ffffffd9 43%,transparent 58%)}.business-card>img{object-position:63% center}.card-message{right:3%;top:16px;max-width:24%}.card-message p{font-size:clamp(.62rem,2.35vw,1rem);line-height:1.7;margin-bottom:12px}.card-message small{font-size:.4rem;letter-spacing:.18em}.business-ending{margin-top:24px}.business-ending p{gap:25px;font-size:.6rem}.business-ending h2{font-size:clamp(.93rem,3.4vw,1.4rem)}.section{padding-top:55px;padding-bottom:55px}.concierge h2{font-size:2.8rem}}
@media(max-width:380px){.mail-button{padding:10px;font-size:.7rem}.header-actions{gap:7px}.hero-copy{top:98px}.hero{min-height:366px}.brand b{font-size:1.15rem}.business-copy{width:60%}.business-description{font-size:.65rem}.card-message{display:none}.business-card{aspect-ratio:auto;min-height:264px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:761px){.hero-bg{left:auto;right:0;width:70%;object-position:right 84%}}
@media(max-width:760px){.hero-lead{font-size:max(14px,2.9vw)}.business-card{aspect-ratio:auto;min-height:285px}.business-description{font-size:14px}.business-kicker{font-size:12px;letter-spacing:.05em}.business-name{font-size:14px}.business-button{font-size:14px}.business-copy{width:58%}.business-tabs button{font-size:12px}.swipe-label{font-size:12px}.business-ending p{font-size:12px}.business-card .card-message{right:2%;max-width:23%}.business-card .card-message small{display:none}}

/* Reference composition: still typography with light moving only inside the accent. */
.hero-copy{top:clamp(220px,20vw,300px);max-width:90%}
.hero h1{margin:0;letter-spacing:0;line-height:1.4}
.hero-title-line{display:block;white-space:nowrap}
.hero-word{display:inline-block;opacity:1;transform:none;filter:none;animation:none}
.hero h1 .hero-highlight{color:transparent;background-image:linear-gradient(105deg,#0068dc 0%,#2747d5 24%,#9133d1 43%,#aadfff 49%,#ffffff 50%,#aadfff 51%,#2747d5 58%,#9133d1 77%,#0068dc 100%);background-size:250% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;animation:heroGradientFlow 6s linear infinite}
@keyframes heroGradientFlow{from{background-position:100% 50%}to{background-position:0% 50%}}
.hero-reference-lead{font-family:'Noto Serif JP',serif;font-weight:500;font-size:clamp(16px,1.8vw,25px);line-height:1.75;letter-spacing:.18em;color:#455269;margin:18px 0 0}
.handwriting{color:#205985;pointer-events:none}
.hero-handwriting{position:absolute;z-index:2;top:205px;right:7%;width:260px;transform:rotate(-13deg)}
.handwriting .handwriting-copy{font-family:'Klee One','YuKyokasho','Yu Mincho',cursive;font-weight:400;font-size:38px;line-height:1.5;letter-spacing:-.07em;margin:0;font-style:normal;transform:skewX(-9deg);text-shadow:none;filter:none}
.handwriting-line{display:block;white-space:nowrap}
.handwriting-line:nth-child(2){padding-left:.35em}
.handwriting-line:nth-child(3){padding-left:1em}
.handwriting-underline{display:block;width:100%;height:auto;overflow:visible;margin-top:-6px;stroke-width:1.2}
.handwriting-underline path{stroke:currentColor;fill:none}
.business-card .card-message{right:3%;top:24px;width:33%;max-width:300px;transform:rotate(-12deg)}
.card-message .handwriting-copy{font-size:clamp(20px,2.5vw,32px);line-height:1.55}
.card-message small{display:block;margin-top:12px}
.business-tabs button b{font-weight:inherit}
@media(min-width:761px){.hero h1{font-size:clamp(3.2rem,5.15vw,6rem)}.hero-handwriting{top:220px;width:22%;max-width:300px}.hero-handwriting .handwriting-copy{font-size:clamp(28px,3vw,46px)}}
@media(max-width:760px){.hero-copy{top:clamp(118px,28vw,210px);left:5.4%;right:5.4%;max-width:none}.hero h1{font-size:clamp(1.5rem,7.5vw,3.55rem);line-height:1.4}.hero-reference-lead{font-size:clamp(14px,2.9vw,21px);margin-top:12px;line-height:1.65;letter-spacing:.15em}.hero-handwriting{top:clamp(100px,20vw,155px);right:6%;width:30%;max-width:210px}.hero-handwriting .handwriting-copy{font-size:clamp(18px,4.5vw,31px);line-height:1.6}.business-card .card-message{display:block;right:3%;top:18px;width:34%;max-width:none}.card-message .handwriting-copy{font-size:clamp(14px,3.2vw,24px)}.card-message .handwriting-underline{margin-top:-2px}.business-tabs{overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.business-tabs button{flex:0 0 auto;padding:13px 14px;font-size:12px;min-height:46px}.business-tabs button:first-child{min-width:190px}.business-tabs button b{font-weight:600}.business-name{line-height:1.5}}
@media(prefers-reduced-motion:reduce){.hero h1 .hero-highlight{animation:none;background-position:0% 50%}}

/* Savings reveal: rolling numeral reels and a single light sweep. */
.saving-card{position:relative;isolation:isolate;overflow:hidden}
.saving-card .saving-amount{position:relative;display:block;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.saving-card .saving-amount span{font-weight:inherit}
.saving-fallback[hidden]{display:none}
.saving-reels{display:inline-flex;align-items:baseline;justify-content:center;line-height:1;letter-spacing:-.045em;padding-block:.055em}
.saving-digit{display:inline-block;height:1em;width:.59em;overflow:hidden;position:relative;vertical-align:bottom;perspective:6em;mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent)}
.saving-strip{display:flex;flex-direction:column;will-change:transform;line-height:1}
.saving-strip>span{display:block;flex:0 0 1em;height:1em;line-height:1;text-align:center}
.saving-punctuation{display:inline-block;line-height:1}
.saving-card.is-counting{animation:savings-glow 3s ease both}
.saving-card::after{content:"";pointer-events:none;position:absolute;z-index:2;inset:-35% -60%;opacity:0;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.2) 46%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.2) 54%,transparent 60%);transform:translateX(-65%)}
.saving-card.is-settled::after{animation:savings-shine 1.1s ease-out both}
.saving-card.is-settled .saving-strip{will-change:auto}
@keyframes savings-glow{0%,100%{box-shadow:var(--shadow)}45%{box-shadow:0 12px 45px rgba(14,114,222,.23),0 0 0 1px rgba(90,184,255,.25)}}
@keyframes savings-shine{0%{opacity:0;transform:translateX(-65%)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){.saving-card::after{display:none}}

/* Household selection stays compact and touch-friendly on phones. */
.concierge{height:auto;min-height:790px}
.household-picker{border:0;padding:0;margin:0 0 18px;min-width:0;text-align:left}
.household-picker legend{font-size:14px;font-weight:700;margin-bottom:10px}
.household-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.household-options label{position:relative;cursor:pointer}
.household-options input{position:absolute;opacity:0;width:1px;height:1px}
.household-options span{display:flex;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;border:1px solid #d5e2f0;border-radius:9px;background:#f3f8fd;color:#314e70;font-size:14px;transition:background .2s,color .2s,box-shadow .2s}
.household-options input:checked+span{background:linear-gradient(135deg,#1684ed,#075bc5);border-color:#1374d7;color:#fff;box-shadow:0 4px 12px #096bcc26}
.household-options input:focus-visible+span{outline:3px solid #0b64c6;outline-offset:3px}
.saving-card .saving-amount{font-size:clamp(2rem,4.4vw,4.7rem);margin:8px 0}
.saving-card .saving-amount-long{font-size:clamp(1.7rem,3.25vw,3.5rem)}
.saving-suffix{font-size:.28em;letter-spacing:0;margin-left:.2em}
.saving-card small{text-align:left;justify-self:stretch;font-size:12px;line-height:1.65}
@media(max-width:760px){.concierge{height:auto;min-height:860px}.saving-card .saving-amount{font-size:clamp(2rem,12vw,4rem)}.saving-card .saving-amount-long{font-size:clamp(1.65rem,9vw,3rem)}}

/* A solid fixed header keeps navigation separate from page content. */
:root{--header-height:120px}
.site-header{position:fixed;inset:0 0 auto;height:var(--header-height);background:#fff;z-index:100;box-shadow:0 2px 18px #17365d0d}
.site-header .brand,.header-actions{flex-shrink:0}
.site-header nav{top:calc(100% + 8px);max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto}
.detail-page main{padding-top:var(--header-height)}
section[id],[id="reasons"]{scroll-margin-top:calc(var(--header-height) + 16px)}
.detail-breadcrumb{line-height:1.8;overflow-wrap:anywhere}
.contract-milestone{text-align:center;padding:54px 20px;background:linear-gradient(120deg,#eef9ff,#fff 50%,#eef3ff);border-block:1px solid #dbe9f7;color:#075db9}
.contract-milestone>p{font-size:18px;letter-spacing:.16em;margin:0 0 16px;font-weight:700}
.contract-milestone h2{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:14px;margin:0;line-height:1.2}
.contract-count{display:inline-flex;font-family:Arial,sans-serif;font-size:clamp(64px,10vw,112px);font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.contract-unit{font-size:clamp(20px,3vw,32px);font-weight:700;white-space:nowrap}.contract-unit>span{margin-left:.35em;color:#093469}
.contract-milestone .contract-thanks{margin:22px 0 0;color:#5b6c81;font-weight:400;letter-spacing:.03em;font-size:14px;line-height:1.8}
.contract-digit{height:1.15em;width:.59em;overflow:hidden;display:inline-block;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.contract-strip{display:flex;flex-direction:column}.contract-strip>span{height:1.15em;line-height:1.15;flex-shrink:0;text-align:center}
@media(max-width:760px){:root{--header-height:90px}.site-header nav{inset:calc(100% + 8px) 4% auto}.site-header{padding-inline:4%;gap:6px}.site-header .header-actions{gap:8px}.site-header .mail-button{font-size:14px;padding:11px 12px}.contract-milestone{padding:38px 20px}.contract-milestone h2{gap:10px}}
@media(max-width:380px){.site-header .mail-button{padding:11px 9px}.site-header .mail-button b>span{display:none}.site-header .brand{gap:6px}}

/* Simulation CTA: flowing brand gradient and a soft light sweep. */
.button.primary.concierge-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#066cda 0%,#154de0 35%,#7034d8 70%,#076dd9 100%);background-size:220% 100%;box-shadow:0 10px 28px rgba(33,81,219,.3),0 0 22px rgba(111,65,221,.2),inset 0 1px 0 rgba(255,255,255,.28);animation:concierge-gradient 7s ease-in-out infinite;text-shadow:0 1px 2px rgba(18,38,113,.2)}
.button.primary.concierge-cta::before{content:"";position:absolute;z-index:-1;inset:-60% auto -60% 0;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 30%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.12) 70%,transparent);transform:translateX(-180%) skewX(-22deg);pointer-events:none;animation:concierge-light 4.8s ease-in-out infinite}
.button.primary.concierge-cta:hover{box-shadow:0 12px 32px rgba(33,81,219,.4),0 0 28px rgba(111,65,221,.3),inset 0 1px 0 rgba(255,255,255,.35)}
.button.primary.concierge-cta:focus-visible{outline:3px solid #294ecf;outline-offset:4px}
@keyframes concierge-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes concierge-light{0%,14%{transform:translateX(-180%) skewX(-22deg);opacity:0}20%{opacity:1}52%{transform:translateX(440%) skewX(-22deg);opacity:1}58%,100%{transform:translateX(440%) skewX(-22deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.button.primary.concierge-cta{animation:none;background-position:50% 50%}.button.primary.concierge-cta::before{display:none}}

.check-simulation{display:flex;justify-content:center;margin-top:32px}

.recruit-entry-button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;margin-top:26px;padding:19px 32px;min-width:260px;max-width:100%;background:linear-gradient(110deg,#0456e9,#5551ef 65%,#a13bea);color:white;border-radius:50px;font-size:16px;font-weight:700;box-shadow:0 12px 30px #2461da30;transition:transform .2s,box-shadow .2s}.recruit-entry-button:hover{transform:translateY(-3px);box-shadow:0 16px 32px #2461da45}.recruit-entry-button:focus-visible{outline:3px solid #0875de;outline-offset:5px}

/* Four business tabs remain reachable at intermediate widths. */
.business-tabs{overflow-x:auto;scrollbar-width:none}.business-tabs button{flex:1 0 auto}.business-tabs button:focus-visible{outline-offset:-3px}
@media(min-width:761px){.business-tabs{gap:10px}.business-tabs button{font-size:clamp(12px,1.15vw,16px);padding:19px 12px}}
