@font-face{font-family:"BCO Tokyo JP";src:url("assets/tokyo-jp.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#101d2c;--paper:#f5f5f0;--accent:#355ee5;--muted:#596575;--line:#d3d7d8;--font:"BCO Tokyo JP","Hiragino Kaku Gothic ProN",sans-serif;--latin:"BCO Inter",Arial,sans-serif;--gutter:6.3vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.9 var(--font);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;padding:0}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none;touch-action:manipulation}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #829cff;outline-offset:6px}img{display:block;width:100%;max-width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;line-height:1.55;letter-spacing:-.055em}i,em{font-style:normal}[hidden]{display:none!important}::selection{background:#335ff0;color:white}.skip{position:fixed;left:20px;top:-90px;z-index:200;background:white;padding:12px 20px}.skip:focus{top:10px}.section-pad{padding:110px var(--gutter)}.section-marker{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-bottom:70px;font:500 10px/1.6 var(--latin);letter-spacing:.08em}.section-marker>span:last-child{font:500 11px/1.6 var(--font);letter-spacing:.02em}.english-title{font:450 clamp(35px,4.1vw,64px)/1.03 var(--latin);letter-spacing:-.06em;color:var(--accent)}.line-action{display:flex;align-items:center;justify-content:space-between;max-width:390px;gap:20px;border-bottom:1px solid var(--ink);padding:19px 0;font-size:13px;font-weight:600}.line-action span{font:300 27px var(--latin);transition:transform .3s}.line-action:hover span{transform:translate(3px,-3px)}
.masthead{height:96px;position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;color:#fff;background:linear-gradient(#101d2c5c,transparent);transition:background .3s,height .3s,border-color .3s;border-bottom:1px solid #ffffff25}.scrolled .masthead,.detail .masthead{height:80px;background:#101d2cf2;backdrop-filter:blur(16px);border-color:#ffffff10}.identity{display:flex;align-items:center;gap:12px}.identity img{width:42px;height:42px;object-fit:contain;background:#fff}.identity>span{font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.5}.identity small{display:block;font:500 6.7px/1.5 var(--latin);letter-spacing:.08em;margin-top:6px;color:inherit;opacity:.8}.primary-nav{display:flex;align-items:center;gap:35px;font-size:11px;letter-spacing:.03em}.primary-nav>a{display:flex;align-items:center;min-height:45px}.primary-nav .nav-contact{border:1px solid #ffffff65;padding:0 21px;gap:35px}.nav-contact span{font-size:20px}.menu-open{display:none}.menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;max-width:100%;max-height:100%;width:520px;height:100dvh;border:0;background:var(--ink);color:#fff;padding:30px 35px}.menu-dialog::backdrop{background:#050d1caa;backdrop-filter:blur(6px)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:27px}.menu-top>p{font:600 28px var(--latin);letter-spacing:-.06em}.menu-top p span{font-size:9px;font-weight:400;letter-spacing:.1em;margin-left:15px}.menu-close{border:0;background:transparent;padding:5px;font-size:11px;display:flex;align-items:center;gap:24px;min-height:44px}.menu-close i{font-size:30px;font-weight:300}.menu-dialog nav a{position:relative;display:block;border-top:1px solid #ffffff30;padding:21px 35px 22px 0;font-size:24px;font-weight:450;letter-spacing:-.04em}.menu-dialog nav small{display:block;font:500 9px var(--latin);letter-spacing:.07em;color:#9bacc1;margin-bottom:10px}.menu-dialog nav span{position:absolute;right:0;bottom:22px;font-size:27px}.menu-sign{font:500 37px/.98 var(--latin);letter-spacing:-.06em;margin:38px 0 30px;color:#8294ac}.menu-review{display:inline-flex;align-items:center;font-size:10px;min-height:44px;border-bottom:1px solid #ffffff30}
.opening{position:relative;height:100svh;min-height:730px;max-height:1120px;background:var(--ink);color:#fff;isolation:isolate;overflow:hidden}.opening-picture,.opening-picture picture,.opening-picture img{position:absolute;inset:0;width:100%;height:100%}.opening-picture img{object-position:center 57%;transform:translateY(var(--hero-shift,0px)) scale(1.055);will-change:transform}.opening-picture{animation:opening-view 1.4s cubic-bezier(.16,1,.3,1) both}.opening-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07111a80,transparent 80%),linear-gradient(0deg,#07111aa6 0,transparent 50%,#0d213b35 100%)}.opening-rule{position:absolute;left:var(--gutter);top:96px;bottom:0;border-left:1px solid #ffffff1c}.opening-kicker{position:absolute;top:135px;left:calc(var(--gutter) + 24px);font:450 10px var(--latin);letter-spacing:.12em;display:flex;align-items:center;gap:10px}.tiny-square{width:5px;height:5px;background:#fff;display:inline-block}.opening-copy{position:absolute;left:calc(var(--gutter) + 24px);top:25%;max-width:900px}.opening h1{font-size:clamp(49px,5.8vw,88px);font-weight:500;line-height:1.42;letter-spacing:-.06em}.opening h1>span{display:block;overflow:hidden}.opening h1>span>span{display:block;animation:headline-enter 1.05s cubic-bezier(.22,1,.36,1) both;animation-delay:.1s}.opening h1>span:nth-child(2)>span{animation-delay:.23s}.opening-copy>p{font-size:14px;letter-spacing:.02em;line-height:2;margin-top:25px;animation:soft-enter 1.1s .45s both}.opening-word{position:absolute;right:var(--gutter);bottom:125px;animation:soft-enter 1.1s .35s both}.opening-word>span{display:block;margin:0 0 3px 7px;font:500 11px var(--latin);letter-spacing:.1em}.opening-word strong{display:block;font:550 clamp(120px,17vw,265px)/.8 var(--latin);letter-spacing:-.075em;padding-right:.06em}.opening-side{position:absolute;right:20px;top:170px;writing-mode:vertical-rl;font:500 8px var(--latin);letter-spacing:.13em}.opening-bottom{position:absolute;left:calc(var(--gutter) + 24px);right:var(--gutter);bottom:28px;display:flex;align-items:end;justify-content:space-between;gap:25px;border-top:1px solid #ffffff42;padding-top:20px}.opening-bottom>div>span{display:block;font:500 8px var(--latin);letter-spacing:.12em}.opening-bottom small{display:block;font-size:8px;color:#d4dfed;margin-top:12px}.scroll-link{display:flex;align-items:center;gap:22px;min-height:46px}.scroll-link>span{font:450 8px var(--latin);letter-spacing:.1em}.scroll-link i{font:300 28px var(--latin);transition:transform .3s}.scroll-link:hover i{transform:translateY(5px)}.chapter-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-bottom:1px solid var(--line);padding:0 var(--gutter)}.chapter-strip a{display:flex;align-items:center;gap:20px;justify-content:flex-start;padding:24px 0;font:550 11px var(--latin);letter-spacing:.05em}.chapter-strip a+a{padding-left:35px;border-left:1px solid var(--line)}.chapter-strip span{font-size:9px;color:#6b7b90}.chapter-strip i{font:400 10px var(--font);color:#6b7b90;margin-left:auto;margin-right:35px}
.purpose-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:start}.purpose-story h2{font-size:clamp(30px,3.3vw,52px);margin:40px 0 28px;font-weight:500;line-height:1.65}.purpose-body{max-width:500px}.purpose-body .lead{font-size:16px;color:var(--ink);font-weight:500;line-height:2.2}.purpose-body>p:not(.lead){font-size:13px;line-height:2.3;color:var(--muted);margin-top:26px}.purpose-body .line-action{margin-top:23px}.city-portrait{position:relative;margin-top:80px;max-width:460px;justify-self:end;overflow:hidden;aspect-ratio:3/4;width:100%;background:#d9d8ce}.city-portrait>img{height:100%;object-fit:cover}.city-portrait figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;padding:45px 17px 18px;background:linear-gradient(transparent,#101d2c88);color:#fff;gap:10px}.city-portrait figcaption>span{font:450 8px var(--latin);letter-spacing:.06em}.city-portrait figcaption small{font-size:8px}.values-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;gap:45px}.values-row>div{border-top:1px solid var(--line);padding-top:25px}.values-row small{font:500 9px var(--latin);letter-spacing:.07em;color:#54657c}.values-row p{font-size:32px;line-height:1.5;font-weight:450;letter-spacing:-.05em;margin-top:18px}
.business-area{background:var(--ink);color:#fff;padding-bottom:145px}.business-area .section-marker{border-color:#ffffff35}.business-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:80px}.business-intro h2{font-size:clamp(40px,4.8vw,72px);line-height:1.5;font-weight:450;letter-spacing:-.055em}.business-intro>p{font-size:14px;line-height:2.2;color:#bcc7d4;padding-bottom:8px;width:32%}.business-row{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:center}.business-row+.business-row{margin-top:120px}.business-photo{position:relative;background:#263344;aspect-ratio:1.17;overflow:hidden;isolation:isolate}.business-photo>a{display:block;width:100%;height:100%}.business-photo img{height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}.business-photo:hover img,.business-photo:focus-within img{transform:scale(1.05)}.business-photo figcaption{position:absolute;right:12px;bottom:12px;font-size:8px;padding:3px 7px;background:#101d2ca3;color:white;pointer-events:none}.photo-index{position:absolute;left:21px;top:20px;font:400 34px/1 var(--latin);color:white;text-shadow:0 1px 12px #0006;pointer-events:none}.business-en{font:450 clamp(32px,3.3vw,50px)/1.01 var(--latin);letter-spacing:-.055em;color:#dfe5ed}.business-text h3{font-size:19px;line-height:1.6;letter-spacing:.02em;margin-top:22px;font-weight:500}.business-description{font-size:12px;color:#b9c4d2;line-height:2.1;margin-top:19px}.brand-list{margin-top:29px;border-top:1px solid #ffffff36}.brand-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:76px;border-bottom:1px solid #ffffff36;padding:14px 0;transition:padding .25s,color .25s}.brand-list a:hover{padding-left:8px;color:#adc2ff}.brand-list a>span{font-size:14px;letter-spacing:.01em}.brand-list small{display:block;font:450 7px var(--latin);letter-spacing:.1em;color:#9aaec7;margin-bottom:7px}.brand-list i{font:300 24px var(--latin)}.reuse-row{grid-template-columns:1fr 1.4fr}.reuse-row .business-photo{grid-column:2;grid-row:1}.reuse-row .business-text{grid-column:1;grid-row:1}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.company-grid .english-title{font-size:clamp(38px,4.2vw,66px)}.company-grid h2{font-size:clamp(32px,3.3vw,52px);line-height:1.65;margin-top:33px}.company-copy{font-size:14px;color:var(--muted);line-height:2.2;margin-top:26px}.company-list{padding-top:13px}.company-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:27px 0}.company-list>a:nth-child(3){border-bottom:1px solid var(--line)}.company-list>a>span{font-size:23px;letter-spacing:-.025em}.company-list small{display:block;font:500 9px var(--latin);letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.company-list i{font:300 35px var(--latin);transition:transform .3s}.company-list>a:hover i{transform:translate(3px,-3px)}.company-location{font:500 10px var(--latin);letter-spacing:.12em;margin-top:30px;color:#6a798a}.company-location span{color:#b2bac3;margin:0 12px}
.outlook{position:relative;min-height:750px;overflow:hidden;isolation:isolate;color:white;background:var(--ink)}.outlook>figure,.outlook>figure>img{position:absolute;inset:0;width:100%;height:100%}.outlook>figure>img{object-position:68% 67%;transform:scale(1.09);filter:saturate(.65)}.outlook-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1c30bf,transparent),linear-gradient(0deg,#101d2ca6,transparent 80%)}.outlook-inner{position:relative;min-height:750px;padding:70px var(--gutter)}.outlook-label{font:500 9px var(--latin);letter-spacing:.14em;padding-bottom:23px;border-bottom:1px solid #ffffff40}.outlook h2{font-size:clamp(38px,4.4vw,64px);line-height:1.65;margin-top:60px}.outlook-copy{font-size:14px;line-height:2.2;margin-top:25px;color:#e0e8f4}.outlook-word{position:absolute;right:var(--gutter);bottom:78px;font:450 clamp(70px,8.2vw,125px)/.86 var(--latin);letter-spacing:-.065em}.outlook-note{position:absolute;bottom:25px;left:var(--gutter);font-size:8px;color:#d2deeb}
.contact-area{padding-top:80px;padding-bottom:80px}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-top .section-marker{border:0;padding:0;margin:0;display:block}.contact-top>p:last-child{font-size:13px}.contact-big{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 0 45px;border-bottom:1px solid var(--line)}.contact-big h2{font:450 clamp(60px,10vw,152px)/1 var(--latin);letter-spacing:-.07em}.contact-circle{width:90px;height:90px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:300 46px var(--latin);transition:background .3s,color .3s,transform .3s}.contact-big:hover .contact-circle{background:var(--ink);color:white;transform:rotate(45deg)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:25px;font-size:11px;color:var(--muted)}.contact-bottom>a{color:var(--ink);font-size:13px;min-height:44px;display:flex;align-items:center;gap:30px}.contact-bottom>a>span{font-size:23px}
.site-end{background:var(--ink);color:#fff;padding:55px var(--gutter) 30px}.end-top{display:flex;align-items:center;justify-content:space-between}.back-top{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ffffff55;font:300 24px var(--latin)}.end-main{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:50px 0 55px}.end-message{font-size:38px;line-height:1.65;font-weight:400;letter-spacing:-.03em}.end-main nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 50px}.end-main nav a{font-size:11px;display:flex;align-items:center;min-height:38px;color:#c2cfde}.end-bottom{display:flex;gap:30px;align-items:center;border-top:1px solid #ffffff25;padding-top:23px;font:400 9px var(--latin);color:#b0c0d2}.end-bottom>a{font:400 10px var(--font);margin-left:auto;min-height:40px;display:flex;align-items:center}.motion-toggle{font:400 10px var(--font);border:1px solid #7d8ca066;background:transparent;padding:8px 11px;min-height:40px;color:#c1cedd}.end-note{font-size:8px;line-height:1.9;color:#8f9fb3;margin-top:17px}.phone-dock{display:none}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform 1s cubic-bezier(.2,.8,.3,1)}.js .reveal.is-visible{opacity:1;transform:none}.js .photo-reveal{clip-path:inset(0 0 10% 0);opacity:.25;transition:clip-path 1.1s cubic-bezier(.2,.8,.3,1),opacity .9s}.js .photo-reveal.is-visible{clip-path:inset(0);opacity:1}.motion-off .reveal,.motion-off .photo-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .opening-picture img{transform:none}.motion-off{scroll-behavior:auto}
@keyframes headline-enter{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes soft-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-view{from{clip-path:inset(0 0 15%)}to{clip-path:inset(0)}}
.detail{--blue:var(--accent);--navy:var(--ink);--mist:#e9ecee;--font:"BCO Tokyo JP","Hiragino Kaku Gothic ProN",sans-serif;background:var(--paper);padding-bottom:0}.detail>main{padding-top:80px}.detail .subpage,.detail .brand-page,.detail .contact-page{padding-top:40px}.detail .detail-heading h1{font-weight:500;letter-spacing:-.05em}.detail .inquiry-heading h1{font-family:var(--latin);font-weight:450;letter-spacing:-.065em}.detail .brand-page-heading h1{font-weight:500}.detail .detail-section h3{font-weight:500}.detail .detail-values h3{font-weight:450}.detail .inquiry-preview{background:#e5eaf0}.detail .field input,.detail .field textarea{border-radius:0;background:#fff}.detail .inquiry-next,.detail .booking-link{border-radius:0}.detail .inquiry-next{background:var(--ink)}.detail .back-link{font-size:11px}.detail .site-end{margin-top:0}.detail .store-logo{object-fit:contain}
@media(min-width:1600px){:root{--gutter:max(7vw,calc((100vw - 1440px)/2))}.purpose-grid{gap:130px}.business-row{gap:110px}.company-grid{gap:150px}}
@media(max-width:1000px){:root{--gutter:5vw}.primary-nav{gap:20px}.opening h1{font-size:58px}.opening-word strong{font-size:175px}.opening-word{bottom:140px}.purpose-grid{gap:6vw}.purpose-story h2{font-size:35px}.city-portrait{margin-top:95px}.business-row{gap:5vw}.business-description{font-size:11px}.business-en{font-size:33px}.business-intro>p{width:auto}.company-grid{gap:7vw}.company-grid h2{font-size:35px}.contact-big h2{font-size:10vw}.contact-circle{width:70px;height:70px;font-size:36px}.outlook-word{font-size:88px;bottom:65px}.outlook h2{font-size:48px}}
@media(max-width:760px){:root{--gutter:26px}html{scroll-padding-top:80px}.section-pad{padding:70px var(--gutter)}.section-marker{font-size:8px;padding-top:17px;margin-bottom:38px}.section-marker>span:last-child{font-size:10px}.masthead,.scrolled .masthead,.detail .masthead{height:76px;padding:0 23px}.identity{gap:10px}.identity img{width:36px;height:36px}.identity>span{font-size:12px}.identity small{font-size:5.8px;margin-top:5px;letter-spacing:.03em}.primary-nav{display:none}.menu-open{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:44px;height:55px;padding:0;margin-right:-7px}.menu-open>span{width:25px;height:9px;border-block:1px solid currentColor}.menu-open small{font:450 7px var(--latin);letter-spacing:.12em}.menu-dialog{width:100%;padding:22px 26px}.menu-dialog nav a{font-size:23px;padding-block:19px}.menu-top{padding-bottom:24px}.menu-sign{font-size:32px;margin-block:30px 20px}.opening{height:100svh;min-height:690px;max-height:1050px}.opening-picture img{object-position:86% center;transform:translateY(var(--hero-shift,0px)) scale(1.035)}.opening-shade{background:linear-gradient(0deg,#07111aa6,transparent 50%),linear-gradient(90deg,#0b1e32a3,#0d263d19),linear-gradient(180deg,#07162945,transparent 50%)}.opening-rule{left:20px;top:76px}.opening-kicker{top:110px;left:39px;font-size:7px;letter-spacing:.1em;gap:8px}.tiny-square{width:4px;height:4px}.opening-copy{left:38px;top:25%;right:22px}.opening h1{font-size:clamp(33px,10.3vw,50px);line-height:1.6;letter-spacing:-.065em}.opening-copy>p{font-size:12px;line-height:2.15;margin-top:23px;letter-spacing:0}.opening-word{right:29px;bottom:126px}.opening-word>span{font-size:8px;margin-left:4px;margin-bottom:9px;letter-spacing:.13em}.opening-word strong{font-size:clamp(110px,31.2vw,170px);font-weight:450;letter-spacing:-.08em;line-height:.78}.opening-side{right:12px;top:111px;font-size:6px;letter-spacing:.07em}.opening-bottom{left:38px;right:26px;bottom:24px;padding-top:17px;gap:12px}.opening-bottom>div>span{font-size:6px;letter-spacing:.05em}.opening-bottom small{font-size:6px;margin-top:13px}.scroll-link{gap:14px;min-height:44px}.scroll-link>span{font-size:6px;max-width:45px;line-height:1.5;letter-spacing:0}.scroll-link i{font-size:27px}.chapter-strip{padding:0 22px}.chapter-strip a{display:block;font-size:8px;line-height:1.6;letter-spacing:0;padding:18px 8px;position:relative}.chapter-strip a:first-child{padding-left:0}.chapter-strip a+a{padding-left:15px}.chapter-strip span{font-size:6px;display:block;margin-bottom:5px}.chapter-strip i{display:none}.purpose-grid{display:flex;flex-direction:column;gap:36px}.english-title{font-size:40px;line-height:1.02;letter-spacing:-.06em}.purpose-story h2{font-size:30px;line-height:1.7;margin:32px 0 23px;letter-spacing:-.055em}.purpose-body .lead{font-size:13px;line-height:2.15}.purpose-body>p:not(.lead){font-size:12px;line-height:2.2;margin-top:22px}.purpose-body .line-action{margin-top:19px}.line-action{font-size:12px;min-height:57px;padding:15px 0}.line-action>span{font-size:23px}.city-portrait{width:85%;aspect-ratio:4/5;margin:0 0 0 auto;max-width:none}.city-portrait figcaption{padding-inline:13px}.city-portrait figcaption>span{font-size:6px}.city-portrait figcaption small{font-size:7px}.values-row{gap:12px;margin-top:45px}.values-row>div{padding-top:17px}.values-row small{font-size:6px;letter-spacing:0}.values-row p{font-size:20px;margin-top:13px;white-space:nowrap}.business-area{padding-bottom:75px}.business-intro{display:block;margin-bottom:40px}.business-intro h2{font-size:42px;line-height:1.55;letter-spacing:-.06em}.business-intro>p{font-size:12px;margin-top:25px;line-height:2.2;padding:0}.business-row,.reuse-row{display:flex;flex-direction:column;gap:28px;align-items:stretch}.business-photo{aspect-ratio:1.2;margin-right:calc(-1 * var(--gutter));width:calc(100% + var(--gutter))}.reuse-row .business-photo{margin-right:0;margin-left:calc(-1 * var(--gutter))}.photo-index{left:17px;top:17px;font-size:27px}.business-photo figcaption{font-size:7px;right:10px;bottom:10px}.business-text{width:100%}.business-en{font-size:38px;line-height:1.01;letter-spacing:-.065em}.business-text h3{font-size:17px;margin-top:18px}.business-description{font-size:12px;line-height:2.15;margin-top:15px}.brand-list{margin-top:25px}.brand-list a{min-height:72px;padding:14px 0}.brand-list a>span{font-size:13px}.brand-list small{font-size:6px;margin-bottom:6px}.brand-list i{font-size:22px}.business-row+.business-row{margin-top:65px}.company-grid{display:block}.company-grid .english-title{font-size:41px}.company-grid h2{font-size:31px;line-height:1.7;margin-top:30px}.company-copy{font-size:12px;margin-top:24px}.company-list{margin-top:35px;padding:0}.company-list>a{padding:23px 0}.company-list>a>span{font-size:21px}.company-list small{font-size:8px;margin-bottom:8px}.company-list i{font-size:27px}.company-location{font-size:8px;margin-top:22px}.outlook,.outlook-inner{min-height:680px}.outlook-inner{padding:43px var(--gutter)}.outlook>figure>img{object-position:80% center}.outlook-shade{background:linear-gradient(90deg,#0c1c30bf,#0c1c3033),linear-gradient(0deg,#101d2c99,transparent)}.outlook-label{font-size:8px;padding-bottom:20px}.outlook h2{font-size:34px;line-height:1.7;margin-top:54px}.outlook-copy{font-size:12px;line-height:2.2;margin-top:22px}.outlook-word{font-size:clamp(54px,17.5vw,95px);right:var(--gutter);bottom:75px;line-height:.87;letter-spacing:-.065em}.outlook-note{font-size:7px;bottom:24px}.contact-area{padding-top:47px;padding-bottom:46px}.contact-top{display:block}.contact-top .section-marker{font-size:8px}.contact-top>p:last-child{font-size:12px;margin-top:18px}.contact-big{padding:25px 0 27px;gap:14px}.contact-big h2{font-size:clamp(35px,10.5vw,68px);letter-spacing:-.075em;white-space:nowrap}.contact-circle{width:46px;height:46px;font-size:25px}.contact-bottom{display:block;padding-top:20px}.contact-bottom>p{font-size:10px}.contact-bottom>a{font-size:12px;justify-content:space-between;gap:25px;margin-top:9px}.contact-bottom>a>span{font-size:21px}.site-end{padding:36px var(--gutter) calc(95px + env(safe-area-inset-bottom))}.back-top{width:40px;height:40px;font-size:22px}.end-main{display:block;padding:31px 0 29px}.end-message{font-size:31px;line-height:1.6}.end-main nav{gap:0 20px;margin-top:26px}.end-main nav a{font-size:10px;min-height:42px}.end-bottom{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px;padding-top:20px;font-size:8px}.end-bottom>a{grid-column:1/-1;margin:0;font-size:9px;min-height:32px}.motion-toggle{font-size:9px;min-height:39px;padding:8px}.end-note{font-size:7px;margin-top:12px;line-height:2}.phone-dock{position:fixed;inset:auto 16px calc(12px + env(safe-area-inset-bottom));z-index:30;display:flex;background:#f5f5f0f5;color:var(--ink);backdrop-filter:blur(12px);border:1px solid #d0d6dc;box-shadow:0 6px 30px #08142120;transform:translateY(120px);opacity:0;pointer-events:none;transition:transform .4s,opacity .4s}.dock-shown .phone-dock,.detail .phone-dock{transform:none;opacity:1;pointer-events:auto}.phone-dock a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;font-size:10px;font-weight:500;min-height:53px;width:44%}.phone-dock a:last-child{width:56%;background:var(--ink);color:white}.phone-dock a>span{font-size:17px}.detail>main{padding-top:76px}.detail .subpage,.detail .brand-page,.detail .contact-page{padding-top:26px}.detail .detail-heading h1{font-size:30px;line-height:1.7}.detail .brand-page-heading h1{font-size:30px}.detail .inquiry-heading h1{font-size:53px}.detail .site-end{padding-bottom:110px}}
@media(max-width:360px){:root{--gutter:22px}.masthead,.scrolled .masthead,.detail .masthead{padding-inline:20px}.opening-copy{left:33px}.opening h1{font-size:33px}.opening-kicker{left:34px}.opening-bottom{left:33px;right:22px}.opening-word{right:24px;bottom:126px}.opening-word strong{font-size:106px}.english-title{font-size:35px}.purpose-story h2{font-size:26px}.purpose-body .lead{font-size:12px}.purpose-body>p:not(.lead){font-size:11px}.values-row p{font-size:18px}.values-row small{font-size:5.7px}.business-intro h2{font-size:37px}.business-en{font-size:34px}.company-grid h2{font-size:27px}.company-grid .english-title{font-size:35px}.outlook h2{font-size:31px}.contact-big h2{font-size:34px}.contact-circle{width:40px;height:40px;font-size:23px}.identity>span{font-size:11px}.identity small{font-size:5.3px}.phone-dock{left:12px;right:12px}.phone-dock a{padding-inline:15px}.contact-top>p:last-child{font-size:11px}.business-description{font-size:11px}.detail .detail-heading h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal,.js .photo-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.opening-picture img{transform:none;will-change:auto}}
