@charset "UTF-8";

/* ----------------------------------------
  マットレス・敷き寝具の選び方 LP
---------------------------------------- */

/* ===== 導入リード ===== */
/* 薄い青のマーカー */
.block-mattress-marker {
  background: linear-gradient(transparent 55%, #dfe7fb 55%);
}

@media screen and (max-width: 768px) {
  .block-mattress .block-recommend-lead {
    margin-bottom: 64px;
    padding-inline: 24px;
  }
}

/* ===== アンカータブ ===== */
.block-mattress-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 34px 44px;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.block-mattress-tabs--item {
  margin: 0;
  width: calc((100% / 4) - 33px);
}

.block-mattress-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  padding: 18px 36px;
  border-radius: 50vh;
  background: #fff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .16);
  color: #333;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-tab::after {
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  rotate: 45deg;
  translate: 0 -2px;
  content: "";
}

/* ===== 敷き寝具のセルフチェック ===== */
.block-mattress-selfcheck {
  max-width: 1600px;
  margin: 110px auto 0;
  padding: 0 20px;
  color: #333;
  text-align: center;
}

.block-mattress-selfcheck--title {
  margin: 0;
  padding-left: 0;
  font-size: 30px;
  font-weight: bold;
  background-image: none;
}

.block-mattress-selfcheck--panel {
  max-width: 760px;
  margin: 32px auto 0;
  padding: 40px 60px;
  background: #fff;
  text-align: left;
}

.block-mattress-selfcheck--list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-mattress-selfcheck--item {
  display: flex;
  align-items: center;
  column-gap: 16px;
  font-size: 25px;
  line-height: 1.6;
}

.block-mattress-selfcheck--item + .block-mattress-selfcheck--item {
  margin-top: 20px;
}

.block-mattress-selfcheck--item::before {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border: 2px solid #333;
  content: "";
}

/* 下向き三角（薄い青） */
.block-mattress-selfcheck--arrow {
  width: 0;
  height: 0;
  margin: 26px auto 0;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  border-top: 18px solid #a3c1e8;
}

.block-mattress-selfcheck--result {
  margin: 24px 0 0;
  font-size: 22px;
  line-height: 1.7;
}

.block-mattress-selfcheck--result-strong {
  font-size: 26px;
  font-weight: bold;
}

.block-mattress-selfcheck--note {
  margin: 20px 0 0;
  font-size: 18px;
}

/* ----- SP ----- */
@media screen and (max-width: 1750px) {
  .block-mattress-tabs {
    justify-content: flex-start;
  }
  .block-mattress-tabs--item {
    width: calc((100% / 3) - 30px);
  }
}

@media screen and (max-width: 768px) {
  .block-mattress-tabs {
    gap: 12px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0 0 0 16px;
    padding-left: 1px;
    padding-bottom: 5px;
    overflow-x: auto;
  }

  .block-mattress-tabs--item {
    flex-shrink: 0;
    width: auto;
  }

  .block-mattress-tab {
    padding: 14px 22px;
    font-size: 14px;
  }

  .block-mattress-selfcheck {
    margin-top: 64px;
    padding: 0 16px;
  }

  .block-mattress-selfcheck--title {
    padding-left: 0;
    font-size: 22px;
    background-image: none;
  }

  .block-mattress-selfcheck--panel {
    margin-top: 24px;
    padding: 28px 20px;
  }

  .block-mattress-selfcheck--item {
    font-size: 16px;
    column-gap: 12px;
  }

  .block-mattress-selfcheck--item + .block-mattress-selfcheck--item {
    margin-top: 16px;
  }

  .block-mattress-selfcheck--item::before {
    width: 20px;
    height: 20px;
  }

  .block-mattress-selfcheck--result {
    font-size: 17px;
  }

  .block-mattress-selfcheck--result-strong {
    font-size: 20px;
  }

  .block-mattress-selfcheck--note {
    font-size: 15px;
  }
}

/* ===== 各セクション共通の見出し（中央・下罫線） ===== */
.block-mattress-heading {
  max-width: 1600px;
  margin: 130px auto 0;
  padding: 0 20px 22px;
  background-image: none;
  border-bottom: 1px solid #cfcfcf;
  color: #333;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}

/* サブ見出し（役割 / 特徴の違い / 厚さの違い） */
.block-mattress-subheading {
  margin: 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

/* ===== マットレスと敷き布団の違いとは？（#diff） ===== */
.block-mattress-diff {
  margin-top: 130px;
}

.block-mattress-diff--lead {
  margin: 28px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

/* サブアンカータブ（3つ・中央） */
.block-mattress-subtabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 44px;
  max-width: 1600px;
  margin: 36px auto 0;
  padding: 0;
  list-style: none;
}

.block-mattress-subtabs--item {
  margin: 0;
  width: calc((100% / 3) - 30px);
}

/* ----- 役割 ----- */
.block-mattress-diff--role {
  margin-top: 90px;
}

.block-mattress-diff--role-inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  column-gap: 48px;
  max-width: 1600px;
  margin: 40px auto 0;
  padding: 0;
}

.block-mattress-diff--role-img {
  flex: 0 0 auto;
}

.block-mattress-diff--role-img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-diff--role-text {
  flex: 1 1 0;
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

/* ----- 特徴の違い（白カード2枚） ----- */
.block-mattress-diff--feature {
  margin-top: 90px;
}

.block-mattress-diff--feature-cards {
  display: flex;
  gap: 40px;
  max-width: 1600px;
  margin: 40px auto 0;
  padding: 0;
}

.block-mattress-diff--feature-card {
  flex: 1 1 0;
  padding: 40px 48px 48px;
  background: #fff;
}

.block-mattress-diff--feature-fig {
  text-align: center;
}

.block-mattress-diff--feature-fig img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-diff--feature-name {
  margin: 24px 0 0;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-diff--feature-text {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

/* ----- 厚さの違い ----- */
.block-mattress-diff--thick {
  margin-top: 90px;
}

.block-mattress-diff--thick > .block-mattress-diff--thick-sub {
  margin-top: 44px;
}

.block-mattress-diff--thick-sub {
  margin: 0;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-diff--thick-desc {
  margin: 14px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.8;
  text-align: center;
}

.block-mattress-diff--thick-list {
  display: flex;
  gap: 40px;
  max-width: 1600px;
  margin: 36px auto 0;
  padding: 0;
  list-style: none;
}

.block-mattress-diff--thick-item {
  flex: 1 1 0;
}

.block-mattress-diff--thick-img img {
  display: block;
  width: 100%;
  height: auto;
}

.block-mattress-diff--thick-spec {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-diff--thick-spec li {
  position: relative;
  padding-left: 1.1em;
  color: #333;
  font-size: 20px;
  line-height: 1.75;
}

.block-mattress-diff--thick-spec li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.block-mattress-diff--thick-note {
  margin: 6px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.75;
}

/* 敷き布団の厚さ（白パネル） */
.block-mattress-diff--shiki {
  max-width: 1600px;
  margin: 60px auto 0;
  padding: 48px 20px 56px;
  background: #fff;
  text-align: center;
}

.block-mattress-diff--shiki-desc {
  margin: 16px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.8;
}

.block-mattress-diff--shiki-img {
  margin-top: 32px;
}

.block-mattress-diff--shiki-img img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-diff--shiki-note {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.7;
}

/* ----- SP（#diff） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-heading {
    padding-bottom: 16px;
    font-size: 24px;
  }

  .block-mattress-subheading {
    padding-inline: 24px;
    font-size: 22px;
  }

  .block-mattress-diff {
    margin-top: 64px;
  }

  .block-mattress-diff--lead {
    margin-top: 20px;
    padding-inline: 24px;
    font-size: 15px;
  }

  .block-mattress-subtabs {
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
    padding: 0 24px;
  }

  .block-mattress-subtabs--item {
    width: 100%;
  }

  .block-mattress-diff--role {
    margin-top: 56px;
  }

  .block-mattress-diff--role-inner {
    flex-direction: column;
    row-gap: 20px;
    margin-top: 24px;
    padding-inline: 24px;
  }

  .block-mattress-diff--role-img img {
    width: 100%;
  }

  .block-mattress-diff--role-text {
    font-size: 15px;
  }

  .block-mattress-diff--feature {
    margin-top: 56px;
  }

  .block-mattress-diff--feature-cards {
    flex-direction: column;
    gap: 20px;
    margin-top: 24px;
    padding-inline: 24px;
  }

  .block-mattress-diff--feature-card {
    padding: 28px 16px 32px;
  }

  .block-mattress-diff--feature-name {
    font-size: 20px;
  }

  .block-mattress-diff--feature-text {
    font-size: 15px;
  }

  .block-mattress-diff--thick {
    margin-top: 56px;
  }

  .block-mattress-diff--thick > .block-mattress-diff--thick-sub {
    margin-top: 32px;
    padding-inline: 16px;
  }

  .block-mattress-diff--thick-sub {
    font-size: 18px;
  }

  .block-mattress-diff--thick-desc {
    padding-inline: 16px;
    font-size: 15px;
  }

  .block-mattress-diff--thick-list {
    flex-direction: column;
    gap: 28px;
    margin-top: 24px;
    padding-inline: 24px;
  }

  .block-mattress-diff--thick-img {
    text-align: center;
  }

  .block-mattress-diff--thick-img img {
    width: auto;
    max-width: 100%;
  }

  .block-mattress-diff--thick-spec {
    max-width: 360px;
    margin-inline: auto;
}

  .block-mattress-diff--thick-spec li {
    font-size: 18px;
  }

  .block-mattress-diff--thick-note {
    max-width: 360px;
    margin-inline: auto;
  }

  .block-mattress-diff--shiki {
    margin-top: 48px;
    padding: 32px 24px 40px;
  }

  .block-mattress-diff--shiki-desc {
    font-size: 15px;
  }

  .block-mattress-diff--shiki-note {
    font-size: 14px;
    text-align: left;
  }
}

/* ===== 人気の◯◯ ===== */
.block-event-list-wrap:has(.block-mattress-popular--head) {
  max-width: 1600px;
  margin: 100px auto 0;
  padding: 0;
  color: #333;
}

.block-mattress-popular--head {
  text-align: center;
}

.block-mattress-popular--title {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 40px;
  margin: 0;
  padding-left: 0;
  color: #333;
  font-size: 30px;
  font-weight: 500;
  background-image: none;
}

.block-mattress-popular--title::before,
.block-mattress-popular--title::after {
  flex: 1 1 auto;
  height: 1px;
  background: #cfcfcf;
  content: "";
}

.block-event-list-wrap:has(.block-mattress-popular--head) .block-top-event--goods {
  margin-top: 44px;
}

.block-mattress-popular--foot {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}

/* もっと見る系ボタン（ダーク丸ピル＋右シェブロン） */
.block-mattress-popular--button,
.block-mattress-size--button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  width: 100%;
  max-width: 500px;
  padding: 20px 28px;
  border-radius: 50vh;
  background: #222;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-popular--button::after,
.block-mattress-size--button::after {
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  content: "";
}

@media (hover: hover) {
  .block-mattress-popular--button:is(:hover, :focus),
  .block-mattress-size--button:is(:hover, :focus) {
    opacity: .85;
  }
}

/* ===== サイズで選ぶ（#size） ===== */
.block-mattress-size--intro {
  max-width: 1600px;
  margin: 50px auto 0;
  padding: 0 20px;
  text-align: center;
}

.block-mattress-size--intro-title {
  margin: 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
}

.block-mattress-size--intro-desc {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

/* 各サイズ：側罫線見出し＋説明 */
.block-mattress-size--sub {
  max-width: 1600px;
  margin: 80px auto 0;
  padding: 0 20px;
  text-align: center;
}

.block-mattress-size--sub-title {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 40px;
  margin: 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
}

.block-mattress-size--sub-title::before,
.block-mattress-size--sub-title::after {
  flex: 1 1 auto;
  height: 1px;
  background: #cfcfcf;
  content: "";
}

.block-mattress-size--sub-desc {
  margin: 16px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.8;
}

/* 人型図（左）＋自動グリッド（右） */
.block-event-list-wrap.block-mattress-size--row {
  display: flex;
  align-items: flex-start;
  column-gap: 40px;
  max-width: 1600px;
  margin: 36px auto 0;
  margin-bottom: 0;
  padding: 0 20px;
}

.block-mattress-size--fig {
  flex: 0 0 auto;
  background: #fff;
}

.block-mattress-size--fig img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-size--row .block-top-event--goods {
  flex: 1 1 0;
  min-width: 0;
}

.block-mattress-size--foot {
  display: flex;
  justify-content: center;
  max-width: 1600px;
  margin: 40px auto 0;
  padding: 0 20px;
}

/* ----- SP（人気の／サイズ） ----- */
@media screen and (max-width: 768px) {
  .block-event-list-wrap:has(.block-mattress-popular--head) {
    margin-top: 56px;
    padding: 0;
  }

  .block-mattress-popular--title {
    column-gap: 20px;
    font-size: 22px;
    padding-inline: 24px;
  }

  .block-event-list-wrap:has(.block-mattress-popular--head) .block-top-event--goods {
    margin-top: 28px;
  }

  .block-mattress-popular--foot {
    margin-top: 28px;
    padding-inline: 24px;
  }

  .block-mattress-popular--button,
  .block-mattress-size--button {
    padding: 16px 20px;
    font-size: 18px;
  }

  .block-mattress-size--intro {
    margin-top: 28px;
    padding: 0 24px;
  }

  .block-mattress-size--intro-title {
    font-size: 20px;
  }

  .block-mattress-size--intro-desc {
    font-size: 14px;
  }

  .block-mattress-size--sub {
    margin-top: 48px;
    padding: 0 24px;
  }

  .block-mattress-size--sub-title {
    column-gap: 16px;
    font-size: 20px;
  }

  .block-mattress-size--sub-desc {
    font-size: 14px;
  }

  .block-event-list-wrap.block-mattress-size--row {
    flex-direction: column;
    align-items: center;
    row-gap: 24px;
    margin-top: 24px;
    padding: 0;
  }

  .block-mattress-size--fig {
    margin-inline: 24px;
  }

  .block-mattress-size--row .block-top-event--goods {
    width: 100%;
  }

  .block-mattress-size--foot {
    margin-top: 28px;
    padding: 0 16px;
  }
}

/* ===== 価格で選ぶ（#price） ===== */
.block-mattress-price--list {
  display: flex;
  gap: 44px;
  flex-wrap: wrap;
  max-width: 1600px;
  margin: 44px auto 0;
  padding: 0;
  list-style: none;
}

.block-mattress-price--item {
  flex: 1 1 0;
  width: calc((100% / 4) - 33px);
}

.block-mattress-price--button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  width: 100%;
  padding: 18px 24px;
  border-radius: 50vh;
  background: #222;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-price--button::after {
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  content: "";
}

@media (hover: hover) {
  .block-mattress-price--button:is(:hover, :focus) {
    opacity: .85;
  }
}

/* ===== 寝室のタイプで選ぶ（#bedroom） ===== */
.block-mattress-room--sub {
  max-width: 1600px;
  margin: 70px auto 0;
  padding: 0 20px;
  text-align: center;
}

.block-mattress-room--sub-title {
  margin: 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
}

.block-mattress-room--sub-desc {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

.block-mattress-room--photos {
  display: flex;
  gap: 40px;
  max-width: 1600px;
  margin: 40px auto 100px;
  padding: 0;
  list-style: none;
}

.block-mattress-room--photo {
  flex: 1 1 0;
}

.block-mattress-room--photo-img img {
  display: block;
  width: 100%;
  height: auto;
}

.block-mattress-room--photo-text {
  margin: 16px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.8;
}

/* ===== 「良い敷き寝具」の条件とは？（#condition） ===== */
.block-mattress-cond--lead {
  max-width: 1600px;
  margin: 28px auto 0;
  padding: 0 20px;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

/* 3つのPOINTカード */
.block-mattress-cond--points {
  display: flex;
  gap: 40px;
  max-width: 1600px;
  margin: 50px auto 0;
  padding: 0;
  list-style: none;
}

.block-mattress-cond--point {
  flex: 1 1 0;
  padding-bottom: 32px;
  background: #fff;
  border-radius: 30px;
}

.block-mattress-cond--point-label {
  padding-top: 28px;
  text-align: center;
}

.block-mattress-cond--point-label img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-cond--point-name {
  margin: 0;
  padding: 10px;
  background: #a0c7e8;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-cond--point-text {
  margin: 22px 0 0;
  padding: 0 28px;
  color: #333;
  font-size: 20px;
  line-height: 1.85;
}

/* さらに… */
.block-mattress-cond--more {
  margin: 60px 0 0;
  color: #333;
  font-size: 24px;
  font-weight: normal;
  line-height: 1.6;
  text-align: center;
}

.block-mattress-cond--more-dots {
  display: block;
  color: #333;
  font-size: 22px;
  letter-spacing: 0.3em;
  padding-left: 0.3em;
  line-height: 1;
}

/* 太字は「敷き寝具の硬さ」（マーカー）のみ */
.block-mattress-cond--more .block-mattress-marker {
  font-weight: bold;
}

/* 解説パネル（白） */
.block-mattress-cond--panel {
  max-width: 1600px;
  margin: 40px auto 0;
  padding: 48px 60px 56px;
  background: #fff;
}

.block-mattress-cond--panel + .block-mattress-popular--head {
  margin-top: 100px;
}

.block-mattress-cond--panel-title {
  margin: 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
}

.block-mattress-cond--panel-title.-center {
  text-align: center;
}

.block-mattress-cond--panel-body {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

.block-mattress-cond--panel-body.-center {
  text-align: center;
}

/* 理想的な寝姿勢（テキスト左＋シルエット右） */
.block-mattress-cond--posture {
  display: flex;
  align-items: center;
  gap: 48px;
}

.block-mattress-cond--posture-text {
  flex: 1 1 0;
}

.block-mattress-cond--posture-fig {
  flex: 0 0 auto;
}

.block-mattress-cond--posture-fig img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-cond--posture-catch {
  margin: 24px 0 0;
  color: #333;
  font-size: 30px;
  font-weight: bold;
}

/* ✕✕／○○ の図版2枚組 */
.block-mattress-cond--figs {
  display: flex;
  justify-content: center;
  gap: 80px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-cond--fig {
  flex: 0 1 auto;
  text-align: center;
}

.block-mattress-cond--fig-img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.block-mattress-cond--fig-title {
  margin: 16px 0 0;
  color: #333;
  font-size: 25px;
  font-weight: bold;
}

.block-mattress-cond--fig-text {
  margin: 8px 0 0;
  color: #333;
  font-size: 18px;
  line-height: 1.7;
}

/* おすすめは凹凸構造（図版左＋テキスト右） */
.block-mattress-cond--ohtotsu {
  display: flex;
  align-items: center;
  gap: 48px;
}

.block-mattress-cond--ohtotsu-fig {
  flex: 0 0 auto;
}

.block-mattress-cond--ohtotsu-fig img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-cond--ohtotsu-text {
  flex: 1 1 0;
}

/* ----- SP（価格／寝室タイプ／条件） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-price--list {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    padding: 0 24px;
  }

  .block-mattress-price--item {
    flex: 1 1 44%;
  }

  .block-mattress-price--button {
    padding: 14px 16px;
    font-size: 18px;
  }

  .block-mattress-room--sub {
    margin-top: 48px;
    padding: 0 24px;
  }

  .block-mattress-room--sub-title {
    font-size: 20px;
  }

  .block-mattress-room--sub-desc {
    margin-top: 16px;
    font-size: 15px;
  }

  .block-mattress-room--photos {
    flex-direction: column;
    gap: 28px;
    margin-top: 28px;
    margin-bottom: 48px;
    padding: 0 24px;
  }

  .block-mattress-room--photo-text {
    font-size: 15px;
  }

  .block-mattress-cond--lead {
    margin-top: 20px;
    padding: 0 24px;
    font-size: 15px;
  }

  .block-mattress-cond--points {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
    padding: 0 24px;
  }

  .block-mattress-cond--point-label {
    padding-top: 20px;
    font-size: 14px;
  }

  .block-mattress-cond--point-num {
    font-size: 26px;
  }

  .block-mattress-cond--point-name {
    font-size: 18px;
  }

  .block-mattress-cond--point-text {
    padding: 0 20px;
    font-size: 15px;
  }

  .block-mattress-cond--more {
    margin-top: 44px;
    padding-inline: 24px;
    font-size: 18px;
  }

  .block-mattress-cond--panel {
    margin-top: 28px;
    padding: 28px 24px 32px;
  }

  .block-mattress-cond--panel + .block-mattress-popular--head {
    margin-top: 64px;
  }

  .block-mattress-cond--panel-title {
    font-size: 22px;
  }

  .block-mattress-cond--panel-body {
    font-size: 15px;
  }

  .block-mattress-cond--posture,
  .block-mattress-cond--ohtotsu {
    flex-direction: column;
    gap: 24px;
  }

  .block-mattress-cond--posture-catch {
    font-size: 20px;
  }

  .block-mattress-cond--figs {
    gap: 20px;
    margin-top: 28px;
  }

  .block-mattress-cond--fig-title {
    font-size: 18px;
  }

  .block-mattress-cond--fig-text {
    font-size: 13px;
  }
}

/* ===== お悩みで選ぶ（#trouble） ===== */
.block-mattress-trouble--tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 34px 44px;
  max-width: 1600px;
  margin: 40px auto 100px;
  padding: 0;
  list-style: none;
}

.block-mattress-trouble--tab-item {
  margin: 0;
  width: calc((100% / 3) - 30px);
}

/* お悩みブロック（ダークバナー＋白カード） */
.block-mattress-trouble--block {
  max-width: 1600px;
  margin: 0 auto;
  background: #fff;
}

.block-mattress-trouble--banner {
  margin: 0;
  padding: 22px;
  background: #595959;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-trouble--body {
  padding: 60px 60px 100px;
}

/* ----- AiR ブランド訴求 ----- */
.block-mattress-air--hero img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-air--lead {
  margin: 40px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

.block-mattress-air--lead:first-of-type {
  margin-top: 40px;
}

.block-mattress-air--title {
  margin: 60px 0 0;
  color: #333;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-air--text {
  margin: 24px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

.block-mattress-air--pressure {
  margin-top: 40px;
}

.block-mattress-air--pressure-img img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-air--caption {
  margin: 14px 0 0;
  color: #333;
  font-size: 18px;
  line-height: 1.7;
}

.block-mattress-air--caption.-center {
  text-align: center;
}

.block-mattress-air--subtitle {
  margin: 60px 0 0;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

/* 体圧分布マップ（枠付きパネル・2図） */
.block-mattress-air--maps {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 24px 0 0;
  padding: 40px;
  border: 1px solid #ccc;
}

.block-mattress-air--map {
  flex: 0 1 auto;
  text-align: center;
}

.block-mattress-air--map-img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.block-mattress-air--map-label {
  margin: 14px 0 0;
  color: #333;
  font-size: 18px;
}

/* 点で支える／優れた通気性（2カラム） */
.block-mattress-air--features {
  display: flex;
  gap: 44px;
  margin: 60px 0 0;
}

.block-mattress-air--feature {
  flex: 1 1 0;
}

.block-mattress-air--feature-title {
  margin: 0;
  padding: 12px;
  background: #ebebeb;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

.block-mattress-air--feature-text {
  margin: 20px 0 0;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
}

.block-mattress-air--feature-imgs {
  display: flex;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-air--feature-item {
  flex: 1 1 0;
  text-align: center;
}

.block-mattress-air--feature-img img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-air--feature-cap {
  margin: 12px 0 0;
  color: #333;
  font-size: 16px;
  line-height: 1.6;
}

/* 商品カード */
.block-mattress-air--products {
  display: flex;
  gap: 44px;
  margin: 60px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-air--product {
  flex: 1 1 0;
  background-color: #eee;
  padding: 62px 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.block-mattress-air--product > div,
.block-mattress-air--product > p {
  width: 100%;
  max-width: 523px;
  padding-inline: 24px;
}

.block-mattress-air--product-img {
  margin-bottom: 40px;
  padding: 0;
  text-align: center;
}

@media (min-width: 769px) {
  .block-mattress-air--product-img a {
    transition: var(--transition-opacity);
  }

  .block-mattress-air--product-img a:is(:hover, :focus) {
    opacity: .8;
  }
}

.block-mattress-air--product-img img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.block-mattress-air--product-name {
  margin: 0 0 8px;
  min-height: 2.5em;
  color: #333;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.05em;
}

.block-mattress-air--product-price {
  margin: 0;
  padding-bottom: 40px;
  color: #333;
  font-size: 24px;
  font-weight: 500;
  text-align: right;
}

.block-mattress-air--product-action {
  display: flex;
  justify-content: center;
  margin-top: auto;
  padding-top: 40px;
  max-width: none !important;
  background-color: #fff;
}

.block-mattress-air--product-button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  width: 100%;
  max-width: 504px;
  padding: 18px 24px;
  border-radius: 50vh;
  background: #222;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-air--product-button::after {
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  content: "";
}

@media (hover: hover) {
  .block-mattress-air--product-button:is(:hover, :focus) {
    opacity: .85;
  }
}

/* ----- SP（お悩み／AiR） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-trouble--tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 28px;
    margin-bottom: 64px;
    padding: 0 24px;
  }

  .block-mattress-trouble--tab-item {
    display: flex;
    width: 100%;
  }

  .block-mattress-trouble--tabs .block-mattress-tab {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    column-gap: 8px;
  }

  .block-mattress-trouble--block {}

  .block-mattress-trouble--banner {
    padding: 16px;
    font-size: 18px;
  }

  .block-mattress-trouble--body {
    padding: 28px 24px 40px;
  }

  .block-mattress-air--lead,
  .block-mattress-air--lead:first-of-type {
    margin-top: 28px;
    font-size: 15px;
    text-align: left;
  }

  .block-mattress-air--title {
    margin-top: 44px;
    font-size: 26px;
  }

  .block-mattress-air--text {
    font-size: 15px;
    text-align: left;
  }

  .block-mattress-air--caption {
    font-size: 14px;
  }

  .block-mattress-air--caption.-center {
    text-align: left;
  }

  .block-mattress-air--subtitle {
    margin-top: 44px;
    font-size: 18px;
  }

  .block-mattress-air--maps {
    gap: 16px;
    padding: 20px;
  }

  .block-mattress-air--map-label {
    font-size: 14px;
  }

  .block-mattress-air--features {
    flex-direction: column;
    gap: 32px;
    margin-top: 44px;
  }

  .block-mattress-air--feature-title {
    font-size: 20px;
  }

  .block-mattress-air--feature-text {
    font-size: 15px;
  }

  .block-mattress-air--feature-cap {
    font-size: 13px;
  }

  .block-mattress-air--products {
    flex-direction: column;
    gap: 32px;
    margin-top: 44px;
  }

  .block-mattress-air--product-name {
    font-size: 16px;
  }

  .block-mattress-air--product-button {
    padding: 16px 20px;
    font-size: 14px;
  }
}

/* ===== ＆Free（自分にあう寝具がわからない） ===== */
.block-mattress-free--hero img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-free--lead {
  margin: 40px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

.block-mattress-free--lead:first-of-type {
  margin-top: 40px;
}

/* カウンセリング3ブロック（薄グレー内パネル・ジグザグ2カラム） */
.block-mattress-free--panel {
  margin-top: 50px;
  padding: 60px;
  background: #f7f7f7;
}

.block-mattress-free--counsel {
  display: flex;
  align-items: start;
  gap: 48px;
}

.block-mattress-free--counsel + .block-mattress-free--counsel {
  margin-top: 100px;
}

.block-mattress-free--counsel.-reverse {
  flex-direction: row-reverse;
}

.block-mattress-free--counsel-text {
  flex: 1 1 0;
}

.block-mattress-free--counsel-img {
  flex: 1 1 0;
}

.block-mattress-free--counsel-img img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-free--counsel-title {
  margin: 0 0 40px;
  padding-bottom: 8px;
  border-bottom: 1px solid #cccccc;
  color: #333;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
}

.block-mattress-free--counsel-body {
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
}

/* ----- SP（＆Free） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-free--lead,
  .block-mattress-free--lead:first-of-type {
    margin-top: 28px;
    font-size: 15px;
    text-align: left;
  }

  .block-mattress-free--panel {
    margin-top: 36px;
    padding: 28px 16px;
  }

  .block-mattress-free--counsel,
  .block-mattress-free--counsel.-reverse {
    flex-direction: column;
    gap: 20px;
  }

  .block-mattress-free--counsel + .block-mattress-free--counsel {
    margin-top: 40px;
  }

  .block-mattress-free--counsel-title {
    font-size: 20px;
  }

  .block-mattress-free--counsel-body {
    font-size: 15px;
  }
}

/* ===== Suyara（日々のお手入れが面倒） ===== */
.block-mattress-suyara--hero img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-suyara--lead {
  margin: 32px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

.block-mattress-suyara--lead:first-of-type {
  margin-top: 40px;
}

.block-mattress-suyara--types-title {
  margin: 50px 0 40px;
  padding: 16px;
  background: #eee;
  color: #333;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

/* 2タイプ比較 */
.block-mattress-suyara--compare {
  padding: 0 40px 40px;
  background: #f6f4ec;
}

.block-mattress-suyara--row {
  display: flex;
  gap: 40px;
}

@media (min-width: 769px) {
  .block-mattress-suyara--row.-heads {
    background-color: #fff;
    width: calc(100% + 80px);
    position: relative;
    left: -40px;
  }
}

.block-mattress-suyara--row:not(.-heads) {
  margin-top: 20px;
}

.block-mattress-suyara--row.-products {
  margin-top: 0;
}

/* タイプ見出し（色帯） */
.block-mattress-suyara--head {
  flex: 1 1 0;
  padding: 22px;
  color: #fff;
  text-align: center;
}

.block-mattress-suyara--head.-dots {
  background: #357e7b;
}

.block-mattress-suyara--head.-bounce {
  background: #37547e;
}

.block-mattress-suyara--head-title {
  margin: 0;
  font-size: 30px;
  font-weight: bold;
}

.block-mattress-suyara--head-text {
  margin: 8px 0 0;
  font-size: 16px;
}

/* 全幅の帯ラベル */
.block-mattress-suyara--band {
  margin: 32px 0 0;
  text-align: center;
}

.block-mattress-suyara--band-title {
  margin: 0;
  color: #333;
  font-size: 25px;
  font-weight: bold;
}

.block-mattress-suyara--band-text {
  margin: 8px 0 0;
  color: #333;
  font-size: 16px;
}

/* 画像セル（色枠） */
.block-mattress-suyara--cell {
  flex: 1 1 0;
  border: 40px solid;
}

.block-mattress-suyara--cell.-bleed {
  border-left-width: 0;
  border-right-width: 0;
}

.block-mattress-suyara--cell.-dots {
  border-color: #357e7b;
}

.block-mattress-suyara--cell.-bounce {
  border-color: #37547e;
}

.block-mattress-suyara--cell img {
  display: block;
  margin: auto;
  height: auto;
}

/* 軽量 */
.block-mattress-suyara--single {
  margin-top: 20px;
  text-align: center;
}

.block-mattress-suyara--single img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* 商品カード（色枠） */
.block-mattress-suyara--prod {
  flex: 1 1 0;
  background: #fff;
  padding-bottom: 24px;
}

.block-mattress-suyara--prod-inner {
  border-style: solid;
  border-width: 80px 40px 120px;
}

.block-mattress-suyara--prod.-dots .block-mattress-suyara--prod-inner {
  border-color: #357e7b;
}

.block-mattress-suyara--prod.-bounce .block-mattress-suyara--prod-inner {
  border-color: #37547e;
}

@media (min-width: 769px) {
  .block-mattress-suyara--prod-img a {
    transition: var(--transition-opacity);
  }

  .block-mattress-suyara--prod-img a:is(:hover, :focus) {
    opacity: .8;
  }
}

.block-mattress-suyara--prod-img img {
  display: block;
  width: 100%;
  height: auto;
}

.block-mattress-suyara--prod-name {
  padding: 20px 24px 0;
  color: #333;
  font-size: 24px;
  font-weight: 500;
  min-height: 4em;
  background-color: #f8f4eb;
}

.block-mattress-suyara--prod-price {
  padding: 0 24px 40px;
  color: #333;
  font-size: 24px;
  font-weight: 500;
  text-align: right;
  background-color: #f8f4eb;
}

/* ボタン2つ */
.block-mattress-suyara--buttons {
  display: flex;
  justify-content: center;
  gap: 44px;
  margin-top: 40px;
}

.block-mattress-suyara--buttons > .block-mattress-air--product-button {
  flex: 1 1 0;
}

/* ----- SP（Suyara） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-suyara--lead,
  .block-mattress-suyara--lead:first-of-type {
    margin-top: 24px;
    font-size: 15px;
    text-align: left;
  }

  .block-mattress-suyara--types-title {
    margin-top: 36px;
    font-size: 22px;
  }

  .block-mattress-suyara--compare {
    padding: 20px;
  }

  .block-mattress-suyara--row {
    flex-direction: column;
    gap: 16px;
  }

  .block-mattress-suyara--head {
    padding: 14px;
  }

  .block-mattress-suyara--head-title {
    font-size: 20px;
  }

  .block-mattress-suyara--head-text {
    font-size: 12px;
  }

  .block-mattress-suyara--band-title {
    font-size: 20px;
  }

  .block-mattress-suyara--band-text {
    font-size: 13px;
  }

  .block-mattress-suyara--cell {
    border-width: 20px;
  }

  .block-mattress-suyara--cell.-bleed {
    border-left-width: 0;
    border-right-width: 0;
  }

  .block-mattress-suyara--prod {
    border-width: 40px 20px;
    padding-bottom: 16px;
  }

  .block-mattress-suyara--prod-inner {
    border-width: 64px 16px;
  }

  .block-mattress-suyara--prod-name {
    padding: 14px 14px 0;
    font-size: 15px;
  }

  .block-mattress-suyara--prod-price {
    padding: 8px 14px 24px;
    font-size: 16px;
  }

  .block-mattress-suyara--buttons {
    flex-direction: column;
    gap: 16px;
    margin-top: 28px;
  }
}

/* ===== 収納する場所がない／寝心地を変えたい（共通 solve レイアウト） ===== */
.block-mattress-solve--intro {
  display: flex;
  align-items: center;
  gap: 48px;
  margin-top: 20px;
}

.block-mattress-solve--intro-title {
  flex: 1 1 0;
  margin: 0;
  color: #333;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.block-mattress-solve--intro-img {
  flex: 1 1 0;
}

.block-mattress-solve--intro-img img {
  display: block;
  margin: auto;
  height: auto;
}

.block-mattress-solve--lead {
  margin: 40px 0 0;
  color: #333;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}

/* 商品カード4枚グリッド */
.block-mattress-solve--grid {
  display: flex;
  gap: 24px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-solve--card {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  padding-bottom: 20px;
  background: #eeeeee;
}

@media (min-width: 769px) {
  .block-mattress-solve--card-img a {
    display: block;
    padding: 40px 38px 0;
    transition: var(--transition-opacity);
  }

  .block-mattress-solve--card-img a:is(:hover, :focus) {
    opacity: .8;
  }
}

.block-mattress-solve--card-img img {
  display: block;
  width: 100%;
  height: auto;
}

.block-mattress-solve--card-name {
  margin: 16px 16px 0;
  color: #333;
  font-size: 16px;
  line-height: 1.6;
}

.block-mattress-solve--card-price {
  margin: 12px 16px 0;
  color: #333;
  font-size: 18px;
  text-align: right;
}

.block-mattress-solve--foot {
  display: flex;
  justify-content: center;
  gap: 44px;
  margin-top: 40px;
}

.block-mattress-solve--foot > .block-mattress-air--product-button {
  flex: 0 1 500px;
}

/* ----- SP（solve） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-solve--intro {
    flex-direction: column;
    gap: 20px;
    margin-top: 16px;
  }

  .block-mattress-solve--intro-title {
    font-size: 24px;
  }

  .block-mattress-solve--lead {
    margin-top: 28px;
    font-size: 15px;
    text-align: left;
  }

  .block-mattress-solve--grid {
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 28px;
  }

  .block-mattress-solve--card {
    flex: 1 1 44%;
    padding-bottom: 16px;
  }

  .block-mattress-solve--card-name {
    margin: 12px 12px 0;
    font-size: 13px;
  }

  .block-mattress-solve--card-price {
    margin: 8px 12px 0;
    font-size: 15px;
  }

  .block-mattress-solve--foot {
    flex-direction: column;
    gap: 16px;
    margin-top: 28px;
  }

  .block-mattress-solve--foot > .block-mattress-air--product-button {
    flex: 1 1 auto;
  }
}

/* ===== ランキングで選ぶ（#ranking） ===== */
.block-mattress-ranking--title {
  max-width: 1600px;
  margin: 100px auto 88px;
  padding: 0 20px;
  text-align: center;
  background-image: none;
}

.block-mattress-ranking--num {
  margin: 0;
  color: #333;
  font-size: 50px;
  font-weight: normal;
  letter-spacing: 0.08em;
}

.block-mattress-ranking--heading {
  margin: 6px 0 0;
  padding: 0;
  color: #333;
  font-size: 40px;
  font-weight: bold;
  background-image: none;
}

/* カテゴリー別リンク（ダーク丸ピル） */
.block-mattress-ranking--cats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 44px;
  max-width: 1600px;
  margin: 120px auto 0;
  padding: 0;
  list-style: none;
}

.block-mattress-ranking--cat-item {
  margin: 0;
  width: calc((100% / 6) - 37px);
  min-width: 230px;
}

.block-mattress-ranking--cat {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  padding: 16px 30px;
  border-radius: 50vh;
  background: #222;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-ranking--cat::after {
  display: block;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  content: "";
}

@media (hover: hover) {
  .block-mattress-ranking--cat:is(:hover, :focus) {
    opacity: .85;
  }
}

/* ----- SP（ランキング） ----- */
@media screen and (max-width: 768px) {
  .block-mattress-ranking--title {
    margin-top: 64px;
    margin-bottom: 48px;
    padding-bottom: 16px;
    padding-inline: 24px;
  }

  .block-mattress-ranking--num {
    font-size: 16px;
    font-weight: 500;
  }

  .block-mattress-ranking--heading {
    font-size: 24px;
  }

  .block-mattress-ranking--cats {
    gap: 12px;
    flex-direction: column;
    margin-top: 48px;
    padding: 0 24px;
  }

  .block-mattress-ranking--cat-item {
    width: 100%;
    min-width: auto;
  }

  .block-mattress-ranking--cat {
    padding: 12px 20px;
    font-size: 14px;
  }
}

/* ===== 関連特集 ===== */
.block-mattress-related {
  max-width: 1600px;
  margin: 200px auto 110px;
  padding: 0;
  color: #333;
}

.block-mattress-related .block-mattress-related--title {
  margin: 0;
  padding: 0;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.04em;
  background-image: none;
}

.block-mattress-related .block-mattress-related--list {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.block-mattress-related .block-mattress-related--item {
  width: calc((100% / 4) - 33px);
}

.block-mattress-related .block-mattress-related--link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: var(--transition-opacity);
}

.block-mattress-related .block-mattress-related--thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.block-mattress-related .block-mattress-related--item-title {
  margin: 20px 0 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

.block-mattress-related .block-mattress-related--item-text {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.7;
}

@media (min-width: 769px) {
  .block-mattress-related .block-mattress-related--link:is(:hover, :focus) {
    opacity: .8;
  }
}

@media (max-width: 768px) {
  .block-mattress-related {
    margin-top: 100px;
    margin-bottom: 64px;
    padding-inline: 24px;
  }

  .block-mattress-related .block-mattress-related--title {
    font-size: 24px;
  }

  .block-mattress-related .block-mattress-related--list {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 28px;
  }

  .block-mattress-related .block-mattress-related--item {
    width: calc((100% / 2) - 12px);
  }

  .block-mattress-related .block-mattress-related--item-title {
    font-size: 16px;
  }

  .block-mattress-related .block-mattress-related--item-text {
    font-size: 13px;
  }
}

/* override */
@media (max-width: 768px) {
  .block-howto {
    margin-bottom: 64px;
    width: 100vw;
    position: relative;
    left: -24px;
  }
}

@media (min-width: 769px) {
  .block-event-page:has(.block-mattress) .block-top-event--goods {
    max-width: 1600px;
  }
  .block-event-page:has(.block-mattress) .block-thumbnail-t--items,
  .block-event-page:has(.block-mattress) .block-ranking-r--items {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .block-event-list-wrap.block-mattress-size--row .block-thumbnail-t--items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1600px) {
  .block-event-page:has(.block-mattress) .block-thumbnail-t--items,
  .block-event-page:has(.block-mattress) .block-ranking-r--items {
    grid-template-columns: repeat(4, minmax(230px, 368px));
  }

  .block-event-list-wrap.block-mattress-size--row .block-thumbnail-t--items {
    grid-template-columns: repeat(3, minmax(230px, 368px));
  }
}

/* override */
@media screen and (min-width: 769px) and (max-width: 1750px) {
  .wrapper .pane-contents,
  .wrapper_ {
    padding-right: 0;
    padding-left: 0;
  }

  .block-mattress-diff,
  .block-mattress-heading,
  .block-mattress-cond--panel,
  .block-mattress-trouble--block {
    margin-right: clamp(45px, calc(50vw - 795px), 70px);
    margin-left: clamp(45px, calc(50vw - 795px), 70px);
  }
  
  .block-mattress-tabs,
  .block-mattress-popular--head,
  .block-mattress-size--intro,
  .block-mattress-size--sub,
  .block-event-list-wrap.block-mattress-size--row,
  .block-mattress-price--list,
  .block-mattress-room--sub,
  .block-mattress-room--photos,
  .block-top-event--goods .block-thumbnail-t,
  .block-top-event--goods .block-ranking-r,
  .block-mattress-cond--lead,
  .block-mattress-cond--points,
  .block-mattress-trouble--tabs,
  .block-mattress-ranking--cats,
  .block-mattress-related {
    padding-right: clamp(45px, calc(50vw - 795px), 70px);
    padding-left: clamp(45px, calc(50vw - 795px), 70px);
  }
}