/* TCD-inspired white article surface, enabled only for pp-renovation articles. */
body.ppnr-page.ppnr-paper main#ppnr-main.ppnr {
  --ppnr-ink:#222; --ppnr-line:#ddd; --ppnr-accent:#80681e;
  background:#fff !important; color:#222 !important; color-scheme:light;
  padding:35px max(24px, calc((100% - 1180px) / 2)) 80px;
}
body.ppnr-paper #ppnr-main .ppnr-layout { grid-template-columns:minmax(0,820px) minmax(220px,300px); gap:50px; }
body.ppnr-paper #ppnr-main .ppnr-breadcrumb { margin-bottom:24px; color:#666; }
body.ppnr-paper #ppnr-main .ppnr-breadcrumb a { color:#555; }
body.ppnr-paper #ppnr-main .ppnr-article-heading { background:transparent; color:#222; border:0; margin-bottom:35px; padding:0; }
body.ppnr-paper #ppnr-main .ppnr-article-heading > p { display:inline-block; background:#07364e; color:white; padding:9px 28px; margin:0 18px 0 0; letter-spacing:.03em; }
body.ppnr-paper #ppnr-main .ppnr-article-heading time { font-size:12px; color:#666; }
body.ppnr-paper #ppnr-main .ppnr-article-heading h1 { font-size:22px; line-height:1.7; font-weight:600; color:#333; margin-top:28px; }
body.ppnr-paper #ppnr-main .ppnr-article-cover { margin:0; }
body.ppnr-paper #ppnr-main .ppnr-article-cover img { width:100%; height:auto; display:block; }
body.ppnr-paper #ppnr-main .ppnr-content { color:#222; }
body.ppnr-paper #ppnr-main .ppnr-content a,
body.ppnr-paper #ppnr-main .ppnr-resources a,
body.ppnr-paper #ppnr-main .ppnr-back,
body.ppnr-paper #ppnr-main .ppnr-years a { color:#57491e; }
body.ppnr-paper #ppnr-main .ppnr-aside { padding:0; border:0; }
body.ppnr-paper #ppnr-main .ppnr-aside h2 { color:white; background:#080808; padding:16px 20px; font-size:14px; margin:0 0 20px; letter-spacing:0; }
body.ppnr-paper #ppnr-main .ppnr-aside > p { color:#666; }
body.ppnr-paper #ppnr-main .ppnr-editorial-recent { margin-bottom:45px; }
body.ppnr-paper #ppnr-main .ppnr-editorial-recent ul { list-style:none; margin:0; padding:0; }
body.ppnr-paper #ppnr-main .ppnr-editorial-recent li { display:grid; grid-template-columns:80px minmax(0,1fr); gap:16px; margin:0 0 22px; padding:0; }
body.ppnr-paper #ppnr-main .ppnr-editorial-thumb .ppnr-thumb { display:block; width:80px; height:80px; background-size:cover; background-position:center; overflow:hidden; }
body.ppnr-paper #ppnr-main .ppnr-editorial-summary { font-size:13px; line-height:1.8; color:#333; overflow-wrap:anywhere; }
body.ppnr-paper #ppnr-main .ppnr-editorial-summary > a { color:#333; }
body.ppnr-paper #ppnr-main .ppnr-editorial-summary time { display:block; color:#666; font-size:12px; margin-top:7px; }
body.ppnr-paper #ppnr-main .ppnr-pagination .page-numbers { background:#fff; color:#333; }
body.ppnr-paper #ppnr-main .ppnr-pagination .current { background:#222; color:#fff; }
@media(max-width:900px) {
  body.ppnr-page.ppnr-paper main#ppnr-main.ppnr { padding:25px 20px 60px; }
  body.ppnr-paper #ppnr-main .ppnr-layout { grid-template-columns:1fr; gap:45px; }
  body.ppnr-paper #ppnr-main .ppnr-article-heading h1 { font-size:19px; }
}


/* =========================================================
   01｜基本
========================================================= */
#ppnr-main .pp-renovation {
  --text: #222;
  --sub: #666;
  --line: #ddd;

  width: 100%;
  background: #fff;
  color: var(--text);

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif;
}

#ppnr-main .pp-renovation *,
#ppnr-main .pp-renovation *::before,
#ppnr-main .pp-renovation *::after {
  box-sizing: border-box;
}

#ppnr-main .pp-renovation__wrap {
  width: min(calc(100% - 48px), 820px);
  margin: 0 auto;
}

#ppnr-main .pp-renovation a {
  color: #222;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: opacity .25s ease;
}

#ppnr-main .pp-renovation a:hover {
  opacity: .6;
}


/* =========================================================
   02｜ヘッダー
========================================================= */
#ppnr-main .pp-renovation__header {
  padding: 62px 0 44px;
  border-bottom: 1px solid var(--line);
}

#ppnr-main .pp-renovation__meta {
  margin: 0 0 14px;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .12em;
  color: #777;
}

#ppnr-main .pp-renovation h2.pp-renovation__title {
  max-width: 780px;
  margin: 0;
  padding: 0;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 32px;
  line-height: 1.55;
  letter-spacing: .01em;
  font-weight: 700 !important;
  color: #111 !important;
}

#ppnr-main .pp-renovation__lead {
  max-width: 720px;
  margin: 25px 0 0;
  font-size: 16px;
  line-height: 2;
  color: #555;
}


/* =========================================================
   03｜本文
========================================================= */
#ppnr-main .pp-renovation__body {
  padding: 56px 0 80px;
}

#ppnr-main .pp-renovation__section {
  margin: 0 0 54px;
}

#ppnr-main .pp-renovation__section h3 {
  margin: 0 0 21px;
  padding: 0 0 10px;
  border-bottom: 1px solid #ccc;

  font-size: 21px;
  line-height: 1.6;
  font-weight: 700;
  color: #222;
}

#ppnr-main .pp-renovation__section p {
  margin: 0 0 21px;
  font-size: 15.5px;
  line-height: 2;
  color: #333;
}

#ppnr-main .pp-renovation__section p:last-child {
  margin-bottom: 0;
}


/* =========================================================
   04｜画像
   本文幅いっぱい・トリミングなし
========================================================= */
#ppnr-main .pp-renovation__visual {
  width: 100%;
  margin: 28px 0 34px;
  padding: 0;
}

#ppnr-main .pp-renovation__visual img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  border: 0;
  border-radius: 0;
}

#ppnr-main .pp-renovation__visual figcaption {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.7;
  color: #666;
}


/* =========================================================
   05｜リンク
========================================================= */
#ppnr-main .pp-renovation__link {
  margin-top: 24px !important;
  font-size: 14.5px !important;
  font-weight: 700;
}


/* =========================================================
   06｜最後のセクション
========================================================= */
#ppnr-main .pp-renovation__closing {
  margin-top: 62px;
  padding-top: 30px;
  border-top: 2px solid #222;
}


/* =========================================================
   07｜スマホ
========================================================= */
@media (max-width: 767px) {

  #ppnr-main .pp-renovation__wrap {
    width: calc(100% - 36px);
  }

  #ppnr-main .pp-renovation__header {
    padding: 42px 0 34px;
  }

  #ppnr-main .pp-renovation__meta {
    font-size: 10px;
  }

  #ppnr-main .pp-renovation h2.pp-renovation__title {
    font-size: 24px;
    line-height: 1.55;
    font-weight: 700 !important;
  }

  #ppnr-main .pp-renovation__lead {
    margin-top: 21px;
    font-size: 15px;
    line-height: 1.95;
  }

  #ppnr-main .pp-renovation__body {
    padding: 44px 0 62px;
  }

  #ppnr-main .pp-renovation__section {
    margin-bottom: 45px;
  }

  #ppnr-main .pp-renovation__section h3 {
    margin-bottom: 19px;
    font-size: 19px;
    line-height: 1.6;
  }

  #ppnr-main .pp-renovation__section p {
    margin-bottom: 19px;
    font-size: 15px;
    line-height: 1.95;
  }

  #ppnr-main .pp-renovation__visual {
    margin: 25px 0 31px;
  }

  #ppnr-main .pp-renovation__closing {
    margin-top: 50px;
    padding-top: 26px;
  }
}

/* Magazine coverage article. */
#ppnr-main .pp-pm-featured { padding:46px 0 30px; color:#333; overflow-wrap:anywhere; }
#ppnr-main .pp-pm-featured .pp-pm-kicker { font-size:20px; line-height:1.6; color:#80681e; margin:0 0 18px; font-weight:400; }
#ppnr-main .pp-pm-featured .pp-pm-meta { font-size:11px; letter-spacing:.09em; color:#777; margin-bottom:32px; }
#ppnr-main .pp-pm-featured h2 { font-size:26px; line-height:1.7; color:#222; margin:0 0 30px; padding:0; border:0; }
#ppnr-main .pp-pm-featured p { font-size:15px; line-height:2; margin:0 0 24px; font-weight:400; color:#333; }
#ppnr-main .pp-pm-featured .pp-pm-publication { padding:22px; background:#f5f4f0; border-left:3px solid #ba9f3f; }
#ppnr-main .pp-pm-featured a.pp-pm-pdf { display:inline-block; padding:15px 25px; background:#07364e; color:#fff; text-decoration:none; line-height:1.6; }
#ppnr-main .pp-pm-featured a.pp-pm-pdf:hover { background:#164e67; }
#ppnr-main .pp-pm-featured .pp-pm-banner { max-width:580px; margin:30px auto; }
#ppnr-main .pp-pm-featured .pp-pm-banner img { display:block; width:100%; height:auto; }
@media(max-width:767px) { #ppnr-main .pp-pm-featured { padding-top:30px; } #ppnr-main .pp-pm-featured h2 { font-size:21px; } #ppnr-main .pp-pm-featured .pp-pm-kicker { font-size:17px; } #ppnr-main .pp-pm-featured p { font-size:14px; } }
