@charset "UTF-8";
:root{--ink:#272f34;--muted:#606a70;--accent:#52647d;--blue:#a3b1c4;--purple:#2e0f14;--paper:#fff;--soft:#f7f8fb;--line:#dce1e3;--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}a:hover{color:var(--accent)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500}ul{margin:0;padding:0;list-style:none}.wrap{width:min(1120px,calc(100% - 112px));margin-inline:auto}.header{background:var(--soft)}.header-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{font-family:Arial,Helvetica,sans-serif;font-size:31px;letter-spacing:-1.6px;line-height:1;font-weight:400}.brand-period{color:var(--accent)}nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:500}nav a{padding:12px 0;white-space:nowrap}nav a:last-child{margin-left:14px}.hero{position:relative;overflow:hidden;background:var(--soft)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:130%;height:360px;left:-46%;bottom:-238px;background:#a3b1c4;opacity:.25;transform:rotate(8deg)}.hero:after{width:105%;height:310px;right:-37%;bottom:-245px;background:#2e0f14;opacity:.09;transform:rotate(-12deg)}.hero-inner{position:relative;z-index:1;min-height:595px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-content:start;padding-top:106px}.hero-identity h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(64px,7.4vw,106px);letter-spacing:-5px;line-height:1.1;font-weight:400}.hero-identity>p{font-size:14px;letter-spacing:.12em;margin-top:23px}.hero-copy{padding-top:9px}.hero-copy h2{font-size:clamp(24px,2.4vw,32px);line-height:1.8;letter-spacing:.055em;font-weight:500}.hero-copy>p{margin-top:25px;color:var(--muted);line-height:2;font-size:16px}.text-link{display:inline-flex;align-items:center;gap:38px;font-size:14px;border-bottom:1px solid #aab7bd;padding:9px 0;margin-top:32px}.text-link span{font-size:18px}.hero-caption{grid-column:1/-1;display:flex;justify-content:space-between;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.04em;color:var(--muted);margin-top:73px;padding-bottom:33px}.section{padding-top:105px;padding-bottom:110px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:55px}.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--accent);letter-spacing:.045em;margin-bottom:9px}.section-heading h2{font-size:23px;letter-spacing:.045em;line-height:1.7}.lead{font-size:27px;line-height:1.8;letter-spacing:.04em;margin-bottom:22px}.body-copy{line-height:2.1}.plain-note{margin-top:19px;font-size:14px;line-height:1.9;color:var(--muted)}.media-list{display:flex;flex-wrap:wrap;gap:13px 26px;padding:22px 0 27px;margin-top:17px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;margin-top:38px}.number{font-family:Arial,Helvetica,sans-serif;color:var(--accent);font-size:14px;display:block;margin-bottom:15px}.process h4{font-size:17px;font-weight:500;line-height:1.7;margin-bottom:13px}.process p{font-size:14px;color:var(--muted);line-height:1.95}.message-band{background:#f8f6f6}.message-content>p:not(.signature){line-height:2.1;margin-top:22px}.signature{display:flex;gap:20px;align-items:center;margin-top:35px;font-size:18px}.signature span{font-size:14px;color:var(--muted)}.company-list{margin:0;border-top:1px solid var(--line)}.company-list>div{display:grid;grid-template-columns:140px minmax(0,1fr);padding:22px 0;border-bottom:1px solid var(--line);gap:20px}.company-list dt{color:var(--muted);font-size:14px;padding-top:2px}.company-list dd{margin:0;font-size:16px;line-height:1.9}.contact-band{background:#eef1f5}.heading-line{display:block}.contact-intro{margin-bottom:31px;line-height:2}.contact-link{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;align-items:center;gap:20px;border-bottom:1px solid #c9d3d7;padding:19px 0}.contact-label{font-size:14px;color:var(--muted)}.contact-value{font-family:Arial,Helvetica,sans-serif;font-size:30px;letter-spacing:-.5px;overflow-wrap:anywhere}.telephone{font-size:25px;letter-spacing:.015em}.contact-link>span:last-child{font-size:22px}.access{margin-top:35px}.access p{font-size:14px}.access-note{color:var(--muted);margin-top:3px}.map-link{display:inline-block;font-size:14px;border-bottom:1px solid #aab7bd;margin-top:18px;padding-bottom:4px}.map-link>span:first-child{margin-left:18px}.footer{padding-top:47px;padding-bottom:43px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer .brand{font-size:32px;display:inline-block}.footer p{font-size:12px;color:var(--muted);margin-top:13px}.footer small{font-family:Arial,Helvetica,sans-serif;color:var(--muted);font-size:12px;letter-spacing:.04em}.back-top{font-size:13px}.back-top span{margin-left:16px}.skip-link{position:fixed;top:10px;left:10px;z-index:10;background:#fff;padding:8px 18px;transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero-inner{min-height:650px;padding-top:127px}.hero-caption{margin-top:94px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}nav{gap:22px}nav a:last-child{margin-left:0}.hero-inner{column-gap:35px}.section{grid-template-columns:210px minmax(0,1fr);gap:35px}.process{gap:20px}.process h4{font-size:16px}.company-list>div{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}.header-inner{padding-top:25px;padding-bottom:20px;min-height:0;display:block}.header .brand{font-size:28px;display:inline-block}nav{gap:4px 23px;flex-wrap:wrap;justify-content:flex-start;margin-top:19px;font-size:13px}nav a{padding:5px 0}.hero-inner{display:block;min-height:0;padding-top:48px}.hero-identity h1{font-size:72px;letter-spacing:-3.8px}.hero-identity>p{margin-top:15px;font-size:13px}.hero-copy{margin-top:46px;padding-top:0}.hero-copy h2{font-size:25px;letter-spacing:.025em;line-height:1.85}.hero-copy>p{font-size:15px;margin-top:22px}.text-link{margin-top:23px}.hero-caption{margin-top:61px;font-size:12px;padding-bottom:27px}.section{display:block;padding-top:65px;padding-bottom:68px}.section-heading{margin-bottom:31px}.section-heading h2{font-size:21px}.eyebrow{font-size:13px;margin-bottom:5px}.lead{font-size:23px;margin-bottom:20px}.body-copy,.message-content>p:not(.signature){font-size:16px;line-height:2}.plain-note{font-size:14px}.process{display:block;margin-top:27px}.process article{display:grid;grid-template-columns:30px 1fr;column-gap:13px;padding:22px 0;border-bottom:1px solid var(--line)}.process article:first-child{padding-top:0}.process article:last-child{padding-bottom:0;border:0}.number{grid-row:1/3;padding-top:2px}.process h4{font-size:17px;margin-bottom:8px}.process p{grid-column:2;font-size:14px}.media-list{gap:10px 21px;padding:18px 0 24px;font-size:13px}.signature{font-size:17px;margin-top:27px}.company-list>div{grid-template-columns:93px minmax(0,1fr);gap:14px;padding:19px 0}.company-list dd{font-size:15px}.company-list dt{font-size:13px}.heading-line{display:inline}.contact-link{grid-template-columns:43px minmax(0,1fr) 18px;gap:10px;padding:20px 0}.contact-value{font-size:25px}.telephone{font-size:22px}.contact-label{font-size:13px}.contact-intro{font-size:15px}.footer{flex-wrap:wrap;gap:25px;padding-top:35px;padding-bottom:30px}.footer>div{flex:1 0 60%}.footer small{order:3;flex-basis:100%;border-top:1px solid var(--line);padding-top:21px}.back-top{font-size:12px}.back-top span{margin-left:4px}}
@media(max-width:360px){nav{gap:3px 16px;font-size:12px}.hero-copy h2{font-size:22px}.contact-value{font-size:22px}.telephone{font-size:20px}.company-list>div{grid-template-columns:80px minmax(0,1fr)}.back-top{max-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.header nav,.back-top,.text-link{display:none}.hero-inner{min-height:0;padding-top:40px}.hero-caption{margin-top:30px}.section{padding-block:35px}.wrap{width:95%}a{color:inherit}.contact-band,.message-band,.hero{background:#fff}.company-list>div{break-inside:avoid}}

/* Blue and violet accents, with dark body text. */
.hero-identity .brand-period{color:var(--purple)}.message-band .eyebrow{color:var(--purple)}.process article:nth-child(2) .number{color:var(--purple)}.text-link span,.map-link>span:first-child,.contact-link>span:last-child{color:var(--accent)}.footer .brand-period{color:var(--purple)}

/* Apple iPhone 18 Pro official swatches: Glacier #A3B1C4, Burgundy #2E0F14. Darker blue is reserved for readable text. */
.brand-period{color:var(--blue)}.hero-identity .brand-period,.footer .brand-period{color:var(--purple)}
