@charset "UTF-8";
:root{--paper:#f3efe4;--ink:#163c49;--muted:#536b6b;--line:#b8c1b9;--sea:#8db5b4;--sans:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--serif:"Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",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;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a86132;outline-offset:6px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(32px,3.2vw,46px);line-height:1.65;letter-spacing:.07em}.wrap{width:calc(100% - 128px);max-width:1312px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-100px;background:var(--paper);padding:12px 24px;z-index:20}.skip:focus{top:12px}.proposal{min-height:33px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:6px 32px;font-size:11px;letter-spacing:.06em}.proposal-note{font-size:10px;color:var(--muted)}.header{display:flex;align-items:center;justify-content:space-between;padding:29px 64px 21px;gap:24px;max-width:1600px;margin:auto}.name{display:flex;align-items:center;gap:20px;min-height:48px}.name-place{font-size:11px;letter-spacing:.16em}.name-main{font-size:28px;letter-spacing:.17em;font-family:var(--serif)}.nav{display:flex;gap:34px;align-items:center}.nav a{font-size:13px;min-height:44px;display:flex;gap:7px;align-items:center;border-bottom:1px solid transparent;transition:border-color .2s}.nav a:hover{border-color:var(--ink)}.menu-toggle{display:none}.hero-copy{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end;padding-top:50px;padding-bottom:45px}.eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:22px}.hero h1{font-size:clamp(44px,4.6vw,68px);line-height:1.5;letter-spacing:.09em}.hero-intro{padding-bottom:7px;justify-self:end;min-width:280px}.hero-intro p{font-size:14px;line-height:2.1;letter-spacing:.05em;margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:12px 21px;font-size:13px;letter-spacing:.04em;border:1px solid var(--ink);transition:background .2s,color .2s;max-width:100%}.button>span[aria-hidden]{font-size:19px;line-height:1}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:#2c5863}.hero-art{margin:0 24px;position:relative;background:var(--ink);overflow:hidden}.hero-art>img{width:100%;height:clamp(300px,26.5vw,390px);object-fit:cover;object-position:center}.art-label{position:absolute;top:34px;bottom:54px;left:40px;right:40px;display:flex;justify-content:space-between;pointer-events:none;color:var(--paper)}.art-label>span:first-child{font-family:var(--serif);writing-mode:vertical-rl;font-size:19px;letter-spacing:.19em;line-height:2}.art-label>span:last-child{align-self:flex-end;font-size:9px;letter-spacing:.17em;line-height:1.8}.hero-art figcaption{padding:9px 18px;color:#d6e0dc;font-size:10px;letter-spacing:.025em;background:var(--ink);position:relative}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0 24px}.hero-bottom p{font-family:var(--serif);font-size:17px;letter-spacing:.13em}.hero-bottom>span{font-size:10px;letter-spacing:.08em;color:var(--muted)}.section{padding-block:108px 104px}.section-start{display:flex;justify-content:space-between;align-items:center;margin-bottom:41px}.step{font-family:var(--serif);font-size:20px;display:flex;align-items:center;gap:17px;line-height:1.6}.step>span{font-family:var(--sans);font-size:13px;letter-spacing:.15em}.section-en{font-size:10px;letter-spacing:.13em;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:center;margin-bottom:47px}.section-heading>p{font-size:14px;line-height:2.2;max-width:360px;min-width:280px}.comparison{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.experience-item+.experience-item{border-left:1px solid var(--line)}.experience-art{position:relative;overflow:hidden}.experience-art img{width:100%;height:auto;aspect-ratio:1.83;object-fit:cover}.experience-art>span{position:absolute;left:28px;top:19px;font-size:9px;letter-spacing:.15em}.experience-copy{padding:27px 32px 30px;border-top:1px solid var(--line)}.small-label{display:block;font-size:11px;letter-spacing:.08em}.experience h3{font-size:34px;line-height:1.6;letter-spacing:.09em;margin:5px 0 16px}.experience-copy>p:last-child{font-size:13px;line-height:2}.concept-note{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.9}.experience-action{margin-top:36px;display:flex;align-items:center;justify-content:space-between;gap:30px}.experience-action>p{font-size:12px;line-height:1.9}.visit{background:var(--ink);color:var(--paper);overflow:hidden}.visit-inner{padding-block:58px 63px;position:relative}.visit .section-start{position:relative;z-index:1}.visit .section-en{color:#b8d0cc}.visit-content{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;position:relative;z-index:1;align-items:center;padding:8px 0 65px}.visit-title .eyebrow{color:#b8d0cc}.visit h2{font-size:clamp(38px,4vw,58px);line-height:1.65}.visit-copy{justify-self:end;padding-top:30px}.visit-lead{font-family:var(--serif);font-size:21px;letter-spacing:.07em;margin-bottom:15px}.visit-copy>p:not(.visit-lead){font-size:13px;line-height:2.2;color:#dce3dc}.button-light{color:var(--paper);border-color:#9ab6b3;margin-top:30px}.button-light:hover{background:var(--paper);color:var(--ink)}.visit-threads{position:absolute;left:-80px;right:-80px;bottom:12px;transform:rotate(-8deg);display:flex;flex-direction:column;gap:5px;opacity:.29;pointer-events:none}.visit-threads span{border-bottom:1px solid #9ab6b3;display:block;transform:skewY(1deg)}.collection.section{padding-bottom:78px}.collection-content{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.collection-content>div:first-child>p{font-size:13px;line-height:2.2;margin-top:24px}.collection-link{display:flex;justify-content:space-between;align-items:center;padding:35px 0;margin-top:49px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);gap:20px}.collection-link-title{font-family:var(--serif);font-size:26px;letter-spacing:.05em}.round-arrow{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;font-size:23px;flex-shrink:0;transition:background .2s,color .2s}.collection-link:hover .round-arrow{color:var(--paper);background:var(--ink)}.footer{border-top:1px solid var(--line);padding:38px 0 25px;display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:start}.footer-name{font-family:var(--serif);font-size:20px;display:flex;align-items:center;gap:27px;min-height:44px}.footer-proposal{justify-self:end}.footer-proposal>p:first-child{font-size:12px;margin-bottom:10px}.footer-proposal>p:last-child{font-size:10px;color:var(--muted);line-height:2}
@media(min-width:1600px){.hero-art{max-width:1552px;margin-inline:auto}}
@media(max-width:1000px){.wrap{width:calc(100% - 80px)}.header{padding:25px 40px 16px}.nav{gap:22px}.hero-copy{gap:32px;padding-top:34px;padding-bottom:35px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:44px;letter-spacing:.07em;white-space:nowrap}.hero-intro{min-width:235px}.hero-intro p{font-size:12px}.button{font-size:12px;gap:21px;min-height:52px}.hero-art{margin-inline:16px}.hero-art>img{height:330px}.section{padding-block:78px}.section-heading{gap:30px}.section-heading>p{min-width:220px;font-size:12px}.section h2{font-size:34px}.experience-copy{padding:23px 24px 27px}.experience h3{font-size:29px}.experience-copy>p:last-child{font-size:12px}.experience-art>span{left:23px;top:13px}.visit-inner{padding-block:49px 52px}.visit-content{gap:45px;grid-template-columns:1fr 1fr;padding-bottom:53px}.visit h2{font-size:40px}.visit-lead{font-size:17px}.visit-copy>p:not(.visit-lead){font-size:12px}.collection-content{gap:45px;grid-template-columns:1.1fr 1fr}.collection-link-title{font-size:23px}.footer{gap:25px}.footer-name{font-size:18px}.footer-proposal>p:last-child{font-size:9px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 48px)}body{font-size:14px}.proposal{padding:7px 16px;min-height:34px;font-size:10px;letter-spacing:.025em}.proposal-note{font-size:8px}.header{padding:15px 24px 10px;position:relative;flex-wrap:wrap;gap:0}.name{gap:11px}.name-place{font-size:9px;letter-spacing:.08em}.name-main{font-size:24px}.menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;min-height:44px;min-width:62px;padding:0;justify-content:flex-end;font-size:11px}.menu-icon{width:18px;height:12px;position:relative;border-block:1px solid var(--ink)}.menu-toggle[aria-expanded="true"] .menu-icon{border:0}.menu-toggle[aria-expanded="true"] .menu-icon:before,.menu-toggle[aria-expanded="true"] .menu-icon:after{content:"";position:absolute;left:0;top:5px;width:18px;border-top:1px solid var(--ink);transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon:after{transform:rotate(-45deg)}.nav{display:flex;width:100%;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{font-size:12px;gap:4px}.hero-copy{display:block;padding-top:29px;padding-bottom:29px}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:19px}.hero h1{font-size:clamp(31px,10vw,39px);line-height:1.6;letter-spacing:.075em}.hero-intro{padding:0;margin-top:24px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.hero-intro p{font-size:11px;line-height:2.1;margin:0;letter-spacing:.025em}.hero-intro .button{font-size:11px;padding:10px 15px;gap:18px;min-height:48px}.hero-art{margin-inline:12px}.hero-art>img{height:262px;object-position:52% center}.art-label{top:22px;left:21px;right:17px;bottom:79px}.art-label>span:first-child{font-size:13px;letter-spacing:.14em;line-height:1.8}.art-label>span:last-child{font-size:7px;letter-spacing:.09em;line-height:1.9}.hero-art figcaption{font-size:10px;line-height:1.9;padding:10px 12px;letter-spacing:.015em}.hero-bottom{display:block;padding-block:19px 21px}.hero-bottom p{font-size:15px;letter-spacing:.1em}.hero-bottom>span{display:block;font-size:9px;margin-top:4px}.section{padding-block:60px}.section-start{margin-bottom:29px}.step{font-size:18px;gap:13px}.step>span{font-size:12px}.section-en{font-size:8px;letter-spacing:.07em}.section h2{font-size:29px;line-height:1.7;letter-spacing:.045em}.section-heading{display:block;margin-bottom:29px}.section-heading>p{font-size:12px;line-height:2.1;min-width:0;margin-top:22px}.comparison{display:block}.experience-item+.experience-item{border-left:0;border-top:1px solid var(--line)}.experience-art img{height:177px;aspect-ratio:auto;object-position:center}.experience-art>span{left:20px;top:13px;font-size:8px}.experience-copy{padding:21px 21px 25px}.small-label{font-size:10px}.experience h3{font-size:29px;margin:4px 0 12px}.experience-copy>p:last-child{font-size:12px}.concept-note{font-size:9px;margin-top:11px;line-height:1.9}.experience-action{display:block;margin-top:25px}.experience-action>p{font-size:11px}.experience-action>.button{width:100%;margin-top:19px;font-size:12px;min-height:54px}.desktop-break{display:none}.visit-inner{padding-block:36px 40px}.visit .section-start{margin-bottom:32px}.visit-content{display:block;padding:0 0 49px}.visit h2{font-size:37px;line-height:1.65;letter-spacing:.07em}.visit-title .eyebrow{margin-bottom:17px}.visit-copy{padding-top:32px;justify-self:stretch}.visit-lead{font-size:19px;letter-spacing:.04em;margin-bottom:13px}.visit-copy>p:not(.visit-lead){font-size:12px;line-height:2.2}.button-light{margin-top:24px;min-height:52px;font-size:12px}.visit-threads{left:-70px;right:-70px;bottom:0;gap:4px;transform:rotate(-11deg)}.collection.section{padding-bottom:49px}.collection-content{display:block}.collection-content>div:first-child>p{font-size:12px;line-height:2.1;margin-top:21px}.collection-link{margin-top:32px;padding-block:25px;gap:15px}.collection-link-title{font-size:17px;line-height:1.8;letter-spacing:.015em}.round-arrow{width:42px;height:42px;font-size:20px}.footer{display:block;padding:27px 0 22px}.footer-name{font-size:18px;margin-bottom:8px}.footer-proposal>p:first-child{font-size:11px;margin-bottom:11px}.footer-proposal>p:last-child{font-size:9px;line-height:2.1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.note-sentence{display:inline-block;max-width:100%}.keep{white-space:nowrap}

.hero-links, .visit-links, .product-links, .footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
}

.hero-links { margin-top: 10px; }
.hero-links a, .text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  font-size: 13px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--line);
  text-underline-offset: 5px;
}
.hero-links a:hover, .text-link:hover { text-decoration-color: currentColor; }

.visit-links { margin-top: 24px; }
.visit-links .button-light { margin-top: 0; }
.visit-links .text-link { color: #e5ece5; }
.visit-copy { max-width: 380px; }

.weaves, .product-list, .news-list, .follow ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.editorial-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  min-height: 48px;
  padding-block: 10px;
  transition: color .2s;
}
.editorial-link:hover { color: #2c5863; text-decoration: underline; text-underline-offset: 5px; }
.editorial-link > span[aria-hidden] { flex: none; font-family: var(--sans); }
.weaves li, .follow li { border-bottom: 1px solid var(--line); }
.weaves .editorial-link { font: 500 clamp(17px, 2vw, 23px)/1.7 var(--serif); }

.products { margin-top: 56px; }
.products h3, .follow h3 { font-size: 23px; letter-spacing: .05em; margin-bottom: 14px; }
.product-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.product-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  column-gap: 10px;
  height: 100%;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.product-image {
  grid-column: 1 / -1;
  position: relative;
}
.product-image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: #fdfcf9;
}
.product-image-label {
  position: absolute;
  right: 6px;
  bottom: 6px;
  padding: 2px 6px;
  background: var(--paper);
  color: var(--ink);
  font-size: 10px;
  line-height: 1.45;
}
.product-copy { margin-top: 10px; }
.product-copy h4 { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.65; }
.product-copy p { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.product-card:hover h4 { text-decoration: underline; text-underline-offset: 4px; }
.product-arrow { margin-top: 9px; font-size: 14px; }
.product-note { margin: 0 0 16px; color: var(--muted); font-size: 12px; }
.product-links { margin-top: 12px; }
.collection-link { margin-top: 32px; }

.updates.section {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 36px 9%;
  border-top: 1px solid var(--line);
  padding-block: 54px 74px;
}
.updates h2 { font-size: 28px; margin-bottom: 8px; }
.news-note { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.news-list li {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  border-bottom: 1px solid var(--line);
  min-height: 48px;
  font-size: 13px;
}
.news-list time { color: var(--muted); font-variant-numeric: tabular-nums; font-size: 12px; }
.news > .text-link { margin-top: 8px; }
.follow h3 { margin-top: 5px; }
.follow .editorial-link { font-size: 14px; }

.footer-name { min-height: 0; }
.footer-links { margin-top: 4px; }

@media (max-width: 850px) {
  .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .nav a { font-size: 11px; }
  .hero-intro { display: block; width: 100%; }
  .hero-intro p { margin-bottom: 17px; font-size: 12px; }
  .hero-links { margin-top: 4px; }
  .hero-links a, .text-link { font-size: 12px; }
  .products { margin-top: 38px; }
  .product-list { gap: 18px 14px; }
  .product-card { column-gap: 4px; }
  .product-copy h4 { font-size: 13px; }
  .product-copy p { font-size: 11px; }
  .updates.section { grid-template-columns: minmax(0, 1fr); padding-block: 34px 43px; }
  .updates h2 { font-size: 25px; }
  .news-list li { grid-template-columns: 73px minmax(0, 1fr); font-size: 12px; }
  .news-list time { font-size: 11px; }
  .footer-links { margin: 0 0 15px; }
}
