:root{--navy:#102938;--deep:#0b202d;--mint:#a2edce;--ink:#18333e;--muted:#576c73;--paper:#f7faf8;--line:#dbe5df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #359f7a;outline-offset:6px}header{max-width:1440px;margin:auto;padding:23px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Arial,sans-serif;font-size:26px;letter-spacing:1px;font-weight:800;text-decoration:none;line-height:1.3}.brand span{color:#218166}.brand small{display:block;font-family:sans-serif;font-size:10px;font-weight:500;letter-spacing:1px;margin-top:6px}nav{display:flex;align-items:center;gap:30px}nav>a{text-decoration:none;font-size:13px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--mint);color:var(--deep);padding:16px 25px;border:1px solid transparent;border-radius:4px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}.button:hover{background:#87dfba;transform:translateY(-2px)}.button.small{padding:10px 20px;background:var(--navy);color:white}.section{padding:90px max(6%,calc((100% - 1160px)/2));scroll-margin-top:15px}.hero{max-width:1440px;margin:auto;padding:66px 6% 78px;display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#26735d;margin:0 0 23px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,4.1vw,62px);line-height:1.45;letter-spacing:-1.7px;margin-bottom:25px}h1 span{color:#247d62}h2{font-size:clamp(27px,3vw,39px);line-height:1.6;letter-spacing:-.8px;margin-bottom:24px}h3{font-size:21px;line-height:1.6;margin-bottom:16px}.lead{color:var(--muted);font-size:16px;line-height:2.1}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.subtle,.fine{font-size:12px;color:var(--muted)}.subtle{margin-top:18px}.visual{position:relative;overflow:hidden;min-height:465px;background:var(--navy);border-radius:8px;color:white;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:30px 30px}.visual-top,.visual-bottom{position:absolute;left:27px;letter-spacing:2px;font-size:9px;color:#c7d9d7}.visual-top{top:25px}.visual-bottom{bottom:25px;font-size:12px;letter-spacing:1px}.core{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:160px;height:160px;border:1px solid #a2edce80;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:70px Arial,sans-serif;color:var(--mint);box-shadow:0 0 70px #a2edce17}.core span{font-size:9px;letter-spacing:1px;margin-top:10px}.orbit{position:absolute;border:1px solid #a2edce30;border-radius:50%;width:330px;height:330px;left:50%;top:48%;transform:translate(-50%,-50%)}.orbit-two{width:430px;height:430px}.float{position:absolute;z-index:1;background:#24424e;border:1px solid #709b9370;padding:15px 23px;font-size:19px;border-radius:5px;box-shadow:0 10px 30px #0002}.float span{display:block;color:var(--mint);font-size:9px;letter-spacing:1px;margin-bottom:5px}.f1{top:70px;left:24px}.f2{right:18px;top:190px}.f3{left:42px;bottom:63px}.ribbon{background:var(--navy);color:#c2d4d2;display:flex;justify-content:space-around;gap:20px;padding:20px 6%;font:10px Arial,sans-serif;letter-spacing:2px}.split,.section-head{display:flex;justify-content:space-between;gap:70px}.split>*{flex:1}.split p,.section-head>p{color:var(--muted)}.services{background:#edf3ef}.section-head{align-items:end;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head>p{font-size:14px}.flagship{background:var(--navy);color:#f7faf8;padding:45px;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;border-radius:6px}.tag{display:inline-block;font-size:11px;background:#e6f7ef;color:#215941;padding:4px 12px;border-radius:3px;margin-bottom:20px}.flagship .eyebrow{color:var(--mint);margin-bottom:10px}.flagship h3{font-size:28px}.flagship p,.flagship li{color:#ccdbda;font-size:14px}.flagship .fine{font-size:11px}.flagship ul{padding-left:20px}.feature-number{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--mint)}.feature-number>span{font:9px Arial,sans-serif;letter-spacing:2px}.feature-number strong{font:120px Arial,sans-serif;letter-spacing:-8px;margin:10px 0 25px}.feature-number strong span{font-size:65px;margin-left:25px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px;gap:20px}.service-grid article{background:var(--paper);padding:30px;border:1px solid var(--line);border-radius:5px}.num{font:10px Arial,sans-serif;letter-spacing:1px;color:#4b7f6c;display:block;margin-bottom:25px}.service-grid p{font-size:14px;color:var(--muted);margin-bottom:0}.service-grid .service-cta{background:var(--mint);border-color:var(--mint);display:flex;flex-direction:column;justify-content:space-between}.service-cta .text-link{align-self:flex-start}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.price-card{padding:36px;border:1px solid var(--line);border-radius:5px;background:white}.price-card.recommended{border:2px solid #509f81}.price-card h3{font-size:23px}.price{font-family:Arial,sans-serif;font-size:49px;font-weight:700;letter-spacing:-1px;line-height:1.4}.price small{font-family:sans-serif;font-size:13px;letter-spacing:0;margin:0 4px}.tax{font-size:12px;color:var(--muted)}.price-card>p:not(.tax){font-size:14px;min-height:55px}.price-card .button{width:100%;margin-top:15px}.outline{background:white;border-color:var(--navy)}.custom-price{padding:25px 0;border-bottom:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;font-size:13px}.custom-price+ .fine{margin-top:20px}.process{background:var(--navy);color:white}.process .eyebrow{color:var(--mint)}.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:35px 0 0}.process li{border-top:1px solid #44616a;padding-top:18px}.process li>span{font:28px Arial,sans-serif;color:var(--mint)}.process h3{margin:15px 0 10px}.process p{color:#c1d0d1;font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{margin:15px 0 0;color:var(--muted);font-size:14px}.company{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.company dd{margin:0;overflow-wrap:anywhere}.company dt{color:var(--muted)}.contact{text-align:center;background:#e2f3eb}.contact h2{font-size:clamp(28px,3.5vw,46px)}.contact .button{background:var(--navy);color:white;margin-top:15px}.contact>.fine{margin:12px 0}.email-line{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;font-size:13px}.email-line a{overflow-wrap:anywhere}.email-line button{border:1px solid #87a898;background:transparent;color:var(--ink);padding:4px 12px;border-radius:3px;font-size:11px;cursor:pointer}#copy-status{font-size:12px;min-height:23px;margin:7px 0}footer{padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:10px;margin:0}.skip{position:fixed;top:-100px;background:white;z-index:10;padding:10px}.skip:focus{top:0}.legal{max-width:850px;margin:auto;padding:65px 25px}.legal h1{font-size:35px}.legal h2{font-size:21px;margin-top:35px}.legal p,.legal li{font-size:14px}.legal a{overflow-wrap:anywhere}
@media(min-width:1600px){.hero{padding-left:80px;padding-right:80px}}@media(max-width:1000px){nav{gap:15px}.hero{gap:25px}h1{font-size:40px}.visual{min-height:440px}.actions{align-items:flex-start;flex-direction:column;gap:16px}.price{font-size:39px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flagship{gap:25px}.feature-number strong{font-size:90px}.split,.section-head{gap:30px}}@media(max-width:700px){html{scroll-padding-top:25px}header{padding:20px 6%;align-items:flex-start}.brand{font-size:22px}.brand small{font-size:8px}nav>a:not(.button){display:none}nav .button.small{font-size:11px;padding:8px 12px;gap:10px}.hero{grid-template-columns:1fr;padding:35px 6% 45px;gap:25px}h1{font-size:39px;letter-spacing:-1px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.lead{font-size:14px}.desktop{display:none}.actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}.actions .button{font-size:13px;padding:14px 18px;gap:15px}.visual{min-height:370px}.visual-top{font-size:8px}.core{width:135px;height:135px;font-size:60px}.orbit-one{width:275px;height:275px}.orbit-two{width:365px;height:365px}.float{padding:10px 16px;font-size:16px}.f1{left:20px;top:62px}.f2{top:160px;right:14px}.f3{left:28px;bottom:50px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:center;font-size:8px;letter-spacing:1px;padding:22px 4%}.section{padding:58px 6%}.split,.section-head{display:block}.section-head>p{margin-top:20px}.flagship{display:block;padding:28px}.flagship h3{font-size:24px}.feature-number{margin-top:30px;border-top:1px solid #44616a;padding-top:20px}.feature-number strong{display:none}.feature-number .text-link{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:14px}.service-grid article{padding:26px}.service-grid .num{margin-bottom:15px}.service-grid h3{font-size:20px}.service-cta .text-link{margin-top:15px}.price-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:26px}.price-card h3{font-size:21px}.price{font-size:42px}.price small{font-size:11px}.custom-price{display:block}.custom-price span{display:block;margin-top:10px}.process ol{grid-template-columns:1fr;gap:20px}.process li{display:grid;grid-template-columns:45px 1fr;column-gap:15px}.process h3{margin:0}.process li p{grid-column:2}.company{grid-template-columns:1fr;gap:25px}.company dl>div{grid-template-columns:90px 1fr}.contact .button{font-size:13px;padding:15px 18px}.contact>p{font-size:14px}footer{flex-wrap:wrap;padding:30px 6%;gap:18px}footer .brand{width:100%}.legal h1{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.sp{display:none}
@media(max-width:700px){.sp{display:inline}.f2{top:62px}}
@media(max-width:380px){h1{font-size:32px}h2{font-size:23px}.contact h2{font-size:23px}.price-card h3,.flagship h3{font-size:20px}}
@media(max-width:380px){.lead,.contact>p{font-size:13px}}
@media(min-width:701px) and (max-width:1000px){.core{width:135px;height:135px;font-size:60px}.float{padding:10px 16px;font-size:16px}.f1{left:20px;top:62px}.f2{top:62px;right:14px}.f3{left:28px;bottom:50px}}
.works{background:var(--paper)}
.work-group{margin-top:45px}
.work-cat{font-size:18px;margin-bottom:20px;display:flex;align-items:center;gap:15px}
.work-cat::after{content:"";flex:1;height:1px;background:var(--line)}
.work-cat span{border-left:4px solid #509f81;padding-left:12px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.work-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-grid.wide{grid-template-columns:1fr}
.work{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column}
.work img{display:block;width:100%;height:auto;aspect-ratio:5/8;object-fit:cover;object-position:top;background:#edf3ef;border-bottom:1px solid var(--line)}
.work-grid.two .work img{aspect-ratio:4/3}
.work>div{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.work-meta{font-size:11px;color:#4b7f6c;font-weight:700;margin-bottom:6px}
.work h4{font-size:17px;line-height:1.6;margin:0 0 10px}
.work p:not(.work-meta){font-size:13px;color:var(--muted)}
.work .text-link{align-self:flex-start;margin-top:auto}
.work-grid.wide .work{display:grid;grid-template-columns:1.4fr 1fr}
.work-grid.wide .work img{aspect-ratio:auto;height:100%;border-bottom:0;border-right:1px solid var(--line)}
.work-grid.wide .work>div{justify-content:center;padding:35px}
.work-group>.fine{margin-top:15px}
@media(max-width:1000px){.work-grid.wide .work{grid-template-columns:1fr}.work-grid.wide .work img{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.work-grid,.work-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work>div{padding:14px 14px 18px}.work h4{font-size:14px}.work p:not(.work-meta){font-size:12px}.work-meta{font-size:10px}.work-grid.wide .work>div{padding:20px}.work-group{margin-top:35px}}
@media(max-width:380px){.work-grid,.work-grid.two{grid-template-columns:1fr}}
@media(max-width:700px){.work-grid.two{grid-template-columns:1fr}}
