/* Adds Life Journal — category, article and footer continuity. */
#body_wrap.alj-editorial-inner,
body:has(#alj-home),
body:has(.p-articleHead) {
  --alj-ink:#181818;
  --alj-red:#ad2921;
  --alj-paper:#f7f7f2;
  --alj-line:#c9c9c0;
  --alj-muted:#606059;
  background:var(--alj-paper);
  color:var(--alj-ink);
}
#body_wrap.alj-editorial-inner #header {
  color:var(--alj-ink);
  background:var(--alj-paper);
  box-shadow:none;
}
#body_wrap.alj-editorial-inner #header:before { background:var(--alj-paper); opacity:1; }
#body_wrap.alj-editorial-inner #header .l-header__bar { display:none; }
#body_wrap.alj-editorial-inner #header .l-header__inner { max-width:1280px; margin:auto; }
#body_wrap.alj-editorial-inner #header .c-headLogo { max-width:115px; }
#body_wrap.alj-editorial-inner #header .c-headLogo img { max-height:34px; }
#body_wrap.alj-editorial-inner #fix_header { box-shadow:0 1px 0 var(--alj-line); }
#body_wrap.alj-editorial-inner .p-breadcrumb { background:transparent; color:var(--alj-muted); }

/* Category archive */
#alj-home .alj-category-hero {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:50px;
  align-items:end;
  padding:46px 0 38px;
  border-bottom:2px solid var(--alj-ink);
}
#alj-home .alj-category-hero h1 {
  margin-top:12px;
  font-family:"Helvetica Neue","Arial Black",sans-serif;
  font-size:clamp(48px,7vw,92px);
  line-height:.95;
  letter-spacing:-.055em;
}
#alj-home .alj-category-hero__copy h2 {
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:clamp(24px,2.6vw,34px);
  line-height:1.55;
}
#alj-home .alj-category-hero__copy p {
  max-width:650px;
  margin-top:16px;
  color:var(--alj-muted);
  font-size:15px;
  line-height:1.95;
}
#alj-home .alj-category-mainnav { margin-top:28px; }
#alj-home .alj-archive-summary {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin:48px 0 24px;
  padding-bottom:14px;
  border-bottom:1px solid var(--alj-ink);
  color:var(--alj-muted);
  font-size:12px;
  letter-spacing:.08em;
}
#alj-home .alj-archive-summary p { color:var(--alj-red); font-weight:700; }
#alj-home .alj-archive-grid { padding-bottom:30px; }
#alj-home .alj-card h2,
#alj-home .alj-archive-grid .alj-card h2 {
  margin-top:8px;
  color:inherit;
  border:0;
  background:transparent;
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:20px;
  line-height:1.65;
}
#alj-home .alj-category-mainnav [aria-current="page"],
#alj-home .alj-collection-filter [aria-current="page"] {
  color:inherit;
  text-decoration:none;
  font-weight:700;
}
#alj-home .alj-category-mainnav [aria-current="page"]::before,
#alj-home .alj-collection-filter [aria-current="page"]::before {
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:.55em;
  border-radius:50%;
  background:var(--alj-red);
  vertical-align:.15em;
}
#alj-home .alj-pagination .page-numbers {
  min-width:44px;
  min-height:44px;
  display:grid;
  place-items:center;
  padding:0 12px;
  border:1px solid var(--alj-line);
}
#alj-home .alj-pagination .current {
  color:#fff;
  background:var(--alj-ink);
  border-color:var(--alj-ink);
}
#alj-home .alj-empty { padding:60px 0; }

/* Single article */
#body_wrap.single-post #content {
  width:calc(100% - 48px);
  max-width:1120px;
  padding-top:46px;
}
#body_wrap.single-post .l-mainContent {
  width:100%;
  max-width:860px;
  margin-inline:auto;
}
#body_wrap.single-post .l-mainContent__inner { color:var(--alj-ink); }
#body_wrap.single-post .p-articleHead {
  display:block;
  padding:26px 0 22px;
  border-top:4px solid var(--alj-ink);
}
#body_wrap.single-post .c-postTitle__ttl {
  max-width:19em;
  font-family:"丸フォーク M",var(--swl-font_family);
  font-size:clamp(30px,3.7vw,46px);
  font-weight:700;
  line-height:1.5;
  letter-spacing:.005em;
}
#body_wrap.single-post .c-postTitle__date {
  position:static;
  display:flex;
  gap:7px;
  align-items:baseline;
  margin-top:18px;
  color:var(--alj-muted);
  font-family:"Helvetica Neue",sans-serif;
}
#body_wrap.single-post .c-postTitle__date::before,
#body_wrap.single-post .c-postTitle__date::after {
  content:none;
}
#body_wrap.single-post .c-postTitle__date .__y,
#body_wrap.single-post .c-postTitle__date .__md { display:inline; font-size:12px; }
#body_wrap.single-post .p-articleMetas.-top {
  margin:0 0 30px;
  padding:12px 0;
  border-block:1px solid var(--alj-line);
}
#body_wrap.single-post .c-categoryList__link {
  color:var(--alj-red);
  background:transparent;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
#body_wrap.single-post .p-articleThumb { margin:0 0 46px; }
#body_wrap.single-post .p-articleThumb__img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:0;
}
#body_wrap.single-post .post_content {
  color:var(--alj-ink);
  font-family:var(--swl-font_family);
  font-size:16.5px;
  line-height:2.05;
  letter-spacing:.012em;
}
#body_wrap.single-post .post_content > p { margin-block:1.55em; }
#body_wrap.single-post .post_content a:not(.swell-block-button__link) {
  color:inherit;
  text-decoration:none;
}
#body_wrap.single-post .post_content a:not(.swell-block-button__link):hover {
  color:var(--alj-red);
}
#body_wrap.single-post .post_content a:not(.swell-block-button__link):focus-visible {
  outline:2px solid var(--alj-red);
  outline-offset:3px;
}
#body_wrap.single-post .post_content a.wp-block-button__link[href*="room.rakuten.co.jp"] {
  color:#fff;
  background:#32373c;
  text-decoration:none;
}
#body_wrap.single-post .post_content a.wp-block-button__link[href*="room.rakuten.co.jp"]:hover {
  color:#fff;
  background:#32373c;
  opacity:.88;
}
#body_wrap.single-post .post_content h2 {
  margin:64px 0 26px;
  padding:28px 0 0;
  border:0;
  border-top:2px solid var(--alj-ink);
  color:var(--alj-ink);
  background:transparent;
  box-shadow:none;
  font-family:"丸フォーク M",var(--swl-font_family);
  font-size:clamp(25px,3vw,32px);
  line-height:1.65;
}
#body_wrap.single-post .post_content h2:before,
#body_wrap.single-post .post_content h2:after,
#body_wrap.single-post .post_content h3:before { content:none; }
#body_wrap.single-post .post_content h3 {
  margin:42px 0 20px;
  padding:3px 0 3px 17px;
  border:0;
  border-left:3px solid var(--alj-red);
  color:var(--alj-ink);
  background:transparent;
  font-family:"丸フォーク M",var(--swl-font_family);
  font-size:22px;
  line-height:1.65;
}
#body_wrap.single-post .p-toc:not(.-modal) {
  margin-block:42px;
  padding:26px 28px;
  border:1px solid var(--alj-line);
  background:#efefe8;
}
#body_wrap.single-post .p-toc__ttl {
  font-family:"Helvetica Neue",sans-serif;
  font-size:13px;
  letter-spacing:.08em;
}
#body_wrap.single-post .post_content table {
  border-color:var(--alj-line);
  background:#fff;
}
#body_wrap.single-post .post_content figcaption { color:var(--alj-muted); }
#body_wrap.single-post .l-articleBottom {
  max-width:100%;
  margin-top:72px;
  padding-top:34px;
  border-top:2px solid var(--alj-ink);
}
#body_wrap.single-post .l-articleBottom__title {
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:25px;
}
#body_wrap.single-post .p-relatedPosts .p-postList__title { line-height:1.65; }

/* Curated footer */
.alj-prefooter {
  clear:both;
  width:100%;
  margin-top:80px;
  padding:58px 0 44px;
  color:#f7f7f2;
  background:#18191a;
}
.alj-prefooter * { box-sizing:border-box; }
.alj-prefooter__inner {
  width:calc(100% - 80px);
  max-width:1200px;
  margin:auto;
}
.alj-prefooter__lead {
  display:grid;
  grid-template-columns:1fr 2fr 1fr;
  gap:28px;
  align-items:end;
  padding-bottom:30px;
  border-bottom:1px solid #646464;
}
.alj-prefooter__lead > p {
  color:#f9a198;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
}
.alj-prefooter__lead h2 {
  margin:0;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:clamp(26px,3vw,38px);
  line-height:1.5;
}
.alj-prefooter__lead > span {
  color:#cecec7;
  font-size:12px;
  line-height:1.7;
  text-align:right;
}
.alj-prefooter__nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-bottom:1px solid #646464;
}
.alj-prefooter__nav a {
  min-width:0;
  padding:24px 12px 24px 0;
  color:inherit;
  font-size:15px;
  text-decoration:none;
}
.alj-prefooter__nav a span {
  display:block;
  margin-bottom:6px;
  color:#f9a198;
  font-size:11px;
}
.alj-prefooter__nav a:hover { color:#f9a198; }
.alj-prefooter__utility {
  display:flex;
  flex-wrap:wrap;
  gap:14px 28px;
  padding-top:22px;
}
.alj-prefooter__utility a {
  color:#cecec7;
  font-size:12px;
  text-decoration:none;
}
.alj-prefooter a:focus-visible { outline:3px solid #f9a198; outline-offset:4px; }
#body_wrap.alj-editorial-inner #footer {
  color:var(--alj-ink);
  background:var(--alj-paper);
  border-top:0;
}
#body_wrap.alj-editorial-inner #footer .l-footer__widgetArea:empty { display:none; }

@media(max-width:767px) {
  #alj-home .alj-category-hero {
    grid-template-columns:1fr;
    gap:24px;
    padding:34px 0 28px;
  }
  #alj-home .alj-category-hero h1 { font-size:clamp(42px,13vw,68px); }
  #alj-home .alj-category-hero__copy h2 { font-size:24px; }
  #alj-home .alj-archive-summary { margin-top:36px; }
  #alj-home .alj-archive-grid .alj-card h2 { font-size:21px; }
  #body_wrap.single-post #content {
    width:calc(100% - 36px);
    padding-top:26px;
  }
  #body_wrap.single-post .p-articleHead { padding-top:20px; }
  #body_wrap.single-post .c-postTitle__ttl { font-size:27px; line-height:1.55; }
  #body_wrap.single-post .p-articleThumb { margin-bottom:34px; }
  #body_wrap.single-post .post_content { font-size:16px; line-height:2; }
  #body_wrap.single-post .post_content h2 { margin-top:52px; font-size:24px; }
  #body_wrap.single-post .post_content h3 { margin-top:36px; font-size:20px; }
  #body_wrap.single-post .p-toc:not(.-modal) { padding:22px 18px; }
  .alj-prefooter { margin-top:56px; padding:40px 0 34px; }
  .alj-prefooter__inner { width:calc(100% - 36px); }
  .alj-prefooter__lead { grid-template-columns:1fr; gap:14px; }
  .alj-prefooter__lead > span { text-align:left; }
  .alj-prefooter__nav { grid-template-columns:1fr 1fr; padding-block:8px; }
  .alj-prefooter__nav a { padding-block:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .alj-prefooter *, #body_wrap.single-post * { transition:none!important; }
}
