body{margin:0;background:#ffffff}
a{color:#8a6a35}a:hover{color:#5f4720}
.page{--ink:#1c1a17;--ink2:#3a3630;--mute:#6b655c;--line:#e6dfd3;--paper:#f6f2eb;--paper2:#fbf9f5;--gold:#cfae6e;--goldtext:#8a6a35;--white:#ffffff;
  font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--white);overflow:hidden;position:relative;line-height:1.8}
.page *{box-sizing:border-box}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.mincho{font-family:"Shippori Mincho B1",serif}
.label{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--goldtext);font-weight:500}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.0);transition:background .5s,box-shadow .5s,border-color .5s;border-bottom:1px solid rgba(230,223,211,0)}
.hdr.solid{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap;padding:20px 40px;max-width:1440px;margin:0 auto;transition:padding .5s}
.hdr.solid .hdr-in{padding:12px 40px}
.logo{display:flex;align-items:baseline;gap:14px;text-decoration:none;color:var(--ink);white-space:nowrap;flex-shrink:0}
.logo b{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:26px;letter-spacing:.06em;color:var(--ink)}
.logo b em{font-style:normal;color:var(--goldtext);margin-left:1px}
.logo span{font-size:11px;letter-spacing:.14em;color:var(--mute)}
.nav{display:flex;gap:30px;align-items:center}
.nav a.nl{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.1em;position:relative;padding:12px 0;white-space:nowrap}
.nav a.nl::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nav a.nl:hover::after{transform:scaleX(1);transform-origin:left}
.tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:border-color .3s,background .3s}
.icon-btn:hover{border-color:var(--ink)}
.menu-btn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 28px;border-radius:999px;text-decoration:none;font-size:13px;letter-spacing:.12em;font-weight:500;transition:transform .35s,background .35s,color .35s,border-color .35s;white-space:nowrap;border:1px solid transparent}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000;color:#fff;transform:translateY(-2px)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-light{border-color:rgba(255,255,255,.7);color:#fff}
.btn-light:hover{background:#fff;color:var(--ink)}
.btn-sm{min-height:44px;padding:0 20px;font-size:12px}
.mobile-nav{display:none}
.hdr.open .mobile-nav{display:flex;flex-direction:column;gap:4px;padding:12px 22px 24px;background:#fff;border-top:1px solid var(--line)}
.mobile-nav a{color:var(--ink);text-decoration:none;font-size:15px;padding:12px 0;border-bottom:1px solid var(--line)}

/* hero */
.hero{position:relative;height:840px;overflow:hidden;isolation:isolate;background:#f4f1ec}
.hero-bg{position:absolute;left:0;right:0;top:-6%;height:112%;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:78% 50%;animation:kenburns 30s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.1) translate(-1%,0)}}
.hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.45) 38%,rgba(255,255,255,0) 62%)}
.hero-copy{position:relative;padding-top:230px;max-width:640px}
.vol{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.26em;color:var(--goldtext)}
.vol::before{content:"";width:40px;height:1px;background:var(--goldtext)}
.h1{margin:30px 0 0;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:84px;line-height:1.22;letter-spacing:.04em;color:var(--ink)}
.h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.h1 .ln > span{display:inline-block;transform:translateY(110%);animation:rise 1.3s cubic-bezier(.2,.8,.2,1) forwards}
.h1 .ln:nth-child(2) > span{animation-delay:.16s}
@keyframes rise{to{transform:none}}
.lead{margin:30px 0 0;font-size:16px;line-height:2.1;color:var(--ink2);max-width:500px;opacity:0;animation:fadeup 1.2s .6s forwards}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px;opacity:0;animation:fadeup 1.2s .9s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-meta{position:absolute;left:40px;bottom:36px;display:flex;gap:40px;font-size:12px;letter-spacing:.16em;color:var(--mute)}
.hero-meta b{color:var(--ink);font-weight:500}
.scroll-cue{position:absolute;right:48px;bottom:36px;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.3em;color:var(--mute)}
.scroll-cue i{display:block;width:56px;height:1px;background:var(--ink);transform-origin:left;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:scaleX(0)}50%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}

/* section heads */
.sec{position:relative;padding:130px 0}
.sec.paper{background:var(--paper)}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.sh h2{margin:14px 0 0;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:44px;line-height:1.4;letter-spacing:.04em}
.sh p{margin:0;max-width:420px;color:var(--mute);line-height:2;font-size:14px}
.sh .right{display:flex;flex-direction:column;align-items:flex-end;gap:18px}

/* reveal / parallax */
.rv-ready [data-rv]{opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}
.rv-ready [data-rv].in{opacity:1;transform:none}
.rv-ready [data-rv="2"]{transition-delay:.1s}
.rv-ready [data-rv="3"]{transition-delay:.2s}
.rv-ready [data-rv="4"]{transition-delay:.3s}
.px{will-change:transform}

/* genre */
.genres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.gcard{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:var(--ink)}
.gcard .img{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:var(--paper)}
.gcard .img .inner{position:absolute;left:0;right:0;top:-8%;height:116%}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.gcard:hover img{transform:scale(1.05)}
.gcard .no{font-size:11px;letter-spacing:.26em;color:var(--goldtext)}
.gcard h3{margin:6px 0 0;font-family:"Shippori Mincho B1",serif;font-size:26px;font-weight:700;letter-spacing:.06em;transition:color .3s}
.gcard:hover h3{color:var(--goldtext)}
.gcard p{margin:8px 0 0;font-size:13px;line-height:1.9;color:var(--mute)}
.gcard .more{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;letter-spacing:.2em;color:var(--ink)}
.gcard .more svg{transition:transform .4s}
.gcard:hover .more svg{transform:translateX(6px)}

/* pickup carousel */
.car-wrap{position:relative}
.car{display:flex;gap:24px;overflow-x:auto;margin-right:calc(50% - 50vw);padding-right:calc(50vw - 50%);scroll-snap-type:x mandatory;padding:4px 0 24px;scrollbar-width:none;-ms-overflow-style:none}
.car::-webkit-scrollbar{display:none}
.pcard{flex:0 0 400px;scroll-snap-align:start;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:16px}
.pcard .th{overflow:hidden;border-radius:4px;aspect-ratio:3/2;background:var(--paper)}
.pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.pcard:hover img{transform:scale(1.05)}
.pcard .cat{font-size:11px;letter-spacing:.24em;color:var(--goldtext)}
.pcard h3{margin:4px 0 0;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:20px;line-height:1.7;letter-spacing:.03em;transition:color .3s}
.pcard:hover h3{color:var(--goldtext)}
.pcard .date{font-size:12px;color:var(--mute);letter-spacing:.1em}
.car-nav{display:flex;gap:10px}

/* feature */
.feature{position:relative;height:760px;overflow:hidden;isolation:isolate;color:#fff}
.feature .img{position:absolute;left:0;right:0;top:-15%;height:130%;z-index:-2}
.feature img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,14,8,.82) 0%,rgba(20,14,8,.5) 45%,rgba(20,14,8,.08) 80%)}
.feature .box{position:relative;padding-top:200px;max-width:560px}
.feature .label{color:#e9d9b5}
.feature h2{margin:24px 0 0;font-family:"Shippori Mincho B1",serif;font-size:56px;line-height:1.4;font-weight:800;letter-spacing:.04em}
.feature p{margin:26px 0 0;color:#efe9df;line-height:2.1;font-size:15px}
.feature .btn{margin-top:36px}

/* formats */
.formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
.fcard{position:relative;padding-top:28px;border-top:1px solid var(--ink)}
.fcard .num{position:absolute;top:-14px;left:0;background:var(--paper);padding-right:14px;font-family:"Shippori Mincho B1",serif;font-size:22px;color:var(--ink)}
.fcard svg{display:block;color:var(--ink);margin-top:10px}
.fcard h3{margin:22px 0 0;font-family:"Shippori Mincho B1",serif;font-size:22px;letter-spacing:.06em}
.fcard .en{font-size:11px;letter-spacing:.22em;color:var(--goldtext);margin-top:4px}
.fcard p{margin:14px 0 0;color:var(--mute);font-size:13px;line-height:1.95}
.fcard .fit{margin-top:14px;font-size:12px;color:var(--ink2);padding:8px 12px;background:#fff;border-radius:2px;display:inline-block}

/* articles */
.articles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.acard{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:16px}
.acard .th{overflow:hidden;border-radius:4px;aspect-ratio:3/2;background:var(--paper)}
.acard img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.acard:hover img{transform:scale(1.05)}
.acard .cat{font-size:11px;letter-spacing:.24em;color:var(--goldtext)}
.acard h3{margin:4px 0 0;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:19px;line-height:1.7;letter-spacing:.03em;transition:color .3s}
.acard:hover h3{color:var(--goldtext)}
.acard .date{font-size:12px;color:var(--mute);letter-spacing:.1em}
.a-big{grid-column:span 7}
.a-big .th{aspect-ratio:4/3}
.a-big h3{font-size:30px;line-height:1.55}
.a-side{grid-column:span 5;display:flex;flex-direction:column;gap:0}
.a-row{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;text-decoration:none;color:var(--ink);padding:22px 0;border-top:1px solid var(--line)}
.a-row:last-child{border-bottom:1px solid var(--line)}
.a-row .th{aspect-ratio:1/1;overflow:hidden;border-radius:4px}
.a-row img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.a-row:hover img{transform:scale(1.06)}
.a-row h3{margin:4px 0 0;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:17px;line-height:1.7;transition:color .3s}
.a-row:hover h3{color:var(--goldtext)}
.a-third{grid-column:span 4}
.a-note{grid-column:span 4;border:1px solid var(--ink);border-radius:4px;padding:36px 32px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;text-decoration:none;color:var(--ink);background:#fff;transition:background .4s}
.a-note:hover{background:var(--paper)}
.a-note h3{margin:14px 0 0;font-family:"Shippori Mincho B1",serif;font-size:24px;line-height:1.6}
.a-note p{margin:0;color:var(--mute);font-size:13px;line-height:1.95}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:30px;height:1px;background:var(--line)}
.step{position:relative;padding-top:60px}
.step .n{position:absolute;top:0;left:0;height:60px;display:flex;align-items:center;background:#fff;padding-right:16px;font-family:"Shippori Mincho B1",serif;font-size:40px;color:var(--ink);line-height:1}
.step h3{margin:0;font-family:"Shippori Mincho B1",serif;font-size:21px;letter-spacing:.06em}
.step p{margin:12px 0 0;color:var(--mute);font-size:13px;line-height:1.95}
.step .who{margin-top:14px;font-size:11px;letter-spacing:.14em;color:var(--goldtext)}

/* toast band */
.band{position:relative;height:560px;overflow:hidden;isolation:isolate;display:flex;align-items:center}
.band .img{position:absolute;left:-45%;right:0;top:-20%;height:140%;z-index:-2}
.band img{width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(255,255,255,.7),rgba(255,255,255,0) 55%)}
.band .wrap{display:flex;justify-content:flex-end;width:100%}
.band .q{font-family:"Shippori Mincho B1",serif;font-size:40px;line-height:1.7;letter-spacing:.06em;color:var(--ink);max-width:560px;margin:0}
.band .q small{display:block;margin-top:22px;font-family:"Noto Sans JP",sans-serif;font-size:13px;letter-spacing:.2em;color:var(--mute)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:20px}
.gitem{margin:0;position:relative;border-radius:4px;overflow:hidden;display:block;background:var(--paper)}
.gitem img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.gitem figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:rgba(255,255,255,.88);font-size:11px;letter-spacing:.2em;color:var(--ink);transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.gitem:hover img{transform:scale(1.05)}
.gitem:hover figcaption{transform:none}
.small-note{margin-top:24px;color:var(--mute);font-size:12px;letter-spacing:.06em}

/* cta */
.cta{position:relative;margin:0 auto;max-width:1160px;border-radius:6px;overflow:hidden;padding:80px 80px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:40px;align-items:center;background:var(--paper)}
.cta h2{margin:16px 0 0;font-family:"Shippori Mincho B1",serif;font-size:40px;line-height:1.5;letter-spacing:.04em}
.cta p{margin:20px 0 0;color:var(--mute);line-height:2;font-size:14px}
.cta .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.cta .bt img{width:100%;display:block;animation:floaty 7s ease-in-out infinite;filter:drop-shadow(0 24px 30px rgba(60,40,10,.18))}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(-1deg)}}

/* footer */
.foot{border-top:1px solid var(--line);margin-top:130px;padding:64px 0 40px;background:#fff}
.foot-in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-links{display:flex;gap:56px;flex-wrap:wrap}
.foot-links div{display:flex;flex-direction:column;gap:2px}
.foot-links b{font-size:11px;letter-spacing:.24em;color:var(--goldtext);font-weight:500;margin-bottom:8px}
.foot-links a{color:var(--ink);text-decoration:none;font-size:13px;padding:6px 0}
.foot-links a:hover{color:var(--goldtext)}
.legal{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--mute);letter-spacing:.06em}
.legal strong{color:var(--ink);font-weight:500}

/* responsive */
@media (max-width:1180px){
  .nav{gap:20px}.nav a.nl{font-size:12px;letter-spacing:.06em}.logo span{display:none}
}
@media (max-width:1000px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .h1{font-size:64px}
  .genres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
  .steps::before{display:none}
  .a-big,.a-side{grid-column:span 12}
  .a-third,.a-note{grid-column:span 6}
  .pcard{flex-basis:320px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;grid-auto-flow:dense}
  .gitem{grid-column:auto !important;grid-row:auto !important}
  .gitem.tall{grid-row:span 2 !important}
}
@media (max-width:720px){
  .wrap{padding:0 22px}
  .hdr-in{padding:14px 22px}
  .hdr.solid .hdr-in{padding:10px 22px}
  .tools .btn{display:none}
  .hero{height:760px}
  .hero-copy{padding-top:140px}
  .hero-veil{background:linear-gradient(0deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.2) 100%)}
  .h1{font-size:44px}
  .lead{font-size:14px}
  .hero-meta{left:22px;gap:20px;font-size:11px}
  .scroll-cue{display:none}
  .sec{padding:90px 0}
  .sh h2{font-size:30px}
  .genres{grid-template-columns:repeat(1,minmax(0,1fr))}
  .feature{height:680px}
  .feature .box{padding-top:130px}
  .feature h2{font-size:34px}
  .formats{grid-template-columns:repeat(1,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(1,minmax(0,1fr))}
  .a-third,.a-note{grid-column:span 12}
  .a-row{grid-template-columns:96px 1fr}
  .band{height:480px}
  .band .q{font-size:26px}
  .band .img{left:-60%}
  .cta{grid-template-columns:minmax(0,1fr);padding:48px 26px}
  .cta h2{font-size:28px}
  .cta .bt{display:none}
  .pcard{flex-basis:260px}
}

a.icon-btn{color:var(--ink);text-decoration:none}
