/* =========================================================
   人生再設計カテゴリー：HERO・5テーマ・特集・気持ち別記事・テーマ別記事・新着・締め
========================================================= */

/* =========================================================
   Start From 39 | 人生再設計・最終誌面版 | このファイル全体を置換
========================================================= */

/* =========================================================
   01 色・共通余白：既存カテゴリーCSSと異なる専用クラスで限定
========================================================= */

body.category-second-life {
  background: #fffefa;
}

body.category-second-life #primary.sf39-lr {
  --lr-green: #124c43;
  --lr-ink: #163e38;
  --lr-coral: #db6959;
  --lr-sage: #eef2e9;
  --lr-line: #dce2db;
  --lr-serif: 'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;
  --lr-sans: 'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;

  display: block;

  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  background: #fffefa;
  color: var(--lr-ink);

  font: 16px/1.85 var(--lr-sans);

  overflow: clip;
}

.sf39-lr,
.sf39-lr *,
.sf39-lr *::before,
.sf39-lr *::after {
  box-sizing: border-box;
}

.sf39-lr a {
  color: inherit;

  text-decoration: none;
}

.sf39-lr img {
  display: block;

  width: 100%;
  max-width: 100%;

  object-fit: cover;

  border-radius: 0;
  filter: none;
  opacity: 1;
}

.sf39-lr h1,
.sf39-lr h2,
.sf39-lr h3,
.sf39-lr p {
  margin: 0;
}

.sf39-lr h1,
.sf39-lr h2,
.sf39-lr h3 {
  color: var(--lr-ink);

  font-family: var(--lr-serif);
  font-weight: 600;
}

.sf39-lr h3 {
  font-size: 19px;
  line-height: 1.65;
}

.sf39-lr-container {
  width: min(1180px,calc(100% - 80px));

  margin-inline: auto;
}

.sf39-lr-section {
  margin-block: 52px;
}

.sf39-lr-label {
  display: flex;

  align-items: center;
  gap: 12px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
}

.sf39-lr-label::before,
.sf39-lr-heading>h2::before {
  content: '';

  flex: none;

  width: 3px;
  height: 16px;

  background: var(--lr-coral);
}

.sf39-lr-label-line::after {
  content: '';

  width: 76px;

  border-top: 1px solid #a5b7ae;
}

.sf39-lr-label span {
  font-size: 11px;
  letter-spacing: .06em;
}

.sf39-lr-heading {
  display: flex;

  align-items: end;
  justify-content: space-between;
  gap: 24px;

  margin-bottom: 24px;
}

.sf39-lr-heading h2 {
  display: flex;

  align-items: center;
  gap: 14px;

  font-size: clamp(22px,2.1vw,29px);
  line-height: 1.55;
}

.sf39-lr-heading .sf39-lr-label {
  margin-bottom: 12px;
}

.sf39-lr-heading>p:not(.sf39-lr-label) {
  font-size: 13px;

  color: #566963;

  line-height: 1.8;
}

.sf39-lr-arrow {
  color: var(--lr-coral);

  font-size: 23px;
}

.sf39-lr-read {
  display: flex;

  justify-content: flex-end;
  align-items: center;
  gap: 16px;

  margin-top: 16px;

  color: var(--lr-green);

  font-size: 13px;
  font-weight: 600;
}

.sf39-lr-read b {
  font-size: 22px;

  color: var(--lr-coral);

  font-weight: 400;

  transition: transform .2s;
}

/* =========================================================
   02 HERO：写真は1枚、左は可読性を保つ紙色のグラデーション
========================================================= */

.sf39-lr-hero {
  position: relative;
  isolation: isolate;

  min-height: 450px;

  background: #fffefa;

  overflow: hidden;
}

.sf39-lr-hero-photo {
  position: absolute;
  inset: 0 0 0 32%;
  z-index: -2;
}

.sf39-lr-hero-photo img {
  height: 100%;

  object-position: 65% center;
}

.sf39-lr-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;

  background: linear-gradient(90deg,#fffefa 0%,#fffefa 28%,rgba(255,254,250,.92) 37%,rgba(255,254,250,0) 55%);
}

.sf39-lr-hero-inner {
  display: flex;

  align-items: center;

  min-height: 450px;
}

.sf39-lr-hero-copy {
  width: 54%;

  padding: 45px 0;
}

.sf39-lr-hero h1 {
  font-size: clamp(36px,4.8vw,64px);
  line-height: 1.35;
  letter-spacing: .025em;

  margin: 20px 0 26px;
}

.sf39-lr-hero h1 span {
  display: block;

  white-space: nowrap;
}

.sf39-lr-hero-lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;

  color: #274d44;
}

.sf39-lr-ribbon {
  background: var(--lr-green);
  color: #fffaf1;
}

.sf39-lr-ribbon .sf39-lr-container {
  display: flex;

  justify-content: space-between;
  align-items: center;
  gap: 20px;

  padding-block: 15px;
}

.sf39-lr-ribbon p {
  font: 17px/1.7 var(--lr-serif);
  letter-spacing: .08em;
}

.sf39-lr-ribbon a {
  font-size: 12px;
  white-space: nowrap;
}

.sf39-lr-ribbon a span {
  margin-left: 25px;
}

/* =========================================================
   03 写真つきテーマ入口
========================================================= */

.sf39-lr-themes {
  display: grid;

  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 20px;
}

.sf39-lr-theme {
  border: 1px solid #e7ebe4;
  background: white;

  transition: transform .2s,
    box-shadow .2s,
    background .2s;
}

.sf39-lr-theme>img {
  aspect-ratio: 1.25;
}

.sf39-lr-theme>div {
  position: relative;

  padding: 17px 15px 30px;
}

.sf39-lr-theme h3 {
  font-size: 18px;
}

.sf39-lr-theme p {
  margin-top: 8px;
  padding-right: 8px;

  font-size: 14px;
  line-height: 1.8;

  color: #4c6058;
}

.sf39-lr-theme .sf39-lr-arrow {
  position: absolute;
  right: 14px;
  bottom: 8px;
}

/* =========================================================
   04 編集部特集
========================================================= */

.sf39-lr-feature>.sf39-lr-label {
  margin-bottom: 22px;
}

.sf39-lr-feature-link {
  display: grid;

  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;
}

.sf39-lr-feature-link>img {
  aspect-ratio: 1.48;
}

.sf39-lr-feature-copy {
  min-width: 0;
}

.sf39-lr-tag {
  display: inline-block;

  margin-bottom: 15px;
  padding: 3px 15px;

  background: #faf0cd;

  font-size: 12px;
}

.sf39-lr-feature-copy h2 {
  font-size: clamp(24px,2.55vw,33px);
  line-height: 1.65;

  overflow-wrap: anywhere;
}

.sf39-lr-feature-copy>p {
  margin-top: 18px;

  font-size: 15px;
  line-height: 1.95;

  color: #53645d;
}

/* =========================================================
   05 問いかけ・気持ち別カード
========================================================= */

.sf39-lr-question {
  background: var(--lr-green);
  color: #fffdf4;

  padding: 34px 0;
}

.sf39-lr-question>.sf39-lr-container {
  display: grid;

  grid-template-columns: 1.65fr 1fr;
  align-items: center;
  gap: 42px;
}

.sf39-lr-question .sf39-lr-label::before {
  display: none;
}

.sf39-lr-question h2 {
  color: #fffdf4;

  font-size: clamp(24px,2.7vw,35px);
  line-height: 1.6;

  margin-top: 12px;
}

.sf39-lr-question .sf39-lr-container>p {
  padding-left: 30px;

  border-left: 1px solid #84a69a;

  font-size: 14px;
  line-height: 1.95;
}

.sf39-lr-moods {
  display: grid;

  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
}

.sf39-lr-moods>a {
  display: grid;

  grid-template-columns: 40% 1fr;

  background: white;
  border: 1px solid #e4e8e1;

  transition: transform .2s,
    box-shadow .2s,
    background .2s;
}

.sf39-lr-moods img {
  height: 100%;
  min-height: 160px;
  aspect-ratio: 1;
}

.sf39-lr-moods a>div {
  position: relative;

  padding: 16px 17px 32px;
}

.sf39-lr-moods h3 {
  font-size: 18px;
}

.sf39-lr-moods p {
  font-size: 14px;

  color: #52675e;

  margin-top: 9px;
}

.sf39-lr-moods .sf39-lr-arrow {
  position: absolute;
  right: 16px;
  bottom: 6px;
}

/* =========================================================
   06 開閉テーマ一覧：open見出しをセージ背景と深緑の左線で区別
========================================================= */

.sf39-lr-explore {
  background: #f2f5ee;

  padding: 40px 0;
}

.sf39-lr-topic {
  scroll-margin-top: 130px;

  background: #fff;
  border: 1px solid var(--lr-line);
  border-bottom: 0;
}

.sf39-lr-topic:last-child {
  border-bottom: 1px solid var(--lr-line);
}

.sf39-lr-topic summary {
  list-style: none;
  cursor: pointer;

  display: flex;

  align-items: center;
  gap: 20px;

  padding: 20px 24px;

  border-left: 3px solid transparent;

  transition: background .2s;
}

.sf39-lr-topic summary::-webkit-details-marker {
  display: none;
}

.sf39-lr-topic summary>img {
  width: 95px;
  height: 82px;

  flex: none;
}

.sf39-lr-topic-rule {
  width: 20px;

  border-top: 1px solid var(--lr-coral);

  flex: none;
}

.sf39-lr-topic-copy {
  flex: 1;

  min-width: 0;
}

.sf39-lr-topic-copy strong {
  display: block;

  font: 600 23px/1.55 var(--lr-serif);
}

.sf39-lr-topic-copy>span {
  display: block;

  margin-top: 7px;

  font-size: 14px;
  line-height: 1.8;

  color: #52675f;
}

.sf39-lr-toggle {
  display: grid;

  place-items: center;

  width: 30px;
  height: 30px;

  border: 1px solid #bfcfc7;
  border-radius: 50%;

  flex: none;
}

.sf39-lr-toggle::after {
  content: '+';

  font: 20px/1 Arial;
}

.sf39-lr-topic[open]>summary {
  background: #e9efe4;
  border-left-color: var(--lr-green);
}

.sf39-lr-topic[open] .sf39-lr-toggle {
  color: white;
  background: var(--lr-green);
  border-color: var(--lr-green);
}

.sf39-lr-topic[open] .sf39-lr-toggle::after {
  content: '−';
}

.sf39-lr-topic-body {
  padding: 6px 24px 24px;
}

.sf39-lr-topic-grid {
  display: grid;

  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 28px;
}

.sf39-lr-entry {
  display: grid;

  grid-template-columns: 120px 1fr;
  align-items: start;
  gap: 20px;

  padding: 24px 0;

  border-bottom: 1px solid #e4e9e2;

  min-width: 0;
}

.sf39-lr-entry>img {
  width: 120px;
  aspect-ratio: 1;
}

.sf39-lr-entry h3 {
  font-size: 18px;
  line-height: 1.65;

  overflow-wrap: anywhere;
}

.sf39-lr-entry p {
  margin-top: 9px;

  color: #627168;

  font-size: 14px;
  line-height: 1.9;
}

.sf39-lr-entry .sf39-lr-read {
  margin-top: 10px;
}

.sf39-lr-entry-text {
  grid-template-columns: 1fr;
}

.sf39-lr-empty {
  padding: 20px;

  font-size: 15px;
}

/* =========================================================
   07 新着：正方形写真と余裕のある本文、全面リンク
========================================================= */

.sf39-lr-latest-grid {
  display: grid;

  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 24px;
}

.sf39-lr-latest-card {
  display: flex;

  flex-direction: column;

  border: 1px solid #e5e9e2;
  background: #fff;

  transition: transform .2s,
    box-shadow .2s;
}

.sf39-lr-latest-card>img {
  aspect-ratio: 1;
}

.sf39-lr-latest-card>div {
  display: flex;

  flex-direction: column;
  flex: 1;

  padding: 20px 17px 15px;
}

.sf39-lr-latest-card h3 {
  font-size: 18px;
  line-height: 1.75;

  overflow-wrap: anywhere;
}

.sf39-lr-latest-card time {
  margin-top: 14px;

  color: #76857c;

  font-size: 12px;
  letter-spacing: .06em;
}

.sf39-lr-latest-card .sf39-lr-read {
  margin-top: auto;
  padding-top: 15px;
}

/* =========================================================
   08 全記事への入口：主役にしすぎない小さめ見出し
========================================================= */

.sf39-lr-archive {
  background: #edf0e4;

  padding: 28px 0;
}

.sf39-lr-archive>.sf39-lr-container {
  border-block: 1px solid #b7c6b8;

  padding-block: 24px;

  display: flex;

  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.sf39-lr-archive .sf39-lr-label::before {
  display: none;
}

.sf39-lr-archive h2 {
  font-size: clamp(20px,2vw,26px);
  line-height: 1.6;

  margin-top: 9px;
}

.sf39-lr-archive h2+p {
  font-size: 14px;

  color: #556c61;

  margin-top: 6px;
}

.sf39-lr-archive a {
  display: flex;

  align-items: center;
  justify-content: center;
  gap: 22px;
  flex: none;

  min-width: 190px;
  min-height: 52px;

  padding: 10px 24px;

  border: 1px solid var(--lr-green);
  border-radius: 40px;

  font-size: 14px;
  font-weight: 600;

  transition: background .2s,
    color .2s;
}

.sf39-lr-archive a b {
  color: var(--lr-coral);

  font-size: 23px;
  font-weight: 400;
}

/* =========================================================
   09 締め：明るい写真の下端をフッターの深緑へ接続
========================================================= */

.sf39-lr-closing {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  background: #fcf6e9;

  min-height: 330px;
}

.sf39-lr-closing-photo {
  position: absolute;
  inset: 0 0 0 auto;

  width: 68% !important;
  height: 100% !important;

  z-index: -2;

  object-position: center;
}

.sf39-lr-closing::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;

  background: linear-gradient(90deg,#fcf6e9 0%,#fcf6e9 25%,rgba(252,246,233,.9) 38%,rgba(252,246,233,0) 65%);
}

.sf39-lr-closing::after {
  content: '';
  position: absolute;
  inset: auto 0 0;

  height: 105px;

  z-index: 1;

  pointer-events: none;

  background: linear-gradient(0deg,#173f38 0%,rgba(23,63,56,.8) 22%,rgba(23,63,56,0) 100%);
}

.sf39-lr-closing-copy {
  padding: 38px 0 100px;

  width: 54%;

  position: relative;
  z-index: 2;
}

.sf39-lr-closing .sf39-lr-label {
  color: #b85547;
}

.sf39-lr-closing h2 {
  margin-top: 14px;

  font-size: clamp(23px,2.45vw,32px);
  line-height: 1.5;
  letter-spacing: .04em;
}

.sf39-lr-closing h2 span {
  color: #ca6657;
}

.sf39-lr-closing-copy>p:last-child {
  margin-top: 16px;

  font-size: 15px;

  color: #34554a;

  line-height: 1.9;
}

body.category-second-life .sf-footer {
  margin-top: 0 !important;

  background: #173f38 !important;
  border-top: 0 !important;
}

body.category-second-life .sf-site,
body.category-second-life .site-content,
body.category-second-life #content {
  padding-bottom: 0 !important;
}

body.category-second-life #primary.sf39-lr + .sf-footer {
  margin-top: 0 !important;
}

/* =========================================================
   10 操作：落ち着いた浮き上がりとタップ色
========================================================= */

.sf39-lr a:focus-visible,
.sf39-lr summary:focus-visible {
  outline: 2px solid #a77c3c;
  outline-offset: 4px;
}

.sf39-lr-theme:active,
.sf39-lr-moods>a:active,
.sf39-lr-entry:active,
.sf39-lr-latest-card:active {
  background: #eef3e9;
}

@media (hover:hover) {
  .sf39-lr-theme:hover,
  .sf39-lr-moods>a:hover,
  .sf39-lr-latest-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 8px 20px #173f3810;
  }

  .sf39-lr a:hover .sf39-lr-read b {
    transform: translateX(4px);
  }

  .sf39-lr-topic summary:hover {
    background: #f0f4ec;
  }

  .sf39-lr-entry:hover {
    background: #f8faf5;
  }

  .sf39-lr-archive a:hover {
    background: var(--lr-green);
    color: #fff;
  }
}

/* =========================================================
   11 タブレット
========================================================= */

@media (max-width:1000px) {
  .sf39-lr-container {
    width: calc(100% - 48px);
  }

  .sf39-lr-themes {
    gap: 12px;
  }

  .sf39-lr-theme>div {
    padding-inline: 12px;
  }

  .sf39-lr-theme h3 {
    font-size: 16px;
  }

  .sf39-lr-feature-link {
    gap: 26px;
  }

  .sf39-lr-moods {
    gap: 14px;
  }

  .sf39-lr-moods>a {
    grid-template-columns: 1fr;
  }

  .sf39-lr-moods img {
    aspect-ratio: 1.4;
    min-height: 0;
    height: auto;
  }

  .sf39-lr-entry {
    grid-template-columns: 90px 1fr;
    gap: 14px;
  }

  .sf39-lr-entry>img {
    width: 90px;
  }

  .sf39-lr-latest-grid {
    gap: 16px;
  }

  .sf39-lr-hero h1 {
    font-size: 48px;
  }

  .sf39-lr-question>.sf39-lr-container {
    gap: 25px;
  }
}

/* =========================================================
   12 スマホ：横スクロール・文字の極小化を避ける
========================================================= */

@media (max-width:767px) {
  .sf39-lr-container {
    width: calc(100% - 36px);
  }

  .sf39-lr-section {
    margin-block: 36px;
  }

  .sf39-lr-heading {
    align-items: start;
    flex-direction: column;
    gap: 10px;

    margin-bottom: 22px;
  }

  .sf39-lr-heading h2 {
    font-size: 23px;
  }

  .sf39-lr-heading>p:not(.sf39-lr-label) {
    font-size: 14px;
  }

  .sf39-lr-hero {
    min-height: 0;
  }

  .sf39-lr-hero-photo {
    position: relative;
    inset: auto;

    height: 270px;

    z-index: 0;
  }

  .sf39-lr-hero-photo img {
    object-position: 65% 42%;
  }

  .sf39-lr-hero::before {
    display: none;
  }

  .sf39-lr-hero-inner {
    min-height: 0;
  }

  .sf39-lr-hero-copy {
    width: 100%;

    padding: 28px 0 34px;
  }

  .sf39-lr-hero h1 {
    font-size: clamp(32px,8.6vw,47px);

    margin: 15px 0 21px;
  }

  .sf39-lr-hero-lead {
    font-size: 16px;
    line-height: 1.85;
  }

  .sf39-lr-ribbon .sf39-lr-container {
    padding-block: 16px;
  }

  .sf39-lr-ribbon p {
    font-size: 15px;
    letter-spacing: 0;
  }

  .sf39-lr-ribbon a {
    display: none;
  }

  .sf39-lr-themes {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px 14px;
  }

  .sf39-lr-theme h3 {
    font-size: 18px;
  }

  .sf39-lr-theme p {
    font-size: 15px;
  }

  .sf39-lr-themes .sf39-lr-theme:last-child {
    grid-column: 1/-1;

    display: grid;

    grid-template-columns: 1fr 1fr;
  }

  .sf39-lr-themes .sf39-lr-theme:last-child img {
    height: 100%;
    aspect-ratio: 1.25;
  }

  .sf39-lr-feature-link {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .sf39-lr-feature-copy h2 {
    font-size: 25px;
  }

  .sf39-lr-feature-copy>p {
    font-size: 16px;
  }

  .sf39-lr-feature-copy>p br {
    display: none;
  }

  .sf39-lr-question {
    padding: 30px 0;
  }

  .sf39-lr-question>.sf39-lr-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .sf39-lr-question h2 {
    font-size: 26px;
  }

  .sf39-lr-question .sf39-lr-container>p {
    padding: 18px 0 0;

    border-left: 0;
    border-top: 1px solid #84a69a;

    font-size: 15px;
  }

  .sf39-lr-question .sf39-lr-container>p br {
    display: none;
  }

  .sf39-lr-moods {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sf39-lr-moods>a {
    grid-template-columns: 35% 1fr;
  }

  .sf39-lr-moods img {
    height: 100%;
    aspect-ratio: 1;
    min-height: 145px;
  }

  .sf39-lr-moods h3 {
    font-size: 19px;
  }

  .sf39-lr-moods p {
    font-size: 15px;
  }

  .sf39-lr-explore {
    padding: 30px 0;
  }

  .sf39-lr-topic summary {
    gap: 12px;

    padding: 17px 12px;
  }

  .sf39-lr-topic summary>img {
    width: 62px;
    height: 66px;
  }

  .sf39-lr-topic-rule {
    display: none;
  }

  .sf39-lr-topic-copy strong {
    font-size: 19px;
  }

  .sf39-lr-topic-copy>span {
    font-size: 14px;
    line-height: 1.8;
  }

  .sf39-lr-toggle {
    width: 27px;
    height: 27px;
  }

  .sf39-lr-topic-body {
    padding: 0 14px 15px;
  }

  .sf39-lr-topic-grid {
    grid-template-columns: 1fr;
  }

  .sf39-lr-entry {
    grid-template-columns: 85px 1fr;
    gap: 14px;

    padding: 23px 0;
  }

  .sf39-lr-entry>img {
    width: 85px;
  }

  .sf39-lr-entry h3 {
    font-size: 18px;
    line-height: 1.7;
  }

  .sf39-lr-entry p {
    font-size: 15px;
    line-height: 1.9;
  }

  .sf39-lr-entry-text {
    grid-template-columns: 1fr;
  }

  .sf39-lr-read {
    font-size: 14px;
  }

  .sf39-lr-latest .sf39-lr-heading {
    flex-direction: row;
    align-items: center;
  }

  .sf39-lr-latest .sf39-lr-label {
    font-size: 10px;

    margin-bottom: 0;

    letter-spacing: .12em;
  }

  .sf39-lr-latest .sf39-lr-label::after {
    display: none;
  }

  .sf39-lr-latest .sf39-lr-heading h2 {
    font-size: 20px;
  }

  .sf39-lr-latest-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 14px;
  }

  .sf39-lr-latest-card>div {
    padding: 17px 12px 14px;
  }

  .sf39-lr-latest-card h3 {
    font-size: 17px;
    line-height: 1.8;
  }

  .sf39-lr-latest-card .sf39-lr-read {
    font-size: 12px;

    gap: 10px;
  }

  .sf39-lr-archive {
    padding: 22px 0;
  }

  .sf39-lr-archive>.sf39-lr-container {
    flex-direction: column;
    align-items: start;
    gap: 20px;

    padding-block: 23px;
  }

  .sf39-lr-archive h2 {
    font-size: 21px;
  }

  .sf39-lr-archive a {
    align-self: flex-end;

    min-width: 180px;
  }

  .sf39-lr-closing {
    padding-top: 210px;
  }

  .sf39-lr-closing-photo {
    width: 100% !important;
    height: 245px !important;

    inset: 0 0 auto;

    object-position: right center;
  }

  .sf39-lr-closing::before {
    background: linear-gradient(0deg,#fcf6e9 0%,#fcf6e9 44%,rgba(252,246,233,0) 65%);
  }

  .sf39-lr-closing-copy {
    width: 100%;

    padding: 28px 0 105px;
  }

  .sf39-lr-closing h2 {
    font-size: 26px;
  }

  .sf39-lr-closing-copy>p:last-child {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sf39-lr * {
    transition: none !important;

    scroll-behavior: auto !important;
  }
}

/* =========================================================
   人生再設計：特集の右側だけを整える。既存CSSの末尾に追加
========================================================= */

.sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-intro {
  margin-top: 22px;

  color: #465e54;

  font-size: 16px;
  line-height: 1.95;
}

.sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-hints {
  display: flex;

  flex-wrap: wrap;
  gap: 10px 0;

  list-style: none;

  margin: 23px 0 0;
  padding: 18px 0 0;

  border-top: 1px solid #cbd7ce;
  color: #52675d;

  font-size: 13px;
  line-height: 1.8;
}

.sf39-lr .sf39-lr-feature-hints > li {
  margin: 0;
  padding: 0 14px;

  border-left: 1px solid #cbd7ce;
}

.sf39-lr .sf39-lr-feature-hints > li:first-child {
  padding-left: 0;

  border-left: 0;
}

.sf39-lr .sf39-lr-feature-copy > .sf39-lr-read {
  justify-content: flex-end;

  margin-top: 25px;

  gap: 18px;

  font-size: 15px;
  line-height: 1.7;
}

.sf39-lr .sf39-lr-feature-copy > .sf39-lr-read b {
  font-size: 27px;
}

@media (max-width: 1000px) {
  .sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-intro br {
    display: none;
  }

  .sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-hints {
    display: grid;

    grid-template-columns: 1fr;
    gap: 7px;
  }

  .sf39-lr .sf39-lr-feature-hints > li {
    padding: 0;

    border-left: 0;
  }
}

@media (max-width: 767px) {
  .sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-intro {
    margin-top: 18px;

    font-size: 16px;
    line-height: 1.9;
  }

  .sf39-lr .sf39-lr-feature-copy .sf39-lr-feature-hints {
    margin-top: 20px;
    padding-top: 16px;

    font-size: 14px;
  }

  .sf39-lr .sf39-lr-feature-copy > .sf39-lr-read {
    margin-top: 22px;

    font-size: 15px;
  }
}

/* =========================================================
   6ページ共通の余白基準：PC / スマホ
   セクション間は次のセクション側だけに設定し、二重の余白を防ぐ。
========================================================= */

body .sf39-lr {
  --sf39-section-space: 64px;
  --sf39-heading-space: 28px;
  --sf39-card-space: 24px;
  --sf39-feature-space: 56px;
  --sf39-closing-space: 64px;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  display: flow-root;
}

/* 通常のセクション：外側の余白と内側の上下余白を整理 */

body .sf39-lr > :is(.sf39-lr-section, .sf39-lr-question, .sf39-lr-archive, .sf39-lr-closing) {
  margin-block: 0 !important;
  padding-block: 0 !important;
}

body .sf39-lr > * + :is(.sf39-lr-section, .sf39-lr-question, .sf39-lr-archive, .sf39-lr-closing) {
  margin-top: var(--sf39-section-space) !important;
}

/* 見出しからカード・本文まで */

body .sf39-lr .sf39-lr-heading,
body .sf39-lr .sf39-lr-feature > .sf39-lr-label {
  margin-bottom: var(--sf39-heading-space) !important;
}

/* カード同士：写真やカードの寸法は既存の指定を使用 */

body .sf39-lr .sf39-lr-themes,
body .sf39-lr .sf39-lr-moods,
body .sf39-lr .sf39-lr-topic-grid,
body .sf39-lr .sf39-lr-latest-grid {
  gap: var(--sf39-card-space) !important;
}

/* 背景色が変わる特集：内側の上下余白 */

body .sf39-lr .sf39-lr-question,
body .sf39-lr .sf39-lr-archive {
  padding-block: var(--sf39-feature-space) !important;
}

/* 最後の締め：内側の上下余白 */

body .sf39-lr .sf39-lr-closing-copy {
  padding-block: var(--sf39-closing-space) !important;
}

body .sf39-lr .sf39-lr-archive > .sf39-lr-container {
  padding-block: 0 !important;
}

body .sf39-lr .sf39-lr-closing {
  min-height: 0 !important;
}

/* フッターとの接続：締めの外側に白い余白を残さない */

body:has(.sf39-lr) :is(.sf-footer, .sf-site-footer) {
  margin-top: 0 !important;
}

body:has(.sf39-lr) :is(.sf-site, #content, .site-content) {
  padding-bottom: 0 !important;
}

@media (max-width: 767px) {
  body .sf39-lr {
    --sf39-section-space: 40px;
    --sf39-heading-space: 22px;
    --sf39-card-space: 18px;
    --sf39-feature-space: 36px;
    --sf39-closing-space: 40px;
  }


  /* スマホの写真表示領域は残し、本文の余白と分ける */
  body .sf39-lr > .sf39-lr-closing {
    padding-top: 210px !important;
  }
}

/* 写真の下端のフェード：本文の下余白に収める */

@media (min-width: 768px) {
  body .sf39-lr .sf39-lr-closing::after {
    height: var(--sf39-closing-space) !important;
  }
}

/* =========================================================
   最後の締め：不要な緑の帯・グラデーション装飾を取り除く
   写真と紙色の締めを残し、深緑のフッターとはそのまま区切る。
   共通CSSの装飾指定が後から読み込まれても、このページで解除。
========================================================= */

body.category-second-life .sf39-lr .sf39-lr-closing::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
