
:root{
  --rc-bg:#ececea;      
  --rc-w:#ffffff;       
  --rc-k:#1a1a19;       
  --rc-ink:#1b1b1a;     
  --rc-ink2:#6e6e6b;    
  --rc-line:#d3d3cf;    
  --rc-ink-k:#f3f3f1;   
  --rc-ink2-k:#9c9c98;  
  --rc-line-k:#343432;  
  --rc-g:'Zen Kaku Gothic New',"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --rc-m:'Noto Serif JP',"Hiragino Mincho ProN",serif;
}
.rc *,.rc *::before,.rc *::after{box-sizing:border-box}
.rc{margin:0;background:var(--rc-bg);color:var(--rc-ink);
  font-family:var(--rc-g);font-weight:300;line-height:1.95;
  letter-spacing:.04em;font-size:15px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.rc img{display:block;max-width:100%;height:auto}
.rc a{color:inherit}
.rc-wrap{width:min(1180px,100% - 48px);margin-inline:auto}
@media (max-width:700px){.rc-wrap{width:calc(100% - 32px)}}
.rc-top{background:var(--rc-k);color:var(--rc-ink2-k);
  font-size:11.5px;letter-spacing:.1em;padding:9px 0}
.rc-top a{text-decoration:none}
.rc-top a:hover{color:var(--rc-ink-k)}
.rc-hd{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.93);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--rc-line)}
.rc-hd__in{display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 0}
.rc-hd__logo{margin:0;font-family:var(--rc-m);font-size:17px;letter-spacing:.14em}
.rc-hd__logo a{text-decoration:none}
.rc-hd__logo small{display:block;font-family:var(--rc-g);font-size:10px;
  letter-spacing:.3em;color:var(--rc-ink2);margin-top:3px}
.rc-btn{display:inline-block;text-decoration:none;font-size:13px;
  letter-spacing:.12em;padding:12px 26px;border:1px solid var(--rc-ink);
  color:var(--rc-ink);transition:background .25s,color .25s}
.rc-btn:hover{background:var(--rc-ink);color:#fff}
.rc-btn--fill{background:var(--rc-k);color:#fff;border-color:var(--rc-k)}
.rc-btn--fill:hover{background:transparent;color:var(--rc-ink)}
.rc-btn--sm{padding:9px 18px;font-size:12px}
.rc-sec--k .rc-btn,.rc-last .rc-btn,.rc-hero .rc-btn{
  border-color:rgba(255,255,255,.75);color:#fff}
.rc-sec--k .rc-btn:hover,.rc-last .rc-btn:hover,.rc-hero .rc-btn:hover{
  background:#fff;color:var(--rc-k)}
.rc-sec--k .rc-btn--fill,.rc-last .rc-btn--fill,.rc-hero .rc-btn--fill{
  background:#fff;color:var(--rc-k);border-color:#fff}
.rc-sec--k .rc-btn--fill:hover,.rc-last .rc-btn--fill:hover,
.rc-hero .rc-btn--fill:hover{background:transparent;color:#fff}
.rc-hero{position:relative;min-height:min(86vh,720px);display:flex;
  align-items:flex-end;overflow:hidden;background:var(--rc-k);
  color:var(--rc-ink-k)}
.rc-hero__ph{position:absolute;inset:0}
.rc-hero__ph picture{display:block;width:100%;height:100%}
.rc-hero__ph img{width:100%;height:100%;object-fit:cover;
  filter:brightness(.8) saturate(.9)}
.rc-hero__ph::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(26,26,25,.3) 0%,
    rgba(26,26,25,.04) 36%,rgba(26,26,25,.8) 100%)}
.rc-hero__in{position:relative;padding:0 0 72px}
.rc-hero__en{font-family:var(--rc-m);font-size:12px;letter-spacing:.42em;
  color:rgba(255,255,255,.8);margin:0 0 20px}
.rc-hero h1{font-family:var(--rc-m);font-weight:400;color:#fff;
  font-size:clamp(28px,5.2vw,52px);line-height:1.5;letter-spacing:.06em;
  margin:0;text-wrap:balance;text-shadow:0 1px 24px rgba(26,26,25,.45)}
.rc-hero__sub{margin:22px 0 0;font-size:15px;color:rgba(255,255,255,.92);
  max-width:38em;text-shadow:0 1px 18px rgba(26,26,25,.5)}
.rc-hero__tags{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;
  padding:0;list-style:none}
.rc-hero__tags li{font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.4);padding:6px 14px}
.rc-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
.rc-num{background:var(--rc-k);color:var(--rc-ink-k)}
.rc-num ul{display:grid;grid-template-columns:repeat(4,1fr);
  margin:0;padding:0;list-style:none}
.rc-num li{padding:44px 8px;text-align:center;border-left:1px solid var(--rc-line-k)}
.rc-num li:first-child{border-left:0}
.rc-num b{display:block;font-family:var(--rc-m);font-weight:400;color:#fff;
  font-size:clamp(30px,4.6vw,46px);line-height:1.1;
  letter-spacing:.02em;font-variant-numeric:tabular-nums}
.rc-num span{display:block;margin-top:12px;font-size:12px;letter-spacing:.14em;
  color:var(--rc-ink2-k)}
@media (max-width:700px){
  .rc-num ul{grid-template-columns:repeat(2,1fr)}
  .rc-num li{padding:28px 6px}
  .rc-num li:nth-child(3){border-left:0}
  .rc-num li:nth-child(n+3){border-top:1px solid var(--rc-line-k)}
}
.rc-sec{padding:clamp(66px,9vw,120px) 0}
.rc-sec--w{background:var(--rc-w)}
.rc-sec--k{background:var(--rc-k);color:var(--rc-ink-k)}
.rc-h{margin:0 0 14px;font-family:var(--rc-m);font-weight:400;
  font-size:clamp(22px,3.2vw,34px);line-height:1.6;letter-spacing:.05em;
  text-wrap:balance}
.rc-en{margin:0 0 18px;font-size:11px;letter-spacing:.4em;color:var(--rc-ink2)}
.rc-lead{margin:0;max-width:46em;color:#44443f}
.rc-sec--k .rc-en{color:var(--rc-ink2-k)}
.rc-sec--k .rc-lead,.rc-last .rc-lead{color:#c6c6c2}
.rc-sec p+p{margin-top:1.5em}
.rc-gal{display:grid;gap:10px;margin:clamp(36px,4vw,54px) 0 0;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.rc-gal img{aspect-ratio:1/1;object-fit:cover;width:100%}
.rc-duo{display:grid;gap:clamp(28px,4vw,56px);align-items:center;
  grid-template-columns:1fr 1fr}
.rc-duo--rev>:first-child{order:2}
@media (max-width:860px){
  .rc-duo{grid-template-columns:1fr}
  .rc-duo--rev>:first-child{order:0}
}
.rc-ul{margin:26px 0 0;padding:0;list-style:none}
.rc-ul li{position:relative;padding:0 0 0 26px;margin-top:14px}
.rc-ul li::before{content:'';position:absolute;left:4px;top:.95em;
  width:9px;height:1px;background:var(--rc-ink)}
.rc-sec--k .rc-ul li::before{background:#fff}
.rc-studios{display:grid;gap:1px;background:var(--rc-line);
  margin:clamp(36px,4vw,54px) 0 0;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.rc-studios div{background:var(--rc-w);padding:26px 22px}
.rc-studios h3{margin:0;font-family:var(--rc-m);font-weight:400;font-size:16px;
  letter-spacing:.08em}
.rc-studios p{margin:10px 0 0;font-size:12.5px;line-height:1.9;color:var(--rc-ink2)}
.rc-dl{margin:clamp(34px,4vw,50px) 0 0;border-top:1px solid var(--rc-line)}
.rc-dl>div{display:grid;grid-template-columns:190px 1fr;gap:20px;
  padding:22px 4px;border-bottom:1px solid var(--rc-line)}
.rc-dl dt{margin:0;font-size:12.5px;letter-spacing:.14em;color:var(--rc-ink2)}
.rc-dl dd{margin:0}
@media (max-width:700px){
  .rc-dl>div{grid-template-columns:1fr;gap:8px;padding:18px 2px}
}
.rc-last{background:var(--rc-k);color:var(--rc-ink-k);
  padding:clamp(76px,10vw,130px) 0;text-align:center}
.rc-last .rc-en{color:var(--rc-ink2-k)}
.rc-last .rc-h{margin-inline:auto;color:#fff}
.rc-last .rc-lead{margin-inline:auto}
.rc-last__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
  margin:34px 0 0}
.rc-ft{background:var(--rc-k);padding:40px 0;font-size:12px;
  color:var(--rc-ink2-k);border-top:1px solid var(--rc-line-k)}
.rc-ft__nav{display:flex;flex-wrap:wrap;gap:18px;margin:0 0 18px;padding:0;
  list-style:none}
.rc-ft__nav a{text-decoration:none;letter-spacing:.1em}
.rc-ft__nav a:hover{color:var(--rc-ink-k)}
.rc-ft small{display:block;letter-spacing:.08em}
.rc-rise{opacity:0;transform:translateY(18px);
  transition:opacity .9s ease,transform .9s ease}
.rc-rise.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rc-rise{opacity:1;transform:none;transition:none}
}
@media (max-width:700px){
  .rc-hero{min-height:88vh}
  .rc-hero__ph img{filter:brightness(.86) saturate(.93)}
  .rc-hero__ph::after{background:linear-gradient(to bottom,
    rgba(26,26,25,.22) 0%,rgba(26,26,25,.02) 26%,
    rgba(26,26,25,.6) 60%,rgba(26,26,25,.88) 100%)}
  .rc-hero__in{padding-bottom:56px}
  .rc-hero__sub{font-size:14px}
}
