:root{--paper:#f4f1e9;--ink:#30312d;--muted:#63675d;--line:#c6c3b7;--wood:#806248;--tan:#d5b999;--dark:#33332e;--serif:'Noto Serif CJK JP','Yu Mincho',serif;--sans:'Noto Sans CJK JP','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;letter-spacing:.035em}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9c5a28;outline-offset:5px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:400}svg{display:block}::selection{background:#d5b999;color:#20251f}.wrap{width:calc(100% - 128px);max-width:1376px;margin-inline:auto}.section-wrap{width:calc(100% - 192px);max-width:1184px;margin-inline:auto}.site-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{font-family:var(--serif);font-size:25px;font-weight:600;white-space:nowrap;display:flex;align-items:center;min-height:48px;gap:10px}.brand span{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.08em}.site-header nav{display:flex;gap:38px;align-items:center}.site-header nav a{display:flex;align-items:center;min-height:48px;font-size:13px}.site-header nav a:hover,.text-link:hover{color:var(--wood)}.menu-toggle{display:none}.hero{padding-top:51px}.eyebrow{font-size:12px;letter-spacing:.16em;display:flex;align-items:center;gap:12px}.small-square{width:6px;height:6px;background:var(--wood)}.hero-intro{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:48px;align-items:start;margin-top:27px}h1{font-family:var(--serif);font-size:clamp(40px,4.2vw,65px);line-height:1.65;letter-spacing:.025em}h1>span{display:block;white-space:nowrap}.hero-aside{padding-top:9px}.hero-aside>p{font-size:14px;line-height:2.05}.button{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:57px;padding:15px 23px;font-size:13px;letter-spacing:.035em;width:fit-content;max-width:100%;line-height:1.6}.button span[aria-hidden]{font-size:20px;line-height:1;flex:0 0 auto}.primary{background:var(--dark);color:var(--paper);border:1px solid var(--dark)}.primary:hover{background:#495340;border-color:#495340}.outline{border:1px solid #767d70}.outline:hover{background:#e7e5db}.hero-aside .button{margin-top:23px;width:100%}.space-figure{margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.figure-heading{display:flex;justify-content:space-between;align-items:center;padding-top:16px}.folio{font-size:11px;color:var(--muted);letter-spacing:.12em}.en{font-size:10px;letter-spacing:.16em}.space-drawing{width:100%;height:370px;overflow:visible}.drawing-mobile{display:none}.space-figure figcaption{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.03em;padding-bottom:15px}.hero-foot{display:flex;align-items:center;justify-content:space-between;padding:26px 0 0;font-size:14px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:34px;min-height:48px;font-size:13px}.text-link span{font-size:20px}.purpose{display:grid;grid-template-columns:38% 1fr;gap:72px;padding-top:118px;padding-bottom:112px}.section-index{font-size:11px;letter-spacing:.16em;display:flex;align-items:center;gap:18px;color:var(--muted);margin-bottom:31px}.section-index span{letter-spacing:.1em}h2{font-family:var(--serif);font-size:38px;line-height:1.65;letter-spacing:.035em}.section-lead{margin-top:27px;font-size:14px}.purpose-list{padding-top:40px}.purpose-row{display:flex;align-items:center;border-top:1px solid var(--line);padding:26px 0;gap:25px;min-height:114px}.purpose-row:last-of-type{border-bottom:1px solid var(--line)}.row-id{color:var(--wood);font-size:12px;align-self:flex-start;padding-top:8px;font-family:Georgia,serif}.purpose-copy{display:flex;flex-direction:column;gap:7px;flex:1}.purpose-copy strong{font-family:var(--serif);font-size:25px;font-weight:400}.purpose-copy>span{font-size:12px;color:var(--muted)}.row-arrow{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font-size:18px;flex:0 0 auto}.purpose-row:hover .row-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink)}.fine-print{font-size:11px;color:var(--muted);line-height:1.9;margin-top:20px}.preparation{background:var(--dark);color:var(--paper)}.prepare-inner{display:grid;grid-template-columns:38% 1fr;column-gap:72px;padding-top:70px;padding-bottom:62px}.preparation .section-index{color:#c4c7b9}.prepare-heading h2{font-size:35px}.prepare-heading>p:not(.section-index){font-size:13px;margin-top:27px;line-height:2}.prepare-heading>p.guide-disclosure{font-size:10px;color:#c9cdbe;max-width:290px;margin-top:22px}.prepare-list{list-style:none;margin:0;padding:0}.prepare-list li{display:grid;grid-template-columns:28px 1fr;gap:20px;padding:16px 0;border-top:1px solid #626a5d}.prepare-list li:first-child{padding-top:0;border-top:0}.prepare-list li:last-child{padding-bottom:0}.step-number{font-family:Georgia,serif;font-size:20px;color:#cdb28e;line-height:1.8}.prepare-list h3{font-size:18px;margin-bottom:8px}.prepare-list p{font-size:13px;color:#e0e2d7;line-height:2}.dimension-key{display:flex;gap:24px;margin-top:10px;color:#d4bb9a;font-size:12px}.dimension-key span{border-bottom:1px solid #8d957f;min-width:65px;padding-bottom:3px;position:relative}.dimension-key span:before,.dimension-key span:after{content:'';width:1px;height:5px;background:#8d957f;position:absolute;bottom:-3px}.dimension-key span:before{left:0}.dimension-key span:after{right:0}.usage-notes{grid-column:1/-1;display:grid;grid-template-columns:38% 1fr;gap:72px;margin-top:37px;padding-top:23px;border-top:1px solid #626a5d}.usage-notes-label{font-size:12px;line-height:1.9;color:#d4bb9a}.usage-notes article{scroll-margin-top:32px}.usage-notes article+article{margin-top:12px}.usage-notes h3{font-size:13px;color:#f4f1e9}.usage-notes article p{font-size:12px;color:#ccd1c1;line-height:1.9;margin-top:3px}.usage-notes article:target{outline:1px solid #d4bb9a;outline-offset:10px}.works{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding-top:100px;padding-bottom:101px;border-bottom:1px solid var(--line)}.works h2{font-size:38px}.works-action{padding-top:45px}.works-action>p:first-child{font-size:14px;line-height:2.1}.works-action .button{margin-top:27px}.works-action .fine-print{margin-top:13px}.company{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding-top:77px;padding-bottom:93px}.company h2{font-size:28px;line-height:1.8}.location-mark{margin-top:18px;font-size:11px;letter-spacing:.2em;color:var(--wood)}.company-detail{padding-top:36px}.company dl{margin:0 0 24px}.company dl>div{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.company dt{color:var(--muted)}.company dd{margin:0}.company dd span{display:block;font-size:10px;color:var(--muted)}.company .fine-print{font-size:10px;margin-top:14px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:101px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer p:first-child{font-family:var(--serif);font-size:14px;color:var(--ink)}.site-footer a{display:flex;align-items:center;gap:20px;min-height:48px}.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}.skip-link{position:absolute;left:20px;top:-100px;background:var(--ink);color:var(--paper);padding:12px 20px;z-index:10}.skip-link:focus{top:10px}.only-mobile{display:none}
@media(min-width:1600px){.space-drawing{height:410px}}
@media(max-width:1050px){.wrap{width:calc(100% - 80px)}.section-wrap{width:calc(100% - 112px)}.site-header{min-height:92px}.brand{font-size:21px;gap:7px}.brand span{font-size:9px}.site-header nav{gap:22px}.site-header nav a{font-size:11px}.hero{padding-top:40px}.hero-intro{grid-template-columns:1fr;gap:26px}h1{font-size:43px;line-height:1.65}.hero-aside{display:flex;justify-content:space-between;align-items:flex-end;padding-top:0;gap:30px}.hero-aside>p{font-size:12px}.hero-aside .button{max-width:260px;margin-top:0}.space-figure{margin-top:30px}.space-drawing{height:300px}.purpose{gap:38px;grid-template-columns:36% 1fr;padding-top:85px;padding-bottom:85px}h2{font-size:31px}.section-lead{font-size:12px}.purpose-list{padding-top:31px}.purpose-copy strong{font-size:22px}.purpose-row{gap:18px;padding:23px 0}.purpose-copy>span{font-size:11px}.row-arrow{width:36px;height:36px}.fine-print{font-size:10px}.prepare-inner{gap:38px;grid-template-columns:36% 1fr;padding-top:60px;padding-bottom:53px}.prepare-heading h2{font-size:28px}.prepare-heading>p:not(.section-index){font-size:12px}.prepare-list li{gap:14px}.prepare-list p{font-size:12px}.usage-notes{grid-template-columns:36% 1fr;gap:38px;margin-top:30px}.works{gap:38px;padding-block:75px}.works h2{font-size:31px}.works-action{padding-top:40px}.works-action>p:first-child{font-size:12px}.company{gap:38px;padding-block:65px}.company h2{font-size:24px}.company dl>div{grid-template-columns:62px 1fr;font-size:12px}.button{font-size:12px;padding-inline:18px;gap:20px}.site-footer{font-size:9px}.site-footer p:first-child{font-size:12px}}
@media(max-width:620px){html{scroll-padding-top:22px}.wrap,.section-wrap{width:calc(100% - 48px)}body{font-size:14px}.site-header{min-height:83px;position:relative;gap:12px}.brand{font-size:21px;display:block;line-height:1.3;min-height:44px;padding-block:3px}.brand span{display:block;font-size:8px;margin-bottom:4px}.menu-toggle{display:flex;gap:14px;align-items:center;background:none;border:1px solid var(--line);padding:0 10px;min-height:44px;font-size:10px;color:var(--ink)}.menu-toggle span{font-size:20px;line-height:1}.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);z-index:5;border:1px solid var(--line);padding:15px 20px;gap:0}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-header nav a{font-size:13px;min-height:51px;border-bottom:1px solid var(--line)}.site-header nav a:last-child{border-bottom:0}.hero{padding-top:31px}.eyebrow{font-size:10px;letter-spacing:.08em;gap:9px}.small-square{width:5px;height:5px}.hero-intro{margin-top:24px;gap:25px}h1{font-size:clamp(25px,8.2vw,32px);letter-spacing:.025em;line-height:1.65}.mobile-break{display:block}.hero-aside{display:block}.hero-aside>p{font-size:12px;line-height:1.95}.hero-aside .button{margin-top:20px;max-width:100%;width:100%;min-height:54px}.space-figure{margin-top:31px}.figure-heading{padding-top:14px}.folio{font-size:10px}.en{font-size:8px;letter-spacing:.1em}.drawing-wide{display:none}.drawing-mobile{display:block;height:auto;width:100%;margin-top:11px}.space-figure figcaption{display:block;font-size:9px;padding-top:0;padding-bottom:14px;line-height:1.8}.space-figure figcaption span{display:block}.space-figure figcaption span:first-child{font-size:10px;color:var(--ink);margin-bottom:2px}.hero-foot{padding-top:20px;align-items:center;font-size:12px;line-height:1.8}.text-link{font-size:11px;gap:24px}.only-mobile{display:block}.purpose{display:block;padding-top:74px;padding-bottom:64px}.section-index{margin-bottom:22px;font-size:10px;gap:16px}h2{font-size:30px;line-height:1.65}.section-lead{margin-top:19px;font-size:12px;line-height:1.95}.purpose-list{padding-top:30px}.purpose-row{padding:22px 0;min-height:104px;gap:16px}.purpose-copy strong{font-size:23px}.purpose-copy>span{font-size:10px;letter-spacing:.01em}.row-id{font-size:11px;padding-top:7px}.row-arrow{width:34px;height:34px;font-size:16px}.fine-print{margin-top:18px;font-size:10px}.prepare-inner{display:block;padding-top:44px;padding-bottom:42px}.prepare-heading h2{font-size:29px}.prepare-heading>p:not(.section-index){font-size:12px;margin-top:22px;line-height:2}.prepare-heading>p.guide-disclosure{font-size:10px;max-width:none;margin-top:12px;color:#c9cdbe}.prepare-list{margin-top:28px}.prepare-list li{grid-template-columns:25px 1fr;gap:14px;padding:14px 0}.prepare-list h3{font-size:17px;margin-bottom:7px}.prepare-list p{font-size:12px;line-height:2}.step-number{font-size:19px}.dimension-key{gap:14px;font-size:11px;margin-top:8px}.dimension-key span{min-width:58px}.usage-notes{display:block;margin-top:26px;padding-top:17px}.usage-notes-label{font-size:11px;line-height:1.8;margin-bottom:12px}.usage-notes h3{font-size:12px}.usage-notes article p{font-size:11px;line-height:2}.usage-notes article+article{margin-top:12px}.works{display:block;padding-top:62px;padding-bottom:61px}.works h2{font-size:29px}.works-action{padding-top:25px}.works-action>p:first-child{font-size:12px;line-height:2}.works-action .button{width:100%;margin-top:23px;min-height:56px}.works-action .fine-print{font-size:9px}.company{display:block;padding-top:57px;padding-bottom:51px}.company h2{font-size:26px;line-height:1.7}.company h2 .only-mobile{display:none}.location-mark{margin-top:15px;font-size:10px}.company-detail{padding-top:25px}.company dl{margin-bottom:24px}.company dl>div{font-size:12px;padding:13px 0;grid-template-columns:75px 1fr}.company-detail .button{width:100%;min-height:56px}.company .fine-print{font-size:9px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:4px 15px;min-height:135px;padding-block:23px;align-items:center}.site-footer p:first-child{font-size:13px;grid-column:1}.site-footer p:nth-child(2){grid-column:1;grid-row:2;font-size:9px}.site-footer a{grid-column:2;grid-row:1/3;font-size:9px;gap:10px;min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.hero-context {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.proposal-credit {
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .06em;
}

.space-figure {
  isolation: isolate;
}

.space-figure::before {
  position: absolute;
  z-index: -1;
  inset: 8% 8% 5%;
  background: radial-gradient(ellipse at 43% 42%, #fff4d7a6, #f5e7cc38 49%, transparent 72%);
  content: '';
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button,
  .row-arrow,
  .text-link span {
    transition: transform 180ms ease-out, background-color 180ms ease-out, border-color 180ms ease-out;
  }

  .button:hover {
    transform: translateY(-2px);
  }

  .purpose-row:hover .row-arrow,
  .text-link:hover span {
    transform: translateY(2px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .is-entering {
    animation: section-enter 460ms ease-out both;
  }

  .is-entering[data-reveal='after'] {
    animation-delay: 65ms;
  }

  .is-entering:focus-within,
  .is-entering:target,
  .is-entering:has(:target) {
    animation: none;
  }

  @keyframes section-enter {
    from { opacity: .72; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (max-width: 620px) {
  .hero-context {
    align-items: flex-start;
    flex-direction: column;
  }

  .proposal-credit {
    font-size: 11px;
  }
}
