
.nd-mogari{
  --m-sumi:#2B2629;
  --m-ink:#3A3236;
  --m-purple:#5E4B6E;
  --m-purple-soft:#F1EDF4;
  --m-white:#FDFCFA;
  --m-ph:linear-gradient(160deg,#EFEAF2,#D9CFE0 60%,#C9BBD4); 
  color:var(--m-ink);
}
.nd-mogari .nd-kicker{color:var(--gold-deep);letter-spacing:.4em}
.nd-mogari .nd-title{color:var(--m-sumi);font-weight:500;letter-spacing:.1em}
.nd-mogari .nd-lead{color:var(--m-ink)}
.nd-mogari .m-white{background:var(--m-white)}
.nd-mogari .m-paper{background:var(--washi),#F6F3EE}


.m-hero{padding:40px 16px 48px;background:var(--washi),var(--m-white)}
.m-hero__inner{max-width:1080px;margin:0 auto;display:grid;gap:28px;align-items:center;width:100%}
.m-hero__text{display:flex;flex-direction:column;align-items:center;gap:20px}
.m-hero__kicker{font-family:var(--font-serif);font-size:24px;letter-spacing:.3em;color:var(--m-purple);margin:0}
.m-hero__kicker rt{font-size:.42em;letter-spacing:.2em;color:var(--gold-deep)}
.m-hero__title{
  writing-mode:vertical-rl;font-family:var(--font-serif);font-weight:500;color:var(--m-sumi);
  font-size:clamp(26px,7.4vw,40px);line-height:1.9;letter-spacing:.22em;margin:0;
}
.m-hero__title > span{display:block}
.m-hero__sub{font-size:15px;line-height:2;color:var(--m-ink);text-align:center;margin:0;max-width:22em;word-break:auto-phrase}
.m-hero__photo{
  width:min(100%,420px);margin:0 auto;aspect-ratio:3/4;border-radius:999px 999px 18px 18px;overflow:hidden;
  background-image:var(--img-sp,none),var(--m-ph);background-size:cover;background-position:var(--pos,center);
  outline:1px solid rgba(184,149,90,.55);outline-offset:-10px;box-shadow:var(--shadow-card);
}
.m-cap{font-size:11px;line-height:1.7;color:var(--ink-soft);margin:8px 0 0}
.m-hero .m-cap{text-align:center}
@media (min-width:768px){
  .m-hero{padding:72px 16px}
  .m-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
  .m-hero__text{gap:24px}
  .m-hero__sub{font-size:16px}
  .m-hero__photo{width:100%;max-width:520px;aspect-ratio:4/5;margin:0 0 0 auto}
}


.m-prose{max-width:640px;margin:0 auto}
.m-prose p{font-size:16px;line-height:2.2;margin:0 0 1.2em;color:var(--m-ink);word-break:auto-phrase}
.m-prose .m-em{font-family:var(--font-serif);font-size:clamp(20px,5.4vw,26px);line-height:1.9;color:var(--m-sumi);letter-spacing:.1em;text-align:center;margin:1.6em 0}


.m-stages{display:grid;gap:14px;position:relative}
@media (min-width:768px){.m-stages{grid-template-columns:1fr 1fr;gap:24px}}
.m-stage{border-radius:var(--r-l);overflow:hidden;background:#fff;box-shadow:var(--shadow-card),inset 0 0 0 1px rgba(184,149,90,.45)}
.m-stage__img{aspect-ratio:16/10;background-image:var(--img-sp,none),var(--m-ph);background-size:cover;background-position:var(--pos,center)}
.m-stage__body{padding:20px 22px 24px}
.m-stage__no{display:flex;align-items:baseline;gap:10px;font-family:var(--font-serif);color:var(--gold-deep);letter-spacing:.2em;font-size:13px}
.m-stage__no b{font-size:28px;font-weight:500;color:var(--m-purple);letter-spacing:0}
.m-stage h3{font-family:var(--font-serif);font-weight:500;font-size:22px;letter-spacing:.08em;color:var(--m-sumi);margin:6px 0 4px}
.m-stage__where{font-size:13px;color:var(--ink-soft);margin:0 0 10px}
.m-stage p{font-size:15px;line-height:2;margin:0;color:var(--m-ink)}
.m-stage__note{font-size:11px !important;line-height:1.7 !important;color:var(--ink-soft) !important;margin-top:10px !important}
.m-stage__arrow{display:block;text-align:center;font-family:var(--font-serif);font-size:13px;letter-spacing:.3em;color:var(--m-purple);margin:2px 0}
@media (min-width:768px){.m-stage__arrow{display:none}}


.m-design{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
@media (min-width:768px){.m-design{gap:20px}}
.m-design figure{margin:0}
.m-design__img{aspect-ratio:3/4;border-radius:14px;background-image:var(--img-sp,none),var(--m-ph);background-size:cover;background-position:var(--pos,center);outline:1px solid rgba(184,149,90,.5);outline-offset:-6px;box-shadow:var(--shadow-soft)}
.m-design__img--sketch{background-color:#fff;background-size:contain;background-repeat:no-repeat}
.m-design figcaption{font-family:var(--font-serif);font-size:13px;letter-spacing:.12em;color:var(--m-purple);text-align:center;margin-top:8px}
.m-design__arrow{text-align:center;font-family:var(--font-serif);color:var(--gold);font-size:22px;line-height:1}
.m-design__arrow::before{content:"→"}


.m-works{display:grid;gap:16px}
@media (min-width:768px){.m-works{grid-template-columns:1.25fr 1fr;align-items:start}}
.m-works figure{margin:0}
.m-works__img{border-radius:14px;background-image:var(--img-sp,none),var(--m-ph);background-size:cover;background-position:var(--pos,center);outline:1px solid rgba(184,149,90,.5);outline-offset:-6px;box-shadow:var(--shadow-card)}
.m-works__img--tall{aspect-ratio:4/5}
.m-works__img--wide{aspect-ratio:4/3}
.m-works figcaption{margin-top:8px}
.m-works figcaption b{display:block;font-family:var(--font-serif);font-weight:500;font-size:16px;letter-spacing:.08em;color:var(--m-sumi)}
.m-works figcaption span{display:block;font-size:12px;line-height:1.8;color:var(--ink-soft)}


.m-scope{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:768px){.m-scope{grid-template-columns:repeat(3,1fr);gap:14px}}
.m-scope li{padding:18px 18px 16px;border-radius:var(--r-m);background:#fff;box-shadow:inset 0 0 0 1px rgba(94,75,110,.18)}
.m-scope b{display:block;font-family:var(--font-serif);font-weight:500;font-size:17px;letter-spacing:.08em;color:var(--m-purple)}
.m-scope span{display:block;margin-top:4px;font-size:14px;line-height:1.85;color:var(--m-ink)}


.nd-mogari .nd-timeline::after{background:linear-gradient(180deg,#CFC2DA,var(--m-purple))}
.nd-mogari .nd-timeline li::before{color:var(--m-purple)}
.m-flow-tag{display:inline-block;margin-left:8px;padding:1px 10px;border-radius:999px;font-family:var(--font-sans);font-size:11px;letter-spacing:.1em;color:#fff;background:var(--m-purple);vertical-align:3px}


.m-band{
  padding:clamp(56px,9vw,96px) 16px;text-align:center;color:#FBF8FC;
  background:radial-gradient(110% 80% at 50% 0%,rgba(207,194,218,.28),transparent 60%),linear-gradient(180deg,#6A567A 0%,var(--m-purple) 55%,#4C3D59 100%);
}
.m-band .nd-kicker{color:var(--gold-light)}
.m-band__copy{font-family:var(--font-serif);font-weight:500;font-size:clamp(22px,6vw,32px);line-height:1.9;letter-spacing:.12em;margin:0}
.m-band p{max-width:34em;margin:18px auto 0;font-size:15px;line-height:2.1;color:rgba(251,248,252,.92);word-break:auto-phrase}


.m-close{text-align:center}
.m-close__copy{font-family:var(--font-serif);font-weight:500;font-size:clamp(22px,6vw,32px);line-height:2;letter-spacing:.14em;color:var(--m-sumi);margin:0}
.m-close__sub{font-size:14px;color:var(--ink-soft);margin:14px 0 0}


.m-works__credit{display:block;font-size:11px;line-height:1.6;color:var(--ink-soft);letter-spacing:.04em;margin-top:2px}
