.characterDetail .btnLine{margin-top:28px;font-size:13.5px;letter-spacing:.14em;padding:11px 30px}

  .characterDetail .crumbs{max-width:var(--maxw);margin:0 auto;padding:18px 24px 0;font-size:12px;letter-spacing:.08em;color:var(--gray)}
  .characterDetail .crumbs a:hover{color:var(--rose-deep)}
  .characterDetail .crumbs .sep{margin:0 8px;color:var(--hairline)}


  .characterDetail .chHero{padding:36px 24px 72px}
  .characterDetail .chHeroInner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:460px 1fr;gap:56px;align-items:start}
  .characterDetail .pvPortrait{
    aspect-ratio:3/4;border-radius:4px;position:relative;overflow:hidden;flex:1;
    border:1px solid var(--hairline-soft);
    display:flex;align-items:center;justify-content:center;
  }


  .characterDetail .closetLabel{font-family:var(--latin);font-size:9.5px;font-weight:600;letter-spacing:.26em;color:var(--rose-ink);text-transform:uppercase;text-align:center;white-space:nowrap;padding-bottom:8px;border-bottom:1px solid var(--hairline-soft);width:100%}

  .characterDetail .closetThumb{width:56px;aspect-ratio:3/4;border-radius:3px;position:relative;overflow:hidden;border:1px solid var(--hairline-soft);cursor:pointer;background:none;padding:0;transition:all .25s}


  .characterDetail .closetThumb .cLabel{position:absolute;left:0;right:0;bottom:0;font-family:var(--serif);font-size:9px;letter-spacing:.08em;text-align:center;color:var(--rose-ink);background:rgba(251,249,245,.85);padding:2px 0}


  .characterDetail .closetThumb.locked .cLock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}


  .characterDetail .chId{opacity:1;transition:opacity .25s}
  .characterDetail .chId.fading{opacity:0}
  .characterDetail .chOrnament{width:60px;height:1px;background:linear-gradient(90deg,var(--rose),rgba(216,164,143,0));position:relative;margin-bottom:26px}
  .characterDetail .chOrnament::before{content:"";position:absolute;left:24px;top:-3px;width:7px;height:7px;transform:rotate(45deg);background:var(--rose)}
  .characterDetail .chNameJa{font-family:var(--serif);font-size:38px;font-weight:600;letter-spacing:.22em;color:var(--charcoal);line-height:1.4}
  .characterDetail .chNameEn{font-family:var(--latin);font-size:14px;letter-spacing:.4em;color:var(--rose-ink);text-transform:uppercase;margin-top:8px}
  .characterDetail .chCatch{
    font-family:var(--serif);font-size:19px;letter-spacing:.12em;color:var(--rose-deep);
    margin-top:34px;line-height:2;
  }
  .characterDetail .chCatch::before{content:"「"}.chCatch::after{content:"」"}
  .characterDetail .chIntro{font-size:14px;line-height:2.4;color:var(--ink);margin-top:22px;max-width:520px}
  .characterDetail .chHeroNote{font-size:11px;color:var(--gray);margin-top:30px;letter-spacing:.06em}


  .characterDetail .chapter{padding:64px 24px}
  .characterDetail .chapter:nth-of-type(even){background:linear-gradient(180deg,var(--ivory) 0%,#F3EDE4 100%)}
  .characterDetail .chapInner{max-width:var(--maxw);margin:0 auto}
  .characterDetail .chapHead{display:flex;align-items:baseline;gap:18px;margin-bottom:38px}
  .characterDetail .chapNo{font-family:var(--latin);font-size:40px;font-weight:500;color:var(--rose);line-height:1}
  .characterDetail .chapTitleWrap{display:flex;flex-direction:column}
  .characterDetail .chapTitle{font-family:var(--latin);font-size:21px;font-weight:600;letter-spacing:.18em;color:var(--charcoal)}
  .characterDetail .chapSub{font-size:11.5px;letter-spacing:.14em;color:var(--gray);margin-top:3px}
  .characterDetail .chapRule{flex:1;height:1px;background:linear-gradient(90deg,var(--hairline),rgba(216,164,143,0));align-self:center}


  .characterDetail .aboutText{font-family:var(--serif);font-size:15px;line-height:2.5;letter-spacing:.06em;max-width:680px}
  .characterDetail .aboutText p+p{margin-top:1.4em}


  .characterDetail .charms{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:860px}
  .characterDetail .charm{background:var(--ivory-soft);border:1px solid var(--hairline-soft);border-radius:4px;padding:22px 20px 24px;text-align:center}
  .characterDetail .charmIcon{font-size:16px;color:var(--rose)}
  .characterDetail .charmTitle{font-family:var(--serif);font-size:15px;letter-spacing:.12em;color:var(--charcoal);margin-top:10px}
  .characterDetail .charmText{font-size:12.5px;color:var(--gray);line-height:2;margin-top:8px}


  .characterDetail .momentsBanner{
    aspect-ratio:16/5;border-radius:4px;border:1px solid var(--hairline-soft);
    position:relative;overflow:hidden;margin-bottom:26px;
  }
  .characterDetail .momentsBanner .slotImage{width:100%;height:100%;object-fit:cover}

  .characterDetail .momentFacts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .characterDetail .fact{border-top:1px solid var(--hairline);padding-top:14px}
  .characterDetail .factLabel{font-size:11px;letter-spacing:.14em;color:var(--rose-ink)}
  .characterDetail .factValue{font-family:var(--serif);font-size:13.5px;letter-spacing:.06em;color:var(--ink);margin-top:8px;line-height:1.9}


  .characterDetail .profileGrid{display:grid;grid-template-columns:1fr 300px;gap:44px;align-items:start}
  .characterDetail .profCols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .characterDetail .profCol h3{
    font-family:var(--latin);font-size:12px;font-weight:600;letter-spacing:.26em;
    color:var(--rose-ink);text-transform:uppercase;
    padding-bottom:10px;border-bottom:1px solid var(--hairline);margin-bottom:4px;
  }
  .characterDetail .profCol h3 small{display:block;font-family:var(--gothic);font-size:10px;letter-spacing:.12em;color:var(--gray);margin-top:2px;text-transform:none}
  .characterDetail .profCol dl{font-size:13px}
  .characterDetail .profCol dt{color:var(--gray);font-size:11.5px;letter-spacing:.1em;margin-top:14px}
  .characterDetail .profCol dd{font-family:var(--serif);color:var(--ink);letter-spacing:.04em;margin-top:3px;line-height:1.9}
  .characterDetail .sdBox{
    aspect-ratio:1/1;border-radius:4px;border:1px solid var(--hairline-soft);
    background:
      radial-gradient(ellipse 70% 55% at 50% 35%, rgba(255,255,255,.6), rgba(255,255,255,0) 70%),
      linear-gradient(170deg,#F3EBE0 0%,#E8D8CA 100%);
    position:relative;display:flex;align-items:center;justify-content:center;
  }
  .characterDetail .sdBox svg{width:40px;height:40px;opacity:.4}
  .characterDetail .sdBox .slotImage{width:100%;height:100%;object-fit:contain}


  .characterDetail .storyGrid{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start}
  .characterDetail .storyEmblem{
    aspect-ratio:1/1;border-radius:50%;border:1px solid var(--hairline);
    background:
      radial-gradient(ellipse 60% 60% at 50% 40%, rgba(244,214,196,.5), rgba(244,214,196,0) 70%),
      linear-gradient(170deg,#F0E7DB 0%,#E2CFC0 100%);
    position:relative;display:flex;align-items:center;justify-content:center;
  }
  .characterDetail .storyEmblem svg{width:44px;height:44px;opacity:.4}
  .characterDetail .storyEmblem .slotImage{width:100%;height:100%;object-fit:cover;border-radius:50%}

  .characterDetail .seriesName{font-family:var(--latin);font-style:italic;font-size:26px;font-weight:600;letter-spacing:.08em;color:var(--rose-deep)}
  .characterDetail .storyText{font-family:var(--serif);font-size:14.5px;line-height:2.5;letter-spacing:.06em;margin-top:20px;max-width:560px}


  .characterDetail .worksGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}


  .characterDetail .workThumb{aspect-ratio:4/3;position:relative}

  .characterDetail .workBody{padding:13px 14px 16px}
  .characterDetail .workTitle{font-family:var(--serif);font-size:13px;letter-spacing:.06em;color:var(--charcoal);line-height:1.7}

  .characterDetail .folioDoor{
    border-radius:4px;overflow:hidden;position:relative;display:flex;
    flex-direction:column;align-items:center;justify-content:center;text-align:center;
    background:
      radial-gradient(ellipse 80% 70% at 80% 10%, rgba(216,164,143,.18), rgba(216,164,143,0) 65%),
      linear-gradient(160deg,#211B19 0%,#2B211E 60%,#35261F 100%);
    color:#EFE3DA;padding:26px 18px;transition:all .3s;
  }
  .characterDetail .folioDoor:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(30,20,16,.4)}
  .characterDetail .folioDoorEn{font-family:var(--latin);font-size:11px;font-weight:600;letter-spacing:.34em;color:var(--rose);text-transform:uppercase}
  .characterDetail .folioDoorText{font-family:var(--serif);font-size:14px;letter-spacing:.1em;line-height:2;margin-top:12px}
  .characterDetail .folioDoorBadge{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.12em;color:#E8C9B8;border:1px solid rgba(216,164,143,.45);border-radius:2px;padding:4px 12px}
  .characterDetail .folioDoorBadge b{color:var(--rose)}
  .characterDetail .folioDoorArrow{font-family:var(--latin);font-size:18px;color:var(--rose);margin-top:12px}


  .characterDetail .folioAlways{display:block;padding:8px 24px 72px}
  .characterDetail .folioAlways .folioDoor{max-width:360px;margin:0 auto}


  .characterDetail .pnWrap{border-top:1px solid var(--hairline-soft);background:var(--ivory-soft)}
  .characterDetail .pn{max-width:var(--maxw);margin:0 auto;padding:26px 24px;display:flex;align-items:center;gap:24px}
  .characterDetail .pnBtn{display:flex;align-items:center;gap:14px;cursor:pointer;background:none;border:none;font-family:var(--gothic);transition:all .25s}
  .characterDetail .pnBtn:hover{transform:translateX(0);color:var(--rose-deep)}
  .characterDetail .pnThumb{width:44px;height:44px;border-radius:50%;flex-shrink:0;border:1px solid var(--hairline-soft)}
  .characterDetail .pnLabel{font-family:var(--latin);font-size:10px;letter-spacing:.26em;color:var(--rose-ink);text-transform:uppercase}
  .characterDetail .pnName{font-family:var(--serif);font-size:14px;letter-spacing:.1em;color:var(--ink);margin-top:2px}
  .characterDetail .pnCenter{flex:1;text-align:center}
  .characterDetail .pnAll{font-family:var(--serif);font-size:12.5px;letter-spacing:.14em;color:var(--rose-deep)}
  .characterDetail .pnAll:hover{text-decoration:underline}
  .characterDetail .pnNext{margin-left:auto;text-align:right}
  .characterDetail .pnNext .pnRow{display:flex;align-items:center;gap:14px;flex-direction:row-reverse}

  @media (max-width:900px){
    .characterDetail .selectorWrap{top:62px}
    .characterDetail .selector{justify-content:flex-start;padding:10px 16px}
    .characterDetail .chHeroInner{grid-template-columns:1fr;gap:34px}
    .characterDetail .pvMedia{max-width:400px;margin:0 auto;flex-direction:column;align-items:center}
    /* モバイルでは額の幅の拠り所が消える(列flex+中央寄せ)ため、Hubのモバイル流儀と同じく明示する */
    .characterDetail .pvPortrait{width:100%;max-width:340px;margin:0 auto;flex:none}
    .characterDetail .closetWrap{width:100%}
    .characterDetail .closetLabel{border-bottom:none;padding-bottom:0}
    .characterDetail .closet{flex-direction:row;justify-content:center;flex-wrap:wrap;margin-top:8px}
    .characterDetail .charms{grid-template-columns:1fr}
    .characterDetail .momentFacts{grid-template-columns:1fr 1fr}
    .characterDetail .profileGrid{grid-template-columns:1fr}
    .characterDetail .profCols{grid-template-columns:1fr;gap:20px}
    .characterDetail .sdBox{max-width:260px;margin:0 auto}
    .characterDetail .storyGrid{grid-template-columns:1fr}
    .characterDetail .storyEmblem{max-width:240px;margin:0 auto}
    .characterDetail .worksGrid{grid-template-columns:1fr 1fr}
    .characterDetail .chapter{padding:48px 20px}
    .characterDetail .chHero{padding:28px 20px 56px}
  }
.characterDetail .selector{padding:12px 24px;gap:16px}
.characterDetail .selChar{width:64px}
.characterDetail .selPortrait{width:52px;height:52px}
.characterDetail .selPortrait svg{width:18px;height:18px}
.characterDetail .selName{font-size:10.5px;margin-top:5px}
.characterDetail .pvPortrait{flex:1}
.characterDetail .selPortrait,.characterDetail .pvPortrait,.characterDetail .closetThumb .cArt,.characterDetail .pnThumb{overflow:hidden}
.characterDetail .selPortrait img,.characterDetail .pvPortrait > img,.characterDetail .closetThumb .cArt img,.characterDetail .pnThumb img{display:block;width:100%;height:100%;object-fit:contain}
.characterDetail .pvPortrait > img,.characterDetail .closetThumb .cArt img{position:absolute;inset:0}
/* 小さな枠(前後ナビのサムネ)はアバター式の切り抜き=coverで余白を作らない */
.characterDetail .pnThumb img{object-fit:cover}
.characterDetail .pvPortrait.hasImage > .devBadge,.characterDetail .closetThumb.hasImage > .devBadge{display:none}
.characterDetail .closetThumb.preparing{opacity:.55;cursor:default;filter:grayscale(1)}
.characterDetail .cPreparing{position:absolute;inset:4px 2px auto;text-align:center;font-size:10px;color:var(--rose-ink);background:rgba(251,249,245,.9)}
.characterDetail .closetWrap[hidden]{display:none}
.characterDetail .profileGrid.noSd{grid-template-columns:1fr}
.characterDetail .folioAlways .folioDoor{min-height:250px}
.characterDetail .folioDoor.pendingLink{opacity:1;cursor:default}
.characterDetail .folioDoor.pendingLink:hover{transform:none;box-shadow:none}
.characterDetail .momentsBanner,.characterDetail .workThumb{background:linear-gradient(160deg,#E8D7C9,#C8AD9B)}
@media(max-width:900px){.characterDetail .selector{justify-content:flex-start;padding:10px 16px}}

.characterDetail .workBody .mini18{display:inline-block;margin-top:8px;font-size:10px;font-weight:700;color:var(--rose-deep);border:1px solid var(--hairline);border-radius:2px;padding:1px 5px}

/* Characters=昼下がりの光(DL-015系): Hubと同じ刻 */
