/*
Theme Name: AFFINGER Child
Template: affinger
Description: AFFINGER6 対応
Version: 20210719
*/

/* ロスめろの様子が？: editorial digital skin */
:root {
  --lm-ink: #111318;
  --lm-text: #1f252b;
  --lm-muted: #6b747c;
  --lm-line: #e5eaee;
  --lm-bg: #f5f7f8;
  --lm-panel: #ffffff;
  --lm-accent: #476b67;
  --lm-accent-2: #b7d8d4;
  --lm-soft: #eef4f3;
  --lm-accent-hot: #b94a5a;
  --lm-accent-hot-soft: rgba(185, 74, 90, 0.12);
}

/* Base */
body {
  background: var(--lm-bg) !important;
  color: var(--lm-text);
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif !important;
}

#wrapper,
#contentInner {
  background: transparent !important;
}

/* Header */
#headbox,
#header,
header,
#st-header,
#st-headerbox,
#st-headwide,
#st-headerwide {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

#headbox {
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: 32px 24px 28px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--lm-line) !important;
}

#headbox .sitename,
#headbox #sitename,
#st-header,
#st-headerbox {
  background: #ffffff !important;
  text-align: center !important;
}

#sitename a,
.sitename a,
#st-header a {
  display: block !important;
  color: var(--lm-ink) !important;
  text-align: center !important;
  text-decoration: none !important;
}

#sitename img,
.sitename img,
#st-header img {
  display: block !important;
  width: min(100%, 920px) !important;
  max-width: 760px !important;
  height: auto !important;
  margin: 0 auto !important;
  background: #ffffff !important;
}

.descr,
#descr,
.header-description {
  margin-top: 10px !important;
  color: var(--lm-muted) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-align: center !important;
}

/* Navigation */
#st-menubox,
#st-menuwide,
#st-g-menu,
.menu-header-container {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1px solid var(--lm-line) !important;
  border-bottom: 1px solid var(--lm-line) !important;
  box-shadow: 0 12px 34px rgba(17, 19, 24, 0.05);
}

#st-menubox ul,
#st-menuwide ul,
#st-g-menu ul,
.menu-header-container ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 16px !important;
}

#st-menubox li,
#st-menuwide li,
#st-g-menu li,
.menu-header-container li {
  position: relative !important;
  border: 0 !important;
  float: none !important;
  width: auto !important;
}

#st-menubox a,
#st-menuwide a,
#st-g-menu a,
.menu-header-container a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-height: 42px !important;
  line-height: 1 !important;
  padding: 0 22px !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  color: #1f252b !important;
  background: transparent !important;
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

#st-menubox a:after,
#st-menuwide a:after,
#st-g-menu a:after,
.menu-header-container a:after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 7px;
  height: 2px;
  background: var(--lm-accent-hot) !important;
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

#st-menubox a:hover,
#st-menuwide a:hover,
#st-g-menu a:hover,
.menu-header-container a:hover,
#st-menubox .current-menu-item > a,
#st-menuwide .current-menu-item > a,
#st-g-menu .current-menu-item > a,
.menu-header-container .current-menu-item > a {
  background: var(--lm-accent-hot-soft) !important;
  border-color: rgba(185, 74, 90, 0.26) !important;
  color: var(--lm-ink) !important;
  transform: translateY(-1px);
}

#st-menubox a:hover:after,
#st-menuwide a:hover:after,
#st-g-menu a:hover:after,
.menu-header-container a:hover:after,
#st-menubox .current-menu-item > a:after,
#st-menuwide .current-menu-item > a:after,
#st-g-menu .current-menu-item > a:after,
.menu-header-container .current-menu-item > a:after {
  opacity: 1;
  transform: scaleX(1);
  box-shadow: 0 0 10px rgba(185, 74, 90, 0.26);
}

/* Dropdown menu */
#st-menubox .sub-menu,
#st-menuwide .sub-menu,
#st-g-menu .sub-menu,
.menu-header-container .sub-menu {
  display: block !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  z-index: 9999 !important;
  min-width: 238px !important;
  padding: 10px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 250, 0.98)) !important;
  border: 1px solid #dfe7e9 !important;
  border-radius: 10px !important;
  box-shadow: 0 20px 50px rgba(17, 19, 24, 0.14), 0 1px 0 rgba(255, 255, 255, 0.8) inset !important;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  pointer-events: none;
  transition: opacity 0.16s ease, visibility 0.16s ease, transform 0.16s ease;
}

#st-menubox .sub-menu:before,
#st-menuwide .sub-menu:before,
#st-g-menu .sub-menu:before,
.menu-header-container .sub-menu:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #ffffff;
  border-left: 1px solid #dfe7e9;
  border-top: 1px solid #dfe7e9;
  transform: translateX(-50%) rotate(45deg);
}

#st-menubox li:hover > .sub-menu,
#st-menuwide li:hover > .sub-menu,
#st-g-menu li:hover > .sub-menu,
.menu-header-container li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

#st-menubox .sub-menu li,
#st-menuwide .sub-menu li,
#st-g-menu .sub-menu li,
.menu-header-container .sub-menu li {
  display: block !important;
  width: 100% !important;
}

#st-menubox .sub-menu a,
#st-menuwide .sub-menu a,
#st-g-menu .sub-menu a,
.menu-header-container .sub-menu a {
  position: relative !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: auto !important;
  min-height: 46px !important;
  padding: 13px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #1f252b !important;
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;
  white-space: nowrap !important;
}

#st-menubox .sub-menu a:before,
#st-menuwide .sub-menu a:before,
#st-g-menu .sub-menu a:before,
.menu-header-container .sub-menu a:before {
  content: "";
  width: 0;
  height: 1px;
  margin-right: 0;
  background: var(--lm-accent-hot);
  transition: width 0.16s ease, margin-right 0.16s ease;
}

#st-menubox .sub-menu a:hover,
#st-menuwide .sub-menu a:hover,
#st-g-menu .sub-menu a:hover,
.menu-header-container .sub-menu a:hover,
#st-menubox .sub-menu .current-menu-item > a,
#st-menuwide .sub-menu .current-menu-item > a,
#st-g-menu .sub-menu .current-menu-item > a,
.menu-header-container .sub-menu .current-menu-item > a {
  background: rgba(185, 74, 90, 0.1) !important;
  border-color: rgba(185, 74, 90, 0.22) !important;
  color: #111318 !important;
  transform: none !important;
}

#st-menubox .sub-menu a:hover:before,
#st-menuwide .sub-menu a:hover:before,
#st-g-menu .sub-menu a:hover:before,
.menu-header-container .sub-menu a:hover:before {
  width: 14px;
  margin-right: 8px;
}

/* Dropdown second level */
#st-menubox .sub-menu .sub-menu,
#st-menuwide .sub-menu .sub-menu,
#st-g-menu .sub-menu .sub-menu,
.menu-header-container .sub-menu .sub-menu {
  top: -10px !important;
  left: 100% !important;
  z-index: 10000 !important;
  min-width: 230px !important;
  padding: 10px !important;
  background: #ffffff !important;
  border: 1px solid #dfe7e9 !important;
  border-radius: 10px !important;
  box-shadow: 0 20px 50px rgba(17, 19, 24, 0.14) !important;
  opacity: 0;
  visibility: hidden;
  transform: translateX(8px);
  pointer-events: none;
}

#st-menubox .sub-menu .sub-menu:before,
#st-menuwide .sub-menu .sub-menu:before,
#st-g-menu .sub-menu .sub-menu:before,
.menu-header-container .sub-menu .sub-menu:before {
  display: none !important;
}

#st-menubox .sub-menu li:hover > .sub-menu,
#st-menuwide .sub-menu li:hover > .sub-menu,
#st-g-menu .sub-menu li:hover > .sub-menu,
.menu-header-container .sub-menu li:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0);
  pointer-events: auto !important;
}

#st-menubox .sub-menu .sub-menu a,
#st-menuwide .sub-menu .sub-menu a,
#st-g-menu .sub-menu .sub-menu a,
.menu-header-container .sub-menu .sub-menu a {
  min-height: 44px !important;
  padding: 12px 14px !important;
  font-weight: 400 !important;
}

/* Header image */
.wp-block-image img,
.st-header-image img,
#st-header-image img {
  display: block;
  max-width: min(100%, 1040px);
  margin: 0 auto;
  height: auto;
}

/* Layout */
#content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 2px !important;
  max-width: 1180px !important;
  width: calc(100% - 48px) !important;
  margin: 38px auto 0 !important;
  box-sizing: border-box !important;
  align-items: start !important;
}

#contentInner {
  grid-column: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

#contentInner main,
#contentInner article,
#contentInner .post,
#contentInner .article,
#contentInner .home-post {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#side {
  grid-column: 2 !important;
  width: 340px !important;
  max-width: 340px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  font-size: 13px;
}

#side aside,
#side .widget,
#side .st-widgets-box {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

#side aside,
#side .st-widgets-box,
#side .widget {
  padding: 20px !important;
}

main,
.post,
.article {
  background: var(--lm-panel) !important;
}

.post,
.article {
  border: 1px solid var(--lm-line);
  box-shadow: 0 18px 50px rgba(17, 19, 24, 0.05);
}

/* Top hero */
.rm-hero {
  background: #fff !important;
  border: 1px solid #e5eaee !important;
  box-shadow: 0 18px 50px rgba(17, 19, 24, 0.05);
  padding: 26px !important;
  margin-bottom: 22px !important;
}

.rm-hero__label {
  color: var(--lm-accent) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
}

.rm-hero__title {
  background: linear-gradient(90deg, var(--lm-soft), rgba(255, 255, 255, 0)) !important;
  border-left: 4px solid var(--lm-accent-hot) !important;
  color: var(--lm-ink) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  padding: 14px 18px !important;
  margin: 0 0 22px !important;
}

.rm-hero__text {
  color: #2f363c !important;
  font-size: 15px !important;
  line-height: 2 !important;
  margin: 0 !important;
}

/* Genre sections */
.rm-section {
  margin: 30px 0 0;
}

.rm-section__head {
  margin-bottom: 18px;
}

.rm-section__label {
  margin: 0 0 6px;
  color: var(--lm-accent);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-section__title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--lm-ink) !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

.rm-section__text {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.9;
}

/* Category cards */
.rm-category-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 26px 0 22px !important;
}

.rm-category-grid--daily {
  grid-template-columns: 1fr !important;
}

.rm-category-card {
  display: block !important;
  min-height: 92px;
  padding: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid #e5eaee !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 28px rgba(17, 19, 24, 0.04);
  text-decoration: none !important;
}

.rm-category-card:hover {
  border-color: var(--lm-accent-2) !important;
  box-shadow: 0 16px 36px rgba(17, 19, 24, 0.07);
  transform: translateY(-1px);
}

.rm-category-card__thumb {
  display: block;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #eef4f3, #ffffff);
  border-bottom: 1px solid var(--lm-line);
  overflow: hidden;
}

.rm-category-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.24s ease, filter 0.24s ease;
}

.rm-category-card:hover .rm-category-card__thumb img {
  transform: scale(1.035);
  filter: saturate(1.05) contrast(1.03);
}

.rm-category-card__body {
  display: block;
  padding: 16px 18px 18px;
}

.rm-category-card strong,
.rm-category-card__body strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--lm-ink) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.rm-category-card span,
.rm-category-card__body span {
  display: block !important;
  color: #5b666e !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-decoration: none !important;
}

.rm-category-card *,
.rm-category-card:hover * {
  text-decoration: none !important;
}

.rm-category-grid--ro {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.rm-category-grid--ro .rm-category-card:nth-child(1) {
  grid-column: 1 / -1;
}

.rm-category-grid--ro .rm-category-card:nth-child(1) .rm-category-card__thumb {
  aspect-ratio: 21 / 8;
}

.rm-category-card--soon {
  background: repeating-linear-gradient(135deg, #ffffff 0, #ffffff 10px, #f5f7f8 10px, #f5f7f8 20px) !important;
  opacity: 0.78;
}

/* Headings */
.entry-content h2,
.post h2 {
  background: linear-gradient(90deg, var(--lm-soft), rgba(255, 255, 255, 0)) !important;
  border: 0 !important;
  border-left: 4px solid var(--lm-accent-hot) !important;
  padding: 0.65em 0 0.65em 0.9em !important;
  color: var(--lm-ink) !important;
  font-weight: 900 !important;
}

/* Links */
a {
  color: #2f6f8f;
}

a:hover {
  color: var(--lm-accent);
}

/* Sidebar */
#side h4,
#side .st-widgets-title,
#side .menu_underh2,
#side .wp-block-heading {
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--lm-line) !important;
  color: var(--lm-ink) !important;
  font-weight: 900 !important;
}

#side p,
#side li,
#side .textwidget {
  font-size: 13px !important;
  line-height: 1.85 !important;
}

#side .widget_search,
#side .search-form {
  margin-bottom: 24px !important;
}

#side .widget {
  margin-bottom: 26px !important;
}

/* Sidebar search form */
#side .search-form,
#side #searchform {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 0 28px !important;
}

#side .search-form label {
  flex: 1 1 auto !important;
  margin: 0 !important;
}

#side input[type="text"],
#side input[type="search"],
#side .search-field,
#side #s {
  flex: 1 1 auto !important;
  width: auto !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d8e0e3 !important;
  border-right: 0 !important;
  border-radius: 6px 0 0 6px !important;
  background: #fff !important;
  color: #1f252b !important;
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  line-height: 42px !important;
  box-sizing: border-box !important;
}

#side input[type="submit"],
#side .search-submit,
#side #searchsubmit,
#side button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d8e0e3 !important;
  border-radius: 0 6px 6px 0 !important;
  background: #f6f8f8 !important;
  color: #1f252b !important;
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  box-sizing: border-box !important;
  cursor: pointer;
}

#side input[type="submit"]:hover,
#side .search-submit:hover,
#side #searchsubmit:hover,
#side button[type="submit"]:hover {
  background: var(--lm-soft) !important;
  border-color: var(--lm-accent-2) !important;
}

/* Content spacing */
body .post,
body .article,
body .home-post {
  padding: 18px !important;
  box-sizing: border-box !important;
}

body .entry-content,
body .st-topcontent,
body .home-post .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body .rm-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body main article > .post,
body main article > .article {
  padding: 18px !important;
}

/* Typography */
h1,
h2,
h3,
h4,
.entry-title,
.rm-section__title,
.rm-hero__title,
.rm-category-card strong {
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 900 !important;
}

body.page:not(.home) .entry-content,
body.page:not(.home) .entry-content p,
body.page:not(.home) .entry-content li,
body.page:not(.home) .entry-content table,
body.page:not(.home) .entry-content td,
body.page:not(.home) .entry-content th {
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.9 !important;
}

/* Mobile */
@media only screen and (max-width: 959px) {
  #content {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 24px 12px 0 !important;
  }

  #contentInner {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
  }

  #side {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin-top: 28px !important;
    transform: none !important;
  }

  .rm-category-grid,
  .rm-category-grid--ro,
  .rm-category-grid--daily {
    grid-template-columns: 1fr !important;
  }

  .rm-category-grid--ro .rm-category-card:nth-child(1) {
    grid-column: auto;
  }

  .rm-category-grid--ro .rm-category-card:nth-child(1) .rm-category-card__thumb {
    aspect-ratio: 16 / 9;
  }
}

/* AFFINGER profile card border reset */
#side .st-author-profile,
#side .st-author-box,
#side .st-cardbox,
#side .profile-card,
#side .kanren {
  border: 0 !important;
}

#side .st-author-profile *,
#side .st-author-box *,
#side .profile-card * {
  border-color: transparent !important;
}

/* Sidebar search button fix */
#side .search-form,
#side #searchform {
  display: flex !important;
  width: 100% !important;
  margin: 0 0 28px !important;
}

#side .search-form label {
  flex: 1 1 auto !important;
  margin: 0 !important;
}

#side input[type="search"],
#side input[type="text"],
#side .search-field,
#side #s {
  flex: 1 1 auto !important;
  width: auto !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d8e0e3 !important;
  border-right: 0 !important;
  border-radius: 6px 0 0 6px !important;
  background: #ffffff !important;
  color: #1f252b !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
}

#side input[type="submit"],
#side button[type="submit"],
#side .search-submit,
#side #searchsubmit {
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d8e0e3 !important;
  border-radius: 0 6px 6px 0 !important;
  background-color: #f6f8f8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231f252b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 17px 17px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

#side input[type="submit"]:hover,
#side button[type="submit"]:hover,
#side .search-submit:hover,
#side #searchsubmit:hover {
  background-color: #f7ecee !important;
  border-color: rgba(185, 74, 90, 0.28) !important;
}

/* Sidebar copyright note */
#side .rm-rights-note {
  margin-top: 18px;
  color: #6b747c;
  font-size: 10.5px;
  line-height: 1.65;
  letter-spacing: 0.02em;
}

#side .rm-rights-note p {
  margin: 0 0 6px !important;
  font-size: 10.5px !important;
  line-height: 1.65 !important;
}

/* Footer image size */
.rm-footer-image {
  text-align: center;
  padding: 24px 16px;
}

.rm-footer-image img {
  display: inline-block;
  width: 380px !important;
  max-width: 80% !important;
  height: auto !important;
}

/* Footer blog title hide - AFFINGER */
#footer #footerlogo,
#footer #footerlogo a,
#footer .footerlogo,
#footer .footerlogo a,
#footer .st-footer-logo,
#footer .st-footer-title,
#footer .footer-title,
footer #footerlogo,
footer #footerlogo a,
footer .footerlogo,
footer .footerlogo a,
footer .st-footer-logo,
footer .st-footer-title,
footer .footer-title {
  display: none !important;
}

/* Latest posts on top page */
.rm-latest-section {
  margin: 0 0 18px;
}

.wp-block-latest-posts {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
}

.wp-block-latest-posts li {
  list-style: none !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #ffffff !important;
  border: 1px solid var(--lm-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 28px rgba(17, 19, 24, 0.035);
}

.wp-block-latest-posts li a {
  color: var(--lm-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
}

.wp-block-latest-posts li a:hover {
  color: var(--lm-accent-hot) !important;
}

.wp-block-latest-posts__post-date {
  display: block;
  margin-top: 6px;
  color: var(--lm-muted);
  font-size: 12px;
  letter-spacing: 0.03em;
}

/* Latest posts cards */
.wp-block-latest-posts.wp-block-latest-posts__list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 16px !important;
  background: #ffffff !important;
  border: 1px solid var(--lm-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(17, 19, 24, 0.04);
}

.wp-block-latest-posts__featured-image {
  margin: 0 !important;
}

.wp-block-latest-posts__featured-image a,
.wp-block-latest-posts__featured-image img {
  display: block !important;
  width: 100% !important;
}

.wp-block-latest-posts__featured-image img {
  aspect-ratio: 16 / 9;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--lm-line);
}

.wp-block-latest-posts li > a {
  color: var(--lm-ink) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
}

.wp-block-latest-posts li > a:hover {
  color: var(--lm-accent-hot) !important;
}

.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
  display: inline-block;
  margin-top: 6px;
  margin-right: 10px;
  color: var(--lm-muted);
  font-size: 12px;
}

.wp-block-latest-posts__post-excerpt {
  margin: 10px 0 0 !important;
  color: #4b5563 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}

@media only screen and (max-width: 599px) {
  .wp-block-latest-posts.wp-block-latest-posts__list li {
    grid-template-columns: 1fr !important;
  }
}

/* Latest posts compact layout */
.wp-block-latest-posts.wp-block-latest-posts__list li {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  grid-template-areas:
    "thumb title"
    "thumb meta"
    "thumb excerpt" !important;
  align-items: start !important;
  gap: 8px 20px !important;
  padding: 18px 20px !important;
}

.wp-block-latest-posts__featured-image {
  grid-area: thumb !important;
}

.wp-block-latest-posts li > a {
  grid-area: title !important;
  margin: 0 !important;
}

.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
  grid-area: meta !important;
  margin: 2px 10px 0 0 !important;
}

.wp-block-latest-posts__post-excerpt {
  grid-area: excerpt !important;
  margin: 2px 0 0 !important;
  line-height: 1.75 !important;
}

.wp-block-latest-posts__featured-image img {
  aspect-ratio: 16 / 9;
  height: 124px !important;
  object-fit: cover !important;
}

@media only screen and (max-width: 599px) {
  .wp-block-latest-posts.wp-block-latest-posts__list li {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "thumb"
      "title"
      "meta"
      "excerpt" !important;
  }

  .wp-block-latest-posts__featured-image img {
    height: auto !important;
  }
}

/* Mobile single post body font size */
@media only screen and (max-width: 599px) {
  body.single .entry-content,
  body.single .entry-content p,
  body.single .entry-content li {
    font-size: 15px !important;
  }
}

/* Profile branch cards */
.rm-profile-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 28px 0 18px;
}

.rm-profile-link-card {
  position: relative;
  display: block;
  padding: 22px 58px 22px 24px;
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.045);
  color: var(--lm-text) !important;
  text-decoration: none !important;
  overflow: hidden;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.rm-profile-link-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--lm-accent-hot);
  opacity: 0.82;
}

.rm-profile-link-card::after {
  content: ">";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lm-accent-hot);
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 800;
}

.rm-profile-link-card:hover {
  border-color: rgba(185, 74, 90, 0.28);
  box-shadow: 0 18px 44px rgba(17, 19, 24, 0.075);
  transform: translateY(-1px);
}

.rm-profile-link-card__label {
  display: block;
  margin-bottom: 7px;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-profile-link-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--lm-ink);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.4;
}

.rm-profile-link-card span:last-child {
  display: block;
  color: #4b5563;
  font-size: 13.5px;
  line-height: 1.8;
}

/* Profile branch card typography */
.rm-profile-link-card,
.rm-profile-link-card strong,
.rm-profile-link-card span {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
}

.rm-profile-link-card strong {
  font-weight: 900 !important;
  letter-spacing: 0.02em;
}

.rm-profile-link-card span:last-child {
  font-weight: 500 !important;
}

/* Header menu playful font */
#st-menubox a,
#st-menuwide a,
#st-g-menu a,
.menu-header-container a {
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}

/* Dropdown menu playful font */
#st-menubox .sub-menu a,
#st-menuwide .sub-menu a,
#st-g-menu .sub-menu a,
.menu-header-container .sub-menu a,
#st-menubox .sub-menu .sub-menu a,
#st-menuwide .sub-menu .sub-menu a,
#st-g-menu .sub-menu .sub-menu a,
.menu-header-container .sub-menu .sub-menu a {
  font-family: "Zen Maru Gothic", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

/* Header menu sharper typography */
#st-menubox a,
#st-menuwide a,
#st-g-menu a,
.menu-header-container a {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 850 !important;
  letter-spacing: 0.07em !important;
}

/* Dropdown menu sharper typography */
#st-menubox .sub-menu a,
#st-menuwide .sub-menu a,
#st-g-menu .sub-menu a,
.menu-header-container .sub-menu a,
#st-menubox .sub-menu .sub-menu a,
#st-menuwide .sub-menu .sub-menu a,
#st-g-menu .sub-menu .sub-menu a,
.menu-header-container .sub-menu .sub-menu a {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.045em !important;
}

/* Character horizontal cards */
.rm-character-section {
  margin: 8px 0 18px;
}

.rm-character-scroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 280px);
  gap: 22px;
  margin: 28px -18px 8px;
  padding: 8px 18px 28px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.rm-character-scroll::-webkit-scrollbar {
  height: 8px;
}

.rm-character-scroll::-webkit-scrollbar-track {
  background: #eef2f3;
  border-radius: 999px;
}

.rm-character-scroll::-webkit-scrollbar-thumb {
  background: rgba(185, 74, 90, 0.38);
  border-radius: 999px;
}

.rm-character-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 430px;
  padding: 24px;
  overflow: hidden;
  scroll-snap-align: start;
  background:
    radial-gradient(circle at 70% 20%, rgba(255,255,255,0.14), transparent 28%),
    linear-gradient(155deg, #173b58 0%, #0e3552 48%, #102a43 100%);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 20px;
  box-shadow: 0 20px 48px rgba(17, 19, 24, 0.16);
  color: #ffffff !important;
  text-decoration: none !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.rm-character-card:hover {
  transform: translateY(-3px);
  border-color: rgba(185, 74, 90, 0.62);
  box-shadow: 0 26px 60px rgba(17, 19, 24, 0.22);
}

.rm-character-card__bg {
  position: absolute;
  left: 18px;
  top: 120px;
  color: rgba(255,255,255,0.08);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 112px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.06em;
  pointer-events: none;
}

.rm-character-card__image {
  position: absolute;
  inset: 28px 18px 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.rm-character-card__image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,0.24));
}

.rm-character-card__body {
  position: relative;
  z-index: 2;
  display: block;
}

.rm-character-card__body strong {
  display: block;
  margin-bottom: 6px;
  color: #ffffff !important;
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.35;
}

.rm-character-card__body span {
  display: block;
  margin-bottom: 16px;
  color: rgba(255,255,255,0.82) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.rm-character-card__body em {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.82);
  color: #173b58;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  box-sizing: border-box;
}

.rm-character-card__body em::after {
  content: ">";
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 800;
}

@media only screen and (max-width: 599px) {
  .rm-character-scroll {
    grid-auto-columns: minmax(230px, 78vw);
    gap: 16px;
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .rm-character-card {
    min-height: 390px;
    border-radius: 18px;
  }

  .rm-character-card__body strong {
    font-size: 21px;
  }
}

/* Character profile sections */
.rm-character-profile {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 34px;
  align-items: center;
  margin: 34px 0;
  padding: 46px 42px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 18%, rgba(185, 74, 90, 0.08), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(17, 19, 24, 0.055);
}

.rm-character-profile::before {
  content: "";
  position: absolute;
  right: 34px;
  top: 24px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(185, 74, 90, 0.16);
  border-radius: 50%;
  opacity: 0.7;
}

.rm-character-profile::after {
  content: "PROFILE";
  position: absolute;
  right: 34px;
  bottom: 18px;
  color: rgba(17, 19, 24, 0.035);
  font-family: "Inter", sans-serif;
  font-size: 72px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  pointer-events: none;
}

.rm-character-profile--reverse {
  grid-template-columns: 300px minmax(0, 1fr);
}

.rm-character-profile--reverse .rm-character-profile__text {
  grid-column: 2;
}

.rm-character-profile--reverse .rm-character-profile__image {
  grid-column: 1;
  grid-row: 1;
}

.rm-character-profile__text {
  position: relative;
  z-index: 2;
}

.rm-character-profile__label {
  margin: 0 0 10px !important;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.rm-character-profile__name {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--lm-ink) !important;
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em;
  line-height: 1.25 !important;
}

.rm-character-profile__sub {
  margin: 0 0 16px !important;
  color: #6b747c;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.rm-character-profile__tag {
  display: inline-block;
  margin: 0 0 24px !important;
  padding: 5px 12px;
  background: var(--lm-accent-hot);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.rm-character-profile__text p:not([class]) {
  margin: 0 0 14px !important;
  color: #263039;
  font-size: 14px;
  line-height: 2.05;
}

.rm-character-profile__image {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  min-height: 340px;
}

.rm-character-profile__image img {
  display: block;
  max-width: 100%;
  max-height: 390px;
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(17, 19, 24, 0.16));
}

@media only screen and (max-width: 599px) {
  .rm-character-profile,
  .rm-character-profile--reverse {
    display: block;
    padding: 30px 22px;
    margin: 26px 0;
  }

  .rm-character-profile__image {
    min-height: 0;
    margin-top: 22px;
  }

  .rm-character-profile__image img {
    max-height: 320px;
  }

  .rm-character-profile::after {
    font-size: 42px;
    right: 18px;
    bottom: 12px;
  }
}

.rm-pc-break::before {
  content: "\A";
  white-space: pre;
}

@media only screen and (max-width: 599px) {
  .rm-pc-break::before {
    content: "";
    white-space: normal;
  }
}

/* Mobile fixed page body font size */
@media only screen and (max-width: 599px) {
  body.page:not(.home) .entry-content,
  body.page:not(.home) .entry-content p,
  body.page:not(.home) .entry-content li {
    font-size: 14px !important;
    line-height: 1.9 !important;
  }
}

/* Footer navigation */
#footer .menu,
#footer .wp-block-navigation,
footer .menu,
footer .wp-block-navigation {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  margin: 18px 0 10px !important;
  padding: 0 !important;
}

#footer .menu li,
footer .menu li {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

#footer .menu a,
#footer .wp-block-navigation a,
footer .menu a,
footer .wp-block-navigation a {
  color: #4b5563 !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none !important;
}

#footer .menu a:hover,
#footer .wp-block-navigation a:hover,
footer .menu a:hover,
footer .wp-block-navigation a:hover {
  color: var(--lm-accent-hot) !important;
}

/* Tools page */
.rm-tools-page {
  margin: 0;
}

.rm-tool-feature {
  position: relative;
  margin: 28px 0 24px;
  padding: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(185, 74, 90, 0.12), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(17, 19, 24, 0.055);
}

.rm-tool-feature::after {
  content: "TOOLS";
  position: absolute;
  right: 26px;
  bottom: -8px;
  color: rgba(17, 19, 24, 0.035);
  font-family: "Inter", sans-serif;
  font-size: 86px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
}

.rm-tool-feature__body {
  position: relative;
  z-index: 1;
  max-width: 620px;
}

.rm-tool-feature__label,
.rm-tool-card__label {
  display: block;
  margin-bottom: 9px;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-tool-feature h3 {
  margin: 0 0 12px !important;
  color: var(--lm-ink);
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 900;
  line-height: 1.25;
}

.rm-tool-feature p {
  margin: 0 0 20px !important;
  color: #38434c;
  font-size: 14px;
  line-height: 1.95;
}

.rm-tool-feature a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 6px;
  background: var(--lm-accent-hot);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-decoration: none !important;
}

.rm-tool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 10px;
}

.rm-tool-card {
  position: relative;
  display: block;
  min-height: 180px;
  padding: 24px 24px 56px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.045);
  color: var(--lm-text) !important;
  text-decoration: none !important;
  overflow: hidden;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.rm-tool-card:hover {
  border-color: rgba(185, 74, 90, 0.28);
  box-shadow: 0 18px 44px rgba(17, 19, 24, 0.075);
  transform: translateY(-1px);
}

.rm-tool-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--lm-ink);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.45;
}

.rm-tool-card span:not(.rm-tool-card__label) {
  display: block;
  color: #4b5563;
  font-size: 13.5px;
  line-height: 1.85;
}

.rm-tool-card em {
  position: absolute;
  left: 24px;
  bottom: 22px;
  color: var(--lm-accent-hot);
  font-style: normal;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.rm-tool-card em::after {
  content: " >";
}

@media only screen and (max-width: 599px) {
  .rm-tool-feature {
    padding: 26px 22px;
  }

  .rm-tool-grid {
    grid-template-columns: 1fr;
  }

  .rm-tool-card {
    min-height: 0;
  }
}

/* Tool detail page */
.rm-tool-detail {
  margin: 0;
}

.rm-tool-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 34px;
  align-items: center;
  margin: 10px 0 28px;
  padding: 40px;
  background:
    radial-gradient(circle at 84% 18%, rgba(185, 74, 90, 0.11), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(17, 19, 24, 0.055);
}

.rm-tool-hero__label,
.rm-tool-block .rm-section__label {
  margin: 0 0 10px;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-tool-hero__title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--lm-ink) !important;
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(34px, 5vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.rm-tool-hero__lead {
  margin: 0 0 24px !important;
  color: #33404a;
  font-size: 14px;
  line-height: 2;
}

.rm-tool-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rm-tool-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 6px;
  background: var(--lm-accent-hot);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-decoration: none !important;
}

.rm-tool-button--sub {
  background: #ffffff;
  color: var(--lm-ink) !important;
  border: 1px solid var(--lm-line);
}

.rm-tool-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(17, 19, 24, 0.09);
}

.rm-tool-meta {
  margin: 0 0 28px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 14px;
}

.rm-tool-meta dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.rm-tool-meta div {
  padding: 12px;
  background: #f7faf9;
  border-radius: 10px;
}

.rm-tool-meta dt {
  margin-bottom: 6px;
  color: var(--lm-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.rm-tool-meta dd {
  margin: 0;
  color: var(--lm-ink);
  font-size: 13px;
  font-weight: 800;
}

.rm-tool-block {
  margin: 28px 0;
  padding: 30px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.035);
}

.rm-tool-block h3 {
  margin: 0 0 16px !important;
  color: var(--lm-ink);
  font-size: 24px;
  font-weight: 900;
}

.rm-tool-block p {
  margin: 0 0 14px !important;
  color: #33404a;
  font-size: 14px;
  line-height: 2;
}

.rm-tool-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rm-tool-feature-card {
  padding: 18px;
  background: #f7faf9;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
}

.rm-tool-feature-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--lm-ink);
  font-size: 15px;
  font-weight: 900;
}

.rm-tool-feature-card span {
  display: block;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.8;
}

.rm-tool-steps {
  display: grid;
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: tool-step;
}

.rm-tool-steps li {
  position: relative;
  list-style: none;
  padding: 16px 16px 16px 54px;
  background: #f7faf9;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
  counter-increment: tool-step;
}

.rm-tool-steps li::before {
  content: counter(tool-step);
  position: absolute;
  left: 16px;
  top: 16px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--lm-accent-hot);
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 900;
  line-height: 26px;
  text-align: center;
}

.rm-tool-steps strong {
  display: block;
  margin-bottom: 6px;
  color: var(--lm-ink);
  font-size: 14px;
  font-weight: 900;
}

.rm-tool-steps span {
  display: block;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.8;
}

.rm-tool-changelog {
  margin: 0 !important;
  padding: 0 !important;
}

.rm-tool-changelog li {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  list-style: none;
  padding: 12px 0;
  border-bottom: 1px solid var(--lm-line);
}

.rm-tool-changelog time {
  color: var(--lm-accent-hot);
  font-size: 12px;
  font-weight: 900;
}

.rm-tool-changelog span {
  color: #4b5563;
  font-size: 13px;
  line-height: 1.8;
}

@media only screen and (max-width: 599px) {
  .rm-tool-hero {
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }

  .rm-tool-meta dl,
  .rm-tool-feature-grid {
    grid-template-columns: 1fr;
  }

  .rm-tool-block {
    padding: 24px 20px;
  }

  .rm-tool-changelog li {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

/* Tool meta typography tuning */
.rm-tool-meta dt {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

.rm-tool-meta dd {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: #1f252b !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.02em !important;
}

/* Tool title image */
.rm-tool-hero__title--image {
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.rm-tool-hero__title--image img {
  display: block;
  width: min(100%, 420px);
  height: auto;
}

/* Tool feature card typography tuning */
.rm-tool-feature-card strong {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: var(--lm-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.55 !important;
}

.rm-tool-feature-card span {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: #3f4a52 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  letter-spacing: 0.01em !important;
}

/* Tool feature card image */
.rm-tool-feature-card__image {
  display: block;
  margin: 0 0 14px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 10px;
}

.rm-tool-feature-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}

/* Tool feature grid fixed */
.rm-tool-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

.rm-tool-feature-grid > .rm-tool-feature-card {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 18px !important;
  background: #f7faf9 !important;
  border: 1px solid var(--lm-line) !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

.rm-tool-feature-card__image {
  display: block !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid var(--lm-line) !important;
  border-radius: 10px !important;
}

.rm-tool-feature-card__image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
}

.rm-tool-feature-card strong {
  display: block !important;
  margin: 0 0 8px !important;
}

.rm-tool-feature-card__text {
  display: block !important;
  color: #3f4a52 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}

@media only screen and (max-width: 599px) {
  .rm-tool-feature-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Tool detail link panel */
.rm-tool-link-panel {
  margin-top: 18px;
}

.rm-tool-link-panel a {
  position: relative;
  display: block;
  padding: 20px 56px 20px 22px;
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  color: var(--lm-text) !important;
  text-decoration: none !important;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.045);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.rm-tool-link-panel a::after {
  content: ">";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lm-accent-hot);
  font-family: "Inter", sans-serif;
  font-size: 20px;
  font-weight: 900;
}

.rm-tool-link-panel a:hover {
  border-color: rgba(185, 74, 90, 0.28);
  box-shadow: 0 18px 44px rgba(17, 19, 24, 0.075);
  transform: translateY(-1px);
}

.rm-tool-link-panel strong {
  display: block;
  margin-bottom: 7px;
  color: var(--lm-ink);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
}

.rm-tool-link-panel span {
  display: block;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.8;
}

/* Tool page typography polish */
.rm-tool-feature-card strong,
.rm-tool-link-panel strong {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: var(--lm-ink) !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.025em !important;
  line-height: 1.65 !important;
}

.rm-tool-feature-card__text,
.rm-tool-feature-card span:not(.rm-tool-feature-card__image),
.rm-tool-link-panel span {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: #36424b !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.015em !important;
  line-height: 1.95 !important;
}

.rm-tool-link-panel a {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
}

/* Hide page date */
body.page .st-date,
body.page .post-date,
body.page .entry-date,
body.page time,
body.page .updated,
body.page .published {
  display: none !important;
}

/* Hide fixed page footer meta including clock icon */
body.page .blogbox,
body.page .st-post-meta,
body.page .st-catgroup,
body.page .st-kaiwa-date,
body.page .st-post-date,
body.page .entry-meta,
body.page .post-meta,
body.page .posted-on {
  display: none !important;
}

/* Category archive header */
body.archive .archive-title,
body.category .archive-title,
body.archive h1,
body.category h1 {
  position: relative;
  margin: 0 0 12px !important;
  padding: 22px 28px 22px 30px !important;
  background:
    linear-gradient(90deg, var(--lm-soft), rgba(255,255,255,0)) !important;
  border: 1px solid var(--lm-line) !important;
  border-left: 4px solid var(--lm-accent-hot) !important;
  border-radius: 0 !important;
  box-shadow: 0 14px 36px rgba(17, 19, 24, 0.04);
  color: var(--lm-ink) !important;
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: clamp(26px, 4vw, 36px) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
}

body.archive .archive-title::before,
body.category .archive-title::before,
body.archive h1::before,
body.category h1::before {
  content: "Category";
  display: block;
  margin-bottom: 8px;
  color: var(--lm-accent-hot);
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Latest posts load more button */
.rm-loadmore-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  margin: 8px auto 34px;
  padding: 0 22px;
  border: 1px solid rgba(185, 74, 90, 0.28);
  border-radius: 6px;
  background: #ffffff;
  color: var(--lm-ink);
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(17, 19, 24, 0.045);
}

.rm-loadmore-button:hover {
  background: var(--lm-accent-hot-soft);
  color: var(--lm-ink);
  transform: translateY(-1px);
}

/* Latest posts load more initial hide */
.rm-latest-loadmore > li:nth-child(n + 6),
.rm-latest-loadmore ul > li:nth-child(n + 6) {
  display: none !important;
}

/* Tool changelog fix */

/* Tool changelog card */
.rm-tool-changelog {
  display: grid !important;
  gap: 0 !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.rm-tool-changelog__item {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid var(--lm-line) !important;
}

.rm-tool-changelog__item time {
  display: block !important;
  color: var(--lm-accent-hot) !important;
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
}

.rm-tool-changelog__item span {
  display: block !important;
  color: #36424b !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
}

@media only screen and (max-width: 599px) {
  .rm-tool-changelog__item {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* Fixed page date hide - do not hide tool changelog time */
body.page .st-date,
body.page .post-date,
body.page .entry-date,
body.page .updated,
body.page .published,
body.page .blogbox,
body.page .st-post-meta,
body.page .entry-meta,
body.page .post-meta,
body.page .posted-on {
  display: none !important;
}

/* Tool changelog force restore */
body.page .rm-tool-changelog {
  display: grid !important;
  gap: 0 !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

body.page .rm-tool-changelog__item {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid var(--lm-line) !important;
}

body.page .rm-tool-changelog__item time {
  display: block !important;
  color: var(--lm-accent-hot) !important;
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
}

body.page .rm-tool-changelog__item span {
  display: block !important;
  color: #36424b !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
}

@media only screen and (max-width: 599px) {
  body.page .rm-tool-changelog__item {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* About page */
.rm-about-page {
  margin: 0;
}

.rm-about-block {
  position: relative;
  margin: 24px 0;
  padding: 30px 32px;
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 68%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-left: 4px solid var(--lm-accent-hot);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.04);
}

.rm-about-block__label {
  margin: 0 0 9px !important;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-about-block h3 {
  margin: 0 0 16px !important;
  color: var(--lm-ink);
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.45;
}

.rm-about-block p {
  margin: 0 0 14px !important;
  color: #33404a;
  font-size: 14px;
  line-height: 2.05;
}

.rm-about-block p:last-child {
  margin-bottom: 0 !important;
}

@media only screen and (max-width: 599px) {
  .rm-about-block {
    padding: 24px 20px;
  }

  .rm-about-block h3 {
    font-size: 20px;
  }

  .rm-about-block p {
    font-size: 13.5px;
  }
}

/* About emphasis */
.rm-about-emphasis {
  padding: 16px 18px;
  background: #f7faf9;
  border-left: 4px solid var(--lm-accent-hot);
  color: var(--lm-ink) !important;
  font-weight: 700;
}

/* Category archive spacing */
body.category .archive-title,
body.category h1,
body.archive .archive-title,
body.archive h1 {
  margin-bottom: 42px !important;
}

body.category .kanren,
body.archive .kanren,
body.category article,
body.archive article {
  margin-top: 18px !important;
}

/* Category header compact override */
body.category #main > *:first-child,
body.archive #main > *:first-child {
  padding-bottom: 14px !important;
  margin-bottom: 22px !important;
  min-height: 0 !important;
}

body.category .archive-title,
body.archive .archive-title,
body.category h1,
body.archive h1 {
  margin-bottom: 0 !important;
}

/* Single post typography - match about page */
body.single .entry-content,
body.single .entry-content p,
body.single .entry-content li,
body.single .entry-content table,
body.single .entry-content td,
body.single .entry-content th {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif !important;
  color: #25313a !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 2.05 !important;
}

@media print, screen and (min-width: 960px) {
  body.single .entry-content,
  body.single .entry-content p,
  body.single .entry-content li {
    font-size: 17px !important;
  }
}

body.single .entry-content h2,
body.single .entry-content h3,
body.single .entry-content h4 {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: var(--lm-ink) !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
}

/* About page body font size restore */
@media print, screen and (min-width: 960px) {
  body.page .rm-about-block p {
    font-size: 17px !important;
    line-height: 2.05 !important;
  }
}

@media only screen and (max-width: 599px) {
  body.page .rm-about-block p {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }
}

/* Post inline text size utilities */
body.single .entry-content .rm-text-large {
  font-size: 19px !important;
  line-height: 2 !important;
  font-weight: 600 !important;
}

body.single .entry-content .rm-text-xlarge {
  font-size: 22px !important;
  line-height: 1.9 !important;
  font-weight: 700 !important;
}

@media only screen and (max-width: 599px) {
  body.single .entry-content .rm-text-large {
    font-size: 17px !important;
  }

  body.single .entry-content .rm-text-xlarge {
    font-size: 19px !important;
  }
}

/* Guild pages */
.rm-guild-page,
.rm-guild-detail {
  margin: 0;
}

.rm-guild-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 10px;
}

.rm-guild-card {
  position: relative;
  display: block;
  min-height: 180px;
  padding: 24px 24px 56px;
  background:
    linear-gradient(135deg, #ffffff 0%, #ffffff 62%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-left: 4px solid var(--lm-accent-hot);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.045);
  color: var(--lm-text) !important;
  text-decoration: none !important;
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.rm-guild-card:hover {
  border-color: rgba(185, 74, 90, 0.28);
  box-shadow: 0 18px 44px rgba(17, 19, 24, 0.075);
  transform: translateY(-1px);
}

.rm-guild-card__label {
  display: block;
  margin-bottom: 9px;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-guild-card strong {
  display: block;
  margin-bottom: 10px;
  color: var(--lm-ink);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.45;
}

.rm-guild-card span:not(.rm-guild-card__label) {
  display: block;
  color: #4b5563;
  font-size: 13.5px;
  line-height: 1.85;
}

.rm-guild-card em {
  position: absolute;
  left: 24px;
  bottom: 22px;
  color: var(--lm-accent-hot);
  font-style: normal;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.rm-guild-card em::after {
  content: " >";
}

.rm-guild-card--soon {
  opacity: 0.72;
}

.rm-guild-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 34px;
  align-items: center;
  margin: 10px 0 28px;
  padding: 40px;
  background:
    radial-gradient(circle at 84% 18%, rgba(185, 74, 90, 0.11), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #ffffff 58%, #f7faf9 100%);
  border: 1px solid var(--lm-line);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(17, 19, 24, 0.055);
}

.rm-guild-hero__label,
.rm-guild-block .rm-section__label {
  margin: 0 0 10px;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-guild-hero__title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--lm-ink) !important;
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(32px, 5vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.rm-guild-hero__lead {
  margin: 0 !important;
  color: #33404a;
  font-size: 14px;
  line-height: 2;
}

.rm-guild-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(17, 19, 24, 0.09);
}

.rm-guild-meta {
  margin: 0 0 28px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 14px;
}

.rm-guild-meta dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.rm-guild-meta div {
  padding: 12px;
  background: #f7faf9;
  border-radius: 10px;
}

.rm-guild-meta dt {
  margin-bottom: 6px;
  color: var(--lm-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.rm-guild-meta dd {
  margin: 0;
  color: var(--lm-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
}

.rm-guild-block {
  margin: 28px 0;
  padding: 30px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.035);
}

.rm-guild-block h3 {
  margin: 0 0 16px !important;
  color: var(--lm-ink);
  font-size: 24px;
  font-weight: 900;
}

.rm-guild-block p {
  margin: 0 0 14px !important;
  color: #33404a;
  font-size: 14px;
  line-height: 2;
}

.rm-guild-activity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rm-guild-activity-card {
  padding: 18px;
  background: #f7faf9;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
}

.rm-guild-activity-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--lm-ink);
  font-size: 15px;
  font-weight: 800;
}

.rm-guild-activity-card span {
  display: block;
  color: #3f4a52;
  font-size: 13.5px;
  line-height: 1.9;
}

@media only screen and (max-width: 599px) {
  .rm-guild-grid,
  .rm-guild-activity-grid,
  .rm-guild-meta dl,
  .rm-guild-hero {
    grid-template-columns: 1fr;
  }

  .rm-guild-hero,
  .rm-guild-block {
    padding: 24px 20px;
  }

  .rm-guild-card {
    min-height: 0;
  }
}

/* Guild story page */
.rm-guild-story {
  margin: 0;
}

.rm-guild-story-hero {
  position: relative;
  padding: 46px 42px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(185, 74, 90, 0.1), rgba(255,255,255,0) 42%),
    #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(17, 19, 24, 0.055);
}

.rm-guild-story-hero::after {
  content: "GUILD";
  position: absolute;
  right: 28px;
  bottom: -8px;
  color: rgba(17, 19, 24, 0.035);
  font-family: "Inter", sans-serif;
  font-size: 86px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
}

.rm-guild-story__label {
  margin: 0 0 10px !important;
  color: var(--lm-accent-hot);
  font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rm-guild-story__title {
  margin: 0 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--lm-ink) !important;
  font-family: "M PLUS 1p", "Inter", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(34px, 5vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.rm-guild-story__catch {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: 0 !important;
  color: #33404a;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.rm-guild-profile-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0 30px;
  overflow: hidden;
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  background: var(--lm-line);
}

.rm-guild-profile-strip div {
  padding: 18px;
  background: #ffffff;
}

.rm-guild-profile-strip span {
  display: block;
  margin-bottom: 7px;
  color: var(--lm-muted);
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rm-guild-profile-strip strong {
  display: block;
  color: var(--lm-ink);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.7;
}

.rm-guild-story-block {
  margin: 28px 0;
  padding: 32px;
  background: #ffffff;
  border: 1px solid var(--lm-line);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(17, 19, 24, 0.035);
}

.rm-guild-story-block h3 {
  margin: 0 0 16px !important;
  color: var(--lm-ink);
  font-size: 24px;
  font-weight: 900;
}

.rm-guild-story-block p {
  margin: 0 0 14px !important;
  color: #33404a;
  font-size: 15px;
  line-height: 2.05;
}

.rm-guild-story-block--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 28px;
  align-items: center;
}

.rm-guild-story-block figure {
  margin: 0;
}

.rm-guild-story-block img,
.rm-guild-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
}

.rm-guild-activity-list {
  display: grid;
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
}

.rm-guild-activity-list li {
  list-style: none;
  padding: 18px 20px;
  background: #f7faf9;
  border: 1px solid var(--lm-line);
  border-radius: 12px;
}

.rm-guild-activity-list strong {
  display: block;
  margin-bottom: 7px;
  color: var(--lm-ink);
  font-size: 15px;
  font-weight: 800;
}

.rm-guild-activity-list span {
  display: block;
  color: #3f4a52;
  font-size: 13.5px;
  line-height: 1.9;
}

.rm-guild-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rm-guild-story-note {
  margin: 30px 0 0;
  padding: 24px 28px;
  background: #f7faf9;
  border-left: 4px solid var(--lm-accent-hot);
  border-radius: 0 12px 12px 0;
}

.rm-guild-story-note p {
  margin: 0 !important;
  color: var(--lm-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}

@media only screen and (max-width: 599px) {
  .rm-guild-story-hero,
  .rm-guild-story-block {
    padding: 24px 20px;
  }

  .rm-guild-profile-strip,
  .rm-guild-story-block--split,
  .rm-guild-gallery {
    grid-template-columns: 1fr;
  }

  .rm-guild-story-hero::after {
    font-size: 48px;
  }
}

/* Guild profile strip typography */
.rm-guild-profile-strip span {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: #6b747c !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
}

.rm-guild-profile-strip strong {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  color: #1f252b !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.75 !important;
}

/* Conversation icon crisp tuning */
.st-kaiwa-face img,
[class*="kaiwa"] img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain !important;
  image-rendering: auto !important;
  border-radius: 0 !important;
}

/* Text-only conversation box */
.rm-talk {
  position: relative;
  margin: 28px 0;
  padding: 18px 22px;
  background: #f4f6f6;
  border: 1px solid #e2e7e9;
  border-left: 4px solid var(--lm-accent-hot);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(17, 19, 24, 0.035);
}

.rm-talk::before {
  content: "";
  position: absolute;
  left: 22px;
  top: -9px;
  width: 16px;
  height: 16px;
  background: #f4f6f6;
  border-left: 1px solid #e2e7e9;
  border-top: 1px solid #e2e7e9;
  transform: rotate(45deg);
}

.rm-talk p {
  margin: 0 !important;
  color: var(--lm-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

@media only screen and (max-width: 599px) {
  .rm-talk {
    margin: 24px 0;
    padding: 16px 18px;
  }

  .rm-talk p {
    font-size: 15px !important;
  }
}

/* Custom image conversation card */
.rm-talk-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 30px 0;
}

.rm-talk-card__icon {
  width: 72px;
  height: 72px;
}

.rm-talk-card__icon img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 0;
  image-rendering: auto;
}

.rm-talk-card__bubble {
  position: relative;
  max-width: 620px;
  padding: 16px 20px;
  background: #f4f6f6;
  border: 1px solid #e2e7e9;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(17, 19, 24, 0.035);
}

.rm-talk-card__bubble::before {
  content: "";
  position: absolute;
  left: -8px;
  top: 50%;
  width: 14px;
  height: 14px;
  background: #f4f6f6;
  border-left: 1px solid #e2e7e9;
  border-bottom: 1px solid #e2e7e9;
  transform: translateY(-50%) rotate(45deg);
}

.rm-talk-card__bubble p {
  margin: 0 !important;
  color: var(--lm-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

@media only screen and (max-width: 599px) {
  .rm-talk-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    margin: 24px 0;
  }

  .rm-talk-card__icon,
  .rm-talk-card__icon img {
    width: 54px;
    height: 54px;
  }

  .rm-talk-card__bubble {
    max-width: 100%;
    padding: 13px 15px;
  }

  .rm-talk-card__bubble p {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }
}

/* Custom talk icon size up */
.rm-talk-card {
  grid-template-columns: 92px minmax(0, 1fr);
}

.rm-talk-card__icon,
.rm-talk-card__icon img {
  width: 92px;
  height: 92px;
}

@media only screen and (max-width: 599px) {
  .rm-talk-card {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  .rm-talk-card__icon,
  .rm-talk-card__icon img {
    width: 68px;
    height: 68px;
  }
}

/* Mobile overflow safe reset */
@media only screen and (max-width: 599px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow-x: clip !important;
    overflow-y: auto !important;
  }

  #wrapper,
  #st-ami,
  #content,
  #contentInner,
  #main,
  main,
  article,
  .post,
  .article,
  .entry-content {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.single img,
  body.single iframe,
  body.single video,
  body.single figure {
    max-width: 100% !important;
    height: auto;
    box-sizing: border-box !important;
  }
}

/* Post inline text extra large */
body.single .entry-content .rm-text-xxlarge {
  font-size: 28px !important;
  line-height: 1.75 !important;
  font-weight: 800 !important;
  color: var(--lm-ink) !important;
}

@media only screen and (max-width: 599px) {
  body.single .entry-content .rm-text-xxlarge {
    font-size: 22px !important;
    line-height: 1.75 !important;
  }
}

/* Fixed page readable typography final override */
body.page:not(.home) .entry-content,
body.page:not(.home) .entry-content p,
body.page:not(.home) .entry-content li,
body.page:not(.home) .rm-about-block p,
body.page:not(.home) .rm-tool-block p,
body.page:not(.home) .rm-guild-story-block p,
body.page:not(.home) .rm-guild-story-note p,
body.page:not(.home) .rm-character-profile__text p:not([class]) {
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", sans-serif !important;
  color: #33404a !important;
  font-weight: 450 !important;
  letter-spacing: 0.005em !important;
  line-height: 2.02 !important;
}

@media print, screen and (min-width: 960px) {
  body.page:not(.home) .entry-content p,
  body.page:not(.home) .entry-content li,
  body.page:not(.home) .rm-about-block p,
  body.page:not(.home) .rm-tool-block p,
  body.page:not(.home) .rm-guild-story-block p,
  body.page:not(.home) .rm-guild-story-note p,
  body.page:not(.home) .rm-character-profile__text p:not([class]) {
    font-size: 16.5px !important;
  }
}

@media only screen and (max-width: 599px) {
  body.page:not(.home) .entry-content p,
  body.page:not(.home) .entry-content li,
  body.page:not(.home) .rm-about-block p,
  body.page:not(.home) .rm-tool-block p,
  body.page:not(.home) .rm-guild-story-block p,
  body.page:not(.home) .rm-guild-story-note p,
  body.page:not(.home) .rm-character-profile__text p:not([class]) {
    font-size: 14px !important;
    line-height: 1.95 !important;
  }
}

/* Character profile tag restore */
body.page:not(.home) .entry-content p.rm-character-profile__tag,
body.page .entry-content p.rm-character-profile__tag,
body.page p.rm-character-profile__tag {
  display: inline-block !important;
  margin: 0 0 24px !important;
  padding: 5px 12px !important;
  background: var(--lm-accent-hot) !important;
  color: #ffffff !important;
  font-family: "Inter", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.6 !important;
}

/* Category archive thumbnail frame */
body.category .kanren dt,
body.archive .kanren dt {
  width: 240px !important;
  min-width: 240px !important;
}

body.category .kanren dt a,
body.archive .kanren dt a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 240px !important;
  height: 135px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid var(--lm-line) !important;
  border-radius: 8px !important;
}

body.category .kanren dt img,
body.archive .kanren dt img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Category archive card spacing fix */
body.category .kanren dl,
body.archive .kanren dl {
  display: grid !important;
  grid-template-columns: 265px minmax(0, 1fr) !important;
  column-gap: 34px !important;
  align-items: center !important;
}

body.category .kanren dt,
body.archive .kanren dt {
  width: 265px !important;
  min-width: 265px !important;
  margin: 0 !important;
}

body.category .kanren dt a,
body.archive .kanren dt a {
  width: 265px !important;
  height: 149px !important;
}

body.category .kanren dd,
body.archive .kanren dd {
  margin-left: 0 !important;
  padding-left: 0 !important;
  min-width: 0 !important;
}

/* Top latest posts date restore */
.wp-block-latest-posts.wp-block-latest-posts__list li {
  grid-template-areas:
    "thumb title"
    "thumb date"
    "thumb excerpt" !important;
}

.wp-block-latest-posts__post-date {
  display: block !important;
  grid-area: date !important;
  margin: 0 !important;
  color: var(--lm-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.wp-block-latest-posts__post-author {
  display: none !important;
}

body.home .wp-block-latest-posts__post-date,
body.front-page .wp-block-latest-posts__post-date,
body.page .wp-block-latest-posts__post-date {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Hide fixed page own featured image only */
body.page:not(.home) .entry-content > .wp-post-image,
body.page:not(.home) .entry-content > .st-eyecatch,
body.page:not(.home) .entry-content > .eye-catch,
body.page:not(.home) article > .wp-post-image,
body.page:not(.home) article > .st-eyecatch,
body.page:not(.home) article > .eye-catch,
body.page:not(.home) .post > .wp-post-image,
body.page:not(.home) .post > .st-eyecatch,
body.page:not(.home) .post > .eye-catch {
  display: none !important;
}

/* Single post inner link card text final */
body.single .entry-content .kanren {
  position: relative !important;
}

body.single .entry-content .kanren dd {
  display: block !important;
  min-height: 0 !important;
  padding: 4px 56px 4px 0 !important;
}

/* AFFINGER card title: h5型・class型・直リンク型を全部拾う */
body.single .entry-content .kanren dd > a:first-child,
body.single .entry-content .kanren h5,
body.single .entry-content .kanren h5 a,
body.single .entry-content .kanren .st-cardbox-title,
body.single .entry-content .kanren .st-cardbox-title a,
body.single .entry-content .kanren .card-title,
body.single .entry-content .kanren .card-title a {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 6px 10px 7px !important;
  background: #f7ecee !important;
  border-left: 3px solid var(--lm-accent-hot) !important;
  border-radius: 4px !important;
  color: var(--lm-ink) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
}

body.single .entry-content .kanren h5::after,
body.single .entry-content .kanren .st-cardbox-title::after {
  display: none !important;
}

body.single .entry-content .kanren p,
body.single .entry-content .kanren dd > span,
body.single .entry-content .kanren dd > div:not(.blog_info) {
  margin: 0 !important;
  color: #4d5962 !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: 0.01em !important;
}

body.single .entry-content .kanren p a {
  color: var(--lm-accent-hot) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.single .entry-content .kanren::after {
  content: ">";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(185, 74, 90, 0.55);
  font-family: "Inter", sans-serif;
  font-size: 28px;
  font-weight: 800;
}

/* Single post inner link card title - natural */
body.single .entry-content .kanren .st-cardbox-t {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 0 8px !important;
  background: transparent !important;
  border-left: 0 !important;
  border-bottom: 1px solid rgba(185, 74, 90, 0.28) !important;
  border-radius: 0 !important;
  color: var(--lm-ink) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.015em !important;
}

body.single .entry-content .kanren .st-card-excerpt {
  margin: 0 !important;
  color: #56636c !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: 0.01em !important;
}

body.single .entry-content .kanren .st-card-excerpt p {
  margin: 0 !important;
}

body.single .entry-content .kanren dd {
  padding-left: 18px !important;
}

/* Single post inner link card image/text spacing */
body.single .entry-content .kanren dl {
  column-gap: 34px !important;
}

body.single .entry-content .kanren dd {
  padding-left: 28px !important;
}

body.single .entry-content .kanren dt {
  margin-right: 34px !important;
}

/* Single post eyecatch inside article frame */
body.single .st-eyecatch,
body.single .eye-catch,
body.single .eyecatch,
body.single .post-thumbnail {
  max-width: 100% !important;
  margin: 0 auto 24px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
}

body.single .st-eyecatch img,
body.single .eye-catch img,
body.single .eyecatch img,
body.single .post-thumbnail img,
body.single img.wp-post-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}