
.m-story{
  --ms-sumi:#2B2629;
  --ms-ink:#3A3236;
  --ms-soft:#5E5258;
  --ms-purple:#5E4B6E;
  --ms-purple-soft:#F1EDF4;
  --ms-gold:#B8955A;
  --ms-gold-d:#7E6233;
  --ms-serif:"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif CJK JP",serif;
  --ms-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans CJK JP",sans-serif;

  position:relative;margin:28px 0 0;padding:28px 22px 26px;border-radius:18px;
  background:#FDFCFA;color:var(--ms-ink);font-family:var(--ms-sans);
  box-shadow:0 12px 30px -20px rgba(60,40,70,.28),inset 0 0 0 1px rgba(184,149,90,.5);
}

.m-story::after{content:"";position:absolute;inset:7px;border-radius:13px;border:1px solid rgba(184,149,90,.35);pointer-events:none}
.m-story *,.m-story *::before,.m-story *::after{box-sizing:border-box}
@media (min-width:768px){.m-story{margin-top:36px;padding:40px 44px 38px}}


.m-story__kicker{display:inline-flex;align-items:center;gap:10px;margin:0;font-family:var(--ms-serif);font-size:12px;letter-spacing:.32em;color:var(--ms-gold-d)}
.m-story__kicker::after{content:"";width:36px;height:1px;background:var(--ms-gold)}
.m-story__title{margin:10px 0 0;font-family:var(--ms-serif);font-weight:500;font-size:clamp(20px,5.4vw,26px);line-height:1.6;letter-spacing:.08em;color:var(--ms-sumi);word-break:auto-phrase;text-wrap:balance}
.m-story__day{display:inline-block;margin:12px 0 0;padding:4px 14px;border-radius:999px;font-family:var(--ms-serif);font-size:14px;letter-spacing:.1em;color:var(--ms-purple);background:var(--ms-purple-soft)}


.m-story__grid{display:grid;gap:22px;margin-top:18px}
@media (min-width:768px){.m-story__grid{grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}}
.m-story__text{margin:0;font-size:15px;line-height:2.05;color:var(--ms-ink);word-break:auto-phrase}
.m-story__text + .m-story__text{margin-top:.9em}


.m-story__voice{margin:18px 0 0;padding:4px 0 4px 16px;border-left:2px solid var(--ms-gold)}
.m-story__voice p{margin:0;font-family:var(--ms-serif);font-size:clamp(15px,4.2vw,17px);word-break:auto-phrase;text-wrap:balance;line-height:1.9;letter-spacing:.06em;color:var(--ms-sumi)}
.m-story__voice cite{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--ms-soft)}


.m-story__did{margin:0;padding:18px 18px 16px;border-radius:12px;background:var(--ms-purple-soft)}
.m-story__did h4{margin:0 0 10px;font-family:var(--ms-serif);font-weight:500;font-size:15px;letter-spacing:.12em;color:var(--ms-purple)}
.m-story__did ol{margin:0;padding:0;list-style:none;counter-reset:ms}
.m-story__did li{counter-increment:ms;position:relative;padding:9px 0 9px 34px;font-size:14px;line-height:1.85;color:var(--ms-ink);border-top:1px solid rgba(94,75,110,.14)}
.m-story__did li:first-child{border-top:0;padding-top:2px}
.m-story__did li::before{content:counter(ms,cjk-ideographic);position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;font-family:var(--ms-serif);font-size:12px;color:#fff;background:var(--ms-purple)}
.m-story__did li:first-child::before{top:2px}
.m-story__did li b{display:block;font-weight:500;color:var(--ms-sumi)}
.m-story__did li span{display:block;font-size:13px;color:var(--ms-soft)}


.m-story__foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px}
.m-story__link{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:0 24px;border-radius:999px;
  font-family:var(--ms-sans);font-weight:600;font-size:15px;letter-spacing:.05em;text-decoration:none;
  color:var(--ms-purple);background:#fff;box-shadow:inset 0 0 0 1px var(--ms-purple);transition:background .3s,color .3s}
.m-story__link:hover{background:var(--ms-purple);color:#fff}
.m-story__link:focus-visible{outline:2px solid var(--ms-gold);outline-offset:3px}
.m-story__link svg{width:15px;height:15px;flex:none}
.m-story__note{margin:0;font-size:12px;line-height:1.7;color:var(--ms-soft)}
@media (max-width:480px){
  .m-story{padding:24px 18px 22px}
  .m-story__link{width:100%;padding:0 14px;font-size:14px;letter-spacing:.02em}
  .m-story__did{padding:16px 14px 14px}
}
@media (prefers-reduced-motion:reduce){.m-story__link{transition:none}}


.nd-mogari .nd-faq__a a{color:#5E4B6E;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.nd-mogari .nd-faq__a a:hover{color:#2B2629}
