
: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-w);
  color:var(--rc-ink)}
.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}
.rc-hero__ph::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(255,255,255,0) 20%,
    rgba(255,255,255,.22) 46%,rgba(255,255,255,.52) 72%,rgba(255,255,255,.7) 100%)}
.rc-hero__in{position:relative;padding:0 0 72px}
.rc-hero__badge,.rc-hero__en,.rc-hero h1,.rc-hero__catch,
.rc-hero__sub,.rc-hero__tags{max-width:min(100%,560px)}
.rc-hero__badge{display:inline-block;margin:0 0 18px;padding:8px 18px;
  background:var(--rc-k);color:#fff;font-size:12px;font-weight:400;
  letter-spacing:.16em;line-height:1.5}
.rc-hero__en{font-family:var(--rc-m);font-size:12px;letter-spacing:.42em;
  color:var(--rc-ink2);margin:0 0 20px;text-shadow:0 1px 12px #fff}
.rc-hero h1{font-family:var(--rc-m);font-weight:400;color:var(--rc-ink);
  font-size:clamp(28px,5.2vw,52px);line-height:1.5;letter-spacing:.06em;
  margin:0;text-wrap:balance;
  text-shadow:0 1px 22px #fff,0 0 10px rgba(255,255,255,.95),
    0 1px 2px rgba(255,255,255,.9)}
.rc-hero__catch{margin:16px 0 0;font-family:var(--rc-m);font-weight:400;
  font-size:clamp(16px,2.3vw,22px);letter-spacing:.08em;line-height:1.7;
  color:var(--rc-ink);text-shadow:0 1px 18px #fff,0 0 8px rgba(255,255,255,.95)}
.rc-hero__sub{margin:22px 0 0;font-size:15px;color:#3b3b38;
  max-width:38em;text-shadow:0 1px 16px #fff,0 0 7px rgba(255,255,255,.95)}
.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:var(--rc-ink);
  border:1px solid rgba(27,27,26,.3);padding:6px 14px;
  background:rgba(255,255,255,.6)}
.rc-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
.rc-hero .rc-btn{border-color:rgba(27,27,26,.45);color:var(--rc-ink)}
.rc-hero .rc-btn:hover{background:var(--rc-k);color:#fff;border-color:var(--rc-k)}
.rc-hero .rc-btn--fill{background:var(--rc-k);color:#fff;border-color:var(--rc-k)}
.rc-hero .rc-btn--fill:hover{background:transparent;color:var(--rc-ink);
  border-color:rgba(27,27,26,.45)}
.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-step{margin:28px 0 0;padding:0;list-style:none}
.rc-step li{position:relative;display:grid;grid-template-columns:46px 1fr;
  column-gap:20px;align-items:start;padding:0 0 32px}
.rc-step li:last-child{padding-bottom:0}
.rc-step li::before{content:'';position:absolute;left:23px;top:52px;bottom:0;
  width:1px;background:var(--rc-line)}
.rc-step li:last-child::before{display:none}
.rc-step__n{grid-row:1 / span 2;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--rc-line);background:var(--rc-w);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--rc-m);font-size:14px;letter-spacing:.04em;
  color:var(--rc-ink2);font-variant-numeric:tabular-nums}
.rc-step b{display:block;padding-top:8px;font-family:var(--rc-m);font-weight:400;
  font-size:17px;letter-spacing:.05em;line-height:1.7}
.rc-step p{grid-column:2;margin:5px 0 0;font-size:14px;color:#44443f;line-height:1.95}
.rc-fit{display:grid;gap:1px;background:var(--rc-line);margin:26px 0 0;padding:0;
  list-style:none;border:1px solid var(--rc-line);
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.rc-fit li{background:var(--rc-w);padding:22px 20px}
.rc-fit b{display:block;font-family:var(--rc-m);font-weight:400;font-size:16px;
  letter-spacing:.06em;line-height:1.7}
.rc-fit span{display:block;margin-top:8px;font-size:13.5px;color:#44443f;line-height:1.9}
.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}
@keyframes rc-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rc-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.rc-hero__badge,.rc-hero__en,.rc-hero h1,.rc-hero__catch,
.rc-hero__sub,.rc-hero__tags,.rc-hero__cta{animation:rc-in .95s ease both}
.rc-hero__en{animation-delay:.14s}
.rc-hero h1{animation-delay:.24s}
.rc-hero__catch{animation-delay:.38s}
.rc-hero__sub{animation-delay:.5s}
.rc-hero__tags{animation-delay:.62s}
.rc-hero__cta{animation-delay:.72s}
.rc-hero__ph img{animation:rc-zoom 16s ease-out both}
.rc-gal img{transition:opacity .45s ease;cursor:zoom-in}
.rc-gal img:hover{opacity:.72}
.rc-lb{position:fixed;inset:0;z-index:9999;display:none;
  align-items:center;justify-content:center;padding:48px 18px;
  background:rgba(12,12,11,.95)}
.rc-lb.on{display:flex}
.rc-lb img{max-width:min(1200px,94vw);max-height:84vh;width:auto;height:auto;
  object-fit:contain;animation:rc-lbin .35s ease both}
@keyframes rc-lbin{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.rc-lb button{position:absolute;background:none;border:0;color:#fff;
  cursor:pointer;font-family:var(--rc-g);font-weight:300;line-height:1;
  padding:16px;opacity:.75;transition:opacity .25s ease}
.rc-lb button:hover{opacity:1}
.rc-lb__x{top:8px;right:12px;font-size:30px}
.rc-lb__p{left:4px;top:50%;transform:translateY(-50%);font-size:34px}
.rc-lb__n{right:4px;top:50%;transform:translateY(-50%);font-size:34px}
.rc-lb__c{position:absolute;bottom:16px;left:0;right:0;text-align:center;
  color:rgba(255,255,255,.6);font-size:12px;letter-spacing:.14em}
body.rc-lbopen{overflow:hidden}
@media (max-width:700px){
  .rc-lb{padding:56px 8px}
  .rc-lb__p,.rc-lb__n{font-size:28px;padding:12px 8px}
}
.rc-studios div,.rc-fit li{transition:background .3s ease}
.rc-studios div:hover,.rc-fit li:hover{background:#fafaf9}
.rc-step__n{transition:border-color .35s ease,color .35s ease}
.rc-step li:hover .rc-step__n{border-color:var(--rc-ink);color:var(--rc-ink)}
.rc-dl>div{transition:background .3s ease}
.rc-dl>div:hover{background:#fafaf9}
.rc-hd{transition:box-shadow .3s ease}
@media (prefers-reduced-motion:reduce){
  .rc-rise{opacity:1;transform:none;transition:none}
  .rc-hero__badge,.rc-hero__en,.rc-hero h1,.rc-hero__catch,
  .rc-hero__sub,.rc-hero__tags,.rc-hero__cta,
  .rc-hero__ph img{animation:none}
  .rc-gal img,.rc-studios div,.rc-fit li,.rc-step__n,.rc-dl>div{transition:none}
}
@media (max-width:700px){
  .rc-hero{min-height:88vh}
  .rc-hero__ph::after{background:linear-gradient(to bottom,
    rgba(255,255,255,0) 16%,rgba(255,255,255,.26) 44%,
    rgba(255,255,255,.58) 70%,rgba(255,255,255,.76) 100%)}
  .rc-hero__in{padding-bottom:56px}
  .rc-hero__sub{font-size:14px}
}
