@charset "UTF-8";
:root{--paper:#f4f3ed;--ink:#132b35;--green:#007b56;--lime:#c5f277;--line:#ced3c9;--muted:#5b6969;--white:#fff;--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-feature-settings:"palt";line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.wrap{width:min(1360px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;left:16px;top:-100px;padding:10px 20px;background:var(--ink);color:white;z-index:100}.skip:focus{top:10px}.site-header{height:103px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.brand{display:flex;gap:16px;align-items:center}.wordmark{font-family:Arial,sans-serif;letter-spacing:-5px;font-size:43px;font-weight:900;line-height:1}.brand-note{font-size:10px;line-height:1.6;letter-spacing:.11em;border-left:1px solid var(--line);padding-left:16px}.site-nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:700}.site-nav>a{position:relative}.site-nav>a:not(.nav-contact):after{content:"";position:absolute;bottom:-10px;left:0;width:0;height:2px;background:var(--green);transition:width .2s}.site-nav>a:hover:after,.site-nav>a[aria-current=page]:after{width:100%}.nav-contact{padding:12px 22px;background:var(--ink);color:white;display:flex;gap:24px;align-items:center}.nav-contact:hover{background:var(--green)}.menu-toggle{display:none}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;font-family:Arial,sans-serif;letter-spacing:.15em;font-weight:700;line-height:1.5;margin:0 0 34px}.eyebrow:before{content:"";width:7px;height:7px;flex:0 0 7px;background:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:700;letter-spacing:-.055em}p{font-size:14px;letter-spacing:.025em}.hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;min-height:685px;align-items:center;padding-block:70px 78px;gap:30px}.hero h1{font-size:clamp(54px,5.9vw,88px);line-height:1.37;margin:0 0 32px;white-space:nowrap}.hero h1 span{color:var(--green)}.hero-lead{max-width:470px;font-size:15px;line-height:2.15;margin-bottom:31px}.text-link{display:inline-flex;align-items:center;gap:42px;font-size:13px;font-weight:700;padding:12px 0;border-bottom:1px solid var(--ink)}.text-link .arrow{font-size:22px;line-height:1;transition:transform .2s}.text-link:hover .arrow{transform:translateX(5px)}.hero-visual{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art{width:110%;max-width:650px;height:auto;overflow:visible}.art-caption{position:absolute;left:6%;bottom:14px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.13em;line-height:1.7}.art-index{position:absolute;right:0;top:10px;font:10px Arial,sans-serif;letter-spacing:.12em}.hero-bottom{display:flex;justify-content:space-between;gap:25px;padding:21px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.11em;font-family:Arial,sans-serif}.hero-bottom span:last-child{color:var(--muted)}.section{padding-block:112px}.section-head{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;margin-bottom:55px}.section-head h2{font-size:clamp(34px,3.6vw,53px);line-height:1.5;margin:0}.section-head .intro{padding-top:43px;max-width:510px;color:var(--muted);font-size:14px;line-height:2.15}.section-head .eyebrow{margin-bottom:20px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:36px 40px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:#e9ede3}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.service-number{font:12px Arial,sans-serif;letter-spacing:.09em;color:var(--muted)}.service-symbol{width:47px;height:47px;color:var(--green)}.service-card .english{font:10px Arial,sans-serif;letter-spacing:.13em;margin-bottom:10px;color:var(--green)}.service-card h3{font-size:29px;line-height:1.5;margin-bottom:16px}.service-card p{font-size:13px;color:var(--muted);max-width:455px;margin-bottom:28px;line-height:2}.card-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:11px;font-weight:700}.round-arrow{border:1px solid var(--line);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:18px}.service-card:hover .round-arrow{background:var(--green);border-color:var(--green);color:white}.philosophy{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.philosophy .eyebrow:before{background:var(--lime)}.philosophy-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.philosophy h2{font-size:clamp(37px,4.4vw,65px);line-height:1.6;margin-bottom:35px}.philosophy h2 em{font-style:normal;color:var(--lime)}.philosophy-copy{max-width:620px}.philosophy-copy p{color:#c5cecb;line-height:2.3}.philosophy .text-link{border-color:#84958f}.diagram{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:6px;width:220px;transform:rotate(-8deg)}.diagram span{border:1px solid #6a827c;aspect-ratio:1;display:grid;place-items:center;font-size:11px}.diagram span:last-child{background:var(--lime);color:var(--ink);border-color:var(--lime)}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.step{padding:30px 25px 0 0}.step+.step{border-left:1px solid var(--line);padding-left:25px}.step-no{font:12px Arial,sans-serif;color:var(--green);letter-spacing:.1em}.step h3{font-size:20px;margin-top:27px;margin-bottom:18px}.step p{font-size:12px;color:var(--muted);line-height:2}.utility{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;border-top:1px solid var(--line);padding-top:38px}.utility h2{font-size:25px;line-height:1.6}.utility-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.utility-link strong{font-size:19px;letter-spacing:-.03em}.utility-link p{margin:7px 0 0;color:var(--muted);font-size:12px}.utility-link .arrow{font-size:25px}.utility-link:hover{color:var(--green)}.contact-band{background:var(--green);color:white;padding:73px 0}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.contact-band .eyebrow{margin-bottom:20px}.contact-band .eyebrow:before{background:var(--lime)}.contact-band h2{font-size:clamp(31px,3.7vw,54px);line-height:1.5;margin-bottom:16px}.contact-band p{font-size:13px;color:#deeee5;margin-bottom:0}.contact-button{display:flex;justify-content:space-between;align-items:center;gap:45px;padding:25px 30px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:700;min-width:280px}.contact-button:hover{background:var(--lime)}.contact-button span{font-size:24px}.site-footer{padding:58px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:40px;margin-bottom:57px}.footer-name{font-size:12px;margin-top:17px}.footer-links{display:flex;flex-wrap:wrap;gap:15px 30px;align-content:flex-start;font-size:12px}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;font:10px Arial,sans-serif;letter-spacing:.07em;color:var(--muted)}.page-heading{padding:75px 0 69px;border-bottom:1px solid var(--line);position:relative}.breadcrumb{font-size:10px;color:var(--muted);margin-bottom:45px;display:flex;gap:15px}.breadcrumb a{text-decoration:underline}.page-heading .eyebrow{margin-bottom:20px}.page-heading h1{font-size:clamp(48px,6.3vw,86px);line-height:1.3;margin-bottom:23px}.page-heading p{max-width:620px;line-height:2.1;color:var(--muted);margin-bottom:0}.page-heading .page-mark{position:absolute;right:0;bottom:55px;font:110px Arial,sans-serif;letter-spacing:-.09em;color:#dde3d6;z-index:-1;font-weight:700}.service-detail{display:grid;grid-template-columns:.68fr 1.32fr;gap:65px;padding:66px 0;border-bottom:1px solid var(--line)}.service-detail .detail-title{position:relative}.detail-no{font:11px Arial,sans-serif;color:var(--green);letter-spacing:.12em;display:block;margin-bottom:22px}.service-detail h2{font-size:34px;line-height:1.5;margin:0 0 10px}.detail-en{font:10px Arial,sans-serif;letter-spacing:.1em;color:var(--muted)}.service-detail .detail-lead{font-size:23px;line-height:1.75;font-weight:700;letter-spacing:-.04em;margin-bottom:20px}.service-detail p{color:var(--muted);font-size:14px;line-height:2.1}.tags{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tags li{font-size:11px;border:1px solid var(--line);padding:5px 12px}.service-detail .text-link{margin-top:9px}.note{font-size:12px!important;color:var(--muted)}.company-statement{display:grid;grid-template-columns:.68fr 1.32fr;gap:65px}.company-statement h2{font-size:41px;line-height:1.65}.company-statement p{max-width:650px;line-height:2.3;color:var(--muted)}.company-table{width:100%;border-collapse:collapse;font-size:14px}.company-table th,.company-table td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:27px 20px;line-height:2}.company-table tr:last-child>*{border-bottom:1px solid var(--line)}.company-table th{width:25%;padding-left:0;font-size:12px}.company-table ul{list-style:none;margin:0;padding:0}.company-table a{text-decoration:underline;text-underline-offset:4px}.company-data{display:grid;grid-template-columns:.68fr 1.32fr;gap:65px;padding-bottom:110px}.company-data h2{font-size:28px}.privacy-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:80px;padding-block:70px 110px}.privacy-aside{font-size:12px;color:var(--muted)}.privacy-aside a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}.privacy-content section{margin-bottom:42px;scroll-margin-top:30px}.privacy-content h2{font-size:22px;margin-bottom:17px;line-height:1.7}.privacy-content p,.privacy-content li{font-size:13px;line-height:2.2;color:var(--muted)}.privacy-content ul{padding-left:20px}.privacy-content a{text-decoration:underline;text-underline-offset:4px}.fade-in{animation:enter .75s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{min-height:730px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-nav{gap:22px}.brand-note{display:none}.hero{min-height:590px}.hero h1{font-size:clamp(45px,5.6vw,68px)}.hero-lead{font-size:13px}.hero-visual{margin-right:-20px}.section{padding-block:85px}.philosophy-grid{gap:45px}.section-head{gap:40px}.service-card{padding:30px}.contact-button{min-width:240px}.privacy-layout{gap:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:80px}.wordmark{font-size:36px;letter-spacing:-4px}.brand-note{display:block;font-size:8px;padding-left:13px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-size:10px;font-weight:700;min-height:44px}.menu-lines{width:17px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.site-nav{display:none;position:absolute;left:-20px;right:-20px;top:79px;background:var(--paper);padding:22px 20px 30px;box-shadow:0 14px 16px #132b3510;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex;flex-direction:column;gap:0;align-items:stretch}.site-nav a{padding:16px 10px;border-bottom:1px solid var(--line)}.site-nav .nav-contact{margin-top:15px;justify-content:space-between;padding:15px}.site-nav>a:not(.nav-contact):after{display:none}.hero{grid-template-columns:1fr;padding-block:45px 22px;gap:0;min-height:0}.hero .eyebrow{margin-bottom:24px;font-size:9px}.hero h1{font-size:clamp(42px,9.7vw,72px);line-height:1.45;margin-bottom:24px}.hero-lead{font-size:13px;max-width:430px}.hero-visual{height:300px;margin:5px -10px 0;align-self:auto}.hero-art{width:340px;max-width:92%;max-height:330px}.art-caption{font-size:8px;left:0;bottom:12px}.art-index{font-size:8px;right:0;top:26px}.hero-bottom{font-size:8px;padding-block:16px;gap:12px}.hero-bottom span:last-child{max-width:160px;text-align:right}.section{padding-block:66px}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.section-head h2{font-size:33px}.section-head .intro{padding:0;margin-bottom:0;font-size:13px}.eyebrow{font-size:10px}.services-grid{grid-template-columns:1fr}.service-card{padding:26px}.card-top{margin-bottom:16px}.service-card h3{font-size:26px}.service-card p{font-size:13px}.philosophy-grid{grid-template-columns:1fr;gap:30px}.diagram{display:none}.philosophy h2{font-size:35px;line-height:1.65}.philosophy-copy p{font-size:13px}.steps{grid-template-columns:1fr 1fr}.step{padding:25px 20px 20px 0}.step+.step{padding-left:20px}.step:nth-child(3){border-left:0;padding-left:0}.step:nth-child(n+3){border-top:1px solid var(--line)}.step h3{font-size:19px;margin-top:21px}.utility{grid-template-columns:1fr;gap:15px;padding-top:28px}.utility h2{margin-bottom:0}.utility-link strong{font-size:17px}.contact-band{padding-block:53px}.contact-band .wrap{display:block}.contact-band h2{font-size:32px}.contact-band p{font-size:12px}.contact-button{margin-top:28px;padding:19px 24px;min-width:0;width:100%;max-width:360px}.footer-top{flex-direction:column;gap:25px;margin-bottom:35px}.footer-links{gap:17px 24px;font-size:11px}.footer-bottom{flex-direction:column;gap:8px;font-size:9px}.site-footer{padding-top:40px}.page-heading{padding-block:28px 43px}.breadcrumb{margin-bottom:34px;font-size:9px}.page-heading h1{font-size:49px}.page-heading p{font-size:13px}.page-heading .page-mark{display:none}.service-detail{grid-template-columns:1fr;gap:28px;padding:42px 0}.service-detail h2{font-size:31px}.detail-no{margin-bottom:12px}.service-detail .detail-lead{font-size:21px}.service-detail p{font-size:13px}.company-statement{grid-template-columns:1fr;gap:22px}.company-statement h2{font-size:33px;margin-bottom:0}.company-statement p{font-size:13px}.company-data{grid-template-columns:1fr;gap:20px;padding-bottom:65px}.company-table{font-size:12px}.company-table th{width:26%;font-size:11px}.company-table th,.company-table td{padding-block:21px;padding-right:8px}.company-table td{padding-left:12px}.privacy-layout{grid-template-columns:1fr;gap:35px;padding-block:40px 55px}.privacy-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;font-size:11px}.privacy-content h2{font-size:20px}.privacy-content section{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
