:root{--washi:#f6f2ea;--washi-deep:#ece5d8;--sumi:#1b1a18;--sumi-soft:#3a3833;--nezumi:#77716a;--line:#d9d1c3;--shu:#c8372d;--shu-deep:#a22a22;--ai:#1e3550;--kin:#a88a55;--white:#fffdf8;--mincho:"Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;--gothic:"Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", sans-serif;--latin:"Cormorant Garamond", "Shippori Mincho", serif;--max:1240px;--gutter:clamp(20px, 5vw, 64px);--ease:cubic-bezier(.22, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--gothic);color:var(--sumi);background:var(--washi);letter-spacing:.04em;background-image:radial-gradient(#7864460b 1px,#0000 1px),radial-gradient(#78644609 1px,#0000 1px);background-position:0 0,3px 5px;background-size:7px 7px,13px 13px;margin:0;font-size:15px;line-height:1.9;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--shu);color:var(--white)}.container{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.intro{z-index:999;background:var(--washi);transition:opacity .9s var(--ease) .2s, visibility .9s .2s;place-items:center;display:grid;position:fixed;inset:0}.intro__sun{background:var(--shu);width:84px;height:84px;animation:sunrise 1.1s var(--ease) forwards;border-radius:50%;transform:scale(0)}.intro__text{font-family:var(--mincho);letter-spacing:.6em;color:var(--sumi-soft);opacity:0;margin-top:150px;font-size:13px;animation:.8s .5s forwards fadeIn;position:absolute}.intro.is-done{opacity:0;visibility:hidden}@keyframes sunrise{to{transform:scale(1)}}@keyframes fadeIn{to{opacity:1}}.site-header{z-index:100;padding:22px 0;transition:background .4s,box-shadow .4s,padding .4s;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);background:#f6f2eaeb;padding:12px 0}.site-header .container{justify-content:space-between;align-items:center;gap:24px;display:flex}.logo{align-items:center;gap:14px;display:flex}.hanko{background:var(--shu);width:42px;height:42px;color:var(--white);font-family:var(--mincho);box-shadow:inset 0 0 0 2px var(--shu), inset 0 0 0 3.5px var(--white);border-radius:4px;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid;transform:rotate(-3deg)}.logo__text{flex-direction:column;line-height:1.15;display:flex}.logo__en{font-family:var(--latin);letter-spacing:.32em;font-size:22px;font-weight:600}.logo__ja{font-family:var(--mincho);letter-spacing:.3em;color:var(--nezumi);font-size:10px}.nav{align-items:center;gap:38px;display:flex}.nav a{flex-direction:column;align-items:center;line-height:1.3;display:flex;position:relative}.nav a .en{font-family:var(--latin);letter-spacing:.14em;font-size:15px;font-weight:600}.nav a .ja{color:var(--nezumi);letter-spacing:.18em;font-size:10px}.nav a:after{content:"";background:var(--shu);width:5px;height:5px;transition:transform .35s var(--ease);border-radius:50%;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)scale(0)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:translate(-50%)scale(1)}.nav-cta{border:1px solid var(--sumi);letter-spacing:.18em;padding:9px 20px;font-size:12px;transition:background .3s,color .3s}.nav-cta:hover{background:var(--sumi);color:var(--washi)}.lang{font-family:var(--latin);letter-spacing:.12em;color:var(--nezumi);font-size:13px}.lang b{color:var(--sumi);font-weight:600}.menu-btn{width:44px;height:44px;display:none;position:relative}.menu-btn span{background:var(--sumi);height:1.5px;transition:transform .35s var(--ease), opacity .3s;position:absolute;left:10px;right:10px}.menu-btn span:first-child{top:16px}.menu-btn span:nth-child(2){top:27px;right:18px}.menu-open .menu-btn span:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-open .menu-btn span:nth-child(2){right:10px;transform:translateY(-5.5px)rotate(-45deg)}.btn{letter-spacing:.2em;background:var(--sumi);color:var(--washi);align-items:center;gap:18px;padding:16px 30px;font-size:13px;transition:color .4s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:var(--shu);transition:transform .5s var(--ease);position:absolute;inset:0;transform:translate(-101%)}.btn>*{position:relative}.btn:hover:before{transform:translate(0)}.btn .arrow{width:28px;height:1px;transition:width .4s var(--ease);background:currentColor;position:relative}.btn .arrow:after{content:"";transform-origin:100%;background:currentColor;width:7px;height:1px;position:absolute;top:-3px;right:0;transform:rotate(35deg)}.btn:hover .arrow{width:40px}.btn--ghost{color:var(--sumi);border:1px solid var(--sumi);background:0 0}.btn--ghost:hover{color:var(--washi)}.text-link{letter-spacing:.16em;border-bottom:1px solid var(--sumi);align-items:center;gap:12px;padding-bottom:4px;font-size:13px;display:inline-flex}.text-link:hover{color:var(--shu);border-color:var(--shu)}.section{padding:clamp(80px,12vw,150px) 0;position:relative}.sec-head{margin-bottom:clamp(40px,6vw,72px)}.sec-head__en{font-family:var(--latin);letter-spacing:.3em;color:var(--shu);text-transform:uppercase;align-items:center;gap:14px;font-size:14px;font-weight:600;display:flex}.sec-head__en:before{content:"";background:var(--shu);border-radius:50%;width:10px;height:10px}.sec-head__ja{font-family:var(--mincho);letter-spacing:.08em;margin:14px 0 0;font-size:clamp(28px,4.2vw,46px);font-weight:500;line-height:1.5}.sec-head__lead{color:var(--sumi-soft);max-width:640px;margin-top:20px}.sec-head--center{text-align:center}.sec-head--center .sec-head__en{justify-content:center}.sec-head--center .sec-head__lead{margin-left:auto;margin-right:auto}.hero{align-items:center;min-height:min(100svh,1000px);padding:140px 0 100px;display:flex;position:relative;overflow:hidden}.hero .container{z-index:2;grid-template-columns:1fr auto;align-items:center;gap:40px;display:grid;position:relative}.hero__eyebrow{font-family:var(--latin);letter-spacing:.4em;color:var(--nezumi);margin-bottom:26px;font-size:13px}.hero__title{font-family:var(--mincho);letter-spacing:.06em;margin:0;font-size:clamp(38px,6.6vw,88px);font-weight:500;line-height:1.32}.hero__title em{color:var(--shu);font-style:normal}.hero__sub{font-family:var(--latin);color:var(--sumi-soft);letter-spacing:.03em;max-width:560px;margin:26px 0 44px;font-size:clamp(18px,2vw,24px);font-style:italic;line-height:1.5}.hero__actions{flex-wrap:wrap;gap:16px;display:flex}.tategaki{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--mincho);letter-spacing:.5em;color:var(--sumi-soft);border-right:1px solid var(--line);height:max-content;padding-right:22px;font-size:clamp(16px,1.6vw,20px);line-height:2.4}.tategaki span{color:var(--shu)}.hero__art{z-index:1;pointer-events:none;width:min(62vw,880px);position:absolute;bottom:0;right:-4%}.hero__sun{aspect-ratio:1;background:var(--shu);opacity:.92;z-index:0;border-radius:50%;width:clamp(140px,22vw,300px);animation:9s ease-in-out infinite float;position:absolute;top:16%;right:18%}@keyframes float{50%{transform:translateY(-14px)}}.scroll-cue{left:var(--gutter);z-index:3;font-family:var(--latin);letter-spacing:.3em;writing-mode:vertical-rl;align-items:center;gap:14px;font-size:11px;display:flex;position:absolute;bottom:34px}.scroll-cue:after{content:"";background:linear-gradient(var(--sumi) 50%, transparent 50%);background-size:1px 120px;width:1px;height:60px;animation:2s linear infinite drip}@keyframes drip{0%{background-position:0 -60px}to{background-position:0 60px}}.seigaiha{background-color:var(--ai);background-image:radial-gradient(circle at 100% 150%, var(--ai) 24%, #e9e2d3 24%, #e9e2d3 28%, var(--ai) 28%, var(--ai) 36%, #e9e2d3 36%, #e9e2d3 40%, transparent 40%), radial-gradient(circle at 0 150%, var(--ai) 24%, #e9e2d3 24%, #e9e2d3 28%, var(--ai) 28%, var(--ai) 36%, #e9e2d3 36%, #e9e2d3 40%, transparent 40%), radial-gradient(circle at 50% 100%, #e9e2d3 10%, var(--ai) 10%, var(--ai) 23%, #e9e2d3 23%, #e9e2d3 30%, var(--ai) 30%, var(--ai) 43%, #e9e2d3 43%, #e9e2d3 50%, var(--ai) 50%, var(--ai) 63%, #e9e2d3 63%, #e9e2d3 71%, transparent 71%), radial-gradient(circle at 100% 50%, #e9e2d3 5%, var(--ai) 5%, var(--ai) 15%, #e9e2d3 15%, #e9e2d3 20%, var(--ai) 20%, var(--ai) 29%, #e9e2d3 29%, #e9e2d3 34%, var(--ai) 34%, var(--ai) 44%, #e9e2d3 44%, #e9e2d3 49%, transparent 49%), radial-gradient(circle at 0 50%, #e9e2d3 5%, var(--ai) 5%, var(--ai) 15%, #e9e2d3 15%, #e9e2d3 20%, var(--ai) 20%, var(--ai) 29%, #e9e2d3 29%, #e9e2d3 34%, var(--ai) 34%, var(--ai) 44%, #e9e2d3 44%, #e9e2d3 49%, transparent 49%);opacity:.95;background-size:60px 30px;height:90px}.news-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}.news-bar .container{align-items:center;gap:28px;padding-top:18px;padding-bottom:18px;display:flex}.news-bar__label{font-family:var(--latin);letter-spacing:.24em;color:var(--shu);flex:none;font-size:13px;font-weight:600}.news-bar__item{flex:1;align-items:baseline;gap:22px;min-width:0;display:flex}.news-bar__item time{font-family:var(--latin);color:var(--nezumi);flex:none;font-size:15px}.news-bar__item p{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;overflow:hidden}.stats{border-top:1px solid var(--sumi);grid-template-columns:repeat(4,1fr);display:grid}.stat{border-right:1px solid var(--line);padding:34px 26px 30px}.stat:last-child{border-right:0}.stat__num{font-family:var(--latin);font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1}.stat__num small{font-size:.42em;font-family:var(--mincho);margin-left:4px}.stat__label{color:var(--sumi-soft);margin-top:12px;font-size:13px}.stat__label span{font-family:var(--latin);letter-spacing:.2em;color:var(--nezumi);text-transform:uppercase;font-size:11px;display:block}.philosophy{background:var(--sumi);color:var(--washi);overflow:hidden}.philosophy .sec-head__lead{color:#bdb6a8}.principles{background:#33312c;grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.principle{background:var(--sumi);padding:48px 38px 44px;transition:background .5s;position:relative}.principle:hover{background:#24221f}.principle__kanji{font-family:var(--mincho);color:#0000;-webkit-text-stroke:1px #6f685c;font-size:110px;font-weight:600;line-height:1;transition:color .6s,-webkit-text-stroke-color .6s}.principle:hover .principle__kanji{color:var(--shu);-webkit-text-stroke-color:var(--shu)}.principle__no{font-family:var(--latin);color:#8a8375;letter-spacing:.2em;font-size:14px;position:absolute;top:30px;right:34px}.principle__read{font-family:var(--latin);letter-spacing:.3em;color:var(--kin);text-transform:uppercase;margin-top:24px;font-size:13px}.principle h3{font-family:var(--mincho);letter-spacing:.08em;margin:8px 0 14px;font-size:22px;font-weight:500}.principle p{color:#bdb6a8;margin:0;font-size:14px}.big-kanji-bg{font-family:var(--mincho);color:#ffffff06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:42vw;line-height:1;position:absolute;top:50%;right:-2%;transform:translateY(-50%)}.focus-grid{border-top:1px solid var(--sumi);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.focus{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:250px;padding:34px 28px 38px;transition:background .4s;display:flex;position:relative}.focus:hover{background:var(--white)}.focus__top{justify-content:space-between;align-items:flex-start;display:flex}.focus__no{font-family:var(--latin);color:var(--shu);letter-spacing:.1em;font-size:15px}.focus__kanji{font-family:var(--mincho);color:var(--line);font-size:40px;line-height:1;transition:color .4s}.focus:hover .focus__kanji{color:var(--shu)}.focus h3{font-family:var(--latin);letter-spacing:.04em;margin:auto 0 4px;font-size:22px;font-weight:600;line-height:1.3}.focus .ja{font-family:var(--mincho);color:var(--nezumi);font-size:13px}.focus p{color:var(--sumi-soft);margin:12px 0 0;font-size:13px;line-height:1.8}.split-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(40px,6vw,64px);display:flex}.split-head .sec-head{margin-bottom:0}.cards{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.card{background:var(--white);border:1px solid var(--line);transition:transform .5s var(--ease), box-shadow .5s, border-color .4s;flex-direction:column;display:flex}.card:hover{border-color:var(--sumi);transform:translateY(-6px);box-shadow:0 24px 50px -28px #1b1a1859}.card__visual{aspect-ratio:16/10;background:var(--c,var(--ai));place-items:center;display:grid;position:relative;overflow:hidden}.card__visual:before{content:"";opacity:.14;background-image:repeating-linear-gradient(45deg,#fff 0 1px,#0000 1px 14px);position:absolute;inset:0}.card__mark{font-family:var(--latin);color:#fff;letter-spacing:.16em;align-items:center;gap:12px;padding-left:.16em;font-size:clamp(22px,2.1vw,28px);font-weight:600;display:flex;position:relative}.card__mark i{border:2px solid #fff;border-radius:50%;width:34px;height:34px;display:inline-block;position:relative}.card__mark i:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.card__kanji{font-family:var(--mincho);color:#ffffff29;font-size:64px;line-height:1;position:absolute;bottom:6px;right:14px}.card__body{flex-direction:column;flex:1;padding:24px 26px 26px;display:flex}.card__meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tag{letter-spacing:.14em;border:1px solid var(--line);color:var(--sumi-soft);padding:3px 10px;font-size:11px;line-height:1.6;display:inline-block}.tag--shu{border-color:var(--shu);color:var(--shu)}.tag--fill{background:var(--sumi);color:var(--washi);border-color:var(--sumi)}.card h3{font-family:var(--latin);letter-spacing:.04em;margin:0;font-size:25px;font-weight:600;line-height:1.25}.card .ja-name{font-family:var(--mincho);color:var(--nezumi);margin-bottom:12px;font-size:12px}.card p{color:var(--sumi-soft);flex:1;margin:0 0 18px;font-size:13.5px;line-height:1.85}.card__foot{color:var(--nezumi);border-top:1px dashed var(--line);font-size:12px;font-family:var(--latin);letter-spacing:.1em;justify-content:space-between;padding-top:14px;display:flex}.news-list{border-top:1px solid var(--sumi)}.news-row{border-bottom:1px solid var(--line);transition:background .3s, padding .4s var(--ease);grid-template-columns:130px 130px 1fr 30px;align-items:center;gap:20px;padding:26px 8px;display:grid}.news-row:hover{background:var(--white);padding-left:20px}.news-row time{font-family:var(--latin);color:var(--sumi-soft);font-size:17px}.news-row p{margin:0;font-size:14.5px}.news-row .chev{border-top:1px solid var(--sumi);border-right:1px solid var(--sumi);justify-self:end;width:8px;height:8px;transform:rotate(45deg)}.cta{background:var(--shu);color:var(--white);position:relative;overflow:hidden}.cta .container{z-index:1;grid-template-columns:1fr auto;align-items:center;gap:40px;display:grid;position:relative}.cta h2{font-family:var(--mincho);letter-spacing:.06em;margin:10px 0 14px;font-size:clamp(28px,4vw,48px);font-weight:500;line-height:1.5}.cta p{color:#fbe4df;max-width:560px;margin:0}.cta .sec-head__en{color:#fff}.cta .sec-head__en:before{background:#fff}.cta .btn{background:var(--white);color:var(--sumi)}.cta .btn:before{background:var(--sumi)}.cta .btn:hover{color:var(--white)}.cta__enso{opacity:.18;width:520px;position:absolute;top:50%;right:-80px;transform:translateY(-50%)}.page-hero{border-bottom:1px solid var(--line);padding:180px 0 80px;position:relative;overflow:hidden}.page-hero .container{z-index:1;position:relative}.breadcrumb{color:var(--nezumi);letter-spacing:.1em;flex-wrap:wrap;gap:12px;margin-bottom:46px;font-size:12px;display:flex}.breadcrumb a:hover{color:var(--shu)}.breadcrumb>span:before{content:"／";color:var(--line);margin-right:12px}.page-hero__en{font-family:var(--latin);letter-spacing:.02em;margin:0;font-size:clamp(56px,10vw,140px);font-weight:500;line-height:.95}.page-hero__ja{font-family:var(--mincho);letter-spacing:.3em;align-items:center;gap:14px;margin-top:20px;font-size:18px;display:flex}.page-hero__ja:before{content:"";background:var(--shu);width:40px;height:1px}.page-hero__kanji{right:var(--gutter);font-family:var(--mincho);color:#0000;-webkit-text-stroke:1px var(--line);z-index:0;-webkit-user-select:none;user-select:none;font-size:clamp(160px,26vw,360px);line-height:1;position:absolute;bottom:-40px}.mission{grid-template-columns:auto 1fr;align-items:start;gap:clamp(40px,8vw,120px);display:grid}.mission__vertical{writing-mode:vertical-rl;font-family:var(--mincho);letter-spacing:.3em;height:max-content;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.9}.mission__vertical em{color:var(--shu);font-style:normal}.mission__body h2{font-family:var(--latin);letter-spacing:.01em;margin:0 0 30px;font-size:clamp(28px,3.4vw,42px);font-style:italic;font-weight:500;line-height:1.35}.mission__body p{color:var(--sumi-soft);margin:0 0 20px}.signature{align-items:center;gap:18px;margin-top:40px;display:flex}.signature .hanko{width:46px;height:46px;font-size:18px}.signature small{color:var(--nezumi);font-size:12px;display:block}.signature strong{font-family:var(--mincho);letter-spacing:.2em;font-size:18px;font-weight:500}.timeline{margin-left:10px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:0}.tl-item{grid-template-columns:160px 1fr;gap:30px;padding:0 0 46px 40px;display:grid;position:relative}.tl-item:before{content:"";background:var(--washi);border:1px solid var(--shu);border-radius:50%;width:13px;height:13px;position:absolute;top:10px;left:-6px}.tl-item:hover:before{background:var(--shu)}.tl-year{font-family:var(--latin);font-size:34px;line-height:1.1}.tl-year small{font-family:var(--mincho);color:var(--nezumi);letter-spacing:.1em;font-size:12px;display:block}.tl-item h3{font-family:var(--mincho);letter-spacing:.06em;margin:4px 0 8px;font-size:19px;font-weight:500}.tl-item p{color:var(--sumi-soft);margin:0;font-size:14px}.team{grid-template-columns:repeat(4,1fr);gap:34px 26px;display:grid}.member__photo{aspect-ratio:4/5;background:var(--washi-deep);place-items:center;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.member__photo:after{content:"";background:var(--shu);mix-blend-mode:multiply;opacity:0;transition:opacity .5s;position:absolute;inset:0}.member:hover .member__photo:after{opacity:.18}.member__photo svg{color:#c8bfae;width:70%;position:absolute;bottom:0}.member__initial{font-family:var(--mincho);letter-spacing:.3em;writing-mode:vertical-rl;color:var(--sumi-soft);font-size:13px;position:absolute;top:14px;left:16px}.member__role{font-family:var(--latin);letter-spacing:.2em;color:var(--shu);text-transform:uppercase;font-size:12px}.member h3{font-family:var(--mincho);letter-spacing:.14em;margin:4px 0 0;font-size:20px;font-weight:500}.member .en-name{font-family:var(--latin);color:var(--nezumi);letter-spacing:.1em;font-size:14px}.member p{color:var(--sumi-soft);margin:10px 0 0;font-size:13px;line-height:1.8}.overview{border-collapse:collapse;border-top:1px solid var(--sumi);width:100%}.overview th,.overview td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:24px 10px;font-weight:400}.overview th{width:240px;font-family:var(--mincho);letter-spacing:.14em;font-weight:500}.overview th small{font-family:var(--latin);color:var(--nezumi);letter-spacing:.14em;font-size:12px;display:block}.overview td{color:var(--sumi-soft);font-size:14.5px}.office{border:1px solid var(--line);background:var(--white);grid-template-columns:1fr 1.2fr;gap:0;display:grid}.office__info{padding:clamp(30px,4vw,54px)}.office__info h3{font-family:var(--latin);margin:0;font-size:30px;font-weight:500}.office__info .ja{font-family:var(--mincho);color:var(--nezumi);font-size:14px}.office__info address{color:var(--sumi-soft);margin:26px 0;font-size:14px;font-style:normal}.office__info dl{grid-template-columns:90px 1fr;row-gap:8px;margin:0;font-size:13px;display:grid}.office__info dt{color:var(--nezumi)}.office__info dd{margin:0}.office__map{background:#e7e0d1;min-height:340px;position:relative;overflow:hidden}.office__map svg{width:100%;height:100%;position:absolute;inset:0}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 26px;margin-bottom:44px;padding-bottom:26px;display:flex}.filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-group__label{letter-spacing:.2em;color:var(--nezumi);font-size:11px;font-family:var(--latin);text-transform:uppercase;margin-right:8px}.chip{border:1px solid var(--line);letter-spacing:.1em;background:var(--white);padding:7px 16px;font-size:12px;transition:all .3s}.chip:hover{border-color:var(--sumi)}.chip.is-active{background:var(--sumi);color:var(--washi);border-color:var(--sumi)}.chip small{color:inherit;opacity:.55;font-family:var(--latin);margin-left:4px}.result-count{font-family:var(--latin);letter-spacing:.14em;color:var(--nezumi);font-size:14px}.result-count b{color:var(--shu);font-size:22px;font-weight:500}.card.is-hidden{display:none}.card.is-entering{animation:cardIn .55s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}}.exits{border-top:1px solid var(--sumi);grid-template-columns:repeat(4,1fr);display:grid}.exit{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 22px}.exit:nth-child(4n){border-right:0}.exit__type{letter-spacing:.2em;color:var(--shu);font-size:11px;font-family:var(--latin);text-transform:uppercase}.exit h4{font-family:var(--latin);margin:4px 0;font-size:22px;font-weight:600}.exit p{color:var(--nezumi);margin:0;font-size:12.5px}.faq-layout{grid-template-columns:240px 1fr;align-items:start;gap:clamp(30px,6vw,90px);display:grid}.faq-nav{border-top:1px solid var(--sumi);flex-direction:column;display:flex;position:sticky;top:110px}.faq-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 4px;font-size:14px;transition:color .3s,padding .3s;display:flex}.faq-nav a small{font-family:var(--latin);color:var(--nezumi)}.faq-nav a:hover,.faq-nav a.is-active{color:var(--shu);padding-left:10px}.faq-group{margin-bottom:80px;scroll-margin-top:110px}.faq-group h2{font-family:var(--mincho);letter-spacing:.1em;align-items:baseline;gap:16px;margin:0 0 6px;font-size:26px;font-weight:500;display:flex}.faq-group h2 span{font-family:var(--latin);color:var(--shu);letter-spacing:.2em;font-size:14px}.faq-group>p{color:var(--nezumi);margin:0 0 26px;font-size:13px}.qa{border-top:1px solid var(--line)}.qa:last-child{border-bottom:1px solid var(--line)}.qa summary{cursor:pointer;font-size:16px;font-family:var(--mincho);letter-spacing:.05em;grid-template-columns:44px 1fr 24px;align-items:center;gap:14px;padding:24px 4px;font-weight:500;list-style:none;display:grid}.qa summary::-webkit-details-marker{display:none}.qa summary .q{font-family:var(--latin);color:var(--shu);font-size:26px;line-height:1}.qa summary .pm{justify-self:end;width:16px;height:16px;position:relative}.qa summary .pm:before,.qa summary .pm:after{content:"";background:var(--sumi);height:1px;transition:transform .4s var(--ease);position:absolute;top:50%;left:0;right:0}.qa summary .pm:after{transform:rotate(90deg)}.qa[open] summary .pm:after{transform:rotate(0)}.qa summary:hover{color:var(--shu)}.qa__a{grid-template-columns:44px 1fr;gap:14px;padding:0 4px 28px;display:grid}.qa__a .a{font-family:var(--latin);color:var(--nezumi);font-size:26px;line-height:1}.qa__a div{color:var(--sumi-soft);font-size:14.5px}.qa__a p{margin:0 0 10px}.qa[open] .qa__a{animation:fadeDown .5s var(--ease)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}}.contact-box{border:1px solid var(--sumi);grid-template-columns:1fr 1fr;display:grid}.contact-box>div{padding:clamp(30px,4vw,50px)}.contact-box>div+div{border-left:1px solid var(--sumi);background:var(--white)}.contact-box h3{font-family:var(--mincho);letter-spacing:.08em;margin:6px 0 12px;font-size:22px;font-weight:500}.contact-box p{color:var(--sumi-soft);margin:0 0 24px;font-size:14px}.site-footer{background:var(--sumi);color:#cfc8ba;padding:90px 0 36px;position:relative}.footer-top{border-bottom:1px solid #3a3833;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;display:grid}.site-footer .logo__en{color:var(--washi)}.site-footer .logo__ja{color:#8a8375}.footer-about{color:#a39b8c;max-width:320px;margin:24px 0 0;font-size:13px}.footer-col h4{font-family:var(--latin);letter-spacing:.24em;color:var(--washi);text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:600}.footer-col ul{margin:0;padding:0;font-size:13px;list-style:none}.footer-col li{margin-bottom:10px}.footer-col a:hover{color:var(--shu)}.footer-col address{font-size:13px;font-style:normal;line-height:2}.footer-bottom{color:#8a8375;letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:30px;font-size:11.5px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:24px;display:flex}.footer-bottom a:hover{color:var(--washi)}.footer-giant{font-family:var(--latin);letter-spacing:.14em;color:#0000;-webkit-text-stroke:1px #3a3833;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;margin:60px 0 40px;font-size:clamp(60px,16vw,230px);font-weight:600;line-height:.8;overflow:hidden}.to-top{z-index:90;background:var(--shu);color:#fff;letter-spacing:.1em;writing-mode:vertical-rl;opacity:0;width:56px;height:56px;transition:opacity .4s, transform .4s var(--ease), background .3s;font-size:10px;font-family:var(--mincho);border-radius:50%;place-items:center;line-height:1.2;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(20px)}.to-top.is-visible{opacity:1;transform:none}.to-top:hover{background:var(--sumi)}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(28px)}.reveal.is-in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"]{transition-delay:.36s}@media (max-width:1080px){.focus-grid{grid-template-columns:repeat(2,1fr)}.team{grid-template-columns:repeat(3,1fr)}.footer-top{grid-template-columns:1fr 1fr}.exits{grid-template-columns:repeat(2,1fr)}.exit:nth-child(2n){border-right:0}}@media (max-width:900px){.menu-btn{z-index:102;display:block}.nav{z-index:101;background:var(--washi);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;gap:30px;transition:opacity .4s,visibility .4s;position:fixed;inset:0}.nav a .en{font-size:26px}.nav a .ja{font-size:12px}.menu-open .nav{opacity:1;visibility:visible}.menu-open{overflow:hidden}.logo{z-index:102;position:relative}.hero .container{grid-template-columns:1fr}.hero .tategaki{display:none}.hero__art{opacity:.55;width:120vw;right:-30%}.hero__sun{top:12%;right:8%}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.principles{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.news-row{grid-template-columns:110px 1fr 20px}.news-row .tag{display:none}.cta .container,.mission{grid-template-columns:1fr}.mission__vertical{writing-mode:horizontal-tb;letter-spacing:.12em}.office,.faq-layout{grid-template-columns:1fr}.faq-nav{border-top:0;flex-flow:wrap;gap:8px;position:static}.faq-nav a{border:1px solid var(--line);gap:10px;padding:8px 14px}.faq-nav a:hover,.faq-nav a.is-active{padding-left:14px}.contact-box{grid-template-columns:1fr}.contact-box>div+div{border-left:0;border-top:1px solid var(--sumi)}}@media (max-width:640px){body{font-size:14px}.news-bar__label{display:none}.news-bar__item{gap:12px}.focus-grid{grid-template-columns:1fr}.focus{min-height:0}.focus h3{margin-top:40px}.cards{grid-template-columns:1fr}.team{grid-template-columns:repeat(2,1fr);gap:28px 16px}.tl-item{grid-template-columns:1fr;gap:6px;padding-left:30px}.overview th,.overview td{border:0;width:100%;padding:6px 0;display:block}.overview th{padding-top:22px}.overview td{border-bottom:1px solid var(--line);padding-bottom:22px}.footer-top{grid-template-columns:1fr}.news-row{grid-template-columns:1fr 20px;gap:6px 14px}.news-row time{grid-column:1;font-size:14px}.news-row p{grid-column:1}.news-row .chev{grid-area:1/2/span 2}.exits{grid-template-columns:1fr}.exit{border-right:0!important}.scroll-cue{display:none}.page-hero{padding:140px 0 60px}.qa summary{grid-template-columns:32px 1fr 20px;font-size:15px}.qa__a{grid-template-columns:32px 1fr}.lang{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}.lang-switch{border:1px solid var(--line);background:var(--white);display:flex}.lang-switch button{letter-spacing:.08em;color:var(--nezumi);padding:6px 11px;font-family:Zen Kaku Gothic New,Noto Sans SC,sans-serif;font-size:11.5px;line-height:1.4;transition:background .3s,color .3s}.lang-switch button+button{border-left:1px solid var(--line)}.lang-switch button:hover{color:var(--sumi)}.lang-switch button[aria-pressed=true]{background:var(--sumi);color:var(--washi)}.logo .hanko,.logo .logo__ja{font-family:Shippori Mincho,Noto Serif JP,serif!important}.logo .logo__en{font-family:Cormorant Garamond,serif!important}html[lang=en]{--mincho:"Cormorant Garamond", "Shippori Mincho", serif}html[lang=en] body{letter-spacing:.01em}html[lang=en] .nav a .ja{display:none}html[lang=en] .sec-head__ja{letter-spacing:.01em;font-weight:600;line-height:1.25}html[lang=en] .hero__title{letter-spacing:0;font-size:clamp(38px,4.7vw,66px);font-weight:600;line-height:1.12}html[lang=en] .tategaki{text-orientation:mixed;letter-spacing:.14em;font-family:Cormorant Garamond,serif;font-style:italic;line-height:2}html[lang=en] .mission__vertical{writing-mode:horizontal-tb;letter-spacing:.01em;max-width:280px;font-weight:600;line-height:1.25}html[lang=en] .member .en-name{display:none}html[lang=en] .member h3,html[lang=en] .principle h3,html[lang=en] .tl-item h3,html[lang=en] .faq-group h2,html[lang=en] .contact-box h3,html[lang=en] .overview th,html[lang=en] .cta h2{letter-spacing:.01em;font-weight:600}html[lang=en] .cta h2{line-height:1.2}html[lang=en] .qa summary{letter-spacing:.01em;font-size:19px;font-weight:600}html[lang=en] .page-hero__ja{letter-spacing:.14em}html[lang=zh-Hans]{--mincho:"Noto Serif SC", "Songti SC", "Shippori Mincho", serif;--gothic:"Noto Sans SC", "PingFang SC", "Zen Kaku Gothic New", sans-serif}@media (max-width:900px){.lang-switch{margin-top:10px}.lang-switch button{padding:10px 18px;font-size:14px}}@media (min-width:901px) and (max-width:1200px){.nav{gap:22px}.nav-cta{padding:8px 14px}}html[lang=en] .faq-group>p{display:none}html[lang=en] .faq-group h2{margin-bottom:26px}.founder{grid-template-columns:minmax(240px,380px) 1fr;align-items:start;gap:clamp(32px,6vw,90px);display:grid}.founder__photo{aspect-ratio:4/5;background:var(--washi);border:1px solid var(--line);position:relative;overflow:hidden}.founder__photo svg{color:#c8bfae;width:70%;position:absolute;bottom:0;left:15%}.founder__photo:after{content:"";background:var(--shu);border-radius:50%;width:54px;height:54px;position:absolute;bottom:18px;right:18px}.founder__name{font-family:var(--mincho);letter-spacing:.12em;margin:8px 0 0;font-size:clamp(28px,3.2vw,40px);font-weight:500;line-height:1.3}.founder__en{font-family:var(--latin);color:var(--nezumi);letter-spacing:.14em;font-size:18px;display:block}.founder__intro{font-family:var(--mincho);color:var(--sumi);border-left:2px solid var(--shu);margin:30px 0 26px;padding-left:22px;font-size:clamp(17px,1.7vw,21px);line-height:1.9}.founder__body>p:not(.founder__intro){color:var(--sumi-soft);margin:0 0 16px}.founder__facts{border-top:1px solid var(--sumi);grid-template-columns:130px 1fr;margin:30px 0 0;font-size:14px;display:grid}.founder__facts dt,.founder__facts dd{border-bottom:1px solid var(--line);margin:0;padding:14px 4px}.founder__facts dt{font-family:var(--mincho);font-weight:500}.founder__facts dd{color:var(--sumi-soft)}html[lang=en] .founder__name{letter-spacing:.02em;font-weight:600}html[lang=en] .founder__en{display:none}@media (max-width:900px){.founder{grid-template-columns:1fr}.founder__photo{max-width:360px}}
