:root{--ink:#172536;--navy:#101f35;--serif:'Noto Serif JP',serif;--display:'Shippori Mincho B1',serif;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}:focus-visible{outline:3px solid #247fb1;outline-offset:5px}.header{position:fixed;z-index:10;top:0;left:0;width:100%;height:100px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,color .3s}.header.scrolled{background:rgba(255,255,255,.96);color:var(--ink)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:500;white-space:nowrap}.brand img{width:40px;height:40px;object-fit:contain}.navigation{display:flex;align-items:center;gap:35px;font-size:13px;letter-spacing:.08em}.navigation a:not(.nav-contact):hover{opacity:.55}.nav-contact{border:1px solid currentColor;border-radius:50px;padding:15px 24px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.intro{position:relative;isolation:isolate;background:#f1f5ef;color:var(--ink);transition:background-color .1s,color .1s;overflow:hidden}.intro-light{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 8%,#d9eee6 0,transparent 37%),radial-gradient(ellipse at 80% 18%,#f4efcf 0,transparent 32%),radial-gradient(ellipse at 55% 52%,#dbeaf0 0,transparent 35%);opacity:calc(1 - var(--darkness,0));animation:light 24s ease-in-out infinite alternate}.intro:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.hero{position:relative;min-height:756px;padding:211px 60px 100px}.hero h1{margin:0;font-family:var(--display);font-size:clamp(50px,5.7vw,82px);font-weight:400;line-height:1.4;letter-spacing:.1em}.hero h1 span{display:block}.hero-lead{margin:38px 0 0;font-family:var(--serif);font-size:16px;line-height:2.1;letter-spacing:.08em}.scroll-label{position:absolute;right:60px;bottom:45px;font-size:10px;letter-spacing:.2em;display:flex;align-items:center;gap:15px}.scroll-label i{display:block;width:80px;height:1px;background:currentColor}.message{min-height:1850px;padding:0 60px 240px}.message-inner{max-width:1200px;margin:0 auto}.message p{font-family:var(--serif);font-weight:500;font-size:28px;line-height:2.14;letter-spacing:.08em;margin:0 0 76px}.message p+p{margin-top:100px}.message .text-link{margin-top:50px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:14px;letter-spacing:.08em}.text-link span{display:grid;place-items:center;border:1px solid currentColor;width:48px;height:48px;border-radius:50%;transition:background .2s,color .2s}.text-link:hover span,.text-link:focus-visible span{background:currentColor;color:#fff}.section{padding:150px 60px}.section-heading h2{font-family:var(--display);font-size:80px;font-weight:400;line-height:1;margin:0}.section-heading>p{font-family:var(--serif);font-size:24px;margin:22px 0 0}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:49px;margin-top:80px}.service-image{position:relative;aspect-ratio:1;background:#e9e8e0;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-image--desk img{object-fit:contain;padding:5%;background:#e8e7df}.service-image span{position:absolute;right:16px;bottom:16px;border-radius:50%;display:grid;place-items:center;width:48px;height:48px;background:#fff;font-size:18px}.service-card a:hover img{transform:scale(1.04)}.service-card h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.7;margin:27px 0 16px}.service-card p{font-size:16px;line-height:1.75;margin:0}.image-note{font-size:11px;color:#5c6670;margin:26px 0 48px}.topics{display:grid;grid-template-columns:1fr 2fr;gap:50px;background:#f4f6f3}.news{display:grid;grid-template-columns:115px 100px 1fr auto;gap:20px;align-items:center;padding:28px 0;border-top:1px solid #aeb7b9;border-bottom:1px solid #aeb7b9;font-size:14px}.news strong{font-weight:500}.news b{font-size:20px;font-weight:400}.topics-content>.text-link{margin-top:42px}.contact{display:grid;grid-template-columns:1fr 2fr;gap:50px;background:#e8f0eb}.contact-body>p:first-child{font-family:var(--serif);font-size:28px;line-height:2;letter-spacing:.06em;margin:0 0 40px}.contact-button{display:flex;justify-content:space-between;align-items:center;max-width:400px;padding:22px 26px;border:1px solid currentColor;border-radius:50px}.contact-button:hover{background:var(--ink);color:#fff}.telephone{margin:30px 0 0;font-size:13px}.telephone a{font-size:20px}.footer{background:var(--navy);color:#fff;padding:85px 60px 35px}.footer-main,.footer-bottom{display:flex;justify-content:space-between;gap:40px}.footer-main p,.footer address{font-size:13px;line-height:2;font-style:normal}.footer-main nav{display:flex;gap:30px;flex-wrap:wrap;align-content:start;font-size:13px}.footer-bottom{align-items:end;margin-top:80px}.certification{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.6}.certification img{width:62px}.footer small{font-size:10px;letter-spacing:.04em}@keyframes light{to{transform:translate3d(2%,3%,0) scale(1.04)}}@media(max-width:1100px){.navigation{gap:18px}.header{padding:0 35px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message{min-height:1500px}}@media(max-width:767px){.header{height:64px;padding:0 20px}.brand{font-size:13px;gap:8px}.brand img{width:32px;height:32px}.menu-toggle{position:relative;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:50px;height:50px;border:0;background:transparent;color:inherit;cursor:pointer}.menu-toggle span{width:24px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle b{font-size:9px;letter-spacing:.1em;font-weight:400}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}.navigation{position:fixed;inset:0;background:#f3f6f1;color:var(--ink);display:none;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:85px 30px 40px}.navigation.open{display:flex}.navigation a{padding:20px 0;border-bottom:1px solid #bac5c3;font-size:16px}.navigation .nav-contact{border:1px solid currentColor;border-radius:50px;margin-top:30px;padding:18px 25px}.hero{min-height:680px;padding:116px 20px 90px}.hero h1{font-size:36px;line-height:1.4;letter-spacing:.1em;overflow-wrap:anywhere}.hero-lead{font-size:14px;line-height:2;margin-top:35px}.hero-lead br{display:none}.scroll-label{right:20px;bottom:35px}.scroll-label i{width:50px}.message{min-height:1200px;padding:0 20px 180px}.message p{font-size:18px;line-height:2;letter-spacing:.06em;margin-bottom:50px}.message p+p{margin-top:65px}.desktop-break{display:none}.section{padding:100px 20px}.section-heading h2{font-size:56px}.section-heading>p{font-size:19px;margin-top:15px}.service-grid{grid-template-columns:1fr;gap:48px;margin-top:55px}.service-card h3{font-size:21px}.topics,.contact{display:block}.topics-content,.contact-body{margin-top:55px}.news{grid-template-columns:1fr auto;gap:12px}.news strong{grid-column:1}.news b{grid-column:2;grid-row:1 / span 2}.contact-body>p:first-child{font-size:22px}.footer{padding:65px 20px 30px}.footer-main,.footer-bottom{display:block}.footer-main nav{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-bottom{margin-top:55px}.footer small{display:block;margin-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-light{animation:none}.intro{background:var(--navy);color:#fff}.hero{background:#f1f5ef;color:var(--ink)}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.hero h1 .headline-unit{display:inline;white-space:nowrap}.back-to-top{position:fixed;right:26px;bottom:26px;z-index:8;width:48px;height:48px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 2px 12px #0001}.back-to-top:hover{background:var(--navy);color:#fff}.service-card:hover .service-image span{background:var(--navy);color:#fff}.hero h1>span{animation:headline-arrive .65s both}.hero h1>span:nth-child(2){animation-delay:.15s}.hero-lead{animation:headline-arrive .7s .3s both}@keyframes headline-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.text-link:hover span,.text-link:focus-visible span{background:var(--navy);border-color:var(--navy);color:#fff}.intro .text-link:hover span,.intro .text-link:focus-visible span{background:#fff;border-color:#fff;color:var(--navy)}
/* Reference comparison refinements: 1440px hero and shorter Arkrise message. */
.brand{font-family:var(--display);font-size:24px;gap:14px}.brand img{width:48px;height:48px}.hero{padding-top:220px}.hero h1{font-size:clamp(50px,6.25vw,90px)}.hero h1 .glyph{display:inline-block;white-space:pre}.hero h1>span,.hero-lead{animation:none}.hero-lead{animation:headline-arrive 1s 1.2s both}.message{min-height:0;padding-bottom:220px}.intro-light{background:radial-gradient(ellipse 450px 430px at 30% 15%,#cce6dd 0,transparent 80%),radial-gradient(ellipse 400px 430px at 63% 24%,#f1eccb 0,transparent 82%),radial-gradient(ellipse 700px 650px at 80% 45%,#dfebf0 0,transparent 80%);animation:light 18s ease-in-out infinite alternate}.intro:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 500px 700px at 40% 65%,#18464a88,transparent 80%),radial-gradient(ellipse 400px 600px at 80% 35%,#2b4f7288,transparent 85%);opacity:var(--darkness,0);animation:light 24s ease-in-out infinite alternate-reverse}.intro:after{opacity:.10}.message-inner{max-width:none}.scroll-label{font-family:var(--serif);font-size:11px}.back-to-top{opacity:0;pointer-events:none}.header.scrolled~main~.back-to-top{opacity:1;pointer-events:auto}.service-image{border-radius:4px}.service-image--desk{background:#dfe8e5}.service-image--desk img{object-fit:cover;object-position:80% center;padding:0;transform:scale(1.3);background:none}.service-card a:hover .service-image--desk img{transform:scale(1.35)}.footer-brand{font-size:24px}
@keyframes light{0%{transform:translate3d(-6%,-2%,0) scale(1.1)}100%{transform:translate3d(9%,5%,0) scale(1.15)}}
@media(max-width:1100px){.message{min-height:0}.brand{font-size:20px}.header{padding-inline:35px}.intro-light{background-size:100% 100%}.hero{padding-left:40px;padding-right:40px}.message{padding-left:40px;padding-right:40px}}
@media(max-width:767px){.header{padding-inline:20px}.brand{font-size:17px;gap:8px}.brand img{width:34px;height:34px}.hero{padding:120px 20px 100px;min-height:560px}.hero h1{font-size:36px}.message{padding:0 20px 120px;min-height:0}.hero-lead{font-family:var(--sans);font-size:13px;max-width:28em;margin-top:32px;line-height:2}.message p+p{margin-top:60px}.footer-brand{font-size:22px}.intro-light{background:radial-gradient(ellipse 250px 380px at 30% 18%,#cce6dd 0,transparent 85%),radial-gradient(ellipse 230px 380px at 65% 26%,#f1eccb 0,transparent 90%)}.telephone{display:flex;flex-wrap:wrap;gap:8px}.footer-main p{max-width:26em}.navigation{overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.hero-lead{animation:none!important}.intro-light,.intro:before{animation:none}.glyph{opacity:1!important;transform:none!important;filter:none!important}}
.message-links{display:flex;flex-wrap:wrap;column-gap:48px;row-gap:12px}.message-links .text-link{margin-top:20px}
.hero-lead .lead-sentence{display:block}.hero-lead .lead-unit{display:inline-block;white-space:nowrap}@media(max-width:767px){.hero-lead{font-size:14px;line-height:2.1;max-width:none;letter-spacing:.03em}}
@media(max-width:767px){.back-to-top{display:none}}
.message-phrase,.keep-phrase{display:inline-block;max-width:100%}.service-card p{text-wrap:pretty}@media(min-width:768px) and (max-width:1100px){.topics,.contact{grid-template-columns:1fr;gap:56px}.footer-main{display:block}.footer-main nav{margin-top:40px}}@media(max-width:1100px){.desktop-break{display:none}}
