  :root{
    --paper:#FBF6EC;
    --paper-2:#F4EAD7;
    --sand:#EFE2CB;
    --ink:#2E2620;
    --ink-soft:#5A4F45;
    --persimmon:#DC6A35;
    --persimmon-deep:#C5562A;
    --evergreen:#3D5C4B;
    --evergreen-soft:#5E7C6B;
    --gold:#E0A33E;
    --line:#D9C9AE;
    --serif:"Shippori Mincho B1", serif;
    --gothic:"Zen Kaku Gothic New", sans-serif;
    --hand:"Yomogi", cursive;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--gothic);
    color:var(--ink);
    background:var(--paper);
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* paper grain */
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  ::selection{background:var(--persimmon);color:#fff}

  /* ---------- nav ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(251,246,236,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{
    max-width:1180px;margin:0 auto;padding:14px 28px;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
  .brand .mark{width:48px;height:38px;flex:none}
  .brand b{font-family:var(--serif);font-weight:700;font-size:1.02rem;letter-spacing:.02em;line-height:1.3}
  .brand span{display:block;font-size:.66rem;color:var(--evergreen-soft);letter-spacing:.18em;font-weight:500}
  .nav-links{display:flex;gap:26px;align-items:center}
  .nav-links a{
    text-decoration:none;color:var(--ink-soft);font-size:.86rem;font-weight:500;
    position:relative;padding:4px 0;transition:color .25s;
  }
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--persimmon);transition:width .3s}
  .nav-links a:hover{color:var(--persimmon-deep)}
  .nav-links a:hover::after{width:100%}
  .nav-cta{
    background:var(--persimmon);color:#fff!important;padding:9px 20px;border-radius:40px;
    font-weight:700;font-size:.82rem;box-shadow:0 4px 14px rgba(220,106,53,.3);
  }
  .nav-cta::after{display:none}
  .nav-cta:hover{background:var(--persimmon-deep)}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--ink)}

  /* ---------- hero ---------- */
  .hero{
    position:relative;max-width:1180px;margin:0 auto;
    padding:90px 28px 70px;
    display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;
  }
  .hero-glow{
    position:absolute;right:-120px;top:-60px;width:560px;height:560px;z-index:0;
    background:radial-gradient(circle at center, rgba(224,163,62,.28), rgba(224,163,62,0) 65%);
    pointer-events:none;
  }
  .hero-text{position:relative;z-index:2}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:.78rem;letter-spacing:.16em;color:var(--evergreen);font-weight:700;
    background:var(--paper-2);border:1px solid var(--line);
    padding:7px 16px;border-radius:40px;margin-bottom:24px;
  }
  .eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--persimmon);font-style:normal}
  .hero h1{
    font-family:var(--serif);font-weight:800;
    font-size:clamp(1.9rem,4.1vw,3.15rem);line-height:1.4;letter-spacing:.01em;
    margin-bottom:8px;
  }
  .hero h1 .nw{display:inline-block}
  .hero h1 .hl{color:var(--persimmon-deep);position:relative;white-space:nowrap}
  .hero h1 .hl::after{
    content:"";position:absolute;left:-2%;bottom:.08em;width:104%;height:.34em;z-index:-1;
    background:rgba(224,163,62,.42);border-radius:3px;
  }
  .hero .lead{
    font-size:1.04rem;color:var(--ink-soft);margin:22px 0 30px;max-width:30em;
  }
  .hand-note{
    font-family:var(--hand);color:var(--evergreen);font-size:1.12rem;
    margin-bottom:8px;display:inline-block;transform:rotate(-1.5deg);
  }
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;
    padding:14px 28px;border-radius:44px;font-size:.92rem;transition:transform .2s, box-shadow .2s, background .2s;
  }
  .btn-primary{background:var(--persimmon);color:#fff;box-shadow:0 6px 20px rgba(220,106,53,.32)}
  .btn-primary:hover{background:var(--persimmon-deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(220,106,53,.4)}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
  .btn .arr{transition:transform .25s}
  .btn:hover .arr{transform:translateX(4px)}

  .hero-side{position:relative;z-index:2;display:flex;flex-direction:column;gap:22px}
  .hero-portrait{
    margin:0 auto;max-width:312px;width:100%;position:relative;border-radius:24px;overflow:hidden;
    background:linear-gradient(160deg, #FFF7EC, #FCEFDD);
    border:1px solid var(--line);
    box-shadow:0 26px 60px -30px rgba(46,38,32,.5);
    transform:rotate(-1.2deg);
  }
  .hero-portrait::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(120% 70% at 50% 0%, rgba(224,163,62,.16), rgba(224,163,62,0) 60%);
  }
  .hero-portrait img{display:block;width:100%;height:auto}

  .hero-card{
    position:relative;z-index:2;
    background:linear-gradient(155deg, #fff, var(--paper-2));
    border:1px solid var(--line);border-radius:24px;padding:34px 32px;
    box-shadow:0 24px 60px -28px rgba(46,38,32,.4);
    transform:rotate(1.2deg);
  }
  .hero-card .sun{width:64px;height:64px;margin-bottom:14px}
  .hero-card h3{font-family:var(--serif);font-size:1.28rem;margin-bottom:14px;line-height:1.5}
  .hero-card ul{list-style:none}
  .hero-card li{
    display:flex;gap:11px;align-items:flex-start;padding:9px 0;font-size:.92rem;color:var(--ink-soft);
    border-top:1px dashed var(--line);
  }
  .hero-card li:first-child{border-top:none}
  .hero-card li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--persimmon);margin-top:.6em}

  /* ---------- sections ---------- */
  section{position:relative}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .band{padding:86px 0}
  .band-sand{background:var(--sand)}
  .band-green{background:var(--evergreen);color:var(--paper)}
  .sec-head{margin-bottom:46px;max-width:42em}
  .sec-tag{
    font-family:var(--hand);font-size:1.05rem;color:var(--persimmon-deep);
    display:block;margin-bottom:6px;
  }
  .band-green .sec-tag{color:var(--gold)}
  .sec-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.4;letter-spacing:.01em}
  .sec-head p{color:var(--ink-soft);margin-top:16px;font-size:1.02rem}
  .band-green .sec-head p{color:rgba(251,246,236,.8)}

  /* about */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
  .about-copy p{margin-bottom:18px;color:var(--ink-soft);font-size:1.03rem}
  .about-copy strong{color:var(--ink);font-weight:700}
  .quote-block{
    background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px 34px;
    box-shadow:0 18px 44px -30px rgba(46,38,32,.4);position:relative;
  }
  .quote-block .qm{font-family:var(--serif);font-size:3.4rem;color:var(--persimmon);line-height:.5;opacity:.5}
  .quote-block .big{font-family:var(--serif);font-size:1.7rem;font-weight:700;line-height:1.7;margin:14px 0 18px}
  .quote-block .sub{color:var(--ink-soft);font-size:.95rem}
  .quote-block .about-photo{margin:24px 0 0}
  .quote-block .about-photo img{width:100%;height:248px;object-fit:cover;object-position:center 22%;border-radius:14px;display:block;border:1px solid var(--line)}
  .quote-block .about-photo figcaption{font-size:.74rem;color:var(--ink-soft);margin-top:9px;text-align:center}

  /* manzai feature */
  .feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
  .feature .visual{
    aspect-ratio:1/.92;border-radius:26px;position:relative;overflow:hidden;
    background:radial-gradient(circle at 30% 25%, #fff, var(--paper-2));
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  }
  .feature .visual svg{width:74%;height:74%}
  .feature .visual img{width:100%;height:100%;object-fit:cover;display:block}
  .feature .visual .visual-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;font-size:.82rem;color:#fff;font-weight:600;text-align:left;background:linear-gradient(0deg,rgba(20,28,24,.72),rgba(20,28,24,0));text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .feature h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:18px;line-height:1.5}
  .feature p{color:var(--ink-soft);margin-bottom:16px}
  .nots{display:flex;flex-direction:column;gap:10px;margin-top:22px}
  .not{display:flex;align-items:center;gap:12px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:11px 16px;font-size:.92rem;font-weight:500}
  .not .x{flex:none;width:22px;height:22px;border-radius:50%;background:var(--persimmon);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700}

  /* pillars (green band) */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .pillar{
    background:rgba(251,246,236,.07);border:1px solid rgba(251,246,236,.18);
    border-radius:20px;padding:30px 26px;transition:transform .3s, background .3s;
  }
  .pillar:hover{transform:translateY(-6px);background:rgba(251,246,236,.12)}
  .pillar .num{font-family:var(--serif);font-size:.9rem;color:var(--gold);letter-spacing:.2em;margin-bottom:14px;display:block}
  .pillar h4{font-family:var(--serif);font-size:1.3rem;margin-bottom:12px}
  .pillar p{font-size:.92rem;color:rgba(251,246,236,.78)}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .svc{
    background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 26px;
    transition:transform .3s, box-shadow .3s;position:relative;overflow:hidden;
  }
  .svc::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--persimmon);transform:scaleX(0);transform-origin:left;transition:transform .35s}
  .svc:hover{transform:translateY(-6px);box-shadow:0 24px 50px -30px rgba(46,38,32,.45)}
  .svc:hover::before{transform:scaleX(1)}
  .svc .ic{width:46px;height:46px;border-radius:12px;background:var(--paper-2);display:grid;place-items:center;margin-bottom:18px}
  .svc .ic svg{width:26px;height:26px}
  .svc h4{font-family:var(--serif);font-size:1.22rem;margin-bottom:10px}
  .svc p{font-size:.92rem;color:var(--ink-soft)}
  .svc-cta{margin-top:42px;text-align:center;background:var(--paper-2);border:1px solid var(--line);border-radius:20px;padding:34px 28px}
  .svc-cta p{font-family:var(--serif);font-size:1.18rem;margin-bottom:20px;color:var(--ink)}
  .svc-cta .sub{font-family:var(--gothic);font-size:.9rem;color:var(--ink-soft);margin-bottom:22px;font-weight:400}
  .themes{margin-top:48px}
  .themes h3{font-family:var(--serif);font-size:1.35rem;text-align:center;margin-bottom:8px}
  .themes .tlead{text-align:center;color:var(--ink-soft);font-size:.92rem;margin-bottom:28px}
  .theme{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:14px;transition:transform .25s,box-shadow .25s}
  .theme:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(46,38,32,.5)}
  .theme .tn{flex:none;width:44px;height:44px;border-radius:12px;background:var(--persimmon);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:1.15rem}
  .theme .tc .tag{display:inline-block;font-size:.7rem;font-weight:700;color:var(--evergreen);background:var(--paper-2);border:1px solid var(--line);padding:2px 11px;border-radius:20px;margin-bottom:8px}
  .theme .tc h4{font-family:var(--serif);font-size:1.12rem;margin-bottom:6px;line-height:1.55}
  .theme .tc p{font-size:.9rem;color:var(--ink-soft)}
  .theme .tc .aud{display:inline-flex;align-items:center;gap:7px;margin-top:11px;font-size:.78rem;color:var(--evergreen);font-weight:600;background:var(--paper-2);border:1px solid var(--line);padding:5px 12px;border-radius:9px;line-height:1.5}
  .theme .tc .aud svg{width:14px;height:14px;flex:none}
  .theme .tc .tshots{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
  .theme .tc .tshots figure{flex:1 1 240px;margin:0;min-width:0}
  .theme .tc .tshots img{width:100%;height:158px;object-fit:cover;object-position:center;border-radius:12px;display:block;border:1px solid var(--line);box-shadow:0 10px 26px -20px rgba(46,38,32,.6)}
  .theme .tc .tshots figcaption{font-size:.74rem;color:var(--ink-soft);margin-top:8px;text-align:left;line-height:1.5}
  @media(max-width:620px){.theme .tc .tshots img{height:140px}}

  /* books / writing */
  .books{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .book{
    display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:26px;align-items:center;transition:transform .3s, box-shadow .3s;
  }
  .book:hover{transform:translateY(-5px);box-shadow:0 24px 50px -32px rgba(46,38,32,.45)}
  .cover{
    flex:none;width:96px;height:134px;border-radius:6px;position:relative;overflow:hidden;
    box-shadow:6px 6px 18px -6px rgba(46,38,32,.5);display:flex;flex-direction:column;
    justify-content:center;padding:14px 12px;color:#fff;
  }
  .cover::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:rgba(0,0,0,.18)}
  .cover.c1{background:linear-gradient(160deg,var(--persimmon),var(--persimmon-deep))}
  .cover.c2{background:linear-gradient(160deg,var(--evergreen-soft),var(--evergreen))}
  .cover.c3{background:linear-gradient(160deg,#E8A93A,#D98326)}
  .cover.c4{background:linear-gradient(160deg,#A65A3E,#7E3B28)}
  .cover.c5{background:linear-gradient(160deg,#4A8C86,#2F6460)}
  /* featured new book */
  .book.featured{grid-column:1 / -1;gap:34px;padding:36px;background:linear-gradient(150deg,#FFF8EC,#fff 60%);border:2px solid var(--persimmon);box-shadow:0 26px 60px -36px rgba(196,90,28,.45);position:relative}
  .book.featured .cover{width:180px;height:264px;aspect-ratio:1113/1633;box-shadow:10px 12px 30px -10px rgba(46,38,32,.55)}
  .book.featured .ribbon{position:absolute;top:-14px;left:26px;background:var(--persimmon-deep);color:#fff;font-weight:800;font-size:.86rem;letter-spacing:.18em;padding:7px 20px;border-radius:30px;box-shadow:0 8px 20px -8px rgba(196,90,28,.7)}
  .book.featured h4{font-size:1.32rem}
  .book.featured .book-info p{font-size:.92rem}
  .book-info p.bonus{margin-top:12px;padding:12px 15px;background:rgba(224,163,62,.11);border-left:4px solid var(--gold);border-radius:0 8px 8px 0;font-size:.87rem;line-height:1.85}
  .book-info p.bonus strong{color:var(--persimmon-deep)}

  /* ===== 本のなかみ ===== */
  #inside{background:linear-gradient(180deg,#FDF8F0 0%,#F8EEDF 100%)}
  .pull{position:relative;max-width:760px;margin:34px auto 0;padding:40px 38px 34px;background:#fff;
    border-radius:20px;box-shadow:0 10px 34px rgba(120,86,52,.10);border:1px solid rgba(217,201,174,.7)}
  .pull::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:5px;border-radius:0 4px 4px 0;
    background:linear-gradient(180deg,var(--gold),var(--persimmon))}
  .pull p{font-size:1.03rem;line-height:2.15;color:var(--ink-soft);margin:0 0 15px}
  .pull p.pull-strong{font-size:1.34rem;line-height:1.95;color:var(--persimmon-deep);font-weight:700;margin:22px 0 8px;letter-spacing:.01em}
  .pull cite{display:block;font-style:normal;font-size:.83rem;color:#9A8878;text-align:right;margin-top:14px}
  @media(max-width:720px){.pull{padding:28px 22px 24px}.pull p{font-size:.97rem;line-height:2}.pull p.pull-strong{font-size:1.14rem}}

  .peek-h{margin:44px 0 0;text-align:center;font-size:1rem;font-weight:700;color:var(--evergreen);letter-spacing:.06em}
  .peek-h::after{content:"";display:block;width:44px;height:2px;background:var(--gold);margin:11px auto 0;border-radius:2px}
  .peek{display:grid;gap:20px;margin-top:24px}
  /* 原稿ページ：4枚を同じ幅で並べ、本文の文字の大きさを揃える */
  .peek-pages{grid-template-columns:repeat(4,1fr)}
  .peek-wide{grid-template-columns:repeat(2,1fr);max-width:720px;margin-left:auto;margin-right:auto}
  @media(max-width:900px){.peek-pages{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.peek-pages,.peek-wide{grid-template-columns:1fr}}
  .peek figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);
    box-shadow:0 4px 16px rgba(120,86,52,.08);transition:transform .25s ease,box-shadow .25s ease;cursor:zoom-in;
    display:flex;flex-direction:column}
  .peek figure:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(120,86,52,.16)}
  /* まず全部の peek に幅を効かせる。これがないと、たて横の比が崩れて読めなくなる。
     （figure が flex なので、幅の指定がない画像は横だけ伸ばされ、高さは元のまま残る） */
  .peek img{width:100%;height:auto;display:block;background:#fff}
  /* 高さを揃え、原稿の文字が同じ大きさで見えるようにする */
  .peek-pages img{width:100%;display:block;background:#fff;aspect-ratio:1170/1860;object-fit:cover;object-position:top center}
  .peek-wide img{width:100%;display:block;background:#fff}
  .peek figcaption{padding:11px 12px 13px;font-size:.78rem;line-height:1.65;color:var(--ink-soft);text-align:center;
    flex:1;display:flex;flex-direction:column;justify-content:center}
  .peek figcaption b{display:block;color:var(--persimmon-deep);font-size:.82rem;margin-bottom:3px;letter-spacing:.02em}
  .peek-note{margin-top:24px;text-align:center;font-size:.83rem;color:#9A8878}

  .book.featured .blink{font-size:.88rem}
  @media(max-width:720px){.book.featured{flex-direction:column;align-items:flex-start}.book.featured .cover{width:150px}}
  .book-info .blink{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-size:.8rem;font-weight:700;color:var(--persimmon-deep);text-decoration:none}
  .book-info .blink:hover{color:var(--ink)}
  .book-info .blink .a{transition:transform .2s}
  .book-info .blink:hover .a{transform:translateX(3px)}
  .serial .blink{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--persimmon-deep);text-decoration:none}
  .serial .blink:hover{color:var(--ink)}
  .cover small{font-size:.6rem;letter-spacing:.1em;opacity:.85;margin-bottom:6px}
  .cover b{font-family:var(--serif);font-size:.82rem;line-height:1.4}
  .book-info h4{font-family:var(--serif);font-size:1.12rem;line-height:1.5;margin-bottom:7px}
  .book-info .pub{font-size:.82rem;color:var(--evergreen);font-weight:700;margin-bottom:8px}
  .book-info p{font-size:.86rem;color:var(--ink-soft)}
  .badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;background:var(--gold);color:#fff;padding:3px 10px;border-radius:20px;margin-bottom:8px}

  .serial{
    margin-top:24px;background:var(--paper-2);border:1px dashed var(--line);border-radius:18px;
    padding:26px 28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  }
  .serial .label{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.05rem;flex:none}
  .serial p{font-size:.92rem;color:var(--ink-soft);margin:0}
  .serial b{color:var(--ink)}

  /* profile */
  .profile{display:grid;grid-template-columns:.5fr 1.5fr;gap:48px;align-items:start}
  .portrait{
    aspect-ratio:4/5;max-width:200px;border-radius:18px;border:1px solid var(--line);
    background:linear-gradient(160deg,var(--paper-2),var(--sand));
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
    color:var(--evergreen-soft);text-align:center;padding:20px;
  }
  .portrait svg{width:80px;height:80px;opacity:.7}
  .portrait span{font-size:.8rem;letter-spacing:.05em}
  .profile h3{font-family:var(--serif);font-size:1.7rem;margin-bottom:4px}
  .profile h3 .yomi{font-family:var(--gothic);font-size:.88rem;font-weight:500;color:var(--ink-soft);margin-left:12px;letter-spacing:.05em}
  .profile .role{color:var(--persimmon-deep);font-weight:700;font-size:.95rem;margin-bottom:20px}
  .profile p{color:var(--ink-soft);margin-bottom:16px;font-size:1.0rem}
  .profile .penname{font-family:var(--hand);color:var(--evergreen);font-size:1rem}

  /* contact */
  .contact-card{
    background:linear-gradient(160deg,#fff,var(--paper-2));
    border:1px solid var(--line);border-radius:26px;padding:48px 44px;
    box-shadow:0 26px 60px -34px rgba(46,38,32,.45);
    display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;
  }
  .contact-intro h2{font-family:var(--serif);font-size:1.9rem;line-height:1.4;margin-bottom:16px}
  .contact-intro p{color:var(--ink-soft);margin-bottom:22px}
  .contact-detail{display:flex;gap:12px;align-items:center;margin-bottom:14px;font-size:.92rem}
  .contact-detail .ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--paper-2);display:grid;place-items:center}
  .contact-detail .ic svg{width:20px;height:20px}
  .contact-detail .ph{color:var(--evergreen-soft);font-style:italic}
  .contact-detail a{color:var(--ink);text-decoration:none;font-weight:500;transition:color .2s}
  .contact-detail a:hover{color:var(--persimmon-deep)}
  .form label{display:block;font-size:.82rem;font-weight:700;margin-bottom:6px;color:var(--ink)}
  .form .field{margin-bottom:16px}
  .form input,.form textarea,.form select{
    width:100%;padding:12px 15px;border:1.5px solid var(--line);border-radius:12px;
    background:var(--paper);font-family:var(--gothic);font-size:.92rem;color:var(--ink);transition:border .2s;
  }
  .form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--persimmon)}
  .form textarea{resize:vertical;min-height:96px}
  .form .btn-primary{width:100%;justify-content:center;border:none;cursor:pointer;font-family:var(--gothic)}
  .form-note{font-size:.74rem;color:var(--evergreen-soft);margin-top:10px;line-height:1.6}

  /* footer */
  footer{background:var(--ink);color:rgba(251,246,236,.7);padding:50px 0 30px}
  .foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
  .foot .brand b{color:var(--paper)}
  .foot .brand span{color:var(--gold)}
  .foot-links{display:flex;gap:40px;flex-wrap:wrap}
  .foot-col h5{color:var(--paper);font-family:var(--serif);font-size:.95rem;margin-bottom:12px}
  .foot-col a{display:block;color:rgba(251,246,236,.65);text-decoration:none;font-size:.84rem;padding:4px 0;transition:color .2s}
  .foot-col a:hover{color:var(--gold)}
  .copy{border-top:1px solid rgba(251,246,236,.15);margin-top:36px;padding-top:22px;font-size:.78rem;text-align:center;color:rgba(251,246,236,.5)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  /* 印刷・PDF保存のとき、また動きを控える設定の方には、最初から見えるように */
  @media print{.reveal{opacity:1 !important;transform:none !important}}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* responsive */
  @media(max-width:920px){
    .hero{grid-template-columns:1fr;padding-top:56px}
    .hero-side{gap:18px;margin-top:8px}
    .hero-portrait{transform:none;max-width:260px}
    .hero-card{transform:none;margin-top:0}
    .about-grid,.feature,.profile,.contact-card,.books{grid-template-columns:1fr}
    .pillars,.svc-grid{grid-template-columns:1fr}
    .feature .visual{max-width:340px}
  }
  @media(max-width:680px){
    .nav-links{
      position:fixed;inset:64px 0 auto 0;flex-direction:column;background:var(--paper);
      border-bottom:1px solid var(--line);padding:20px 28px;gap:16px;display:none;
    }
    .nav-links.open{display:flex}
    .nav-toggle{display:block}
    .band{padding:60px 0}
  }
  /* photos & galleries */
  .photoband{position:relative;height:clamp(320px,46vw,500px);overflow:hidden;display:flex;align-items:center;justify-content:center}
  .photoband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(1.03)}
  .photoband .veil{position:absolute;inset:0;background:
    linear-gradient(180deg, rgba(16,32,58,.05), rgba(16,32,58,0) 45%, rgba(12,24,44,.18)),
    radial-gradient(70% 60% at 50% 48%, rgba(10,20,38,.42), rgba(10,20,38,0) 75%)}
  .photoband .pb-text{position:relative;z-index:2;text-align:center;color:#fff;padding:0 24px}
  .photoband .pb-text .t{font-family:var(--serif);font-weight:800;font-size:clamp(1.8rem,4.4vw,3rem);line-height:1.4;text-shadow:0 2px 26px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.5)}
  .photoband .pb-text .s{font-family:var(--hand);font-size:1.2rem;margin-top:12px;color:#FCE6C6;text-shadow:0 2px 14px rgba(0,0,0,.55)}
  .photoband .pb-loc{position:absolute;z-index:2;right:22px;bottom:18px;background:rgba(255,255,255,.92);color:var(--evergreen);font-weight:700;font-size:.88rem;border-radius:30px;padding:6px 16px;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
  /* finale (full figure photo) */
  .finale{background:var(--paper-2);border-top:1px solid var(--line);padding:70px 0}
  .finale .fwrap{max-width:760px;margin:0 auto;text-align:center}
  .finale figure{position:relative;margin:0 0 24px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 60px -34px rgba(46,38,32,.5)}
  .finale figure img{width:100%;height:auto;display:block}
  .finale .pin{position:absolute;right:16px;bottom:14px;background:rgba(255,255,255,.92);color:var(--evergreen);font-weight:700;font-size:.86rem;border-radius:30px;padding:6px 15px;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
  .finale .ft{font-family:var(--serif);font-weight:800;font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--ink);line-height:1.5}
  .finale .fs{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.12rem;margin-top:10px}
  /* gallery (scenes from the field) */
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .gallery figure{margin:0}
  .gallery img{width:100%;height:210px;object-fit:cover;border-radius:16px;border:1px solid var(--line);box-shadow:0 16px 36px -26px rgba(46,38,32,.6);display:block}
  .gallery figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:10px;line-height:1.55}
  @media(max-width:860px){.gallery{grid-template-columns:repeat(2,1fr);gap:18px}.gallery img{height:178px}}
  @media(max-width:520px){.gallery{grid-template-columns:1fr}.gallery img{height:204px}}
  .talkshots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:44px}
  .talkshots img{width:100%;height:100%;max-height:330px;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 40px -28px rgba(46,38,32,.5)}
  .board-sec{text-align:center}
  .board-wrap{position:relative;display:inline-block;max-width:860px;margin:0 auto}
  .board-wrap>img{width:100%;border-radius:16px;border:6px solid #fff;box-shadow:0 26px 60px -30px rgba(46,38,32,.55);transform:rotate(-.6deg)}
  .board-cap{font-family:var(--hand);color:var(--evergreen);font-size:1.06rem;margin-top:24px}
  .art-mini{position:absolute;right:-30px;bottom:-30px;width:124px;height:124px;border-radius:14px;border:5px solid #fff;object-fit:cover;box-shadow:0 16px 36px -20px rgba(46,38,32,.6);transform:rotate(5deg)}
  .media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .media{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;position:relative;transition:transform .3s,box-shadow .3s}
  .media::after{content:"＋ 拡大";position:absolute;top:16px;right:16px;background:rgba(46,38,32,.72);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:20px;pointer-events:none;opacity:.9}
  .media:hover{transform:translateY(-5px);box-shadow:0 20px 44px -28px rgba(46,38,32,.5)}
  .media img{width:100%;height:190px;object-fit:cover;object-position:top center;border-radius:8px;display:block}
  .media .src{font-size:.68rem;font-weight:700;color:#fff;background:var(--evergreen);display:inline-block;padding:3px 10px;border-radius:6px;margin-top:10px}
  .media .cap{font-size:.74rem;color:var(--ink-soft);margin-top:7px;text-align:left;line-height:1.55}
  .media-group{margin-bottom:40px}
  .media-group:last-child{margin-bottom:0}
  .mg-title{font-family:var(--serif);font-size:1.18rem;margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid var(--persimmon);display:inline-block}
  /* ===== 新着（トップの掲載お知らせ） ===== */
  .topnews{background:var(--sand);padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .topnews-inner{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--persimmon);border-radius:16px;padding:20px 26px;box-shadow:0 18px 40px -32px rgba(46,38,32,.55)}
  .topnews-thumb{flex:0 0 132px}
  .topnews-thumb img{width:100%;height:170px;object-fit:cover;object-position:top center;border-radius:10px;border:1px solid var(--line);display:block}
  .topnews-body{flex:1;min-width:0}
  .topnews-badge{display:inline-block;font-size:.7rem;font-weight:700;color:#fff;background:var(--persimmon);border-radius:6px;padding:4px 12px;letter-spacing:.04em}
  .topnews-date{font-size:.78rem;color:var(--ink-soft);margin-left:10px;font-weight:700}
  .topnews-body h3{font-family:var(--serif);font-size:clamp(1.1rem,2.3vw,1.5rem);line-height:1.5;margin:12px 0 8px}
  .topnews-body p{font-size:.86rem;color:var(--ink-soft);line-height:1.75;margin:0}
  @media(max-width:680px){
    .topnews-inner{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 20px}
    .topnews-thumb{flex:none;width:100%}
    .topnews-thumb img{height:210px;object-position:center top}
  }
  .serial-list{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px 16px}
  .serial-list .sl-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:6px}
  .serial-list .sl-head b{font-family:var(--serif);font-size:1rem}
  .serial-list .sl-head span{font-size:.72rem;font-weight:700;color:#fff;background:var(--evergreen);border-radius:6px;padding:2px 9px}
  .serial-list ol{list-style:none}
  .serial-list li{border-top:1px dashed var(--line)}
  .serial-list li:first-child{border-top:none}
  .serial-list li a{display:flex;gap:12px;align-items:baseline;padding:10px 0;text-decoration:none;color:var(--ink);font-size:.9rem;line-height:1.6;transition:color .2s}
  .serial-list li a:hover{color:var(--persimmon-deep)}
  .serial-list .n{flex:none;width:2.4em;font-family:var(--serif);font-weight:700;color:var(--persimmon-deep)}
  .serial-list .t{flex:1}
  .serial-list .d{flex:none;font-size:.74rem;color:var(--ink-soft)}
  .serial-list .sl-sub{margin-top:18px;padding-top:14px;border-top:2px solid var(--paper-2)}
  .serial-list ol li a .n:empty{display:none}
  .serial-list .sl-more{margin-top:16px;border-top:2px solid var(--paper-2);padding-top:12px}
  .serial-list .sl-more summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:4px 0}
  .serial-list .sl-more summary::-webkit-details-marker{display:none}
  .serial-list .sl-more summary b{font-family:var(--serif);font-size:1rem}
  .serial-list .sl-more summary span{font-size:.72rem;font-weight:700;color:#fff;background:var(--evergreen);border-radius:6px;padding:2px 9px}
  .serial-list .sl-more summary::after{content:"すべて見る ↓";margin-left:auto;font-size:.8rem;font-weight:700;color:var(--persimmon)}
  .serial-list .sl-more[open] summary::after{content:"閉じる ↑"}
  .serial-list .sl-lead{font-size:.84rem;color:var(--ink-soft);margin:6px 0 4px;line-height:1.8}
  .serial-list .sl-all{display:inline-block;margin-top:10px;font-size:.84rem;font-weight:700;color:var(--persimmon);text-decoration:none}
  @media(max-width:620px){.serial-list li a{flex-wrap:wrap}.serial-list .d{width:100%;padding-left:2.9em}}  .weblinks{display:grid;grid-template-columns:1fr;gap:14px}
  .weblink{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--persimmon);border-radius:14px;padding:18px 22px;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
  .weblink:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(46,38,32,.5)}
  .weblink .wl-src{font-size:.7rem;font-weight:700;color:#fff;background:var(--evergreen);display:inline-block;padding:3px 11px;border-radius:6px}
  .weblink .wl-cap{display:block;font-family:var(--serif);font-size:1.02rem;margin-top:11px;line-height:1.55}
  .weblink .wl-sub{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:6px;line-height:1.6}
  .weblink .wl-arr{display:inline-block;margin-top:12px;font-size:.82rem;font-weight:700;color:var(--persimmon)}
  .portrait.has-photo{padding:0;overflow:hidden}
  .portrait.has-photo img{width:100%;height:100%;object-fit:cover}
  .profile-side{display:flex;flex-direction:column;gap:20px;max-width:200px}
  .self-art{margin:0}
  .self-art img{width:100%;border-radius:14px;border:1px solid var(--line);box-shadow:0 14px 32px -22px rgba(46,38,32,.5);display:block}
  .self-art figcaption{font-family:var(--hand);color:var(--evergreen);font-size:.96rem;margin-top:11px;text-align:center}
  @media(max-width:920px){.talkshots{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.art-mini{width:90px;height:90px;right:-10px;bottom:-10px}}
  /* image book cover */
  .cover.has-img{padding:0;color:transparent}
  .cover.has-img::after{display:none}
  .cover.has-img img{width:100%;height:100%;object-fit:cover;display:block}
  /* visited places */
  .visited{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 30px;margin-top:30px}
  .visited h3{font-family:var(--serif);font-size:1.18rem;margin-bottom:6px}
  .visited .vlead{font-size:.92rem;color:var(--ink-soft);margin-bottom:16px}
  .vrow{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px dashed var(--line)}
  .vrow .vh{flex:none;width:3.4em;font-weight:700;color:var(--evergreen);font-size:.9rem;padding-top:4px}
  .vchips{display:flex;flex-wrap:wrap;gap:8px}
  .vchips span{background:var(--paper-2);border:1px solid var(--line);border-radius:30px;padding:4px 13px;font-size:.82rem;color:var(--ink)}
  .visited .vnote{font-size:.85rem;color:var(--ink-soft);margin-top:14px}
  /* profile career record */
  .prof-record{margin-top:22px;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:22px 24px}
  .prof-record h4{font-family:var(--serif);font-size:1.06rem;margin-bottom:11px;color:var(--ink)}
  .prof-record ul{list-style:none;display:grid;gap:7px}
  .prof-record li{position:relative;padding-left:18px;font-size:.88rem;color:var(--ink-soft);line-height:1.7}
  .prof-record li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--persimmon)}
  /* participant voice */
  .voice{background:linear-gradient(160deg,#fff,var(--paper-2));border:1px solid var(--line);border-radius:22px;padding:34px 36px;margin-top:30px;position:relative;box-shadow:0 18px 44px -30px rgba(46,38,32,.4)}
  .voice .vtag{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.05rem;display:block;margin-bottom:4px}
  .voice h3{font-family:var(--serif);font-size:1.22rem;margin-bottom:5px}
  .voice .vmeta{font-size:.84rem;color:var(--evergreen);font-weight:700;margin-bottom:16px}
  .voice .qm{font-family:var(--serif);font-size:2.8rem;color:var(--persimmon);line-height:.2;opacity:.4;display:block;height:.5em}
  .voice p{font-size:.93rem;color:var(--ink-soft);margin-bottom:13px;line-height:1.95}
  .voice p b{color:var(--ink);background:rgba(224,163,62,.26);padding:1px 3px;border-radius:3px;font-weight:600}
  .voice .attrib{font-size:.86rem;color:var(--ink-soft);text-align:right;margin-top:4px;margin-bottom:0}
  .voice .vlead{font-size:.92rem;color:var(--ink-soft);margin-bottom:18px}
  .vq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;margin-bottom:16px}
  .vq{border-left:3px solid var(--persimmon);padding:2px 0 2px 15px}
  .voice .vq p{margin-bottom:0;font-size:.9rem;line-height:1.9}
  @media(max-width:720px){.vq-grid{grid-template-columns:1fr}.voice{padding:28px 20px}}
  /* triple cover for 3-volume set */
  .cover.trio{width:auto;background:none;box-shadow:none;border-radius:0;padding:0;flex-direction:row;gap:6px;overflow:visible;height:auto}
  .cover.trio::after{display:none}
  .cover.trio img{width:54px;height:74px;object-fit:cover;border-radius:4px;box-shadow:4px 5px 12px -5px rgba(46,38,32,.5);display:block}
  /* photo inside visited block */
  .vphoto{margin:0 0 18px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 32px -24px rgba(46,38,32,.5)}
  .vphoto img{width:100%;height:240px;object-fit:cover;object-position:center 40%;display:block}
  .vphoto figcaption{font-family:var(--hand);color:var(--evergreen);font-size:.9rem;padding:8px 13px;background:#fff;margin:0}
  /* north-to-south photo pair */
  .vpair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 8px}
  .vpair .vphoto{margin:0}
  .vpair .vphoto figcaption b{color:var(--persimmon-deep);font-size:1.02rem;margin-right:8px}
  .varrow{text-align:center;font-family:var(--hand);color:var(--persimmon-deep);font-size:1.04rem;margin:0 0 18px}
  @media(max-width:720px){.vpair{grid-template-columns:1fr}}
  /* warm slogan band */
  .slogan-band{background:linear-gradient(165deg,var(--paper-2),#fff 55%,var(--paper-2));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:84px 0}
  .slogan-grid{display:grid;grid-template-columns:170px 1fr 170px;gap:38px;align-items:center}
  .slogan-grid figure{margin:0}
  .slogan-grid img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:0 16px 36px -24px rgba(46,38,32,.5);display:block}
  .slogan-grid figcaption{font-family:var(--hand);color:var(--evergreen);font-size:.84rem;margin-top:9px;text-align:center}
  .slogan-core{text-align:center}
  .slogan-core .sk{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.05rem;display:block;margin-bottom:14px}
  .slogan-core h2{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.85;color:var(--ink)}
  .slogan-core h2 em{font-style:normal;color:var(--persimmon-deep);background:linear-gradient(transparent 62%,rgba(224,163,62,.38) 62%)}
  .slogan-core p{margin-top:16px;color:var(--ink-soft);font-size:.95rem}
  @media(max-width:860px){.slogan-grid{grid-template-columns:1fr;gap:26px}.slogan-grid figure{max-width:230px;margin:0 auto}}
  /* lightbox (click to enlarge / read) */
  .zoomable{cursor:zoom-in}
  #lb{position:fixed;inset:0;z-index:9999;display:none;background:rgba(28,22,18,.86);
    padding:28px 16px;overflow:auto;cursor:zoom-out;-webkit-overflow-scrolling:touch}
  #lb.open{display:block}
  #lb .lb-inner{min-height:100%;display:flex;align-items:flex-start;justify-content:center}
  #lb img{max-width:min(960px,100%);width:100%;height:auto;border-radius:10px;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.6);background:#fff}
  #lb .lb-close{position:fixed;top:14px;right:18px;width:44px;height:44px;border:none;border-radius:50%;
    background:rgba(255,255,255,.92);color:#2E2620;font-size:1.5rem;line-height:1;cursor:pointer;
    box-shadow:0 6px 18px rgba(0,0,0,.3)}
  #lb .lb-hint{position:fixed;left:0;right:0;bottom:14px;text-align:center;color:#fff;font-size:.8rem;opacity:.85}

  /* ===== 新着（R8・9・18） ===== */
  @media(max-width:1000px) and (min-width:681px){.nav-links{gap:15px}.nav-links a{font-size:.8rem}.brand b{font-size:.92rem}}
  .news{background:var(--sand);padding:56px 0 60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .news-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
  .news-head .sec-tag{margin:0}
  .news-head h2{font-family:var(--serif);font-size:1.5rem}
  .news-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}
  .pick{display:flex;gap:26px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--persimmon);border-radius:18px;padding:26px 28px;box-shadow:0 18px 40px -32px rgba(46,38,32,.55);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
  .pick:hover{transform:translateY(-3px);box-shadow:0 22px 48px -30px rgba(46,38,32,.55)}
  .pick-card{flex:0 0 156px;height:184px;border-radius:10px;background:linear-gradient(160deg,#fff 0%,#FFF3E2 100%);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:14px 13px;box-shadow:6px 8px 20px -12px rgba(46,38,32,.5)}
  .pick-card small{font-size:.62rem;font-weight:700;color:var(--evergreen);letter-spacing:.06em;line-height:1.5}
  .pick-card b{font-family:var(--serif);font-size:1.28rem;line-height:1.45;color:var(--persimmon-deep)}
  .pick-card ol{list-style:none;font-size:.62rem;white-space:nowrap;color:var(--ink-soft);line-height:1.6;border-top:1px dashed var(--line);padding-top:7px}
  .pick-body{flex:1;min-width:0}
  .pick-body .when{display:inline-block;font-size:.74rem;font-weight:700;color:#fff;background:var(--persimmon);border-radius:6px;padding:4px 12px;letter-spacing:.03em}
  .pick-body .when.live{background:var(--evergreen)}
  .pick-body .src{font-size:.78rem;color:var(--ink-soft);font-weight:700;margin-left:10px}
  .pick-body h3{font-family:var(--serif);font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.5;margin:12px 0 4px}
  .pick-body .sub{font-family:var(--serif);font-size:.98rem;color:var(--evergreen);margin-bottom:12px;line-height:1.6}
  .pick-body p{font-size:.88rem;color:var(--ink-soft);line-height:1.85}
  .pick-body .go{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:700;color:var(--persimmon-deep)}
  .pick.event{margin-top:16px;border-left-color:var(--evergreen);align-items:center}
  .ev-date{flex:0 0 156px;text-align:center;background:var(--evergreen);color:#fff;border-radius:14px;padding:16px 10px;box-shadow:6px 8px 20px -12px rgba(46,38,32,.5)}
  .ev-date small{display:block;font-size:.72rem;letter-spacing:.2em;opacity:.8}
  .ev-date b{display:block;font-family:var(--serif);font-size:2.3rem;line-height:1.2}
  .ev-date span{display:inline-block;font-size:.78rem;border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:0 10px;margin:4px 0}
  .ev-date em{display:block;font-style:normal;font-size:.84rem;font-weight:700;color:var(--gold)}
  @media(max-width:620px){.ev-date{flex:none;width:100%}}
  .news-list{list-style:none;margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 22px}
  .news-list li{border-top:1px dashed var(--line)}
  .news-list li:first-child{border-top:none}
  .news-list a{display:flex;gap:14px;align-items:baseline;padding:12px 0;text-decoration:none;color:var(--ink);font-size:.9rem;line-height:1.6;transition:color .2s}
  .news-list a:hover{color:var(--persimmon-deep)}
  .news-list .d{flex:none;width:5.6em;font-size:.76rem;font-weight:700;color:var(--ink-soft)}
  .news-list .k{flex:none;font-size:.66rem;font-weight:700;color:var(--evergreen);background:var(--paper-2);border:1px solid var(--line);border-radius:20px;padding:1px 9px;white-space:nowrap}
  .sched{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 24px 18px}
  .sched h3{font-family:var(--serif);font-size:1.14rem;margin-bottom:4px}
  .sched .slead{font-size:.8rem;color:var(--ink-soft);margin-bottom:12px}
  .sched ul{list-style:none}
  .sched li{display:flex;gap:12px;padding:9px 0;border-top:1px dashed var(--line);font-size:.86rem;line-height:1.6}
  .sched li .m{flex:none;width:3.2em;font-family:var(--serif);font-weight:700;color:var(--persimmon-deep)}
  .sched li .w{color:var(--ink)}
  .sched li .w small{display:block;font-size:.74rem;color:var(--ink-soft)}
  .sched-d li .m{width:3.4em;font-size:.92rem;line-height:1.35}
  .sched-d li .m i{display:block;font-style:normal;font-family:var(--gothic);font-size:.66rem;color:var(--ink-soft);font-weight:500}
  .sched-d li .w a{color:var(--persimmon-deep);font-weight:700;text-decoration:none}
  .sched-d li.hot{background:linear-gradient(90deg,rgba(224,163,62,.16),rgba(224,163,62,0));margin:0 -10px;padding:9px 10px;border-radius:8px}
  .sched-d li.done{opacity:.45}
  .sched-d li.done .w::after{content:"済";font-size:.62rem;font-weight:700;color:#fff;background:var(--evergreen-soft);border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:2px}
  .sched-d li.done .w small{display:inline;margin-left:6px}
  .sched h3 .span{display:block;font-family:var(--gothic);font-size:.74rem;font-weight:500;color:var(--ink-soft);margin-top:2px}
  .sched .slater{font-size:.78rem;color:var(--ink-soft);line-height:1.8;margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
  .sched .slater b{color:var(--persimmon-deep);margin-right:4px}  .sched .snote{font-size:.76rem;color:var(--ink-soft);margin-top:10px;line-height:1.7}
  .sched .sbtn{display:block;text-align:center;margin-top:14px;font-size:.84rem;font-weight:700;color:#fff;background:var(--persimmon);border-radius:30px;padding:10px;text-decoration:none}
  .sched .sbtn:hover{background:var(--persimmon-deep)}
  @media(max-width:920px){.news-grid{grid-template-columns:1fr}}
  @media(max-width:620px){.pick{flex-direction:column;padding:22px 20px}.pick-card{flex:none;width:100%;height:auto;gap:10px}.news-list a{flex-wrap:wrap;gap:4px 10px}.news-list .d{width:auto}}

  .pick-body p b{color:var(--ink)}
  .vq small{font-size:.76rem;color:var(--evergreen-soft)}
  /* ===== 活動レポート ===== */
  .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 46px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
  .flow div{padding:20px 20px 18px;border-left:1px dashed var(--line);position:relative}
  .flow div:first-child{border-left:none}
  .flow .n{font-family:var(--hand);color:var(--persimmon-deep);font-size:1rem;display:block}
  .flow b{font-family:var(--serif);font-size:1.02rem;display:block;margin:2px 0 4px;line-height:1.5}
  .flow p{font-size:.82rem;color:var(--ink-soft);line-height:1.7}
  @media(max-width:860px){.flow{grid-template-columns:1fr 1fr}.flow div:nth-child(3){border-left:none}.flow div:nth-child(n+3){border-top:1px dashed var(--line)}}
  @media(max-width:520px){.flow{grid-template-columns:1fr}.flow div{border-left:none;border-top:1px dashed var(--line)}.flow div:first-child{border-top:none}}
  .report{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 24px 56px -40px rgba(46,38,32,.55);margin-bottom:34px;scroll-margin-top:80px}
  .report-hero{position:relative;margin:0}
  .report-hero img{width:100%;height:clamp(220px,34vw,380px);object-fit:cover;display:block}
  .report-hero .rh-tag{position:absolute;left:18px;top:16px;background:rgba(255,255,255,.94);color:var(--evergreen);font-weight:700;font-size:.8rem;border-radius:30px;padding:5px 14px;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
  .report-hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 20px 12px;font-size:.78rem;color:#fff;background:linear-gradient(0deg,rgba(20,28,24,.66),rgba(20,28,24,0));text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .report-body{padding:34px 40px 36px}
  .report-body .rkind{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.02rem}
  .report-body h3{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.5;margin:4px 0 6px}
  .report-body .rsub{font-family:var(--serif);color:var(--evergreen);font-size:1.02rem;margin-bottom:16px}
  .rmeta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 16px;margin-bottom:22px}
  .rmeta b{color:var(--evergreen);margin-right:6px}
  .report-body > p{color:var(--ink-soft);font-size:.98rem;margin-bottom:14px;line-height:2}
  .report-body > p strong{color:var(--ink)}
  .rcols{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start;margin:24px 0 8px}
  .steps6{list-style:none;counter-reset:s;display:grid;gap:8px}
  .steps6 li{display:flex;gap:12px;align-items:baseline;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-size:.9rem;color:var(--ink-soft)}
  .steps6 li b{flex:none;font-family:var(--serif);color:var(--persimmon-deep);font-size:1.02rem;min-width:4.2em}
  .rside figure{margin:0 0 16px}
  .rside img{width:100%;border-radius:14px;border:1px solid var(--line);display:block}
  .rside figcaption{font-size:.76rem;color:var(--ink-soft);margin-top:7px}
  .words3{display:grid;gap:10px}
  .words3 div{font-family:var(--serif);font-weight:700;font-size:1.06rem;line-height:1.6;color:var(--ink);background:linear-gradient(transparent 64%,rgba(224,163,62,.3) 64%);padding:0 2px;justify-self:start}
  .rh4{font-family:var(--serif);font-size:1.08rem;margin:26px 0 12px;padding-left:12px;border-left:4px solid var(--persimmon)}
  .report .voice{margin-top:10px;box-shadow:none}
  .rclose{font-family:var(--hand);color:var(--evergreen);font-size:1.1rem;text-align:center;margin-top:24px}
  .bookref{display:flex;gap:18px;align-items:flex-start;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:22px}
  .bookref .bk{flex:none;width:62px;height:86px;border-radius:4px;background:linear-gradient(160deg,#5B7FA6,#35577D);color:#fff;font-family:var(--serif);font-size:.56rem;line-height:1.35;padding:8px 7px;box-shadow:4px 5px 12px -5px rgba(46,38,32,.5)}
  .bookref .bk-img{flex:none;width:84px;height:auto;border-radius:3px;box-shadow:4px 5px 12px -5px rgba(46,38,32,.5)}
  .bookref p{font-size:.9rem;color:var(--ink-soft);line-height:1.85;margin:0}
  .bookref p b{color:var(--ink)}
  .bookref a{display:inline-block;margin-top:8px;font-size:.84rem;font-weight:700;color:var(--persimmon-deep);text-decoration:none}
  @media(max-width:820px){.rcols{grid-template-columns:1fr}.report-body{padding:26px 20px 28px}}

  /* ===== 読者の声（新刊） ===== */
  .reader{grid-column:1 / -1;margin-top:0}
  .reader .rq{font-family:var(--serif);font-size:1.16rem;color:var(--persimmon-deep);text-align:center;margin:18px 0 6px;line-height:1.8}
  .reader .kotoba{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
  .reader .kotoba span{background:#fff;border:1px solid var(--line);border-radius:30px;padding:5px 14px;font-size:.84rem;color:var(--ink)}
  .more-voices{grid-column:1 / -1}
  .more-voices summary{list-style:none;cursor:pointer;text-align:center;font-weight:700;font-size:.92rem;color:var(--persimmon-deep);background:#fff;border:1.5px dashed var(--persimmon);border-radius:40px;padding:13px 20px;transition:background .2s}
  .more-voices summary::-webkit-details-marker{display:none}
  .more-voices summary::after{content:" ↓";}
  .more-voices[open] summary::after{content:" ↑　閉じる";}
  .more-voices summary:hover{background:var(--paper-2)}
  .more-voices > .voice{margin-top:24px}
  .buy{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  .buy a{font-size:.84rem;font-weight:700;text-decoration:none;color:#fff;background:var(--persimmon);border-radius:30px;padding:8px 18px;box-shadow:0 6px 16px -8px rgba(220,106,53,.6);transition:background .2s,transform .2s}
  .buy a:hover{background:var(--persimmon-deep);transform:translateY(-2px)}
  .buy a.pub-l{background:#fff;color:var(--evergreen);border:1.5px solid var(--evergreen);box-shadow:none}
  .author-note{grid-column:1 / -1;background:var(--evergreen);color:var(--paper);border-radius:22px;padding:38px 44px;box-shadow:0 22px 50px -34px rgba(46,38,32,.6);scroll-margin-top:80px}
  .author-note .vtag{font-family:var(--hand);color:var(--gold);font-size:1.05rem;display:block;margin-bottom:6px}
  .author-note h3{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.6;margin-bottom:18px}
  .author-note p{font-size:.95rem;line-height:2;color:rgba(251,246,236,.86);margin-bottom:12px}
  .author-note p b{color:#fff;background:linear-gradient(transparent 62%,rgba(224,163,62,.45) 62%)}
  .author-note .an-close{font-family:var(--serif);font-size:1.12rem;color:#fff;text-align:center;margin:24px 0 6px;line-height:1.9}
  .author-note .attrib{text-align:right;font-family:var(--serif);color:var(--gold);margin:0}
  @media(max-width:720px){.author-note{padding:28px 22px}}
  .forwho{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
  .book-info p.forwho b{font-size:.78rem;color:var(--evergreen);margin-right:2px}
  .forwho span{font-size:.76rem;background:var(--paper-2);border:1px solid var(--line);border-radius:20px;padding:2px 11px;color:var(--ink)}
  .voice.parent{background:linear-gradient(160deg,#fff,#FCEEE4);border-color:#EACBB4}
  .voice.parent .vq{border-left-color:var(--gold)}
  .reader .hana{font-family:var(--hand);color:var(--persimmon-deep);font-size:1.12rem;text-align:center;margin:4px 0 14px}
  .reader .hana::before,.reader .hana::after{content:"✿";color:var(--gold);margin:0 10px}
  .reader .klead{font-size:.84rem;color:var(--ink-soft);margin:18px 0 0}

  /* ===== 危機と向き合う（全9回） ===== */
  .kiki-lead{font-size:.92rem;color:var(--ink-soft);margin:-6px 0 20px;max-width:46em}
  .media-grid.kiki{grid-template-columns:repeat(3,1fr)}
  .media .no{position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--persimmon);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.92rem;box-shadow:0 4px 10px -4px rgba(0,0,0,.4)}
  .media .new{display:inline-block;font-size:.62rem;font-weight:800;color:#fff;background:var(--persimmon-deep);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px}
  .kiki-vow{margin-top:22px;text-align:center;font-family:var(--serif);font-size:1.12rem;line-height:1.9;color:var(--ink)}
  .kiki-vow small{display:block;font-family:var(--gothic);font-size:.76rem;color:var(--ink-soft);margin-top:4px}
  .infos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .info{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--evergreen);border-radius:14px;padding:18px 22px;text-decoration:none;color:inherit}
  a.info{transition:transform .25s,box-shadow .25s}
  a.info:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(46,38,32,.5)}
  .info .wl-src{font-size:.7rem;font-weight:700;color:#fff;background:var(--evergreen);display:inline-block;padding:3px 11px;border-radius:6px}
  .info .wl-cap{display:block;font-family:var(--serif);font-size:1.02rem;margin-top:11px;line-height:1.55}
  .info .wl-sub{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:6px;line-height:1.7}
  .info .wl-arr{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:700;color:var(--persimmon)}
  @media(max-width:920px){.media-grid.kiki{grid-template-columns:1fr 1fr}.infos{grid-template-columns:1fr}}
  @media(max-width:520px){.media-grid.kiki{grid-template-columns:1fr}}
  /* ===== R8・9・19 整理 ===== */
  .rel{margin-top:40px;border-top:1px solid rgba(251,246,236,.2);padding-top:32px}
  .rel h3{font-family:var(--serif);font-size:1.3rem;margin-bottom:6px}
  .rel .rel-lead{font-size:.92rem;color:rgba(251,246,236,.8);margin-bottom:18px}
  .rel-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .rel-row div{border-left:3px solid var(--gold);padding:2px 0 2px 14px}
  .rel-row b{display:block;font-family:var(--serif);font-size:1.05rem;margin-bottom:4px}
  .rel-row span{font-size:.86rem;color:rgba(251,246,236,.78);line-height:1.8}
  @media(max-width:920px){.rel-row{grid-template-columns:1fr}}
  .menu h3,.flow2 h3,.faq h3{font-family:var(--serif);font-size:1.35rem;text-align:center;margin-bottom:8px}
  .menu .tlead{text-align:center;color:var(--ink-soft);font-size:.92rem;margin-bottom:24px}
  .menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .mcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px 18px;position:relative;transition:transform .25s,box-shadow .25s}
  .mcard:hover{transform:translateY(-4px);box-shadow:0 20px 44px -30px rgba(46,38,32,.5)}
  .mcard .mt{display:inline-block;font-family:var(--serif);font-weight:700;font-size:.92rem;color:#fff;background:var(--persimmon);border-radius:20px;padding:2px 14px}
  .mcard h4{font-family:var(--serif);font-size:1.12rem;margin:10px 0 6px}
  .mcard p{font-size:.88rem;color:var(--ink-soft);line-height:1.8}
  .mcard small{display:block;margin-top:10px;font-size:.74rem;color:var(--evergreen);font-weight:600;border-top:1px dashed var(--line);padding-top:8px}
  @media(max-width:920px){.menu-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.menu-grid{grid-template-columns:1fr}}
  .flow2{margin-top:44px}
  .flow2 ol{list-style:none;counter-reset:f;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
  .flow2 li{counter-increment:f;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;position:relative}
  .flow2 li::before{content:counter(f);position:absolute;top:-12px;left:16px;width:26px;height:26px;border-radius:50%;background:var(--evergreen);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:.88rem}
  .flow2 li b{display:block;font-family:var(--serif);font-size:1.05rem;margin:4px 0 4px}
  .flow2 li span{font-size:.84rem;color:var(--ink-soft);line-height:1.75}
  @media(max-width:860px){.flow2 ol{grid-template-columns:1fr 1fr;row-gap:22px}}
  @media(max-width:520px){.flow2 ol{grid-template-columns:1fr}}
  .faq{margin-top:44px;max-width:820px;margin-left:auto;margin-right:auto}
  .faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:10px;padding:0 20px}
  .faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:.95rem;padding:15px 0;display:flex;gap:10px;align-items:center}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::before{content:"Q";flex:none;width:26px;height:26px;border-radius:8px;background:var(--persimmon);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:.86rem}
  .faq summary::after{content:"＋";margin-left:auto;color:var(--persimmon);font-weight:700}
  .faq details[open] summary::after{content:"－"}
  .faq details p{font-size:.9rem;color:var(--ink-soft);line-height:1.9;padding:0 0 16px 36px}
  .to-web{margin-top:24px;text-align:center;font-size:.9rem;color:var(--ink-soft);background:var(--paper-2);border:1px dashed var(--line);border-radius:14px;padding:14px 18px}
  .to-web a{color:var(--persimmon-deep);font-weight:700}
  /* ===== R8・9・19 模様替え ===== */
  .hero .lead b{color:var(--persimmon-deep)}
  .values{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:30px;padding-top:22px;border-top:1px dashed var(--line)}
  .values li{position:relative;padding-left:22px;font-size:.86rem;color:var(--ink-soft);line-height:1.6}
  .values li::before{content:"";position:absolute;left:0;top:.35em;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--persimmon) 0 3px,rgba(220,106,53,.18) 3.5px)}
  .hero-photo{position:relative;z-index:2}
  .kframe{position:relative;margin:0;border-radius:30px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 34px 70px -34px rgba(46,38,32,.6);border:6px solid #fff;transform:rotate(1.2deg)}
  .kframe img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
  .kframe::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,236,200,.08),rgba(0,0,0,0) 40%,rgba(20,20,20,.12))}
  .kpin{position:absolute;z-index:2;right:16px;bottom:16px;background:rgba(255,255,255,.94);color:var(--evergreen);font-weight:700;font-size:.84rem;border-radius:30px;padding:6px 15px;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
  .kbadge{position:absolute;left:-34px;bottom:-26px;z-index:3;display:flex;align-items:center;gap:0}
  .kbadge img{width:118px;height:118px;border-radius:50%;object-fit:cover;object-position:center 12%;background:#FFF3E2;border:5px solid #fff;box-shadow:0 14px 30px -12px rgba(46,38,32,.55)}
  .kbadge span{margin-left:-12px;margin-bottom:62px;background:#fff;border:1.5px solid var(--persimmon);color:var(--persimmon-deep);font-family:var(--hand);font-size:1.02rem;border-radius:18px 18px 18px 4px;padding:4px 14px;box-shadow:0 8px 18px -10px rgba(46,38,32,.5);transform:rotate(-4deg)}
  @media(max-width:920px){
    .hero-photo{order:-1;max-width:430px;margin:0 auto 18px;width:100%}
    .kframe{aspect-ratio:4/3.4;transform:none}
    .kframe img{object-position:center 35%}
    .kbadge{left:-8px;bottom:-22px}
    .kbadge img{width:92px;height:92px}
    .values{grid-template-columns:1fr}
  }
  .stats{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}
  .stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
  .stats-row div{text-align:center;padding:6px 10px;border-left:1px dashed var(--line)}
  .stats-row div:first-child{border-left:none}
  .stats-row b{display:block;font-family:var(--serif);font-weight:800;font-size:2.5rem;line-height:1.1;color:var(--persimmon-deep)}
  .stats-row b small{font-size:1rem;margin-left:2px;color:var(--ink)}
  .stats-row b.wd{font-size:1.28rem;line-height:1.95;color:var(--evergreen)}
  .stats-row b.wd i{font-style:normal;color:var(--gold);margin:0 2px}
  .stats-row span{display:block;margin-top:8px;font-size:.76rem;color:var(--ink-soft);line-height:1.6}
  @media(max-width:920px){.stats-row{grid-template-columns:repeat(3,1fr);row-gap:22px}.stats-row div:nth-child(4){border-left:none}}
  @media(max-width:520px){.stats-row{grid-template-columns:1fr 1fr}.stats-row div{border-left:none}.stats-row b{font-size:2.1rem}.stats-row b.wd{font-size:1.02rem;white-space:nowrap;line-height:2.3}}
  .finale2{position:relative;min-height:clamp(420px,52vw,600px);display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
  .finale2 > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(1.12) brightness(1.08)}
  .f2veil{position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 48%,rgba(30,18,10,.34),rgba(30,18,10,.06) 75%),linear-gradient(180deg,rgba(30,18,10,.12),rgba(30,18,10,0) 30%,rgba(30,18,10,.28))}
  .f2text{position:relative;z-index:2;color:#fff;padding:0 24px}
  .f2k{font-family:var(--serif);letter-spacing:.12em;color:#FCE6C6;font-size:1rem;display:block;margin-bottom:10px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
  .f2t{font-family:var(--serif);font-weight:800;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.45;text-shadow:0 2px 26px rgba(0,0,0,.55)}
  .f2s{font-family:var(--hand);font-size:1.18rem;color:#FCE6C6;margin:14px 0 26px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
  .author-note{position:relative}
  .author-note .an-face{float:right;width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center 20%;border:4px solid rgba(255,255,255,.85);margin:0 0 10px 18px;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
  @media(max-width:720px){.author-note .an-face{width:72px;height:72px}}
  /* ===== 歩いてきた道 ===== */
  .road{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:52px 0 40px;position:relative}
  .road-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:26px}
  .road-head .sec-tag{margin:0}
  .road-head h2{font-family:var(--serif);font-size:1.7rem}
  .road-head p{color:var(--ink-soft);font-size:.95rem}
  .road-line{list-style:none;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:34px 4px 18px;position:relative;scrollbar-width:thin}
  .road-line::before{content:"";position:absolute;left:0;right:0;top:20px;height:3px;background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 18px);min-width:2500px}
  .road-line li{flex:0 0 212px;scroll-snap-align:start;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px 16px 16px;margin-top:0}
  .road-line li::before{content:"";position:absolute;top:-21px;left:18px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--persimmon);box-shadow:0 0 0 4px #fff}
  .road-line .rd{position:absolute;top:-12px;right:14px;font-family:var(--hand);font-size:.95rem;color:var(--persimmon-deep);background:#fff;padding:0 6px}
  .road-line b{display:block;font-family:var(--serif);font-size:1.02rem;line-height:1.5;margin-bottom:6px}
  .road-line small{display:block;font-size:.8rem;color:var(--ink-soft);line-height:1.7}
  .road-line li.big{flex-basis:250px;background:linear-gradient(160deg,#FFF3E2,#fff);border:2px solid var(--persimmon)}
  .road-line li.big::before{background:var(--persimmon)}
  .road-line li.big b{color:var(--persimmon-deep);font-size:1.12rem}
  .road-line li.now{background:var(--evergreen);border-color:var(--evergreen)}
  .road-line li.now b{color:#fff}.road-line li.now small{color:rgba(251,246,236,.82)}
  .road-line li.now::before{border-color:var(--gold)}
  .twin{max-width:760px;margin:30px auto 0;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--evergreen-soft);border-radius:16px;padding:22px 28px 18px}
  .twin-k{display:block;font-family:var(--serif);font-weight:700;color:var(--evergreen);font-size:1.02rem;margin-bottom:10px;letter-spacing:.04em}
  .twin p{font-size:.92rem;color:var(--ink-soft);line-height:2;margin-bottom:6px}
  .twin .twin-last{font-family:var(--serif);font-size:1.06rem;color:var(--ink);margin-top:12px}
  .twin-sign{display:block;text-align:right;font-family:var(--serif);color:var(--ink-soft);font-size:.9rem;margin-top:4px}
  @media(max-width:620px){.twin{padding:18px 18px 14px}}
  .road-hint{text-align:center;font-family:var(--hand);color:var(--evergreen-soft);font-size:.92rem;margin-top:6px}
  /* ===== タバティーを探せ！！ ===== */
  .himitsu{position:relative;margin-top:30px;background:linear-gradient(150deg,#FFF6D8,#FFFDF6 55%,#FFF1E4);border:2px dashed var(--gold);border-radius:26px;padding:96px 36px 96px;overflow:hidden;scroll-margin-top:90px}
  .hm-bubbles span{position:absolute;max-width:190px;font-size:.74rem;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:6px 12px;box-shadow:0 8px 18px -12px rgba(46,38,32,.5);transform:rotate(-2deg);opacity:.9;line-height:1.5}
  .hm-bubbles span:nth-child(2n){transform:rotate(2deg);border-radius:14px 14px 4px 14px}
  .hm-body{position:relative;z-index:2;max-width:560px;margin:0 auto;text-align:center;background:rgba(255,255,255,.88);border-radius:20px;padding:26px 26px 22px;box-shadow:0 18px 40px -30px rgba(46,38,32,.5)}
  .hm-main{position:relative;z-index:2;display:flex;gap:34px;align-items:center;justify-content:center}
  .hm-main .hm-body{margin:0}
  .hm-cover{flex:0 0 210px;margin:0;text-align:center}
  .hm-cover img{width:100%;display:block;border-radius:6px;transform:rotate(-4deg);box-shadow:10px 14px 30px -12px rgba(46,38,32,.55);transition:transform .3s}
  .hm-cover img:hover{transform:rotate(-1deg) scale(1.03)}
  .hm-cover figcaption{font-family:var(--hand);color:var(--evergreen);font-size:.86rem;margin-top:14px}
  @media(max-width:860px){.hm-main{flex-direction:column;gap:22px}.hm-cover{flex:none;width:170px}}
  .hm-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--persimmon);border-radius:20px;padding:3px 12px}
  .himitsu h3{font-family:var(--serif);font-weight:800;font-size:clamp(1.8rem,4.4vw,2.6rem);color:var(--persimmon-deep);margin:10px 0 4px;letter-spacing:.04em;text-shadow:3px 3px 0 rgba(224,163,62,.35)}
  .hm-book{font-family:var(--serif);font-size:1.02rem;margin-bottom:10px}
  .hm-body p{font-size:.9rem;color:var(--ink-soft);line-height:1.9}
  .hm-body p b{color:var(--ink)}
  .hm-q{margin-top:10px;font-family:var(--serif);font-size:1.05rem!important;color:var(--evergreen)!important}
  .hm-game{margin:16px auto 6px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:12px 16px;display:flex;flex-direction:column;gap:4px;font-size:.86rem;color:var(--ink-soft)}
  .hm-game > b{font-family:var(--serif);color:var(--ink)}
  .hm-count{font-weight:700;color:var(--persimmon-deep)}
  .hm-count em{font-style:normal;font-size:1.3rem;font-family:var(--serif)}
  .hm-done{margin-top:6px;font-weight:700;color:var(--evergreen)}
  .himitsu .buy{justify-content:center}
  .hm-meta{font-size:.72rem!important;margin-top:12px}
  @media(max-width:720px){.himitsu{padding:26px 16px}.hm-bubbles{display:none}}
  .tb-hide{position:absolute;z-index:5;width:46px;height:46px;padding:0;border:3px solid #fff;border-radius:50%;background:#FFF3E2;cursor:pointer;box-shadow:0 8px 18px -8px rgba(46,38,32,.6);transform:rotate(-12deg);transition:transform .25s}
  .tb-hide img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 12%;display:block}
  .tb-hide:hover{transform:rotate(8deg) scale(1.15)}
  .tb-hide.got{border-color:var(--gold);box-shadow:0 0 0 4px rgba(224,163,62,.45)}
  .tb-pop{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--persimmon);color:#fff;font-size:.74rem;font-weight:700;border-radius:14px;padding:4px 10px;animation:tbpop 2.4s forwards;pointer-events:none}
  @keyframes tbpop{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%,0)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-6px)}}
/* ===== R8・10・10 ページ分け ===== */
.nav-links a.on{color:var(--persimmon-deep);font-weight:700}
.nav-links a.on::after{width:100%;background:var(--gold)}
.drawers{padding-top:70px}
.drawer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.drawer{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 26px 24px;text-decoration:none;color:inherit;overflow:hidden;transition:transform .3s,box-shadow .3s}
.drawer::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--persimmon);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.drawer:hover{transform:translateY(-6px);box-shadow:0 26px 54px -32px rgba(46,38,32,.5)}
.drawer:hover::before{transform:scaleX(1)}
.dw-no{font-family:var(--serif);font-size:.86rem;letter-spacing:.18em;color:var(--gold);font-weight:700}
.drawer h3{font-family:var(--serif);font-size:1.3rem;margin:6px 0 10px}
.drawer p{font-size:.9rem;color:var(--ink-soft);line-height:1.9;margin-bottom:14px}
.dw-go{font-size:.86rem;font-weight:700;color:var(--persimmon-deep)}
@media(max-width:920px){.drawer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.drawer-grid{grid-template-columns:1fr}}
.cta-strip{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}
.cta-strip .wrap{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:center;text-align:center}
.cta-strip p{font-family:var(--serif);font-size:1.08rem;color:var(--ink);margin:0}
/* ページの先頭のセクションは、上に少し余白を */
header + section.band,header + section.road{padding-top:64px}

/* ===== R8・10・11 写真のないレポート ===== */
.report.noimg .rhead{display:flex;align-items:center;gap:14px;padding:16px 40px;color:#fff}
.rhead-green{background:var(--evergreen)}
.rhead-teal{background:#3F7E7A}
.rhead-persimmon{background:var(--persimmon-deep)}
.rhead-indigo{background:#2F5D7C}
.rhead-momiji{background:#B4502A}
/* 次の予定への、小さな一行 */
.rnext{font-size:.84rem;color:var(--evergreen-soft);text-align:right;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
/* R8・10・30 章ごとのグラフィックレコーディング */
.gr-ch{margin-top:24px}
.gr-ch-lead{font-size:.9rem;color:var(--ink-soft);margin-bottom:18px;line-height:1.9}
/* 説明文の長さが違うと、短いほうの下に空きができる。上づめにして、下を詰める。
   第1章についての注は、上の説明文（.gr-ch-lead）に入れてある。 */
.gr-ch-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.gr-ch-grid figure{margin:0}
.gr-ch-grid img{width:100%;border-radius:14px;border:1px solid var(--line);box-shadow:0 14px 32px -24px rgba(46,38,32,.6);display:block;cursor:zoom-in}
.gr-ch-grid figcaption{font-size:.86rem;color:var(--ink);margin-top:10px;line-height:1.8}
.gr-ch-grid figcaption b{display:block;font-family:var(--serif);color:var(--evergreen);font-size:1rem;margin-bottom:3px}
@media(max-width:700px){.gr-ch-grid{grid-template-columns:1fr}}

/* ===== R8・11・1 先生のイラストを、あちらこちらに ===== */
/* 見出しのとなりの、小さな丸 */
.ill-badge{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);
  box-shadow:0 8px 20px -10px rgba(46,38,32,.6);vertical-align:middle;margin-right:14px;background:#fff}
/* 文のとなりに、ふわりと置く丸 */
.ill-float{float:right;width:210px;height:210px;border-radius:50%;object-fit:cover;object-position:60% 50%;
  margin:4px 0 18px 24px;border:5px solid #fff;box-shadow:0 18px 40px -22px rgba(46,38,32,.7)}
.ill-float-l{float:left;margin:4px 24px 18px 0;object-position:28% 45%}
/* 横に広い帯 */
.ill-band{width:100%;border-radius:22px;display:block;border:1px solid var(--line);
  box-shadow:0 18px 44px -28px rgba(46,38,32,.6)}
.ill-band-cap{font-family:var(--hand);color:var(--evergreen);font-size:1rem;text-align:center;margin-top:10px}
/* 角の丸い小さな札 */
.ill-chip{width:132px;height:132px;border-radius:26px;object-fit:cover;object-position:62% 46%;
  border:4px solid #fff;box-shadow:0 12px 28px -16px rgba(46,38,32,.65)}
/* この中の見どころへ、飛べる小さな目次 */
.hitome-jump{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 26px;align-items:center}
.hitome-jump b{font-size:.84rem;color:var(--ink-soft);margin-right:2px}
.hitome-jump a{font-size:.86rem;text-decoration:none;color:var(--evergreen);background:#fff;
  border:1px solid var(--line);border-radius:30px;padding:6px 15px;transition:background .2s,transform .2s}
.hitome-jump a:hover{background:var(--sand);transform:translateY(-2px)}
@media(max-width:620px){
  .ill-float,.ill-float-l{float:none;display:block;margin:0 auto 18px;width:168px;height:168px}
  .ill-badge{width:56px;height:56px;margin-right:10px}
  .ill-chip{width:104px;height:104px}
}

/* 最近うかがったところ */
.saikin-list{list-style:none;margin:18px 0 14px;padding:0}
.saikin-list li{display:grid;grid-template-columns:104px 1fr;gap:4px 14px;align-items:baseline;
  padding:12px 4px;border-bottom:1px dashed var(--line)}
.saikin-list li:last-child{border-bottom:none}
.saikin-list .sd{font-family:var(--serif);font-weight:800;color:var(--persimmon-deep);font-size:.95rem}
.saikin-list a{font-family:var(--serif);font-size:1.03rem;color:var(--ink);text-decoration:none;
  border-bottom:2px solid var(--sand);transition:border-color .2s}
.saikin-list a:hover{border-color:var(--persimmon)}
.saikin-list .sn{font-family:var(--serif);font-size:1.03rem;color:var(--ink)}
.saikin-list small{grid-column:2;display:block;font-size:.83rem;color:var(--ink-soft);line-height:1.8}
@media(max-width:620px){
  .saikin-list li{grid-template-columns:1fr}
  .saikin-list small{grid-column:1}
}
.report.noimg .rh-date{font-family:var(--serif);font-weight:800;font-size:1.3rem;letter-spacing:.04em}
.report.noimg .rh-kind{font-size:.78rem;font-weight:700;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:3px 13px}
.report.noimg .words3{margin:22px 0 10px}
@media(max-width:820px){.report.noimg .rhead{padding:14px 20px}}

/* ===== R8・10・20 新刊のイラストと紙面 ===== */
.hitome{margin-top:40px;background:linear-gradient(170deg,#FFFBF2,#FFF6E8);border:1px solid var(--line);border-radius:22px;padding:30px 30px 26px}
.hitome-lead{text-align:center;font-size:.9rem;color:var(--ink-soft);margin-bottom:20px}
.hitome .peek figure{cursor:zoom-in}
.hitome-ill{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.hitome-ill figure{margin:0}
.hitome-ill img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:0 16px 36px -26px rgba(46,38,32,.6);display:block;cursor:zoom-in;transition:transform .25s ease}
.hitome-ill img:hover{transform:translateY(-4px)}
/* 原稿のページは、小さいと字が読めない。狭い画面では段を減らして大きく見せる */
@media(max-width:860px){.hitome-ill[style]{grid-template-columns:1fr 1fr !important}}
@media(max-width:560px){.hitome-ill[style]{grid-template-columns:1fr !important}}
.hitome-ill figcaption{font-family:var(--hand);color:var(--evergreen);font-size:.92rem;margin-top:9px;text-align:center}
@media(max-width:620px){.hitome{padding:20px 16px}.hitome-ill{grid-template-columns:1fr}}
.lead-ill{margin:0 auto 26px;max-width:620px}
.lead-ill img{width:100%;border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 40px -28px rgba(46,38,32,.55);display:block}
.lead-ill figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:9px;text-align:center}
.lead-ill.small{max-width:460px;margin-top:20px}

/* ===== R8・10・20 動画 ===== */
.movie{margin-top:20px}
.movie-btn{display:inline-flex;align-items:center;gap:14px;background:var(--persimmon);color:#fff;text-decoration:none;border-radius:40px;padding:12px 26px 12px 18px;box-shadow:0 10px 24px -12px rgba(220,106,53,.8);transition:background .2s,transform .2s}
.movie-btn:hover{background:var(--persimmon-deep);transform:translateY(-2px)}
.movie-btn .mv-ic{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:.9rem}
.movie-btn b{display:block;font-family:var(--serif);font-size:1.02rem;line-height:1.4}
.movie-btn small{display:block;font-size:.76rem;opacity:.9;margin-top:2px}
.movie-card{grid-column:1 / -1;background:linear-gradient(160deg,#fff,#FFF2E6);border:1px solid var(--line);border-left:5px solid var(--persimmon);border-radius:22px;padding:28px 30px 26px;margin-top:30px;scroll-margin-top:90px}
.mv-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--evergreen);border-radius:20px;padding:3px 13px}
.movie-card h3{font-family:var(--serif);font-size:1.26rem;margin:10px 0 8px;line-height:1.5}
.movie-card p{font-size:.9rem;color:var(--ink-soft);line-height:1.95;margin-bottom:16px}
@media(max-width:620px){.movie-card{padding:22px 18px}.movie-btn{padding:11px 20px 11px 14px}}
.movie-card .mv-sub{font-size:.84rem;color:var(--evergreen);margin:-4px 0 12px;font-weight:600}


/* ======================================================================
   季節の装い　―― 黄色・暖色（2026年10月）
   色を変えるときは、この「季節の装い」の block をまるごと書き換える。
   ====================================================================== */
:root{
  --paper:#FEF9ED;        /* 薄い黄色の紙 */
  --paper-2:#FBEFD2;      /* 少し濃い黄色 */
  --sand:#F6E4BC;         /* 帯の色 */
  --line:#E6D2A8;         /* 罫 */
  --ink:#38301F;
  --ink-soft:#6B5B3E;
  --persimmon:#E08A1E;    /* 山吹 */
  --persimmon-deep:#C26B12;
  --gold:#EBB31F;         /* 金 */
  --evergreen:#8A5A14;    /* 深い琥珀（濃い色の帯） */
  --evergreen-soft:#A9accent;
  --evergreen-soft:#A98448;
}
/* 木もれ日のように、やわらかい光を散らす */
.hero::after,.finale2::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='300'%3E%3Cg%3E%3Ccircle cx='46' cy='52' r='8' fill='%23F2C94C' opacity='.30'/%3E%3Ccircle cx='62' cy='42' r='4' fill='%23FFE08A' opacity='.30'/%3E%3Ccircle cx='256' cy='38' r='6' fill='%23F0A92E' opacity='.22'/%3E%3Ccircle cx='272' cy='50' r='3.5' fill='%23FFE08A' opacity='.28'/%3E%3Ccircle cx='158' cy='168' r='6' fill='%23E08A1E' opacity='.16'/%3E%3Ccircle cx='300' cy='210' r='5' fill='%23F2C94C' opacity='.26'/%3E%3Ccircle cx='78' cy='238' r='7' fill='%23FFE08A' opacity='.26'/%3E%3C/g%3E%3C/svg%3E");
}
.hero-text,.hero-photo,.f2text{position:relative;z-index:2}
/* 見出しの小さな印 */
.sec-tag::before{content:"☀";margin-right:7px;font-size:.95em;color:var(--gold)}
.band-green .sec-tag::before{content:"☀";color:#FFD766}
/* 帯と背景 */
.hero-glow{background:radial-gradient(circle at center, rgba(235,179,31,.30), rgba(235,179,31,0) 65%)}
.band-sand{background:linear-gradient(180deg,var(--sand),#FBEDCB)}
.band-green{background:linear-gradient(165deg,#8A5A14,#6E4710)}
.stats,.road{background:#FFFDF6}
.drawer,.mcard,.svc,.theme,.book,.media,.weblink,.serial-list,.sched,.news-list,.pick,.faq details,.report-old,.big-card{background:#FFFDF6}
.hand-note,.sec-tag{color:#B5720F}
/* 囲みの色味を、暖色に */
.himitsu{background:linear-gradient(150deg,#FFF3CE,#FFFDF4 55%,#FDEBC8);border-color:#E9C877}
.board2{background:linear-gradient(165deg,#FFFDF4,#FBEFD2);border-color:#E9C877}
.movie-card{background:linear-gradient(160deg,#fff,#FFF1D5)}
.hitome{background:linear-gradient(170deg,#FFFDF4,#FBEFD6)}
.voice.parent{background:linear-gradient(160deg,#fff,#FDF0DA);border-color:#EBD6A8}
.author-note{background:#7A4F12}
.rhead-green{background:#8A5A14}
.rhead-teal{background:#A6761D}
.rhead-persimmon{background:var(--persimmon-deep)}
.bc-play{background:linear-gradient(150deg,#5E3C0C,#8A5A14)}

/* 前のレポートは小さく（クリックで開く） */
.report-old{background:#FCFEF8;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden}
.report-old summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:18px 24px;transition:background .2s}
.report-old summary::-webkit-details-marker{display:none}
.report-old summary:hover{background:var(--paper-2)}
.report-old summary::after{content:"ひらく ＋";margin-left:auto;font-size:.8rem;font-weight:700;color:var(--persimmon)}
.report-old[open] summary::after{content:"とじる －"}
.report-old[open] summary{background:var(--paper-2);border-bottom:1px solid var(--line)}
.ro-date{font-family:var(--serif);font-weight:700;color:var(--persimmon-deep);font-size:.95rem;flex:none}
.ro-title{font-family:var(--serif);font-size:1.06rem;line-height:1.5}
.ro-lead{font-size:.82rem;color:var(--ink-soft);width:100%}
.report-old .report{margin:0;border:none;border-radius:0;box-shadow:none}
.report-old .report-hero img{height:clamp(180px,26vw,280px)}
.rp-note{font-size:.84rem;color:var(--ink-soft)}
@media(max-width:620px){.report-old summary{padding:14px 16px}}

/* ===== トップの大きな二枚（新聞と動画） ===== */
.bigtwo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
.big-card{display:flex;gap:0;flex-direction:column;background:#FCFEF8;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 18px 40px -30px rgba(44,42,34,.5);transition:transform .25s,box-shadow .25s}
.big-card:hover{transform:translateY(-4px);box-shadow:0 26px 52px -30px rgba(44,42,34,.55)}
.big-card figure{margin:0;height:230px;overflow:hidden;background:#fff}
.big-card figure img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.big-paper{border-top:5px solid var(--persimmon)}
.big-movie{border-top:5px solid #C0392B}
.bc-play{height:230px;display:grid;place-items:center;background:linear-gradient(150deg,#2E3A2F,#44563F)}
.bc-play span{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.92);color:#C0392B;display:grid;place-items:center;font-size:1.6rem;padding-left:6px;box-shadow:0 10px 26px -10px rgba(0,0,0,.6)}
.big-card:hover .bc-play span{transform:scale(1.08)}
.bc-body{padding:20px 24px 22px}
.bc-tag{display:inline-block;font-size:.72rem;font-weight:800;color:#fff;background:var(--evergreen);border-radius:20px;padding:3px 13px}
.big-paper .bc-tag{background:var(--persimmon-deep)}
.big-card h3{font-family:var(--serif);font-size:clamp(1.14rem,2.2vw,1.42rem);line-height:1.5;margin:11px 0 8px}
.big-card p{font-size:.86rem;color:var(--ink-soft);line-height:1.9}
.bc-go{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:700;color:var(--persimmon-deep)}
@media(max-width:860px){.bigtwo{grid-template-columns:1fr}.big-card figure,.bc-play{height:200px}}

/* ===== 新刊を、一枚に。（グラフィックレコーディング） ===== */
.board2{grid-column:1 / -1;margin-top:34px;background:linear-gradient(165deg,#FFFDF5,#F3F8EA);border:2px solid var(--gold);border-radius:24px;padding:30px 32px 16px;text-align:center;scroll-margin-top:90px}
.b2-tag{display:inline-block;font-family:var(--hand);color:var(--persimmon-deep);font-size:1.02rem}
.board2 h3{font-family:var(--serif);font-weight:800;font-size:clamp(1.4rem,3vw,1.9rem);margin:4px 0 10px}
.b2-head p{font-size:.9rem;color:var(--ink-soft);line-height:1.95;max-width:46em;margin:0 auto 20px}
.b2-img{margin:0}
.b2-img img{width:100%;max-width:980px;border-radius:14px;border:6px solid #fff;box-shadow:0 26px 58px -30px rgba(44,42,34,.6);cursor:zoom-in;display:block;margin:0 auto}
.b2-img figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:12px}
.peek-one{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
@media(max-width:620px){.board2{padding:22px 16px}}

/* ===== 一枚絵から出る吹き出し ===== */
.b2-stage{position:relative}
.b2-bubbles{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
.b2-bubbles .bb{position:relative;background:#fff;border:2px solid var(--line);border-radius:16px;padding:14px 14px 13px;text-align:left;box-shadow:0 12px 26px -20px rgba(44,42,34,.6)}
.b2-bubbles .bb::before{content:"";position:absolute;top:-11px;left:26px;width:18px;height:18px;background:#fff;border-left:2px solid var(--line);border-top:2px solid var(--line);transform:rotate(45deg)}
.b2-bubbles .bb b{display:block;font-family:var(--serif);font-size:.95rem;line-height:1.5;margin-bottom:6px}
.b2-bubbles .bb span{font-size:.8rem;color:var(--ink-soft);line-height:1.85}
.bb1{border-color:#E4A33C}.bb1::before{border-color:#E4A33C}.bb1 b{color:#B9771C}
.bb2{border-color:#6E9BD1}.bb2::before{border-color:#6E9BD1}.bb2 b{color:#3C6FA6}
.bb3{border-color:#D4662F}.bb3::before{border-color:#D4662F}.bb3 b{color:#B9511F}
.bb4{border-color:#6BA86F}.bb4::before{border-color:#6BA86F}.bb4 b{color:#3E7A44}
.bb5{border-color:#B07BC0}.bb5::before{border-color:#B07BC0}.bb5 b{color:#8450964d}
.bb5 b{color:#845096}
@media(max-width:1000px){.b2-bubbles{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.b2-bubbles{grid-template-columns:1fr}}

/* ===== 動画を、そのまま再生できるように ===== */
.yt{position:relative;width:100%;max-width:720px;aspect-ratio:16/9;margin:0 0 16px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px -28px rgba(46,42,56,.6);background:#000}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.movie .yt{margin-top:4px}

/* ===== 「はじめに」のページを大きく ===== */
.hajimeni{margin:22px auto 0;max-width:860px;text-align:center}
.hajimeni img{width:100%;border-radius:14px;border:1px solid var(--line);box-shadow:0 20px 44px -28px rgba(46,42,56,.6);cursor:zoom-in;display:block}
.hajimeni figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:10px}
.hajimeni figcaption b{color:var(--persimmon-deep)}

/* ===== いちばん下の写真に、場所を ===== */
.f2-loc{position:absolute;z-index:3;right:22px;bottom:18px;background:rgba(255,255,255,.92);color:var(--evergreen);font-weight:700;font-size:.86rem;border-radius:30px;padding:6px 16px;box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
@media(max-width:620px){.f2-loc{right:14px;bottom:14px;font-size:.78rem}}

/* ===== 引き出しの中の「講演・研修」を大きく ===== */
.drawer-main{grid-column:span 2;background:linear-gradient(150deg,#FFF6DF,#FFFDF4 65%)!important;border:2px solid var(--persimmon)}
.drawer-main::before{transform:scaleX(1)}
.drawer-main h3{font-size:1.5rem}
.drawer-main p b{color:var(--ink)}
.drawer-main .dw-go{font-size:.95rem}
@media(max-width:920px){.drawer-main{grid-column:span 2}}
@media(max-width:620px){.drawer-main{grid-column:span 1}}

/* ===== 一覧を畳む「もっと見る」 ===== */
.more-list{margin-top:10px}
.more-list summary{list-style:none;cursor:pointer;font-size:.84rem;font-weight:700;color:var(--persimmon-deep);background:#fff;border:1.5px dashed var(--persimmon);border-radius:30px;padding:9px 16px;text-align:center}
.more-list summary::-webkit-details-marker{display:none}
.more-list summary::after{content:" ↓"}
.more-list[open] summary::after{content:" ↑　閉じる"}
.more-list summary:hover{background:var(--paper-2)}
.more-list .news-list,.more-list .sched-d{margin-top:10px}

/* ===== 六つの引き出し　――　色・線・光（R8・10・21） ===== */
.drawers{padding-top:62px}
.drawer-grid{gap:22px}
.drawer{position:relative;border:2.5px solid var(--line);border-radius:22px;padding:26px 24px 22px;overflow:hidden;
  background:#FFFDF6;box-shadow:0 10px 26px -22px rgba(56,48,31,.6);
  transition:transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s, border-color .3s}
.drawer::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;transform:scaleX(0);transform-origin:left;transition:transform .4s}
/* 右下から差す光 */
.drawer::after{content:"";position:absolute;right:-70px;bottom:-70px;width:180px;height:180px;border-radius:50%;
  opacity:.5;transition:opacity .35s, transform .45s;pointer-events:none}
.drawer:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 26px 48px -26px rgba(56,48,31,.55)}
.drawer:hover::before{transform:scaleX(1)}
.drawer:hover::after{opacity:.9;transform:scale(1.15)}
.dw-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:12px;
  background:#fff;border:2px solid currentColor;transition:transform .35s}
.dw-ic svg{width:26px;height:26px}
.drawer:hover .dw-ic{transform:rotate(-8deg) scale(1.06)}
.dw-no{position:absolute;right:20px;top:16px;font-family:var(--serif);font-size:1.5rem;font-weight:800;opacity:.3;letter-spacing:.06em}
.drawer h3{font-family:var(--serif);font-size:1.3rem;margin:0 0 10px}
.drawer p{font-size:.9rem;color:var(--ink-soft);line-height:1.9;margin-bottom:14px}
.dw-go{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;
  border-radius:30px;padding:6px 16px;border:2px solid currentColor;transition:background .25s,color .25s,gap .25s}
.drawer:hover .dw-go{gap:12px}

/* 01 ラボについて ―― 若草 */
.dw1{border-color:#9DBE6E;color:#4F7A2A}
.dw1::before{background:linear-gradient(90deg,#9DBE6E,#D7E8B8)}
.dw1::after{background:radial-gradient(circle,#D7E8B8,rgba(215,232,184,0) 70%)}
.dw1:hover{border-color:#6F9B3C}
.dw1:hover .dw-go{background:#4F7A2A;color:#fff}
/* 02 講演・研修 ―― 山吹（大きいカード） */
.dw2{border-color:#E2A42A;color:#A96A0C}
.dw2::before{background:linear-gradient(90deg,#E2A42A,#FBE1A4)}
.dw2::after{background:radial-gradient(circle,#FBE1A4,rgba(251,225,164,0) 70%)}
.dw2:hover{border-color:#C98A12}
.dw2:hover .dw-go{background:#A96A0C;color:#fff}
/* 03 活動レポート ―― 柿 */
.dw3{border-color:#E08A5B;color:#B9511F}
.dw3::before{background:linear-gradient(90deg,#E08A5B,#F8D8C3)}
.dw3::after{background:radial-gradient(circle,#F8D8C3,rgba(248,216,195,0) 70%)}
.dw3:hover{border-color:#C96A36}
.dw3:hover .dw-go{background:#B9511F;color:#fff}
/* 04 著書・読者の声 ―― 藍 */
.dw4{border-color:#7FA3C9;color:#3C6796}
.dw4::before{background:linear-gradient(90deg,#7FA3C9,#D4E3F2)}
.dw4::after{background:radial-gradient(circle,#D4E3F2,rgba(212,227,242,0) 70%)}
.dw4:hover{border-color:#5A86B5}
.dw4:hover .dw-go{background:#3C6796;color:#fff}
/* 05 メディア ―― 藤 */
.dw5{border-color:#A994CC;color:#6B55A0}
.dw5::before{background:linear-gradient(90deg,#A994CC,#E3DAF4)}
.dw5::after{background:radial-gradient(circle,#E3DAF4,rgba(227,218,244,0) 70%)}
.dw5:hover{border-color:#8871BA}
.dw5:hover .dw-go{background:#6B55A0;color:#fff}
/* 06 プロフィール ―― 深緑 */
.dw6{border-color:#6FA68A;color:#3C7256}
.dw6::before{background:linear-gradient(90deg,#6FA68A,#CDE5D9)}
.dw6::after{background:radial-gradient(circle,#CDE5D9,rgba(205,229,217,0) 70%)}
.dw6:hover{border-color:#4E8C6D}
.dw6:hover .dw-go{background:#3C7256;color:#fff}

/* 02 は横二つ分。中を横並びに */
.drawer-main{background:linear-gradient(135deg,#FFF8E6,#FFFDF6 60%)!important;border-width:3px}
.drawer-main::before{transform:scaleX(1);height:7px}
.drawer-main h3{font-size:1.58rem}
.drawer-main .dw-no{font-size:1.8rem}
@media(min-width:921px){
  .drawer-main{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:center}
  .drawer-main .dw-ic{grid-row:span 3;width:70px;height:70px;margin-bottom:0}
  .drawer-main .dw-ic svg{width:38px;height:38px}
  .drawer-main h3{margin-bottom:6px}
  .drawer-main p{margin-bottom:10px}
}

/* ===== 引き出しの仕上げ（R8・10・21） ===== */
/* カードの地に、うっすら色を敷く */
.dw1{background:linear-gradient(160deg,#FBFEF5,#F2F8E6 90%)}
.dw2{background:linear-gradient(160deg,#FFFCF2,#FDF2D9 90%)}
.dw3{background:linear-gradient(160deg,#FFFBF7,#FCEDE3 90%)}
.dw4{background:linear-gradient(160deg,#FAFCFF,#EAF2FA 90%)}
.dw5{background:linear-gradient(160deg,#FCFAFF,#F0EBFA 90%)}
.dw6{background:linear-gradient(160deg,#F8FCFA,#E8F3ED 90%)}
.drawer-main{background:linear-gradient(135deg,#FFF7E3,#FFFDF4 65%)!important}
/* 「講演・研修」は、絵・題・文・ボタンの並びを整える */
@media(min-width:921px){
  .drawer-main{grid-template-columns:86px 1fr;row-gap:2px;align-items:start;padding:28px 28px 24px}
  .drawer-main .dw-ic{grid-row:1 / span 3;align-self:center}
  .drawer-main h3{grid-column:2;align-self:end}
  .drawer-main p{grid-column:2;margin-bottom:8px}
  .drawer-main .dw-go{grid-column:2;justify-self:start}
}

/* ===== 新刊のチラシ3枚を、小さく置く（トップとプロフィール） =====
   わざと小さくしてあります。字は読めない大きさ。
   少し傾けて重なりを出し、クリックで大きく読める形にしています。 */
.bk3-band{background:linear-gradient(170deg,#FFFBF2,#FFF3DE);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bk3-band .wrap{text-align:center;padding-top:52px;padding-bottom:48px}
.bk3-h{font-family:var(--serif);font-size:1.3rem;color:var(--evergreen);letter-spacing:.04em}
.bk3-h::after{content:"";display:block;width:44px;height:2px;background:var(--gold);
  margin:12px auto 0;border-radius:2px}
.bk3-lead{font-size:.92rem;color:var(--ink-soft);line-height:1.95;
  margin:18px auto 26px;max-width:620px}
/* 1枚目は よこ長（2048x1449）、2・3枚目は たて長（約1055x1492）。
   横幅を 2:1:1 にすると、三枚の高さがぴたりとそろう（差は1%未満）。 */
.bk3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(12px,2.2vw,22px);
  align-items:start;max-width:780px;margin:0 auto}
.bk3 figure{margin:0}
.bk3 img{width:100%;height:auto;display:block;border-radius:10px;background:#fff;
  border:1px solid var(--line);cursor:zoom-in;
  box-shadow:0 12px 26px -15px rgba(90,66,40,.5);
  transition:transform .32s ease, box-shadow .32s ease}
.bk3 img:hover{transform:translateY(-8px) scale(1.04);
  box-shadow:0 24px 46px -16px rgba(90,66,40,.58)}
.bk3 figcaption{margin-top:11px;font-family:var(--hand);color:var(--evergreen);
  font-size:.95rem;text-align:center;line-height:1.5}
.bk3 figcaption small{display:block;font-family:var(--gothic);color:var(--ink-soft);
  font-size:.7rem;line-height:1.65;margin-top:4px}
.bk3-note{margin-top:24px;font-size:.85rem;color:#9A8878}
.bk3-note a{color:var(--persimmon-deep);font-weight:700;text-decoration:none;
  border-bottom:1px solid rgba(197,86,42,.35)}
.bk3-note a:hover{border-bottom-color:var(--persimmon-deep)}
/* 狭い画面：よこ長の1枚目を上に広く、たて長の2枚を下に並べる */
@media(max-width:560px){
  .bk3{grid-template-columns:1fr 1fr;max-width:420px}
  .bk3 figure:first-child{grid-column:1 / -1}
}

/* 著書のページ：佐藤さんの絵の上に、同じ三枚を「大きく」置くとき。
   よこ長の1枚目を幅いっぱいに、たて長の2枚をその下に並べる。
   ※ .bk3 より後に書くこと（同じ強さなので、後がちの決まり） */
.bk3-sheets{margin:34px 0 30px;scroll-margin-top:90px}
.bk3-sheets .gr-ch-lead{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.bk3-big{grid-template-columns:1fr 1fr;max-width:1040px;gap:clamp(16px,2.4vw,26px)}
.bk3-big figure:first-child{grid-column:1 / -1}
.bk3-big img{border-radius:14px;box-shadow:0 18px 40px -22px rgba(90,66,40,.55)}
.bk3-big img:hover{transform:translateY(-6px) scale(1.015)}
.bk3-big figcaption{font-size:1.02rem;margin-top:14px}
.bk3-big figcaption small{font-size:.79rem;margin-top:5px;line-height:1.85}
@media(max-width:620px){.bk3-big{grid-template-columns:1fr;max-width:470px}}

/* 「新着・日程」の見出しから、予定へ飛ぶ小さな入口。
   先生が日程を何度も見にこられるので、一発で行けるようにした（R8・11・5）。 */
.news-jump{margin-top:10px}
.news-jump a{display:inline-flex;align-items:center;gap:7px;
  font-size:.88rem;font-weight:700;color:var(--persimmon-deep);text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:40px;padding:7px 17px;
  box-shadow:0 4px 14px -8px rgba(120,86,52,.5);transition:transform .2s ease,box-shadow .2s ease}
.news-jump a:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(120,86,52,.6)}
.news-jump .arr{transition:transform .2s ease}
.news-jump a:hover .arr{transform:translateX(3px)}
aside.sched{scroll-margin-top:90px}
