
:root{
  --hero-content:980px;
  --section-content:860px;
  --book-text:760px;
  --book-ink:#24211f;
  --book-muted:#746f69;
  --book-soft:#f4f1ed;
  --book-line:#ddd7d0;
  --book-paper:#fbfaf8;
}
.book-page{background:#fff;color:var(--book-ink)}
.book-wrap{
  width:min(var(--hero-content),calc(100% - 48px));
  margin-inline:auto;
}
.book-hero{margin-top:32px}
.book-hero__box{
  background:linear-gradient(90deg,#eee9e4 0%,#f4f1ed 14%,#f4f1ed 86%,#eee9e4 100%);
  padding:42px 56px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:56px;
  align-items:center;
}
.book-cover{display:flex;justify-content:center}
.book-cover img{
  display:block;width:188px;height:auto;max-height:340px;object-fit:contain;
  box-shadow:0 20px 44px rgba(0,0,0,.13)
}
.book-kicker{
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;letter-spacing:.17em;color:#9a938c;margin-bottom:28px
}
.book-catch{
  margin:0 0 16px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;line-height:1.7;color:#5b5651
}
.book-title{
  margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:44px;line-height:1.34;font-weight:400;letter-spacing:.035em
}
.book-author{
  margin-top:18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;color:#4d4945
}
.book-lead{
  margin:27px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:17px;line-height:1.9;color:#4b4743
}

/* Pull lower blocks back to a cleaner, readable width */
.editions,
.book-section{
  width:min(var(--section-content),100%);
  margin-left:auto;
  margin-right:auto;
}

.editions{margin-top:30px}
.editions__eyebrow{
  display:flex;align-items:center;gap:14px;margin-bottom:7px;
  font-family:Georgia,"Times New Roman",serif;font-size:10px;
  letter-spacing:.17em;color:#8f8881
}
.editions__eyebrow:after{content:"";height:1px;background:var(--book-line);flex:1}
.edition{
  display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;
  gap:18px;min-height:70px;padding:6px 0;border-bottom:1px solid var(--book-line)
}
.edition:first-of-type{border-top:1px solid var(--book-line)}
.edition__name{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;line-height:1.12
}
.edition__name small{
  display:block;margin-top:3px;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:10px;line-height:1.05;color:#8a837d;font-weight:400
}
.edition__meta{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  gap:0;color:#57514c;font-size:12.5px
}
.edition__meta-line{
  display:flex;align-items:center;flex-wrap:nowrap;min-height:16px;line-height:1.22
}
.edition__meta-line span{white-space:nowrap}
.edition__meta-line span+span:before{
  content:"/";color:#b5aea7;margin:0 12px
}
.edition__links{
  display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;
  gap:8px;min-width:248px
}
.edition__links a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:72px;height:34px;padding:0 12px;
  border:1px solid rgba(23,72,111,.52);color:var(--navy);
  background:#fff;text-decoration:none;font-size:11px;line-height:1;letter-spacing:.01em
}
.edition__links a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

.book-section{margin-top:52px}
.book-heading{
  display:grid;
  grid-template-columns:26px auto minmax(40px,1fr);
  column-gap:13px;
  align-items:center;
  margin-bottom:23px
}
.book-heading__icon{
  width:24px;height:24px;position:relative;opacity:.78
}
.book-heading__text{
  display:flex;flex-direction:column;gap:6px
}
.book-heading__en{
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;line-height:1;letter-spacing:.17em;color:#8f8881
}
.book-heading h2{
  margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:30px;line-height:1.15;font-weight:400;letter-spacing:.04em
}
.book-heading__rule{
  height:1px;background:var(--book-line);align-self:center
}

.icon-book:before,.icon-book:after{
  content:"";position:absolute;top:3px;width:10px;height:17px;border:1.2px solid #4d4945
}
.icon-book:before{left:1px;border-radius:2px 0 0 2px;transform:skewY(-6deg)}
.icon-book:after{right:1px;border-radius:0 2px 2px 0;transform:skewY(6deg)}
.icon-author:before{
  content:"";position:absolute;left:8px;top:1px;width:8px;height:8px;
  border:1.2px solid #4d4945;border-radius:50%
}
.icon-author:after{
  content:"";position:absolute;left:3px;bottom:1px;width:18px;height:10px;
  border:1.2px solid #4d4945;border-bottom-color:transparent;border-radius:12px 12px 2px 2px
}
.icon-list:before{
  content:"";position:absolute;left:1px;top:4px;width:3px;height:3px;border:1px solid #4d4945;
  border-radius:50%;box-shadow:0 7px 0 -1px #4d4945,0 14px 0 -1px #4d4945
}
.icon-list:after{
  content:"";position:absolute;left:8px;top:5px;width:15px;height:1px;background:#4d4945;
  box-shadow:0 7px 0 #4d4945,0 14px 0 #4d4945
}
.icon-review:before{
  content:"";position:absolute;left:2px;top:3px;width:19px;height:15px;
  border:1.2px solid #4d4945;border-radius:2px
}
.icon-review:after{
  content:"";position:absolute;left:7px;bottom:1px;width:6px;height:6px;
  border-left:1.2px solid #4d4945;transform:skewX(-35deg)
}

/* Readable text width, centered */
.book-prose,
.toc-list,
.review-list,
.author-card{
  width:min(var(--book-text),100%);
  margin-inline:auto;
}

.book-prose{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;line-height:2;color:#403c38
}
.book-prose p{margin:0 0 1.15em}

.author-card{
  background:var(--book-paper);
  border:0;
  padding:30px 28px 24px;
}
.author-card h3{
  margin:0 0 14px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:20px;font-weight:400
}
.author-reading{font-size:.72em;color:#6f6963;letter-spacing:.02em}

.toc-list,.review-list{
  padding:0;list-style:none;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;line-height:1.9;color:#403c38
}
.toc-list li{
  padding:8px 0;border-bottom:1px solid rgba(221,215,208,.65)
}
.review-list li{
  padding:8px 0;border-bottom:0
}

.book-bottom-space{height:72px}

/* tablet keeps the PC composition */
@media(min-width:601px) and (max-width:900px){
  .book-wrap{width:min(var(--hero-content),calc(100% - 36px))}
  .book-hero__box{
    grid-template-columns:192px minmax(0,1fr);
    gap:34px;padding:34px 36px
  }
  .book-cover img{width:168px}
  .book-title{font-size:38px}
  .book-catch{font-size:15px}
  .book-lead{font-size:16px}
  .editions,.book-section{
    width:min(var(--section-content),calc(100% - 28px));
  }
  .edition{grid-template-columns:138px minmax(0,1fr) auto}
}

/* phone */
@media(max-width:600px){
  :root{
    --hero-content:100%;
    --section-content:100%;
    --book-text:100%;
  }
  .book-wrap{width:calc(100% - 28px)}
  .book-hero{margin-top:18px}
  .book-hero__box{
    padding:30px 22px;
    grid-template-columns:1fr;
    gap:28px
  }
  .book-cover img{width:158px}
  .book-kicker{font-size:9px;margin-bottom:20px}
  .book-title{font-size:32px;line-height:1.32}
  .book-catch{font-size:14px}
  .book-author{font-size:14px}
  .book-lead{font-size:15px;line-height:1.85}
  .editions,.book-section{width:100%}

  .edition{
    grid-template-columns:1fr;
    gap:5px;
    padding:12px 0
  }
  .edition__meta-line{flex-wrap:wrap}
  .edition__links{
    grid-column:1;
    justify-content:flex-start;
    min-width:0
  }

  .book-heading{
    grid-template-columns:24px auto 1fr;
    column-gap:11px
  }
  .book-heading h2{font-size:26px}

  .book-prose{font-size:15px;line-height:1.95}
  .author-card{padding:21px 20px}
}


/* V13: headings — English above, icon/rule centered on Japanese title */
.book-heading{
  display:grid !important;
  grid-template-columns:26px auto minmax(40px,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:13px !important;
  row-gap:6px !important;
  align-items:center !important;
  margin-bottom:23px !important;
}
.book-heading__icon{
  grid-column:1 !important;
  grid-row:2 !important;
  width:24px !important;
  height:24px !important;
  margin:0 !important;
  align-self:center !important;
}
.book-heading__en{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:end !important;
}
.book-heading h2{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  align-self:center !important;
}
.book-heading__rule{
  grid-column:3 !important;
  grid-row:2 !important;
  width:100% !important;
  height:1px !important;
  margin:0 !important;
  align-self:center !important;
  background:var(--book-line) !important;
}
@media(max-width:600px){
  .book-heading{
    grid-template-columns:24px auto minmax(30px,1fr) !important;
    column-gap:11px !important;
    row-gap:5px !important;
  }
  .book-heading__icon{
    width:22px !important;
    height:22px !important;
  }
}


/* V14: hero width / centered content / generated subtitle+lead */
:root{
  --hero-shell:1120px;
  --hero-inner-left:300px;
  --hero-inner-right:720px;
}

.book-wrap{
  width:min(var(--hero-shell), calc(100% - 48px)) !important;
}

.book-hero__box{
  display:grid !important;
  grid-template-columns:var(--hero-inner-left) minmax(0, var(--hero-inner-right)) !important;
  justify-content:center !important;
  gap:72px !important;
  padding:54px 64px !important;
  background:linear-gradient(90deg,#efebe6 0%, #f5f1ed 14%, #f5f1ed 86%, #efebe6 100%) !important;
}

.book-cover{
  justify-content:center !important;
}
.book-cover img{
  width:245px !important;
  max-height:none !important;
}

.book-hero__text{
  align-self:center !important;
}

.book-kicker{
  margin-bottom:22px !important;
}

.book-catch{
  margin:0 0 22px !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:18px !important;
  line-height:1.65 !important;
  color:#615a55 !important;
}

.book-author{
  margin-top:20px !important;
}
.book-lead{
  margin:30px 0 0 !important;
  max-width:none !important;
}

.editions,
.book-section{
  width:min(var(--section-content), 100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (min-width:601px) and (max-width:900px){
  :root{
    --hero-shell:100%;
    --hero-inner-left:220px;
    --hero-inner-right:1fr;
  }
  .book-wrap{
    width:calc(100% - 36px) !important;
  }
  .book-hero__box{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:40px !important;
    padding:40px 42px !important;
  }
  .book-cover img{
    width:190px !important;
  }
  .book-catch{
    font-size:16px !important;
  }
}

@media (max-width:600px){
  .book-wrap{
    width:calc(100% - 28px) !important;
  }
  .book-hero__box{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:30px 22px !important;
  }
  .book-cover img{
    width:158px !important;
  }
  .book-catch{
    font-size:15px !important;
    margin-bottom:16px !important;
  }
  .book-lead{
    max-width:none !important;
    margin-top:22px !important;
  }
}


/* V15 book_31 catch role confirmation */
.book-catch{
  margin:0 0 22px !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:18px !important;
  line-height:1.65 !important;
  color:#615a55 !important;
}
.book-author{
  margin-top:20px !important;
}
.book-lead{
  margin:30px 0 0 !important;
  max-width:none !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:17px !important;
  line-height:1.9 !important;
  color:#4b4743 !important;
}
@media(max-width:600px){
  .book-catch{
    font-size:15px !important;
    margin-bottom:16px !important;
  }
  .book-lead{
    max-width:none !important;
    margin-top:22px !important;
    font-size:15px !important;
    line-height:1.85 !important;
  }
}


/* V17: 著者紹介の下地を削除 */
.author-card{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   HERO alignment fix v3
   ・書影左端 = FORMAT / EDITION 左端
   ・2行キャッチの横幅を縮めない
   ========================================================= */
@media (min-width:901px){
  .book-hero__box{
    grid-template-columns:245px minmax(0, 1fr) !important;
    justify-content:stretch !important;
    gap:48px !important;
    padding-left:130px !important;
    padding-right:30px !important;
  }

  .book-cover{
    justify-content:flex-start !important;
  }

  .book-cover img{
    width:245px !important;
  }

  .book-hero__text{
    align-self:center !important;
    min-width:0 !important;
  }

  .book-lead{
    width:100% !important;
    max-width:none !important;
    white-space:normal !important;
  }
}


/* =========================================================
   HERO text position fine-tune v4
   右側テキスト一式を気持ち右へ
   ========================================================= */
@media (min-width:901px){
  .book-hero__text{
    padding-left:20px !important;
    box-sizing:border-box !important;
  }
}


/* =========================================================
   FORMAT / EDITION fine-tune v5b
   天地幅は維持。少しだけ大きく、少しだけゆったり。
   ========================================================= */
@media (min-width:901px){
  .edition{
    align-items:center !important;
  }

  .edition__meta{
    font-size:15px !important;
    line-height:1.35 !important;
  }

  .edition__meta-line{
    line-height:1.35 !important;
  }

  .edition__links a{
    font-size:14px !important;
    min-width:96px !important;
    min-height:44px !important;
    padding:10px 18px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }
}


/* =========================================================
   FORMAT / EDITION fine-tune v5c
   書誌情報は少し小さく、ボタンもごくわずかに縮小
   ========================================================= */
@media (min-width:901px){
  .edition__meta{
    font-size:14px !important;
    line-height:1.32 !important;
  }

  .edition__meta-line{
    line-height:1.32 !important;
  }

  .edition__links a{
    font-size:13.5px !important;
    min-width:92px !important;
    min-height:42px !important;
    padding:9px 16px !important;
  }
}

/* =========================================================
   SHARED MOBILE DETAIL ALIGNMENT v18
   FORMAT / EDITION と下層セクションの左右ラインを統一
   ========================================================= */
main.book-page{
  font-family:inherit !important;
  font-size:16px !important;
  line-height:normal !important;
  letter-spacing:normal !important;
  font-weight:400 !important;
}

/* （オンデマンド）など補助表記は本文より一回り小さく */
.edition__name small{
  font-size:12px !important;
  line-height:1.15 !important;
}

@media(max-width:600px){
  /* .editions は .book-wrap 内にあるため、ここでさらに14pxずつ内側へ */
  main.book-page .editions{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  /* .book-section は .book-wrap 外なので、FORMATと同じ実表示幅まで28pxずつ内側へ */
  main.book-page .book-section{
    width:calc(100% - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  main.book-page .book-prose,
  main.book-page .author-card,
  main.book-page .toc-list,
  main.book-page .review-list{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  main.book-page .book-heading h2{
    font-size:24px !important;
  }

  main.book-page .book-prose{
    font-size:15px !important;
    line-height:1.95 !important;
  }

  main.book-page .author-card h3{
    font-size:18px !important;
    margin-bottom:12px !important;
  }
}

/* =========================================================
   SHARED DESKTOP + MOBILE VERTICAL RHYTHM v20
   FORMAT / EDITION → ABOUT THE BOOK を詰め、
   最終セクション → フッター前に呼吸をつくる
   ========================================================= */

/* PC / tablet */
@media(min-width:601px){
  .book-bottom-space{
    height:28px !important;
  }

  .book-page{
    padding-bottom:64px !important;
  }
}

/* SP */
@media(max-width:600px){
  .book-bottom-space{
    height:24px !important;
  }

  .book-page{
    padding-bottom:56px !important;
  }
}



/* ===== LEADERS NOTE BOOK DETAIL v11 : shared audit styles ===== */

/* Table of contents */
.toc-list{
  width:min(var(--book-text),100%);
  margin:0 auto;
  padding:0;
  list-style:none;
  font-size:15px;
  line-height:1.9;
}
.toc-list li{
  padding:8px 0;
  border-bottom:1px solid rgba(221,215,208,.65);
}

/* Review / media
   book_88 / book_89 の現行見せ方に統一：日付＋本文を同一行、左インデントなし */
.review-list{
  width:min(var(--book-text),100%);
  margin:0 auto;
  padding:0;
  list-style:none;
}
.review-list a{
  text-decoration:underline;
  text-underline-offset:3px;
}
.review-media{
  width:min(var(--book-text),100%);
  margin:22px auto 0;
  padding:18px 20px;
  background:#f6f6f4;
  box-sizing:border-box;
  text-align:center;
}
.review-media a{display:inline-block;}
.review-media img{
  display:block;
  width:340px;
  max-width:100%;
  height:auto;
  margin:0 auto;
}

/* Embedded video */
.book-videos{
  width:min(var(--book-text),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.book-video{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.book-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Advertisement images */
.ad-grid{
  width:min(var(--book-text),100%);
  margin:0 auto;
  padding:20px;
  box-sizing:border-box;
  background:#f6f6f4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.ad-grid a{display:block;text-align:center;}
.ad-grid img{display:block;width:100%;height:auto;margin:0 auto;}

/* Author timeline */
.author-timeline{
  width:100%;
  margin:0;
  border-top:1px solid rgba(221,215,208,.7);
}
.author-timeline__row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:16px;
  padding:8px 0;
  border-bottom:1px solid rgba(221,215,208,.55);
  align-items:start;
}
.author-timeline__year{
  color:#8a8178;
  font-size:.9em;
  font-weight:600;
  letter-spacing:.04em;
}
.author-timeline__text{line-height:1.75;}
.author-current{
  margin-top:18px;
  padding:16px 18px;
  background:#f6f6f4;
}
.author-current__label{
  display:block;
  margin-bottom:6px;
  font-size:.85em;
  color:#8a8178;
  font-weight:600;
  letter-spacing:.08em;
}
.author-note{
  margin-top:16px;
  padding:16px 18px;
  background:#f6f6f4;
}
.author-note__label{
  display:block;
  margin-bottom:6px;
  font-size:.85em;
  color:#8a8178;
  font-weight:600;
  letter-spacing:.08em;
}

@media(max-width:720px){
  .book-videos{grid-template-columns:1fr;gap:18px;}
  .ad-grid{grid-template-columns:1fr;}
  .author-timeline__row{grid-template-columns:58px 1fr;gap:12px;}
}


/* ===== LEADERS NOTE BOOK DETAIL v11 : migrated page styles ===== */

/* Book title subtitle */
.book-title .book-title-sub{
  display:block;
  margin-top:10px;
  font-size:.48em;
  line-height:1.4;
  letter-spacing:.03em;
}

/* Pull quote */
.book-quote{
  width:min(var(--book-text),100%);
  margin:34px auto 0;
  padding:20px 26px;
  border-left:2px solid #b8afa6;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;
  line-height:1.9;
  color:#56504b;
}

/* Compact author timeline — finalized on book_96 */
.author-timeline{
  margin-top:18px;
  border-top:1px solid #e8e8e5;
}
.author-timeline__row{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid #ececea;
  align-items:baseline;
}
.author-timeline__year{
  font-size:.82em;
  letter-spacing:.06em;
  color:#777;
  font-weight:700;
  line-height:1.55;
}
.author-timeline__text{
  font-size:.94em;
  line-height:1.55;
}
.author-current{
  margin-top:24px;
  padding:18px 20px;
  background:#f7f7f4;
  border-left:3px solid #c8c8c2;
}
.author-current__label,
.author-profile-note__label{
  display:block;
  font-size:.78em;
  letter-spacing:.12em;
  color:#777;
  font-weight:700;
  margin-bottom:8px;
}
.author-current p,
.author-profile-note p{
  margin:0;
  line-height:1.9;
}
.author-profile-note{
  margin-top:16px;
  padding:18px 20px;
  background:#faf9f6;
}

@media(max-width:640px){
  .author-timeline__row{
    grid-template-columns:50px 1fr;
    gap:10px;
    padding:7px 0;
  }
  .author-timeline__year{font-size:.8em;}
  .author-timeline__text{font-size:.92em;line-height:1.5;}
  .author-current,.author-profile-note{padding:16px;}
  .review-media{padding:16px;}
  .review-media img{width:100%;max-width:340px;}
}

@media(max-width:600px){
  .book-title .book-title-sub{font-size:.56em;}
  .book-quote{padding:16px 18px;font-size:14px;}
}


/* Author profile as-of note */
.author-asof{
  margin:10px 0 0 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:12px;
  line-height:1.6;
  color:#8a837d;
  text-align:right;
}

/* =========================================================
   FORMAT / EDITION buttons final fix v11.1
   ・前のコンパクト仕様へ戻す
   ・hover時に白文字だけにならないよう背景色を固定
   ========================================================= */
.edition__links a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:72px !important;
  width:auto !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(23,72,111,.52) !important;
  background:#fff !important;
  color:#17486f !important;
  text-decoration:none !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  opacity:1 !important;
}

.edition__links a:hover,
.edition__links a:focus,
.edition__links a:focus-visible{
  background:#17486f !important;
  color:#fff !important;
  border-color:#17486f !important;
  opacity:1 !important;
}

@media(min-width:901px){
  .edition__links a{
    min-width:72px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   AUTHOR ROLE + MEDIA ENTRY shared layout v11.2
   著者肩書き / 日付→紹介→図 の共通表示
   ========================================================= */
.author-role{
  width:min(var(--book-text),100%);
  margin:0 auto 12px;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px;
  line-height:1.7;
  color:#2f2b28;
}
.author-role > div{margin:0;}
.author-link{
  width:min(var(--book-text),100%);
  margin:0 auto 24px !important;
  font-size:14px;
}
.author-link a{
  color:#17486f;
  text-decoration:underline;
  text-underline-offset:3px;
}

.media-list{
  width:min(var(--book-text),100%);
  margin:0 auto;
}
.media-entry{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(221,215,208,.78);
}
.media-entry:last-child{
  margin-bottom:0;
  border-bottom:0;
}
.media-date{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  letter-spacing:.08em;
  color:#8f8881;
}
.media-description{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;
  line-height:1.9;
  color:#403c38;
}
.media-description p{margin:0;}
.media-description a{
  color:#17486f;
  text-decoration:underline;
  text-underline-offset:3px;
}
.media-visual{
  margin:18px 0 0;
  padding:18px 20px;
  background:#f6f6f4;
  text-align:center;
  box-sizing:border-box;
}
.media-visual a{display:inline-block;}
.media-visual img{
  display:block;
  width:360px;
  max-width:100%;
  height:auto;
  margin:0 auto;
}

@media(max-width:600px){
  .author-role{font-size:14px;}
  .author-link{font-size:13px;}
  .media-description{font-size:14px;line-height:1.9;}
  .media-visual{padding:14px;}
  .media-visual img{width:100%;}
}


/* =========================================================
   v11.3 author font + media entry final
   著者肩書きは本文と同じ明朝。
   書評・掲載情報は 日付 → 紹介 → 図 に統一。
   ========================================================= */
.author-role,
.author-link{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
}
.author-role{
  font-size:15px !important;
  line-height:1.75 !important;
}
.author-link{
  font-size:14px !important;
  line-height:1.8 !important;
}

.media-list{
  width:min(var(--book-text),100%);
  margin:0 auto;
}
.media-entry{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid rgba(221,215,208,.78);
}
.media-entry:last-child{
  margin-bottom:0;
  border-bottom:0;
}
.media-date{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.08em;
  color:#8f8881;
}
.media-description{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:15px;
  line-height:1.9;
  color:#403c38;
}
.media-description p{margin:0;}
.media-description a{
  color:#17486f;
  text-decoration:underline;
  text-underline-offset:3px;
}
.media-visual{
  margin:18px 0 0;
  padding:18px 20px;
  background:#f6f6f4;
  text-align:center;
  box-sizing:border-box;
}
.media-visual a{display:inline-block;}
.media-visual img{
  display:block;
  width:360px;
  max-width:100%;
  height:auto;
  margin:0 auto;
}
@media(max-width:600px){
  .author-role{font-size:14px !important;}
  .author-link{font-size:13px !important;}
  .media-description{font-size:14px;line-height:1.9;}
  .media-visual{padding:14px;}
  .media-visual img{width:100%;}
}

/* v11.4 AUTHOR section Mincho final */
.author-card,
.author-card h3,
.author-card p,
.author-card div,
.author-card span,
.author-role,
.author-role > div,
.author-link,
.author-link__arrow,
.author-link a{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
}
.author-card,.author-card p{
  font-size:16px !important;
  line-height:2 !important;
  color:#403c38 !important;
}
.author-role{
  font-size:16px !important;
  line-height:1.75 !important;
  color:#403c38 !important;
}
.author-link{
  font-size:15px !important;
  line-height:1.8 !important;
  color:#403c38 !important;
}
.author-link__arrow{
  display:inline-block;
  margin-right:.28em;
  color:#403c38 !important;
  text-decoration:none !important;
}
.author-link a{
  color:#17486f !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}
@media(max-width:600px){
  .author-card,.author-card p,.author-role{font-size:15px !important;}
  .author-link{font-size:14px !important;}
}

/* =========================================================
   v11.5 special-page link typography
   特設ページ➡︎ は明朝、リンク本文はゴシック
   ========================================================= */
.author-link__prefix{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  color:#403c38 !important;
  text-decoration:none !important;
}
.author-link a{
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
  color:#17486f !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}

/* v11.6 ISBN nowrap */
.edition__meta-line .isbn-block{
  white-space:nowrap !important;
}

/* v11.8: multiple author profiles */
.author-card + .author-card {
  margin-top: 40px;
}


/* =========================================================
   v11.9 REVIEWS / NEWS — book_89 visual standard
   date on its own line / small serif / muted gray
   ========================================================= */
main.book-page .review-list{
  width:min(var(--book-text),100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  list-style:none !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  color:#403c38 !important;
}
main.book-page .review-item{
  margin:0 !important;
  padding:0 0 34px !important;
  border-bottom:1px solid rgba(221,215,208,.78) !important;
}
main.book-page .review-item + .review-item{
  padding-top:34px !important;
}
main.book-page .review-item:last-child{
  padding-bottom:0 !important;
  border-bottom:0 !important;
}
main.book-page .review-date{
  margin:0 0 14px !important;
  padding:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.5 !important;
  letter-spacing:.08em !important;
  color:#928b84 !important;
}
main.book-page .review-text{
  margin:0 !important;
  padding:0 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:2 !important;
  color:#403c38 !important;
}
main.book-page .review-text a{
  color:#17486f !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}
main.book-page .review-media{
  width:100% !important;
  margin:20px 0 0 !important;
  padding:18px 20px !important;
  background:#f6f6f4 !important;
  box-sizing:border-box !important;
  text-align:center !important;
}
main.book-page .review-media img{
  display:block !important;
  width:360px !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
}
@media(max-width:600px){
  main.book-page .review-date{
    margin-bottom:12px !important;
    font-size:13px !important;
  }
  main.book-page .review-text{
    font-size:15px !important;
    line-height:1.95 !important;
  }
  main.book-page .review-item{padding-bottom:28px !important;}
  main.book-page .review-item + .review-item{padding-top:28px !important;}
  main.book-page .review-media{padding:14px !important;}
  main.book-page .review-media img{width:100% !important;}
}


/* =========================================================
   v11.10 review excerpt spacing / zoom affordance
   ========================================================= */
main.book-page .review-text p{
  margin:0 !important;
}
main.book-page .review-text .review-excerpt{
  margin-top:24px !important;
}
main.book-page .review-media__link{
  position:relative !important;
  display:inline-block !important;
  line-height:0 !important;
  cursor:zoom-in !important;
}
main.book-page .review-media__link::before{
  content:"";
  position:absolute;
  right:13px;
  bottom:13px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(64,60,56,.32);
  box-shadow:0 1px 5px rgba(0,0,0,.14);
  z-index:2;
}
main.book-page .review-media__link::after{
  content:"+";
  position:absolute;
  right:20px;
  bottom:20px;
  width:16px;
  height:16px;
  border:2px solid #403c38;
  border-radius:50%;
  color:#403c38;
  font-family:Arial,sans-serif;
  font-size:13px;
  font-weight:400;
  line-height:13px;
  text-align:center;
  box-sizing:border-box;
  z-index:3;
}
main.book-page .review-media__link:hover::before{
  background:#fff;
}
@media(max-width:600px){
  main.book-page .review-text .review-excerpt{margin-top:20px !important;}
  main.book-page .review-media__link::before{right:10px;bottom:10px;}
  main.book-page .review-media__link::after{right:17px;bottom:17px;}
}


/* =========================================================
   v11.11 review zoom icon refinement
   ========================================================= */
main.book-page .review-media__link::before{
  right:14px !important;
  bottom:14px !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.16), inset 0 0 0 1px rgba(64,60,56,.08) !important;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
main.book-page .review-media__link::after{
  right:14px !important;
  bottom:14px !important;
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:999px !important;
  color:#403c38 !important;
  font-family:"Times New Roman",serif !important;
  font-size:29px !important;
  font-weight:400 !important;
  line-height:39px !important;
  text-align:center !important;
  text-shadow:0 1px 0 rgba(255,255,255,.5);
}
main.book-page .review-media__link:hover::before{
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 0 0 1px rgba(64,60,56,.10) !important;
}
main.book-page .review-media__link:hover::after{
  transform:scale(1.04);
}
@media(max-width:600px){
  main.book-page .review-media__link::before{
    right:10px !important;
    bottom:10px !important;
    width:38px !important;
    height:38px !important;
  }
  main.book-page .review-media__link::after{
    right:10px !important;
    bottom:10px !important;
    width:38px !important;
    height:38px !important;
    font-size:26px !important;
    line-height:35px !important;
  }
}


/* =========================================================
   v11.13 edition stock notice typography
   ========================================================= */
main.book-page .edition__notice{
  margin:10px 0 2px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:12px;
  line-height:1.7;
  color:#8a837d;
}


/* =========================================================
   v11.14 FORMAT / EDITION single-line vertical alignment
   空の2行目は高さを取らず、2行情報がある場合だけ2段表示する
   ========================================================= */
main.book-page .edition__meta-line:empty{
  display:none !important;
}


/* =========================================================
   v11.15 KOCHI BOOKS related navigation / newspaper title
   ========================================================= */
main.book-page .newspaper-title{
  margin-top:18px;
  padding:4px 0 4px 18px;
  border-left:2px solid #403c38;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
main.book-page .newspaper-title__text{
  display:block;
  font-size:19px;
  line-height:1.65;
  letter-spacing:.02em;
  color:#2f2b28;
}
main.book-page .newspaper-title__source{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.6;
  color:#8a837d;
}
main.book-page .kochi-books-link{
  width:min(760px,calc(100% - 40px));
  margin:56px auto 72px;
}
main.book-page .kochi-books-link__card{
  position:relative;
  display:block;
  padding:26px 66px 25px 28px;
  border:1px solid #ded8d1;
  background:#faf9f6;
  color:#403c38;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
main.book-page .kochi-books-link__card::after{
  content:"→";
  position:absolute;
  right:26px;
  top:50%;
  transform:translateY(-50%);
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  color:#82796f;
}
main.book-page .kochi-books-link__card:hover{
  background:#fff;
  border-color:#c7beb4;
  transform:translateY(-1px);
}
main.book-page .kochi-books-link__eyebrow{
  display:block;
  margin-bottom:8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px;
  letter-spacing:.16em;
  color:#9a9188;
}
main.book-page .kochi-books-link__title{
  display:block;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:18px;
  line-height:1.65;
  color:#403c38;
}
main.book-page .kochi-books-link__cta{
  display:block;
  margin-top:8px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:13px;
  color:#6f665e;
}
main.book-page .kochi-books-link__cta span{display:none;}
@media(max-width:600px){
  main.book-page .newspaper-title{padding-left:14px;}
  main.book-page .newspaper-title__text{font-size:17px;}
  main.book-page .kochi-books-link{
    width:calc(100% - 32px);
    margin:44px auto 56px;
  }
  main.book-page .kochi-books-link__card{padding:22px 52px 21px 20px;}
  main.book-page .kochi-books-link__card::after{right:20px;font-size:21px;}
  main.book-page .kochi-books-link__title{font-size:16px;}
}
