@font-face{font-family:Yomogi;src:url('fonts/Yomogi-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#17354e;--green:#15558b;--green-dark:#103e67;--sage:#f1f6f8;--line:#dce6eb;--muted:#60717e;--width:1160px}
html{scroll-padding-top:110px}body{font-size:15px;line-height:1.9}.site-header{box-shadow:none;border-bottom:1px solid #edf1f4}.header-inner{height:88px}.custom-logo{max-height:48px}.main-nav{gap:26px}.main-nav a{font-size:13px}.section{padding:100px 0}.section-head{margin-bottom:40px}.section-head .eyebrow,.eyebrow{font-size:11px;letter-spacing:.16em;color:#42718b;font-weight:600;margin:0 0 12px}.section h2{font-size:clamp(23px,2.4vw,32px);line-height:1.65;font-weight:500;letter-spacing:.035em}.button{min-height:50px;padding:12px 22px;font-size:13px;gap:22px;border-radius:2px}.button-outline{background:transparent;color:var(--ink);border:1px solid #bfcfd9}.button-outline:hover{background:#f0f5f8;color:var(--ink)}
.hero-refined{background:#fff;overflow:hidden}.hero-refined .hero-layout{grid-template-columns:1fr 1.08fr;gap:44px;min-height:600px;align-items:center}.hero-refined .hero-copy{padding:64px 0 42px}.hero-label{font-size:12px;letter-spacing:.08em}.hero-refined h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;font-size:clamp(34px,3.5vw,49px);line-height:1.65;letter-spacing:.07em;margin:20px 0}.hero-description{font-size:14px;color:var(--muted);margin:20px 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.handwritten{font-family:Yomogi,cursive;font-weight:400;letter-spacing:.05em}.hero-handwriting{font-size:30px;color:#346c82;line-height:1.55;margin:32px 0 0 28px;transform:rotate(-4deg)}.hero-handwriting span{display:inline-block;margin-left:40px}.hero-refined .hero-visual{position:relative;width:100%;height:450px;min-height:0;margin:0}.hero-refined .hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual figcaption{position:absolute;bottom:8px;right:10px;font-size:10px;color:#fff;text-shadow:0 1px 4px #123}
.news-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-strip .wrap{display:flex;align-items:center;gap:32px;min-height:66px;font-size:12px}.news-strip span{font-weight:600;white-space:nowrap}.news-strip p{margin:0;color:var(--muted)}.news-strip a{margin-left:auto;padding:12px;display:flex}
.service-grid{gap:32px;align-items:start}.service-card{padding:0;border:0;background:none;box-shadow:none}.service-image{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;margin-bottom:22px}.service-card h3{font-size:19px;margin:0 0 12px;font-weight:600;line-height:1.6}.service-card>p{font-size:13px;color:var(--muted);min-height:50px;margin:0 0 16px}.service-detail{border:0}.service-detail summary{font-size:12px;justify-content:space-between;padding:10px 0;color:var(--ink);border-bottom:1px solid var(--line)}.detail-body{padding:18px 0 0;font-size:13px;color:var(--muted)}details .detail-body p{padding:0;margin:0 0 16px}.detail-body ul,.detail-body ol{padding-left:1.5em;margin:0 0 16px}.detail-body a{color:var(--green);text-decoration:underline}
.improvement{background:var(--sage)}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.support-card{background:#fff;padding:26px 28px}.example-label{display:block;color:#41768a;font-size:11px;margin-bottom:8px}.support-card img{width:100%;height:auto;aspect-ratio:2;object-fit:cover}.support-card h3{font-size:18px;font-weight:500;margin:16px 0 8px}.support-card p{font-size:13px;color:var(--muted);margin:0}.example-note{font-size:11px;color:var(--muted);margin:24px 0 0}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}.knowledge-card{border:0}.knowledge-card summary{display:block;padding:0}.knowledge-card summary::-webkit-details-marker{display:none}.knowledge-card summary img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;display:block}.knowledge-card summary>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:500;padding:20px 0 12px}.knowledge-card[open] summary>span{border-bottom:1px solid var(--line)}.knowledge-card .icon{flex-shrink:0}
.about-refined{border-top:1px solid var(--line);padding:72px 0}.about-refined .about-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}.about-role{font-size:12px;color:var(--muted);margin:24px 0 5px}.about-name{font-size:19px;margin:0;letter-spacing:.1em}.about-text>p{font-size:14px;margin:32px 0 20px}.about-text summary{font-size:12px;gap:16px;justify-content:space-between;padding:16px 0}.about-refined .portrait{max-width:220px;height:auto}
.pricing{background:#f5f8fa}.price-intro>p{font-size:13px;max-width:320px}.price-row{padding:23px 0}.price-row dt{font-size:14px}.price-row dd{font-size:21px}.price-note{font-size:12px}.steps li{background:none;border:0;border-top:1px solid var(--line);padding:24px 0}.steps{gap:32px}.steps h3{font-size:17px}.steps p{font-size:13px}.step-number{font-size:13px;color:#467d91}.faq{background:#f8fafb}.faq summary{font-size:14px}.faq details p{font-size:13px}
.contact-cta{background:#143653 url('footer-flow.jpg') center bottom/cover no-repeat;padding:80px 0;text-align:left}.cta-layout{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px}.contact-cta h2{font-size:clamp(23px,2.5vw,32px);font-weight:400;line-height:1.8;letter-spacing:.03em}.contact-cta .eyebrow{color:#adcad5}.contact-cta p{font-size:13px;color:#d0e0e8}.contact-cta .small{font-size:11px;margin-top:16px}.contact-cta .footer-handwriting{font-size:32px;line-height:1.65;letter-spacing:.05em;color:#e3f0ec;margin:0;transform:rotate(-5deg);justify-self:center}.footer-handwriting span{margin-left:30px}.site-footer{background:#143653;color:#c9dce6;border-top:1px solid #ffffff20;padding:32px 0}.footer-brand{font-size:15px}.footer-links{font-size:11px;gap:20px}.footer-bottom{font-size:10px;margin-top:28px;padding-top:20px;border-color:#ffffff20}.site-footer a{color:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #65a6c2;outline-offset:5px}
@media(min-width:1600px){.hero-refined .hero-layout{min-height:630px;gap:55px}}
@media(max-width:1100px){.main-nav{gap:16px}.main-nav a{font-size:12px}.hero-refined .hero-layout{gap:28px}.hero-refined h1{font-size:36px}.hero-actions{gap:10px}.hero-actions .button{padding:12px 16px;gap:12px}.hero-refined .hero-visual{height:410px}.service-card h3{font-size:17px}.section{padding:80px 0}}
@media(max-width:800px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.header-inner{height:72px}.custom-logo{max-height:42px}.main-nav a{font-size:14px}.section{padding:64px 0}.section-head{margin-bottom:30px}.hero-refined .hero-layout{display:flex;flex-direction:column;gap:0;min-height:0}.hero-refined .hero-copy{width:100%;padding:40px 0 24px}.hero-refined h1{font-size:36px;line-height:1.6;margin:18px 0}.hero-label{font-size:11px}.hero-description{font-size:12px;margin:16px 0 24px}.hero-handwriting{font-size:27px;margin:26px 0 8px 24px}.hero-refined .hero-visual{width:calc(100% + 40px);height:320px;margin:0 -20px}.news-strip .wrap{gap:14px;min-height:72px;font-size:11px}.news-strip p{line-height:1.6}.news-strip a{padding:8px}.service-grid,.knowledge-grid,.support-grid{grid-template-columns:1fr;gap:36px}.service-card>p{min-height:0}.service-card h3{font-size:20px}.service-image{margin-bottom:20px}.support-card{padding:22px}.support-card h3{font-size:17px}.knowledge-card summary img{aspect-ratio:2}.about-refined .about-layout{grid-template-columns:1fr;gap:10px}.about-text>p{margin-top:14px}.about-role{margin-top:18px}.price-row dt{font-size:12px}.price-row dd{font-size:19px}.steps{grid-template-columns:1fr 1fr;gap:24px}.steps li{padding:18px 0}.cta-layout{grid-template-columns:1fr;gap:30px}.contact-cta{padding:56px 0;background-size:auto 100%}.contact-cta .footer-handwriting{font-size:29px;justify-self:end;margin-right:35px}.site-footer{padding:32px 0 96px}.footer-links{gap:14px;flex-wrap:wrap}.footer-bottom{gap:12px}.hero-actions .button{font-size:12px}.faq summary{font-size:13px}}
@media(max-width:360px){.hero-refined h1{font-size:31px}.hero-actions{gap:8px}.hero-actions .button{padding:11px 12px;gap:7px;font-size:11px}.hero-handwriting{font-size:25px}.hero-refined .hero-visual{height:260px}.steps{grid-template-columns:1fr}.price-row{gap:12px}.price-row dd{font-size:16px}.contact-cta h2{font-size:21px}}
.example-label{display:inline-block;background:#3c8890;color:#fff;padding:3px 10px}.hero-refined .hero-visual{align-self:center}.services .wrap{border-top:0}.contact-cta .button-light{color:#17354e}
@media(max-width:360px){.hero-refined h1{font-size:27px;letter-spacing:.03em}.hero-handwriting{font-size:22px;margin-left:10px}.hero-handwriting span{margin-left:20px}.mobile-cta .button{font-size:11px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
