/* Figma LP "pc" (90:39) */
:root {
  --color-bg: #ffffff;
  --color-primary: #004471;
  --color-theme: #747474;
  --color-banner: #f29b87;
  --color-callout: #fcf0cf;
  --color-body: #000000;
  --color-header-bg: #d9d9d9;
  --color-subtitle: #ff7e66;
  --color-section-bg: #d9d9d9;
  --color-gray-bg: #ecedee;
  --font-zen: "Zen Maru Gothic", sans-serif;
  --font-roboto: "Roboto", sans-serif;
  --max-width: 1440px;
}

html {
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
  transition: all 0.3s ease;
  /* アニメーションの滑らかさ */
}

body {
  margin: 0;
  background: var(--color-bg);
  font-family: var(--font-zen);
  color: var(--color-body);
}

a:hover {
  opacity: 0.7;
  /* ホバー時に半透明にする */
  cursor: pointer;
  /* ポインターにする */
}

.text-center {
  text-align: center;
}

.lp {
  min-height: 100vh;
  padding: 0;
  width: 100%;
}

.lp__inner {
  width: 100%;
  padding: 0;
  position: relative;
  background-image: url("../images/lp_inner_bg_pc.webp");
  background-size: contain;
  background-repeat: repeat-y;
  padding-top: 52px;
}

/* ヘッダーセクション */
.lp__header {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 780;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 50px;
}

.lp__header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-image: url("../images/header_bg_pc.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  aspect-ratio: 1440 / 780;
}

.lp__header-content {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  width: 100%;
  padding: 3vw 6.04vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  box-sizing: border-box;
}

.lp__header-logo {
  width: min(299px, 20.76vw);
  height: auto;
  max-height: 50px;
  object-fit: contain;
  margin-bottom: 0;
  flex-shrink: 0;
}

.lp__header-subtitle {
  margin: 0;
  margin-top: 7px;
  font-family: var(--font-zen);
  font-weight: 900;
  font-size: clamp(32px, 4.65vw, 67px);
  line-height: 1.343;
  color: var(--color-subtitle);
  max-width: min(670px, 46.53vw);
  width: 100%;
}

.lp__header-title {
  margin: 0;
  margin-top: 12px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: clamp(18px, 2.08vw, 30px);
  line-height: 1.5;
  color: var(--color-primary);
  max-width: min(510px, 35.42vw);
  width: 100%;
}

.lp__header-note {
  margin: 0;
  margin-top: clamp(62px, 7.03vw, 200px);
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.9375;
  color: #000000;
  max-width: min(421px, 29.24vw);
  width: 100%;
  text-align: justify;
}

.lp__header-note .lp__note-marker {
  margin-right: 0;
}

/* セクション共通 */
.lp__section {
  position: relative;
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 63px;
  padding: 0;
}

.lp__section:last-child {
  margin-bottom: 0;
}

.lp__section-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-bg);
  z-index: 0;
}

.lp__section-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 70px;
  background: var(--color-bg);
}

.lp__section-content--theme01 {
  padding: 20px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.lp__theme-label {
  font-family: var(--font-roboto);
  font-weight: 700;
  font-size: 26px;
  line-height: 2.269;
  color: var(--color-theme);
  margin-bottom: 0;
  display: block;
  margin-bottom: -20px;
}

.lp__section-title {
  margin: 0 0 40px;
  font-family: var(--font-zen);
  font-weight: 900;
  font-size: 40px;
  line-height: 1.475;
  color: var(--color-primary);
  width: 1000px;
}

/* アクションフレーム */
.lp__action-frame {
  padding: 10px 17px;
  background: var(--color-banner);
  border-radius: 12px;
  display: flex;
  align-items: center;
  width: 1000px;
  margin-bottom: 20px;
}

.lp__action-frame--narrow {
  width: 870px;
}

.lp__action-text {
  margin: 0;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: var(--color-bg);
}

/* 本文テキスト */
.lp__body-text {
  margin: 0 0 38px;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 1000px;
}

.lp__body-text--note {
  width: 870px;
}

.lp__body-text--primary {
  color: var(--color-primary);
  width: 430px;
  margin-left: 25px;
}

.lp__body-text--highlight {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.65;
  color: var(--color-body);
  width: 852px;
}

/* 箇条書き */
.lp__bullet-points {
  margin: 40px 0;
}

.lp__bullet-item {
  margin-bottom: 30px;
  width: 1000px;
}

.lp__bullet-text {
  display: block;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.lp__bullet-description {
  margin: 10px 0 0 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 500px;
}

/* コールアウトボックス（Section 1） */
.lp__callout-box {
  background: var(--color-callout);
  border-radius: 30px;
  padding: 40px;
  margin: 40px 0;
  width: 1000px;
}

.lp__callout-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.lp__risk-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 20px;
}

.lp__risk-item {
  display: flex;
  flex-direction: column;
}

.lp__risk-number {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  margin-right: 10px;
}

.lp__risk-text {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  display: inline-block;
}

.lp__risk-description {
  margin: 10px 0 0 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
}

.lp__callout-text {
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: center;
  color: var(--color-body);
  margin: 0;
  padding-top: 20px;
}

/* お薬手帳の使い方セクション（Section 1） */
.lp__tips-section {
  margin: 40px 0;
  width: 1000px;
}

.lp__tips-title {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: var(--color-theme);
  margin-bottom: 20px;
}

.lp__tips-item {
  margin-bottom: 30px;
}

.lp__tips-number {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  margin-right: 10px;
}

.lp__tips-text {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  display: inline-block;
}

.lp__tips-description {
  margin: 10px 0 0 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 500px;
}

/* Theme 01 専用 */
.lp__section-title--theme01 {
  margin: 0 0 29px;
  width: 1000px;
}

.lp__action-frame--theme01 {
  width: 1000px;
  margin-bottom: 20px;
}

.lp__theme01-visual {
  width: 100%;
  max-width: 1000px;
  margin: 0 0 32px;
}

.lp__theme01-img {
  width: 950px;
  max-width: 100%;
  height: 305px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}

.lp__body-text--theme01 {
  width: 1000px;
  max-width: 100%;
  margin-bottom: 20px;
}

.lp__callout-box--theme01 {
  width: 1000px;
  max-width: 100%;
  padding: 44px 66px 44px 66px;
}

.lp__risk-items--theme01 {
  grid-template-columns: 400px 392px;
  gap: 69px 69px;
  margin-bottom: 0;
}

.lp__callout-box--theme01 .lp__risk-item {
  max-width: 400px;
}

.lp__risk-title {
  margin: 0 0 14px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
}

.lp__callout-box--theme01 .lp__risk-description {
  margin: 0;
}

.lp__callout-imgs--theme01 {
  display: grid;
  grid-template-columns: 400px 392px;
  gap: 0 69px;
  margin-top: 24px;
  margin-bottom: 0;
}

.lp__callout-img-wrap {
  width: 100%;
}

.lp__callout-img-wrap:first-child .lp__callout-img {
  width: 400px;
  max-width: 100%;
  height: 299px;
  object-fit: cover;
  display: block;
}

.lp__callout-img-wrap:last-child .lp__callout-img {
  width: 392px;
  max-width: 100%;
  height: 299px;
  object-fit: cover;
  display: block;
}

.lp__callout-text--theme01 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 43px;
}

.lp__tips-section--theme01 {
  width: 870px;
  max-width: 100%;
  margin: 40px auto 30px;
}

.lp__tips-item-with-img--theme01 {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 30px;
  width: 1000px;
  max-width: 100%;
}

.lp__tips-item-with-img--theme01:last-child {
  margin-bottom: 0;
}

.lp__tips-item--right {
  justify-content: flex-start;
}

.lp__tips-item-with-img--reverse {
  flex-direction: row-reverse;
}

.lp__tips-content {
  flex: 1;
  min-width: 0;
}

.lp__tips-item-with-img--theme01 .lp__tips-label {
  margin: 0 0 10px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: var(--color-theme);
}

.lp__tips-item-with-img--theme01 .lp__tips-title {
  margin: 0 0 12px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
}

.lp__tips-item-with-img--theme01 .lp__tips-description {
  margin: 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 500px;
  max-width: 100%;
}

.lp__tips-img-wrap {
  flex-shrink: 0;
  width: 320px;
}

.lp__tips-img {
  width: 320px;
  max-width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

.lp__body-text--highlight.lp__body-text--theme01 {
  width: 852px;
  max-width: 100%;
  margin-bottom: 0;
}

/* Theme 02 tips（画像付き・交互レイアウト） */
.lp__tips-section--theme02 {
  width: 870px;
  max-width: 100%;
  margin: 40px auto 30px;
}

.lp__tips-item-with-img--theme02 {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 30px;
  width: 1000px;
  max-width: 100%;
}

.lp__tips-item-with-img--theme02:last-child {
  margin-bottom: 0;
}

.lp__tips-title--theme02 {
  margin: 0 0 12px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
}

.lp__tips-description--theme02 {
  margin: 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 500px;
  max-width: 100%;
}

.lp__tips-item-with-img--theme02 .lp__tips-content {
  flex: 1;
  min-width: 0;
}

.lp__tips-item-with-img--theme02.lp__tips-item--right .lp__tips-content {
  margin-left: auto;
}

/* Theme 02 専用 */
.lp__section-content--theme02 {
  padding: 20px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.lp__section-title--theme02 {
  margin: 0 0 29px;
  width: 1000px;
}

.lp__action-frame--theme02 {
  width: 1000px;
  margin-bottom: 20px;
}

.lp__action-frame--theme02.lp__action-frame--narrow {
  width: 870px;
  margin-left: 65px;
}

.lp__body-text--theme02 {
  width: 1000px;
  max-width: 100%;
  margin-bottom: 20px;
}

.lp__body-text--theme02.lp__body-text--note {
  width: 870px;
  margin-left: 65px;
}

.lp__theme02-visual {
  width: 100%;
  max-width: 1000px;
  margin: 0 0 32px;
}

.lp__theme02-img {
  width: 1000px;
  max-width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

.lp__callout-box--theme02 {
  width: 1000px;
  max-width: 100%;
  background: #f6bcac;
  border-radius: 15px;
  padding: 0;
  margin: 50px 0 32px;
  overflow: visible;
  position: relative;
  min-height: 121px;
}

.lp__callout-box-inner {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  height: 121px;
  position: relative;
}

.lp__callout-img--theme02 {
  width: 159px;
  height: 165px;
  object-fit: cover;
  flex-shrink: 0;
  position: absolute;
  left: 22px;
  top: -44px;
}

.lp__callout-text--theme02 {
  margin: 0;
  font-family: var(--font-zen);
  font-weight: 900;
  font-size: 28px;
  line-height: 1.428;
  color: var(--color-bg);
  text-align: justify;
  padding-left: 191px;
  padding-right: 20px;
  flex: 1;
  text-shadow: 3px 2px 0 rgba(225, 122, 99, 0.8);
}

/* 黄色コールアウト（Theme02・薬剤耐性菌ブロック） */
.lp__callout-yellow--theme02 {
  width: 1000px;
  max-width: 100%;
  min-height: 747px;
  background: #fcf0cf;
  border-radius: 30px;
  padding: 53px 65px 30px;
  margin: 0 0 50px;
  box-sizing: border-box;
}

.lp__callout-yellow--theme02
  .lp__action-frame--theme02.lp__action-frame--narrow {
  width: 100%;
  max-width: 870px;
  margin-left: 0;
  margin-bottom: 18px;
}

.lp__callout-yellow--theme02 .lp__body-text--theme02.lp__body-text--note {
  width: 100%;
  max-width: 870px;
  margin-left: 0;
  margin-bottom: 28px;
}

.lp__callout-yellow-img-wrap {
  width: 621px;
  margin-bottom: 57px;
  margin-left: auto;
  margin-right: auto;
}

.lp__callout-yellow-img {
  width: 621px;
  max-width: 100%;
  height: 215px;
  object-fit: cover;
  display: block;
}

.lp__callout-yellow--theme02 .lp__risk-grid--theme02 {
  width: 100%;
  max-width: 870px;
  margin: 0;
  gap: 0 70px;
}

.lp__risk-grid--theme02 {
  display: grid;
  grid-template-columns: 400px 400px;
  gap: 0 70px;
  margin: 40px 0;
  width: 1000px;
  max-width: 100%;
}

.lp__risk-item--theme02 {
  display: flex;
  flex-direction: column;
}

.lp__risk-title--theme02 {
  margin: 0 0 14px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
}

/* Theme 03 専用 */
.lp__section-content--theme03 {
  padding: 20px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.lp__section-title--theme03 {
  margin: 0 0 29px;
  width: 1000px;
  max-width: 100%;
}

.lp__action-frame--theme03 {
  width: 1000px;
  max-width: 100%;
  margin-bottom: 20px;
}

.lp__body-text--theme03 {
  width: 1000px;
  max-width: 100%;
  margin-bottom: 20px;
  position: relative;
}

.lp__body-text--theme03 span {
  position: relative;
  top: -0.3em;
}

.lp__callout-yellow--theme03 {
  width: 1000px;
  max-width: 100%;
  background: #fcf0cf;
  border-radius: 30px;
  padding: 53px 65px 24px;
  margin: 0 0 60px;
  box-sizing: border-box;
}

.lp__callout-yellow-img-wrap--theme03 {
  width: 870px;
  max-width: 100%;
  margin: 0 0 28px;
}

.lp__callout-yellow-img--theme03 {
  width: 870px;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.lp__callout-yellow-img-wrap--theme03:nth-of-type(1)
  .lp__callout-yellow-img--theme03 {
  min-height: 200px;
}

.lp__callout-yellow-img-wrap--theme03-second .lp__callout-yellow-img--theme03 {
  height: 311px;
  min-height: 150px;
}

.lp__callout-notes-block--theme03 {
  width: 870px;
  max-width: 100%;
}

.lp__callout-notes-block--theme03 .lp__body-text--note {
  margin-bottom: 22px;
}

.lp__callout-notes-block--theme03 .lp__callout-yellow-img-wrap--theme03-second {
  margin-bottom: 13px;
}

.lp__callout-notes-block--theme03 .lp__body-text--note:last-child {
  margin-bottom: 0;
}

.lp__callout-yellow--theme03 .lp__body-text--in-callout {
  width: 100%;
  max-width: 870px;
  margin-left: 0;
  margin-bottom: 28px;
}

.lp__time-table-block--theme03 {
  width: 723px;
  max-width: 100%;
  margin: 0 auto;
}

.lp__time-table-block--theme03 .lp__time-table-caption {
  margin: 0 0 2px;
}

.lp__time-table-block--theme03 .lp__time-table--theme03 {
  margin: 0 0 8px;
}

.lp__time-table-block--theme03 .lp__body-text--note-inline {
  margin: 0;
}

.lp__time-table-caption {
  margin: 0 0 10px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 18px;
  line-height: 2;
  color: var(--color-body);
  width: 100%;
  max-width: 723px;
}

.lp__time-table--theme03 {
  margin: 0 0 32px;
  width: 723px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: none;
}

.lp__time-row--theme03 {
  display: grid;
  grid-template-columns: 324px 399px;
  border: none;
}

.lp__time-table--theme03 .lp__time-cell--label {
  width: 100%;
  max-width: 335px;
  background: #e3e3e3;
  padding: 10px 20px;
  border: none;
}

.lp__time-table--theme03 .lp__time-cell--value {
  width: 100%;
  max-width: 399px;
  background: #fff;
  padding: 10px 20px;
  border: none;
}

.lp__callout-yellow--theme03 .lp__body-text--note {
  width: 100%;
  max-width: 870px;
  margin-left: 0;
  margin-bottom: 0;
}

.lp__callout-yellow--theme03 .lp__body-text--note:last-of-type {
  margin-bottom: 0;
}

.lp__callout-yellow--theme03
  .lp__time-table-block--theme03
  .lp__body-text--note-inline {
  margin: 0;
  margin-bottom: 0;
}

.lp__note-marker {
  margin-right: 2px;
}

/* Theme 03 tips（画像付き・交互レイアウト） */
.lp__tips-section--theme03 {
  width: 870px;
  max-width: 100%;
  margin: 40px auto 50px;
}

.lp__tips-item-with-img--theme03 {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 34px;
  width: 1000px;
  max-width: 100%;
}

.lp__tips-item-with-img--theme03:last-child {
  margin-bottom: 0;
}

.lp__tips-title--theme03 {
  margin: 0 0 12px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
}

.lp__tips-title--theme03.lp__tips-title--standalone {
  margin: 32px 0 4px;
}

.lp__tips-description--theme03 {
  margin: 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 500px;
  max-width: 100%;
}

.lp__tips-item-with-img--theme03 .lp__tips-content {
  flex: 1;
  min-width: 0;
}

.lp__tips-item-with-img--theme03.lp__tips-item--right .lp__tips-content {
  margin-left: auto;
}

.lp__bullet-points--theme03 {
  margin: 32px 0;
  width: 1000px;
  max-width: 100%;
}

.lp__bullet-points--theme03 .lp__bullet-item {
  margin-bottom: 20px;
}

.lp__bullet-points--theme03 .lp__bullet-item:last-child {
  margin-bottom: 0;
}

.lp__consultation-box--theme03 .lp__consultation-item {
  background: var(--color-primary);
  border: 3px solid var(--color-primary);
}

.lp__consultation-box--theme03 .lp__consultation-title {
  font-size: 26px;
  line-height: 1.08;
}

.lp__consultation-box--theme03 .lp__consultation-tel {
  font-family: var(--font-roboto);
  font-size: 40px;
  line-height: 0.65;
}

.lp__consultation-box--theme03 .lp__consultation-tel.lp__consultation-tel--or {
  font-family: var(--font-zen);
  font-size: 20px;
  line-height: 1;
}

.lp__consultation-item--left {
  display: flex;
  flex-direction: column;
}

.lp__consultation-schedule--left {
  width: 430px;
  max-width: 100%;
  margin: 18px 0 11px;
  background: #fcf0cf;
  border-radius: 15px;
  padding: 16px 27px;
}

.lp__consultation-schedule--left .lp__schedule-item {
  background: transparent;
  border-radius: 0;
  margin-bottom: 14px;
  padding: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 13px;
}

.lp__consultation-schedule--left .lp__schedule-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.lp__consultation-schedule--left .lp__schedule-day {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.875;
  color: var(--color-bg);
  background: var(--color-primary);
  padding: 10px;
  border-radius: 15px;
  min-width: 96px;
  text-align: center;
  flex-shrink: 0;
  margin: 0;
}

.lp__consultation-schedule--left .lp__schedule-time {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.666;
  color: var(--color-primary);
  flex: 1;
  margin: 0;
}

.lp__body-text--in-consultation {
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  color: var(--color-primary);
  width: 430px;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.lp__consultation-tel--or {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: var(--color-bg);
  padding: 10px 16px;
  border-radius: 16px;
  font-size: 20px;
  font-weight: 700;
  margin: 8px 0;
  height: 32px;
  box-sizing: border-box;
}

.lp__consultation-block--theme03 {
  width: 1000px;
  max-width: 100%;
  position: relative;
  margin-bottom: 24px;
}

.lp__consultation-soudan-wrap--theme03 {
  position: absolute;
  left: 0;
  top: 0;
  width: 1000px;
  max-width: 100%;
  height: 127px;
  pointer-events: none;
}

.lp__consultation-soudan-img {
  position: absolute;
  object-fit: cover;
  display: block;
}

.lp__consultation-soudan-img--left {
  width: 86px;
  height: 127px;
  left: 379px;
  top: 0;
}

.lp__consultation-soudan-img--right {
  width: 110px;
  height: 123px;
  left: 882px;
  top: 5px;
}

.lp__consultation-block--theme03 .lp__consultation-box {
  margin-top: 22px;
}

.lp__time-schedule--theme03 {
  display: grid;
  grid-template-columns: 430px 430px;
  gap: 40px;
  margin: 0 0 24px;
  width: 1000px;
  max-width: 100%;
}

.lp__time-schedule--theme03 .lp__schedule-col--left {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lp__time-schedule--theme03 .lp__schedule-col--right {
  display: flex;
  flex-direction: column;
}

.lp__time-schedule--theme03 .lp__schedule-item {
  background: #fcf0cf;
  border-radius: 15px;
}

.lp__time-schedule--theme03 .lp__schedule-col--left .lp__schedule-item {
  margin-bottom: 14px;
}

.lp__time-schedule--theme03
  .lp__schedule-col--left
  .lp__schedule-item:last-child {
  margin-bottom: 0;
}

.lp__time-schedule--theme03 .lp__schedule-item--single {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp__time-schedule--theme03 .lp__schedule-day,
.lp__time-schedule--theme03 .lp__schedule-time {
  color: var(--color-primary);
}

/* タイムテーブル（Section 3・共通） */
.lp__time-table {
  margin: 40px 0;
  width: 1000px;
  border-collapse: collapse;
}

.lp__time-row {
  display: flex;
  border-bottom: 3px solid #fcf0cf;
}

.lp__time-cell {
  padding: 10px;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  color: var(--color-body);
}

.lp__time-cell--label {
  width: 545px;
  background: var(--color-gray-bg);
}

.lp__time-cell--value {
  width: 455px;
  background: var(--color-bg);
}

/* 相談ボックス（Section 3） */
.soudan-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1000px;
}

.soudan-box-left,
.soudan-box-right {
  width: 480px;
  height: 428px;
  border: 3px solid #004471;
  position: relative;
  margin-bottom: 10px;
}

.soudan-box-left img,
.soudan-box-right img {
  position: absolute;
  height: 125px;
  top: -19px;
  right: 5px;
}

.soudan-box h4 {
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  background-color: #004471;
  line-height: 1.1;
  padding: 12px 25px;
}

.taisyou {
  color: #fff200;
  font-size: 20px;
  font-weight: 700;
}

.soudan-box-inner {
  max-width: 430px;
  margin: 0 auto;
  color: #004471;
}

.soudan-phone {
  color: #004471;
  font-family: Roboto;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  padding: 10px 36px;
}

.matawa {
  display: inline-flex;
  height: 32px;
  padding: 13px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 16px;
  background: #004471;
  color: #fff;
  font-family: "Zen Maru Gothic";
  font-size: 20px;
  line-height: 1;
  position: relative;
  top: -7px;
  left: 6px;
}

.taiou-time {
  border-radius: 15px;
  background: #fcf0cf;
  margin-bottom: 12px;
}

.taiou-time p {
  font-weight: 700;
  display: block;
  white-space: nowrap;
  padding: 7px 31px;
  line-height: 2.3;
  font-size: 18px;
  color: #004471;
}

.youbi {
  display: inline-flex;
  width: 96px;
  height: 30px;
  padding: 10px;
  margin-right: 8px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 15px;
  background: #004471;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  vertical-align: middle;
  position: relative;
  top: -3px;
}

/* タイムスケジュール（Section 3） */
.lp__time-schedule {
  display: flex;
  gap: 20px;
  margin: 40px 0;
  width: 1000px;
}

.lp__schedule-item {
  flex: 1;
  background: var(--color-primary);
  border-radius: 15px;
  padding: 10px;
  text-align: center;
}

.lp__schedule-day {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.875;
  color: var(--color-bg);
  margin-bottom: 10px;
}

.lp__schedule-time {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.666;
  color: var(--color-bg);
}

/* AG比較テーブル（Section 4） */
.lp__ag-comparison {
  margin: 40px 0;
  width: 1000px;
}

.lp__ag-comparison-title {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.65;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.lp__ag-table {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lp__ag-row {
  display: flex;
  padding: 20px;
}

.lp__ag-row--generic {
  background: var(--color-gray-bg);
}

.lp__ag-row--authorized {
  background: var(--color-primary);
  color: var(--color-bg);
}

.lp__ag-label {
  width: 300px;
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.65;
  flex-shrink: 0;
}

.lp__ag-row--authorized .lp__ag-label {
  color: var(--color-bg);
}

.lp__ag-description {
  flex: 1;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
}

.lp__ag-row--authorized .lp__ag-description {
  color: var(--color-bg);
}

/* Theme 04: ジェネリック医薬品 */
.lp__section-content--theme04 {
  padding: 20px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.lp__section-title--theme04 {
  font-size: 40px;
  font-weight: 900;
  line-height: 1.475;
  color: var(--color-primary);
  margin: 13px 0 29px;
}

.lp__action-frame--theme04 {
  background: var(--color-banner);
  color: var(--color-bg);
  border-radius: 12px;
  padding: 10px 17px;
  width: 100%;
  max-width: 1000px;
  margin-bottom: 0;
}

.lp__action-frame--theme04 .lp__action-text {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-bg);
  margin: 0;
}

.lp__body-text--theme04 {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  max-width: 1000px;
  margin: 0 0 24px;
}

.lp__action-frame--theme04 + .lp__body-text--theme04 {
  margin-top: 21px;
}

.lp__action-frame--theme04 + .lp__action-frame--theme04 {
  margin-top: 0;
}

.lp__callout-block--theme04-intro {
  border-radius: 12px;
  width: 100%;
  max-width: 1000px;
  margin-bottom: 24px;
  overflow: hidden;
}

.lp__callout-block--theme04-intro .lp__action-frame--theme04 {
  margin-bottom: 25px;
}

.lp__body-text--theme04-intro {
  margin: 0;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  width: 100%;
}

.lp__bullet-grid--theme04 {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1000px;
  margin: 36px 0 0;
}

.lp__bullet-grid--theme04:not(.lp__bullet-grid--theme04-second) {
  margin-bottom: 91px;
}

.lp__bullet-row--theme04 {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 12px;
  align-items: start;
  margin-bottom: 57px;
}

.lp__bullet-row--theme04:last-child {
  margin-bottom: 0;
}

.lp__bullet-row--theme04.lp__bullet-row--reverse {
  grid-template-columns: 320px 1fr;
}

.lp__bullet-row--theme04.lp__bullet-row--reverse .lp__bullet-content {
  order: 2;
}

.lp__bullet-row--theme04.lp__bullet-row--reverse .lp__bullet-img-wrap--theme04 {
  order: 1;
}

.lp__bullet-text--theme04 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-primary);
  display: block;
  margin-bottom: 12px;
}

.lp__bullet-description--theme04 {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  margin: 0;
  max-width: 500px;
}

.lp__bullet-img--theme04 {
  width: 320px;
  height: 200px;
  object-fit: cover;
}

.lp__bullet-grid--theme04-gen {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 870px;
  margin: 24px auto 32px;
}

.lp__bullet-row--theme04-gen {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 12px;
  align-items: start;
  margin-bottom: 41px;
}

.lp__bullet-row--theme04-gen:last-child {
  margin-bottom: 0;
}

.lp__bullet-row--theme04-gen.lp__bullet-row--reverse {
  grid-template-columns: 320px 1fr;
}

.lp__bullet-row--theme04-gen.lp__bullet-row--reverse .lp__bullet-content {
  order: 2;
}

.lp__bullet-row--theme04-gen.lp__bullet-row--reverse
  .lp__bullet-img-wrap--theme04 {
  order: 1;
}

.lp__bullet-grid--theme04-action {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 870px;
  margin: 24px auto 24px;
}

.lp__callout-yellow--theme04 {
  background: var(--color-callout);
  border-radius: 30px;
  padding: 54px 65px 64px;
  max-width: 1000px;
  margin: 148px 0 0;
}

.lp__callout-yellow--theme04-chart {
  background: var(--color-callout);
  border-radius: 30px;
  padding: 54px 65px 48px;
  max-width: 1000px;
  margin: 24px 0 77px;
}

.lp__action-frame--theme04.lp__action-frame--in-callout {
  max-width: 870px;
  margin-bottom: 18px;
}

.lp__callout-yellow--theme04 .lp__body-text--theme04,
.lp__callout-yellow--theme04-chart .lp__body-text--theme04-inline {
  max-width: 870px;
  margin-bottom: 26px;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
}

.lp__callout-yellow--theme04-chart .lp__body-text--theme04-inline {
  margin: 0 0 26px;
}

.lp__body-text--special-fee {
  margin: 0;
  min-width: 0;
  overflow-wrap: break-word;
}

.lp__theme04-charts {
  display: flex;
  flex-direction: column;
  gap: 41px;
  max-width: 870px;
  margin: 0 0 64px;
}

.lp__theme04-chart {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.lp__theme04-special-fee {
  display: grid;
  grid-template-columns: minmax(0, 297px) minmax(0, 547px);
  gap: 26px;
  align-items: start;
  max-width: 870px;
  width: 100%;
}

.lp__theme04-special-fee > * {
  min-width: 0;
}

.lp__theme04-special-fee .lp__body-text--special-fee {
  max-width: 100%;
}

.lp__theme04-special-fee-img {
  width: 100%;
  max-width: 547px;
  height: 225px;
  object-fit: cover;
  justify-self: start;
}

.lp__callout-yellow--theme04 + .lp__action-frame--theme04 {
  margin-top: 77px;
}

.lp__bullet-grid--theme04-second {
  margin-top: 24px;
}

.lp__callout-gray--theme04 {
  background: var(--color-gray-bg);
  border-radius: 30px;
  padding: 35px 65px 44px;
  max-width: 1000px;
  margin-top: 64px;
}

.lp__callout-gray--theme04 .lp__body-text--theme04 {
  margin-bottom: 27px;
}

.lp__callout-gray--theme04 .lp__body-text--theme04:last-of-type {
  margin-bottom: 0;
}

.lp__callout-gray--theme04-ag {
  background: var(--color-gray-bg);
  border-radius: 30px;
  padding: 35px 65px 39px;
  max-width: 1000px;
  margin-top: 24px;
  margin-bottom: 20px;
}

.lp__body-text--theme04-ag {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-primary);
  width: 100%;
  max-width: 870px;
  margin: 0 0 32px;
  margin-left: 0;
}

.lp__callout-gray--theme04-ag .lp__body-text--theme04-ag:last-of-type {
  margin-bottom: 0;
  margin-top: 20px;
}

.lp__callout-gray--theme04-ag .lp__ag-comparison-title--theme04 {
  margin: 0 0 9px;
}

.lp__callout-gray--theme04-ag .lp__ag-table--theme04 {
  margin: 0 0 0;
}

.lp__ag-comparison-title--theme04 {
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
  color: var(--color-primary);
  margin: 0 0 9px;
}

.lp__ag-table--theme04 {
  display: grid;
  grid-template-columns: 324px 546px;
  grid-template-rows: auto auto;
  gap: 3px 0;
  width: 870px;
  max-width: 100%;
  margin: 0 0 20px;
}

.lp__ag-table--theme04 .lp__ag-cell {
  padding: 10px 20px;
  font-family: var(--font-zen);
  font-size: 18px;
  line-height: 2em;
  text-align: justify;
  display: flex;
  align-items: center;
  gap: 10px;
}

.lp__ag-cell--generic-label {
  grid-column: 1;
  grid-row: 1;
  background: #9ec2da;
  color: #000000;
  font-weight: 700;
  min-height: 92px;
}

.lp__ag-cell--generic-desc {
  grid-column: 2;
  grid-row: 1;
  background: #ffffff;
  color: #000000;
  font-weight: 400;
  width: 546px;
}

.lp__ag-cell--ag-label {
  grid-column: 1;
  grid-row: 2;
  background: #357fae;
  color: #ffffff;
  font-weight: 700;
  min-height: 164px;
}

.lp__ag-cell--ag-desc {
  grid-column: 2;
  grid-row: 2;
  background: #ffffff;
  color: #000000;
  font-weight: 400;
  width: 546px;
}

.lp__body-text--theme04.lp__body-text--note {
  max-width: 1000px;
  margin-top: 24px;
  margin-bottom: 0;
}

/* 損失アイテム（Section 5） */
.lp__loss-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 40px 0;
  width: 1000px;
}

.lp__loss-item {
  display: flex;
  flex-direction: column;
}

.lp__loss-number {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  margin-right: 10px;
}

.lp__loss-text {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.154;
  color: var(--color-primary);
  display: inline-block;
}

.lp__loss-description {
  margin: 10px 0 0 0;
  font-family: var(--font-zen);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
}

/* ケースセクション（Section 5） */
.lp__case-section {
  margin: 40px 0;
  width: 1000px;
}

.lp__case-title {
  font-family: var(--font-zen);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.lp__case-divider {
  width: 1000px;
  height: 2px;
  background: var(--color-primary);
  margin: 20px 0;
}

/* Theme 05: 頻回受診・重複受診 */
.lp__section-content--theme05 {
  padding: 20px;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

.lp__section-title--theme05 {
  font-size: 40px;
  font-weight: 900;
  line-height: 1.475;
  color: var(--color-primary);
  margin: 0 0 27px;
}

.lp__body-text--theme05 {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  max-width: 1000px;
  margin: 0 0 47px;
}

.lp__action-frame--theme05 {
  background: var(--color-banner);
  color: var(--color-bg);
  border-radius: 12px;
  padding: 10px 17px;
  width: 100%;
  max-width: 1000px;
  margin: 0 0 18px;
}

.lp__action-frame--theme05 + .lp__body-text--theme05 {
  margin-top: 25px;
  margin-bottom: 0;
}

.lp__body-text--theme05 + .lp__tips-grid--theme05 {
  margin-top: 32px;
}

.lp__action-frame--theme05 .lp__action-text {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.lp__action-frame--theme05 + .lp__case-block--theme05 {
  margin-top: 14px;
}

.lp__case-block--theme05 + .lp__action-frame--theme05 {
  margin-top: 80px;
}

.lp__case-block--theme05 {
  max-width: 1000px;
  margin-bottom: 40px;
}

.lp__case-title--theme05 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary);
  margin: 0 0 12px;
}

.lp__case-divider--theme05 {
  width: 100%;
  max-width: 1000px;
  height: 2px;
  background: var(--color-primary);
  margin: 0 0 26px;
}

.lp__loss-grid--theme05 {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 870px;
  margin: 20px auto 40px;
}

.lp__loss-row--theme05 {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 12px;
  align-items: start;
  margin-bottom: 47px;
}

.lp__loss-row--theme05:last-child {
  margin-bottom: 0;
}

.lp__loss-row--theme05.lp__loss-row--reverse {
  grid-template-columns: 320px 1fr;
}

.lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-content {
  order: 2;
}

.lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-img-wrap {
  order: 1;
}

.lp__loss-heading {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-primary);
  display: block;
  margin-bottom: 12px;
}

.lp__loss-description--theme05 {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  margin: 0;
  max-width: 500px;
}

.lp__loss-img {
  width: 320px;
  height: 200px;
  object-fit: cover;
}

.lp__loss-img--tall {
  height: 253px;
}

.lp__tips-grid--theme05 {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 870px;
  margin: 0 auto;
}

.lp__tips-row--theme05 {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 12px;
  align-items: start;
  margin-bottom: 47px;
}

.lp__tips-row--theme05:last-child {
  margin-bottom: 0;
}

.lp__tips-row--theme05.lp__tips-row--reverse {
  grid-template-columns: 320px 1fr;
}

.lp__tips-row--theme05.lp__tips-row--reverse .lp__tips-content {
  order: 2;
}

.lp__tips-row--theme05.lp__tips-row--reverse .lp__tips-img-wrap {
  order: 1;
}

.lp__tips-title--theme05 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--color-primary);
  display: block;
  margin-bottom: 12px;
}

.lp__tips-description--theme05 {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  color: var(--color-body);
  margin: 0;
  max-width: 500px;
}

.lp__tips-img {
  width: 320px;
  height: 200px;
  object-fit: cover;
}

.lp__body-text--theme05-note {
  max-width: 1000px;
  margin-top: 40px;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 0;
}

.lp__note-marker {
  margin-right: 4px;
}

/* フッター */
.lp__footer {
  width: 100%;
  margin-top: 0px;
  padding: 0 0 40px;
  background-image: url("../images/header-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.lp__footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.lp__footer-logo {
  display: block;
  width: 299px;
  height: 50px;
  object-fit: contain;
}

.lp__footer-copyright {
  font-family: var(--font-roboto);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.25;
  color: #000000;
  margin: 25px 0 0 0;
  text-align: center;
}

.indent {
  padding-left: 1em;
  /* 1. 全体を右に寄せる */
  text-indent: -1em;
  /* 2. 1行目だけ左にマイナス移動 */
}

.emphasis {
  color: #ea5520;
  font-size: 26px;
  font-weight: 700;
}

/* スライダー（基本カード型03: 自動再生・無限ループ・横幅端まで） */

.lp__swiper-section {
  width: 100%;
  overflow: hidden;
  margin-bottom: 55px;
  text-align: center;
}

.lp__swiper-section h3 {
  color: #004471;
  font-size: 36px;
  font-weight: 900;
  margin-bottom: 17px;
}

.swiper--card03 {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.swiper--card03 .swiper-wrapper {
  align-items: stretch;
}

.swiper--card03 .swiper-slide {
  width: 380px;
  flex-shrink: 0;
  height: 230px;
  text-align: center;
}

.theme-number {
  font-size: 40px;
}

/* レスポンシブ */
@media (min-width: 1441px) {
  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee {
    width: 870px;
    max-width: 870px;
  }

  .lp__callout-yellow--theme04-chart
    .lp__theme04-special-fee
    .lp__body-text--special-fee {
    max-width: 297px;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee-img {
    width: 547px;
    max-width: 547px;
  }
}

@media (max-width: 1440px) {
  .lp__section-title,
  .lp__action-frame,
  .lp__body-text,
  .lp__bullet-item,
  .lp__time-table,
  .lp__consultation-box,
  .lp__time-schedule,
  .lp__ag-comparison,
  .lp__loss-items,
  .lp__case-section {
    width: 100%;
    max-width: 1000px;
  }

  .lp__footer-content {
    width: 100%;
    max-width: 1000px;
    padding-left: 40px;
    padding-right: 40px;
    align-items: center;
  }
}

@media (max-width: 1000px) {
  .lp__header-note {
    margin: 0;
    margin-top: clamp(59px, -1.97vw, 200px);
    font-family: var(--font-zen);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.9375;
    color: #000000;
    max-width: min(421px, 39.24vw);
    width: 100%;
    text-align: justify;
  }
}

/* 768px以上: 画像を幅に合わせて縮小 */
@media (min-width: 769px) {
  .mb03 {
    margin-bottom: 40px !important;
  }

  .lp__theme01-visual {
    width: 100%;
    max-width: 1000px;
  }

  .lp__theme01-visual .lp__theme01-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    margin: 0 auto;
  }

  .lp__callout-imgs--theme01 {
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 69px;
  }

  .lp__callout-imgs--theme01 .lp__callout-img-wrap .lp__callout-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }

  /* theme01 コールアウト: 縮小時も黄色背景からはみ出さない */
  .lp__callout-box--theme01 {
    min-width: 0;
    overflow: hidden;
  }

  .lp__risk-items--theme01 {
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 69px 69px;
  }

  .lp__callout-box--theme01 .lp__risk-item {
    min-width: 0;
    max-width: 100%;
  }

  .lp__callout-box--theme01 .lp__risk-title,
  .lp__callout-box--theme01 .lp__risk-description {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .lp__theme02-visual {
    width: 100%;
    max-width: 1000px;
  }

  .lp__theme02-visual .lp__theme02-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }

  /* theme02 赤コールアウト: 文字が背景からはみ出さない（画像ははみ出しOK） */
  .lp__callout-box--theme02 {
    min-width: 0;
    overflow: visible;
  }

  .lp__callout-box--theme02 .lp__callout-box-inner {
    min-width: 0;
    max-width: 100%;
  }

  .lp__callout-box--theme02 .lp__callout-text--theme02 {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    box-sizing: border-box;
  }

  /* theme02 黄色コールアウト: リスクグリッドが背景からはみ出さない */
  .lp__callout-yellow--theme02 {
    min-width: 0;
    overflow: hidden;
  }

  .lp__callout-yellow--theme02 .lp__risk-grid--theme02 {
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 70px;
  }

  .lp__callout-yellow--theme02 .lp__risk-item--theme02 {
    min-width: 0;
    max-width: 100%;
  }

  .lp__callout-yellow--theme02 .lp__risk-title--theme02,
  .lp__callout-yellow--theme02 .lp__risk-description--theme02 {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  /* theme04 AG比較: グレー背景からはみ出さない */
  .lp__callout-gray--theme04-ag {
    min-width: 0;
    overflow: hidden;
  }

  .lp__callout-gray--theme04-ag .lp__ag-table--theme04 {
    max-width: 100%;
    width: 100%;
    grid-template-columns: minmax(0, 324px) minmax(0, 546px);
  }

  .lp__callout-gray--theme04-ag .lp__ag-table--theme04 .lp__ag-cell {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .lp__callout-gray--theme04-ag
    .lp__ag-table--theme04
    .lp__ag-cell--generic-desc,
  .lp__callout-gray--theme04-ag .lp__ag-table--theme04 .lp__ag-cell--ag-desc {
    width: auto;
  }

  .lp__callout-notes-block__img-scroll {
    overflow: visible;
    margin-right: 0;
    width: 100%;
  }

  .lp__callout-notes-block__img-scroll
    .lp__callout-yellow-img-wrap--theme03-second {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .lp__callout-notes-block__img-scroll
    .lp__callout-yellow-img-wrap--theme03-second
    .lp__callout-yellow-img--theme03 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee__img-scroll {
    overflow: visible;
    margin-right: 0;
    width: 100%;
  }

  .lp__callout-yellow--theme04-chart
    .lp__theme04-special-fee__img-scroll
    .lp__theme04-special-fee-img {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
  }

  /* theme04-gen / theme04-action bullet: 奇数項目は画像を右端に、偶数項目は文章ブロックを右端に（文章は左寄せのまま） */
  .lp__bullet-row--theme04-gen:not(.lp__bullet-row--reverse)
    .lp__bullet-img-wrap--theme04 {
    justify-self: end;
  }

  .lp__bullet-row--theme04-gen.lp__bullet-row--reverse .lp__bullet-content {
    margin-left: auto;
    width: fit-content;
    max-width: 100%;
    justify-self: end;
    text-align: left;
  }

  /* theme05 tips: 奇数項目は画像を右端に、偶数項目は文章ブロックを右端に（文章は左寄せのまま） */
  .lp__tips-row--theme05:not(.lp__tips-row--reverse) .lp__tips-img-wrap {
    justify-self: end;
  }

  .lp__tips-row--theme05.lp__tips-row--reverse .lp__tips-content {
    margin-left: auto;
    width: fit-content;
    max-width: 100%;
    justify-self: end;
    text-align: left;
  }

  /* theme05 loss: 奇数項目は画像を右端に、偶数項目は文章ブロックを右端に（文章は左寄せのまま） */
  .lp__loss-row--theme05:not(.lp__loss-row--reverse) .lp__loss-img-wrap {
    justify-self: end;
  }

  .lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-content {
    margin-left: auto;
    width: fit-content;
    max-width: 100%;
    justify-self: end;
    text-align: left;
  }

  .lp__theme04-chart--1 {
    aspect-ratio: 870 / 300;
    max-height: 300px;
  }

  .lp__theme04-chart--2 {
    aspect-ratio: 870 / 292;
    max-height: 292px;
  }

  .lp__theme04-chart--3 {
    aspect-ratio: 870 / 317;
    max-height: 317px;
  }

  .lp__risk-description--theme02 {
    margin: 0;
    font-family: var(--font-zen);
    font-weight: 400;
    font-size: 18px;
    line-height: 2;
    text-align: justify;
    color: var(--color-body);
    width: 100%;
    max-width: 400px;
  }
}

@media (max-width: 1024px) {
  .lp__header {
    min-height: auto;
    aspect-ratio: auto;
  }

  .lp__header-logo {
    width: min(299px, 30vw);
  }

  .lp__header-subtitle {
    font-size: clamp(36px, 5vw, 56px);
    max-width: 100%;
  }

  .lp__header-title {
    font-size: clamp(20px, 2.5vw, 28px);
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .lp__header {
    min-height: auto;
    aspect-ratio: auto;
    padding: 0 0 18px;
    margin-bottom: 25px;
  }

  .lp__header-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("../images/header_bg_sp.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
  }

  .lp__header-content {
    padding: 25px 21px 0;
    align-items: flex-start;
    text-align: left;
  }

  .lp__header-logo {
    width: 240px;
    max-width: 61.5%;
    height: 40px;
    object-fit: contain;
    object-position: left top;
    margin-bottom: 0;
  }

  .lp__header-subtitle {
    font-size: 30px;
    line-height: 1.4;
    margin-top: 9px;
    text-align: left;
    max-width: 300px;
  }

  .lp__header-title {
    font-size: 18px;
    line-height: 1.556;
    margin-top: 7px;
    text-align: left;
    max-width: 306px;
  }

  .lp__header-note {
    margin-top: 66.1538vw;
    margin-left: 5px;
    font-size: 14px;
    line-height: 1.786;
    max-width: 97%;
    text-align: justify;
  }

  .lp__header-note .lp__note-marker {
    display: inline-block;
    width: 14px;
    margin-right: 0;
  }

  .lp__inner {
    width: 100%;
    padding: 0;
    position: relative;
    background-image: url("../images/lp_inner_bg_sp.webp");
    background-size: contain;
    background-repeat: repeat-y;
    padding-top: 20px;
  }

  .lp__section {
    margin-bottom: 20px;
  }

  .lp__section:last-child {
    margin-bottom: 20px;
  }

  .lp__swiper-section {
    margin-bottom: 40px;
  }

  .swiper--card03 .swiper-slide {
    width: 240px;
    height: 200px;
    line-height: 200px;
  }

  .lp__section-content {
    padding: 14px 25px 37px;
    margin-left: auto;
    margin-right: auto;
  }

  .lp__section-content--theme01 {
    padding: 12px 25px 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .lp__section-title {
    font-size: 24px;
    width: 100%;
    line-height: 1.458;
  }

  .lp__action-frame {
    width: 100%;
    padding: 10px 15px;
    margin-bottom: 20px;
  }

  .lp__action-text {
    font-size: 18px !important;
    line-height: 1.389 !important;
  }

  .lp__body-text {
    width: 100%;
    font-size: 16px;
  }

  .lp__body-text--note,
  .lp__body-text--primary {
    width: 100%;
    margin-left: 0;
  }

  .lp__body-text--highlight {
    width: 100%;
  }

  .lp__theme-label {
    position: static;
  }

  .lp__bullet-item {
    width: 100%;
  }

  .lp__bullet-description {
    width: 100%;
    margin-left: 0;
  }

  .lp__risk-items {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .lp__callout-box--theme01 {
    display: flex;
    flex-direction: column;
    padding: 24px 20px 28px;
    border-radius: 12px;
  }

  .lp__risk-items--theme01 {
    display: contents;
  }

  .lp__risk-items--theme01 .lp__risk-item {
    max-width: 100%;
    order: 0;
    margin-bottom: 0;
  }

  .lp__risk-items--theme01 .lp__risk-item:first-child {
    order: 1;
    margin-bottom: 10px;
  }

  .lp__risk-items--theme01 .lp__risk-item:last-child {
    order: 3;
    margin-bottom: 13px;
  }

  .lp__callout-box--theme01 .lp__risk-title {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
    max-width: 300px;
  }

  .lp__callout-box--theme01 .lp__risk-description {
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__callout-imgs--theme01 {
    display: contents;
  }

  .lp__callout-imgs--theme01 .lp__callout-img-wrap:first-child {
    order: 2;
    margin-bottom: 37px;
  }

  .lp__callout-imgs--theme01 .lp__callout-img-wrap:last-child {
    order: 4;
    margin-bottom: 17px;
  }

  .lp__callout-imgs--theme01 .lp__callout-img-wrap:first-child .lp__callout-img,
  .lp__callout-imgs--theme01 .lp__callout-img-wrap:last-child .lp__callout-img {
    width: 100%;
    height: auto;
  }

  .lp__callout-box--theme01 .lp__callout-text--theme01 {
    order: 5;
    padding-top: 0;
    margin-left: 0;
    margin-right: 0;
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__tips-section--theme01 {
    width: 100%;
    max-width: 100%;
    margin-top: 20px;
    margin-bottom: 0;
  }

  .lp__action-frame--theme02 + .lp__tips-section--theme02 {
    margin-top: 20px;
  }

  .lp__tips-section--theme02 {
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-section--theme03 {
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-item-with-img--theme01 {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-item-with-img--theme01:not(:last-child) {
    margin-bottom: 37px;
  }

  .lp__tips-item-with-img--theme02 {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-item-with-img--theme02:not(:last-child) {
    margin-bottom: 38px;
  }

  .lp__tips-item-with-img--theme02 .lp__tips-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme02 .lp__tips-img-wrap {
    order: 2;
    width: 100%;
    margin-top: 16px;
  }

  .lp__tips-item-with-img--theme02.lp__tips-item--right .lp__tips-content {
    order: 1;
    margin-left: 0;
  }

  .lp__tips-item-with-img--theme02.lp__tips-item--right .lp__tips-img-wrap {
    order: 2;
  }

  .lp__tips-title--theme02 {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
    color: #004471;
  }

  .lp__tips-description--theme02 {
    font-size: 16px;
    line-height: 1.875;
    width: 100%;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme02 .lp__tips-img {
    width: 100%;
    height: auto;
  }

  .lp__tips-item-with-img--theme03 {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-item-with-img--theme03:not(:last-child) {
    margin-bottom: 35px;
  }

  .lp__tips-item-with-img--theme03 .lp__tips-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme03 .lp__tips-img-wrap {
    order: 2;
    width: 100%;
    margin-top: 15px;
  }

  .lp__tips-item-with-img--theme03.lp__tips-item--right .lp__tips-content {
    order: 1;
    margin-left: 0;
  }

  .lp__tips-item-with-img--theme03.lp__tips-item--right .lp__tips-img-wrap {
    order: 2;
  }

  .lp__tips-title--theme03 {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
    color: #004471;
  }

  .lp__tips-description--theme03 {
    font-size: 16px;
    line-height: 1.875;
    width: 100%;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme03 .lp__tips-img {
    width: 100%;
    height: auto;
  }

  .lp__tips-title--theme03.lp__tips-title--standalone {
    margin-top: 48px;
    margin-bottom: 4px;
    font-size: 18px;
    line-height: 1.556;
    color: #004471;
  }

  .lp__tips-item-with-img--reverse {
    flex-direction: column;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-img-wrap {
    order: 2;
    width: 100%;
    margin-top: 17px;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-label {
    font-size: 12px;
    line-height: 1.333;
    margin-bottom: 1px;
    color: #747474;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-title {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
    color: #004471;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-description {
    font-size: 16px;
    line-height: 1.875;
    width: 100%;
    margin-bottom: 0;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-img {
    width: 100%;
    height: auto;
  }

  .lp__tips-item-with-img--theme01 .lp__tips-description,
  .lp__tips-item-with-img--theme03 .lp__tips-description--theme03 {
    width: 100%;
  }

  .lp__tips-item-with-img--theme03.lp__tips-item--right .lp__tips-content {
    margin-left: 0;
  }

  .lp__tips-img-wrap {
    width: 100%;
  }

  .lp__tips-img {
    width: 100%;
    height: auto;
  }

  .lp__body-text--highlight.lp__body-text--theme01 {
    margin-top: 31px;
    font-size: 16px;
    line-height: 1.875;
    font-weight: 700;
    max-width: 340px;
  }

  .lp__section-content--theme02,
  .lp__section-content--theme03 {
    padding: 12px 25px 33px;
  }

  .lp__section-content--theme01 .lp__theme-label {
    margin-bottom: -12px;
  }

  .lp__section-title--theme01 {
    font-size: 24px;
    line-height: 1.458;
    margin-bottom: 13px;
  }

  .lp__section-title--theme01,
  .lp__section-title--theme02,
  .lp__section-title--theme03,
  .lp__action-frame--theme01,
  .lp__action-frame--theme02,
  .lp__action-frame--theme03,
  .lp__body-text--theme01,
  .lp__body-text--theme02,
  .lp__body-text--theme03,
  .lp__callout-box--theme01,
  .lp__callout-box--theme02,
  .lp__body-text--highlight.lp__body-text--theme01 {
    width: 100%;
    max-width: 100%;
  }

  .lp__action-frame--theme01 {
    margin-bottom: 12px;
    margin-top: 12px;
  }

  .lp__action-frame--theme01:first-of-type {
    margin-bottom: 12px;
  }

  .lp__action-frame--theme01:last-of-type {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 184px;
    margin-bottom: 12px;
  }

  .lp__theme01-visual {
    margin-bottom: 18px;
  }

  .lp__theme01-img {
    width: 100%;
    height: auto;
    min-height: 406px;
  }

  .lp__body-text--theme01 {
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__body-text--theme01:first-of-type {
    margin-bottom: 34px;
  }

  .lp__callout-yellow--theme03 {
    width: 100%;
    padding: 24px 20px 32px;
    border-radius: 12px;
    margin-top: 20px;
  }

  .lp__callout-yellow-img-wrap--theme03 {
    width: 100%;
    margin-bottom: 20px;
  }

  .lp__callout-yellow-img--theme03 {
    width: 100%;
    height: auto;
    min-height: 200px;
  }

  .lp__callout-notes-block--theme03 {
    width: 100%;
  }

  .lp__callout-yellow--theme03 .lp__body-text--in-callout {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__time-table-block--theme03 {
    margin-bottom: 16px;
    max-width: 300px;
  }

  .lp__time-table-caption {
    font-size: 16px;
    line-height: 1.75;
    font-weight: 700;
    margin-bottom: 10px;
    max-width: 300px;
  }

  .lp__time-table--theme03 {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 50px;
    max-width: 300px;
  }

  .lp__time-row--theme03 {
    display: contents;
  }

  .lp__time-table--theme03 .lp__time-cell {
    padding: 6px 10px;
    font-size: 16px;
    line-height: 1.75;
    max-width: 300px;
    margin-bottom: 0;
  }

  .lp__time-table--theme03 .lp__time-cell--label {
    order: 0;
    background: #e3e3e3;
  }

  .lp__time-row--theme03:nth-child(1) .lp__time-cell--label {
    order: 1;
  }

  .lp__time-row--theme03:nth-child(1) .lp__time-cell--value {
    order: 2;
    margin-bottom: 6px;
  }

  .lp__time-row--theme03:nth-child(2) .lp__time-cell--label {
    order: 3;
  }

  .lp__time-row--theme03:nth-child(2) .lp__time-cell--value {
    order: 4;
    margin-bottom: 6px;
  }

  .lp__time-row--theme03:nth-child(3) .lp__time-cell--label {
    order: 5;
  }

  .lp__time-row--theme03:nth-child(3) .lp__time-cell--value {
    order: 6;
    margin-bottom: 0;
  }

  .lp__time-table--theme03 .lp__time-cell--value {
    background: #ffffff;
  }

  .lp__body-text--note-inline {
    margin-top: 50px;
    font-size: 16px;
    line-height: 1.875;
    max-width: 300px;
  }

  .lp__body-text--note-inline .lp__note-marker {
    display: inline-block;
    width: 16px;
    margin-right: 0;
  }

  .lp__callout-notes-block--theme03 {
    display: flex;
    flex-direction: column;
    max-width: 100%;
  }

  .lp__callout-notes-block--theme03 .lp__body-text--note {
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 0;
    max-width: 100%;
    width: 100%;
  }

  .lp__callout-notes-block--theme03 .lp__body-text--note:first-of-type {
    order: 1;
    margin-bottom: 197px;
  }

  .lp__callout-notes-block__img-scroll {
    order: 2;
    margin-top: 0;
    margin-bottom: 20px;
    margin-right: -20px;
    width: calc(100% + 20px);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .lp__callout-notes-block__img-scroll
    .lp__callout-yellow-img-wrap--theme03-second {
    width: 870px;
    min-width: 870px;
    max-width: none;
    margin-bottom: 0;
  }

  .lp__callout-notes-block__img-scroll
    .lp__callout-yellow-img-wrap--theme03-second
    .lp__callout-yellow-img--theme03 {
    width: 870px;
    min-width: 870px;
    max-width: none;
    height: auto;
    min-height: 311px;
  }

  .lp__callout-notes-block--theme03 .lp__body-text--note:nth-last-child(2) {
    order: 3;
    margin-top: 0;
  }

  .lp__callout-notes-block--theme03 .lp__body-text--note:last-child {
    order: 4;
    margin-top: 0;
  }

  .lp__callout-yellow--theme03 .lp__body-text--note .lp__note-marker {
    display: inline-block;
    width: 16px;
    margin-right: 0;
  }

  .lp__section-content--theme04 {
    padding: 12px 25px 40px;
  }

  .lp__section-content--theme04 .lp__section-title {
    font-size: 24px;
    line-height: 1.458;
    margin-bottom: 14px;
  }

  .lp__callout-block--theme04-intro {
    max-width: 100%;
    margin-bottom: 38px;
    padding: 0;
    background: transparent;
    border-radius: 0;
  }

  .lp__callout-block--theme04-intro .lp__action-frame--theme04 {
    max-width: 100%;
    width: 100%;
    margin-bottom: 14px;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
    background: #f29b87;
    border-radius: 12px;
  }

  .lp__callout-block--theme04-intro
    .lp__action-frame--theme04
    .lp__action-text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.389;
    color: #ffffff;
    max-width: 310px;
    width: 100%;
    display: flex;
    align-items: center;
    margin: 0;
  }

  .lp__body-text--theme04-intro {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 0;
  }

  .lp__section-content--theme04
    .lp__action-frame--theme04:not(.lp__action-frame--in-callout) {
    max-width: 100%;
    width: 100%;
    margin-bottom: 0;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    background: #f29b87;
    border-radius: 12px;
  }

  .lp__section-content--theme04
    .lp__action-frame--theme04:not(.lp__action-frame--in-callout)
    .lp__action-text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.389;
    color: #ffffff;
    width: 100%;
    margin: 0;
  }

  .lp__section-content--theme04
    .lp__action-frame:not(.lp__action-frame--theme04) {
    margin-top: 0;
    margin-bottom: 15px;
    padding: 10px 15px;
    font-size: 18px;
    line-height: 1.389;
  }

  .lp__section-content--theme04
    .lp__action-frame:not(.lp__action-frame--theme04)
    .lp__action-text {
    font-size: 18px;
    line-height: 1.389;
  }

  .lp__section-content--theme04
    .lp__body-text:not(.lp__body-text--theme04-intro) {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__bullet-grid--theme04,
  .lp__bullet-grid--theme04-gen,
  .lp__bullet-grid--theme04-action {
    margin-top: 17px;
  }

  .lp__bullet-grid--theme04:not(.lp__bullet-grid--theme04-second) {
    margin-bottom: 48px;
  }

  .lp__bullet-grid--theme04-gen,
  .lp__bullet-grid--theme04-action {
    margin-bottom: 24px;
    max-width: 100%;
  }

  .lp__bullet-grid--theme04-second {
    margin-top: 24px;
  }

  .lp__bullet-row--theme04,
  .lp__bullet-row--theme04.lp__bullet-row--reverse,
  .lp__bullet-row--theme04-gen,
  .lp__bullet-row--theme04-gen.lp__bullet-row--reverse {
    grid-template-columns: 1fr;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .lp__bullet-row--theme04-gen:first-child {
    margin-bottom: 44px;
  }

  .lp__bullet-row--theme04-gen:nth-child(2) {
    margin-bottom: 51px;
  }

  .lp__bullet-row--theme04-gen:last-child {
    margin-bottom: 0;
  }

  .lp__bullet-row--theme04.lp__bullet-row--reverse .lp__bullet-content,
  .lp__bullet-row--theme04-gen.lp__bullet-row--reverse .lp__bullet-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__bullet-row--theme04.lp__bullet-row--reverse
    .lp__bullet-img-wrap--theme04,
  .lp__bullet-row--theme04-gen.lp__bullet-row--reverse
    .lp__bullet-img-wrap--theme04 {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
  }

  .lp__bullet-row--theme04-gen .lp__bullet-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__bullet-row--theme04-gen .lp__bullet-img-wrap--theme04 {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
  }

  .lp__bullet-text--theme04 {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
  }

  .lp__bullet-row--theme04-gen .lp__bullet-description--theme04 {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.875;
    max-width: 100%;
  }

  .lp__bullet-row--theme04-gen:nth-child(2) .lp__bullet-description--theme04,
  .lp__bullet-row--theme04-gen:last-child .lp__bullet-description--theme04 {
    margin-bottom: 15px;
  }

  .lp__bullet-img-wrap--theme04 {
    max-width: 100%;
    width: 100%;
  }

  .lp__bullet-img--theme04 {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }

  .lp__callout-yellow--theme04,
  .lp__callout-yellow--theme04-chart {
    margin-top: 48px;
    padding: 32px 20px 30px;
    max-width: 100%;
    border-radius: 15px;
  }

  .lp__action-frame--theme04.lp__action-frame--in-callout {
    max-width: 100%;
    width: 100%;
    margin-bottom: 14px;
    padding: 10px 15px;
    display: inline-flex;
    align-items: center;
    background: #f29b87;
    border-radius: 12px;
  }

  .lp__action-frame--theme04.lp__action-frame--in-callout .lp__action-text {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.389;
    color: #ffffff;
    max-width: 270px;
    width: 100%;
    margin: 0;
  }

  .lp__callout-yellow--theme04 .lp__body-text--theme04,
  .lp__callout-yellow--theme04-chart .lp__body-text--theme04-inline {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 33px;
  }

  .lp__callout-yellow--theme04-chart .lp__body-text--theme04-inline {
    margin-bottom: 33px;
  }

  .lp__callout-yellow--theme04-chart
    .lp__body-text--theme04-inline
    .lp__note-marker {
    display: inline-block;
    width: 16px;
    margin-right: 0;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-charts {
    max-width: 100%;
    margin-bottom: 34px;
    gap: 31px;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-chart {
    width: 100%;
    height: auto;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 11px;
  }

  .lp__callout-yellow--theme04-chart
    .lp__theme04-special-fee
    .lp__body-text--special-fee {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 0;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee-img {
    width: 100%;
    max-width: 320px;
    height: auto;
    min-height: 181px;
    object-fit: cover;
  }

  .lp__callout-yellow--theme04-chart .lp__theme04-special-fee__img-scroll {
    margin-right: -20px;
    width: calc(100% + 20px);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin-top: 5px;
  }

  .lp__callout-yellow--theme04-chart
    .lp__theme04-special-fee__img-scroll
    .lp__theme04-special-fee-img {
    width: 440px;
    min-width: 427px;
    max-width: none;
    height: auto;
    min-height: 181px;
    object-fit: cover;
  }

  .lp__section-content--theme05 {
    padding: 15px 25px 34px;
  }

  .lp__section-title--theme05 {
    font-size: 24px;
    line-height: 1.458;
  }

  .lp__section-title--theme05,
  .lp__body-text--theme05,
  .lp__action-frame--theme05,
  .lp__case-block--theme05 {
    max-width: 100%;
    margin-bottom: 0;
  }

  .lp__case-title--theme05 {
    max-width: 100%;
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 8px;
  }

  .lp__case-divider--theme05 {
    max-width: 100%;
    height: 2px;
    margin-bottom: 20px;
  }

  .lp__loss-grid--theme05 {
    max-width: 100%;
    gap: 0;
  }

  .lp__loss-row--theme05,
  .lp__loss-row--theme05.lp__loss-row--reverse {
    grid-template-columns: 1fr;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .lp__loss-row--theme05:first-child {
    margin-bottom: 52px;
  }

  .lp__loss-row--theme05:nth-child(2) {
    margin-bottom: 52px;
  }

  .lp__loss-row--theme05:last-child {
    margin-bottom: 40px;
  }

  .lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-img-wrap {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
  }

  .lp__loss-row--theme05 .lp__loss-content {
    order: 1;
    margin-bottom: 0;
  }

  .lp__loss-row--theme05 .lp__loss-img-wrap {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__loss-row--theme05.lp__loss-row--reverse .lp__loss-img-wrap {
    width: 100%;
    max-width: 100%;
  }

  .lp__loss-heading {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
  }

  .lp__loss-description--theme05 {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 21px;
  }

  .lp__loss-img,
  .lp__loss-img--tall {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }

  .lp__tips-row--theme05,
  .lp__tips-row--theme05.lp__tips-row--reverse {
    grid-template-columns: 1fr;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .lp__tips-row--theme05:not(:last-child),
  .lp__tips-row--theme05.lp__tips-row--reverse:not(:last-child) {
    margin-bottom: 42px;
  }

  .lp__tips-row--theme05.lp__tips-row--reverse .lp__tips-content {
    order: 1;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-row--theme05.lp__tips-row--reverse .lp__tips-img-wrap {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-row--theme05 .lp__tips-content {
    order: 1;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-row--theme05 .lp__tips-img-wrap {
    order: 2;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-title--theme05 {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 4px;
    width: 100%;
    max-width: 100%;
  }

  .lp__tips-description--theme05 {
    max-width: 100%;
    width: 100%;
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 18px;
  }

  .lp__tips-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
  }

  .lp__body-text--theme05-note {
    max-width: 100%;
  }

  .lp__theme04-charts {
    max-width: 100%;
    margin-bottom: 40px;
    gap: 24px;
  }

  .lp__theme04-special-fee {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 16px;
  }

  .lp__theme04-special-fee-img {
    width: 100%;
    max-width: 547px;
    height: auto;
    min-height: 180px;
  }

  .lp__callout-yellow--theme04 + .lp__action-frame--theme04 {
    margin-top: 40px;
  }

  .lp__callout-gray--theme04,
  .lp__callout-gray--theme04-ag {
    margin-top: 48px;
    padding: 21px 20px 18px;
    max-width: 100%;
    border-radius: 12px;
    margin-bottom: 13px;
  }

  .lp__callout-gray--theme04-ag .lp__body-text--theme04-ag {
    max-width: 100%;
    margin-bottom: 8px;
  }

  .lp__ag-table--theme04 {
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    max-width: 100%;
  }

  .lp__ag-table--theme04 .lp__ag-cell {
    grid-column: 1;
    grid-row: auto;
    min-height: unset;
    padding: 6px 10px;
    width: 100%;
  }

  .lp__ag-table--theme04 .lp__ag-cell--generic-label,
  .lp__ag-table--theme04 .lp__ag-cell--ag-label {
    width: 100%;
  }

  .lp__ag-table--theme04 .lp__ag-cell--generic-desc,
  .lp__ag-table--theme04 .lp__ag-cell--ag-desc {
    width: 100%;
    max-width: 100%;
  }

  .lp__body-text--theme04.lp__body-text--note {
    max-width: 100%;
  }

  .lp__time-table-block--theme03 {
    width: 100%;
  }

  .lp__time-table-caption {
    max-width: 100%;
  }

  .lp__time-table--theme03 {
    width: 100%;
  }

  .lp__time-row--theme03 {
    grid-template-columns: 1fr 1fr;
  }

  .lp__bullet-points--theme03 {
    width: 100%;
  }

  .lp__consultation-block--theme03 {
    width: 100%;
  }

  .lp__consultation-soudan-wrap--theme03 {
    position: relative;
    height: auto;
    display: flex;
    justify-content: flex-end;
    gap: 0;
    margin-bottom: 0;
    margin-top: 0;
  }

  .lp__consultation-soudan-img--left {
    position: absolute;
    top: 0;
    left: 75%;
    width: 68px;
    height: 100px;
    object-fit: cover;
    z-index: 1;
  }

  .lp__consultation-soudan-img--right {
    position: absolute;
    bottom: 0;
    left: 75%;
    width: 85px;
    height: 95px;
    object-fit: cover;
    z-index: 1;
  }

  .lp__consultation-block--theme03 .lp__consultation-box {
    margin-top: 0;
    flex-direction: column;
    gap: 0;
  }

  .lp__consultation-box--theme03 .lp__consultation-item {
    position: relative;
    padding: 20px;
    margin-bottom: 0;
  }

  .lp__consultation-box--theme03 .lp__consultation-item:first-child {
    margin-bottom: 0;
  }

  .lp__consultation-box--theme03 .lp__consultation-item:first-child {
    padding-top: 12px;
  }

  .lp__consultation-box--theme03 .lp__consultation-title {
    font-size: 26px;
    line-height: 0.769;
    margin-bottom: 30px;
    max-width: 198px;
  }

  .lp__consultation-box--theme03
    .lp__consultation-item:last-child
    .lp__consultation-title {
    max-width: 144px;
  }

  .lp__consultation-box--theme03 .lp__consultation-tel {
    font-family: var(--font-roboto);
    font-size: 32px;
    line-height: 1;
    margin-bottom: 5px;
  }

  .lp__consultation-box--theme03
    .lp__consultation-item:first-child
    .lp__consultation-tel:first-of-type {
    margin-bottom: 1px;
  }

  .lp__consultation-box--theme03
    .lp__consultation-tel.lp__consultation-tel--or {
    font-family: var(--font-zen);
    font-size: 16px;
    line-height: 1.25;
    padding: 8px 10px;
    border-radius: 16px;
    margin-bottom: 5px;
    display: inline-flex;
  }

  .lp__consultation-box--theme03
    .lp__consultation-item:first-child
    .lp__consultation-tel:nth-of-type(3) {
    margin-bottom: 43px;
  }

  .lp__consultation-box--theme03
    .lp__consultation-item:last-child
    .lp__consultation-tel:nth-of-type(3) {
    margin-bottom: 53px;
  }

  .lp__consultation-schedule--left {
    margin-top: 0;
    margin-bottom: 0;
    padding: 13px 13px;
    max-width: 300px;
  }

  .lp__consultation-schedule--left .lp__schedule-item {
    margin-bottom: 0;
    gap: 9px;
    padding: 0;
  }

  .lp__consultation-schedule--left .lp__schedule-item:first-child {
    margin-bottom: 0;
  }

  .lp__consultation-schedule--left .lp__schedule-item:nth-child(2) {
    margin-top: 0;
    margin-bottom: 0;
  }

  .lp__consultation-schedule--left .lp__schedule-item:last-child {
    margin-top: 0;
    margin-bottom: 0;
  }

  .lp__consultation-schedule--left .lp__schedule-day {
    font-size: 14px;
    line-height: 2.143;
    padding: 0 12px;
    min-width: 80px;
    width: 80px;
    background: #004471;
    border-radius: 15px;
  }

  .lp__consultation-schedule--left .lp__schedule-time {
    font-size: 16px;
    line-height: 1.875;
    max-width: 181px;
  }

  .lp__body-text--in-consultation {
    font-size: 16px;
    line-height: 1.875;
    max-width: 300px;
    margin-top: 9px;
    margin-bottom: 0;
  }

  .lp__consultation-box--theme03 .lp__consultation-item:last-child {
    margin-top: 0;
    padding-top: 20px;
  }

  .lp__consultation-box--theme03
    .lp__consultation-item:last-child
    .lp__consultation-tel:last-of-type {
    margin-bottom: 53px;
  }

  .lp__time-schedule--theme03 {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .lp__time-schedule--theme03 .lp__schedule-col--left .lp__schedule-item {
    margin-bottom: 12px;
  }

  .lp__action-frame--theme02.lp__action-frame--narrow {
    width: 100%;
    margin-left: 0;
  }

  .lp__body-text--theme02.lp__body-text--note {
    width: 100%;
    margin-left: 0;
  }

  .lp__theme02-visual {
    max-width: 100%;
  }

  .lp__theme02-img {
    width: 100%;
    height: auto;
    min-height: 200px;
    margin-top: 33px;
  }

  .lp__callout-box--theme02 {
    min-height: auto;
  }

  .lp__callout-box-inner {
    flex-direction: column;
    height: auto;
    padding: 20px;
    position: relative;
  }

  .lp__callout-img--theme02 {
    position: absolute;
    width: 100%;
    max-width: 159px;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    top: -22px;
  }

  .lp__callout-text--theme02 {
    padding: 0;
    font-size: 20px;
    text-align: center;
    margin-top: 138px;
  }

  .lp__callout-yellow--theme02 {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: auto;
    padding: 20px;
    border-radius: 15px;
    background: #fcf0cf;
  }

  .lp__callout-yellow--theme02
    .lp__action-frame--theme02.lp__action-frame--narrow {
    order: 1;
    margin-bottom: 15px;
    padding: 10px 15px;
  }

  .lp__callout-yellow--theme02 .lp__body-text--theme02.lp__body-text--note {
    order: 2;
    margin-bottom: 9px;
    font-size: 16px;
    line-height: 1.875;
  }

  .lp__callout-yellow-img-wrap {
    order: 3;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 27px;
  }

  .lp__callout-yellow-img {
    width: 100%;
    height: auto;
  }

  .lp__callout-yellow--theme02 .lp__risk-grid--theme02 {
    order: 4;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin: 0;
  }

  .lp__risk-grid--theme02 {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0;
  }

  .lp__risk-item--theme02 {
    margin-bottom: 0;
  }

  .lp__risk-item--theme02:first-child {
    margin-bottom: 27px;
  }

  .lp__risk-title--theme02 {
    font-size: 18px;
    line-height: 1.556;
    margin-bottom: 8px;
    max-width: 258px;
  }

  .lp__risk-item--theme02:last-child .lp__risk-title--theme02 {
    max-width: 168px;
  }

  .lp__risk-description--theme02 {
    font-size: 16px;
    line-height: 1.875;
    width: 100%;
    margin-bottom: 0;
  }

  .lp__theme01-visual {
    max-width: 100%;
  }

  .lp__theme01-img {
    width: 100%;
    height: auto;
    min-height: 200px;
  }

  .lp__consultation-box,
  .lp__time-schedule {
    flex-direction: column;
  }

  .lp__ag-table {
    flex-direction: column;
  }

  .lp__ag-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .lp__ag-label {
    width: 100%;
    margin-bottom: 10px;
  }

  .lp__loss-items {
    grid-template-columns: 1fr;
  }

  .lp__footer-content {
    align-items: center;
    gap: 20px;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
  }

  .lp__footer-copyright {
    margin-top: 0;
    margin-left: 0;
  }

  .emphasis {
    color: #ea5520;
    font-size: 20px;
    font-weight: 700;
  }

  .lp__callout-yellow-img-wrap--theme03:nth-of-type(1)
    .lp__callout-yellow-img--theme03 {
    height: auto;
    min-height: auto;
  }

  /* スライダー（基本カード型03: 自動再生・無限ループ・横幅端まで） */

  .lp__swiper-section {
    margin-bottom: 30px;
  }

  .lp__swiper-section h3 {
    font-size: 20px;
    margin-bottom: 17px;
  }

  .swiper--card03 .swiper-slide {
    width: 320px;
    flex-shrink: 0;
    text-align: center;
  }

  /* 相談ボックス（Section 3） */
  .soudan-box-left {
    margin-bottom: 30px;
  }

  .soudan-box-left,
  .soudan-box-right {
    width: 100%;
    height: auto;
  }

  .soudan-box h4 {
    font-size: 18px;
    line-height: 1;
    padding: 8px 11px 11px 11px;
  }

  .taisyou {
    font-size: 12px;
  }

  .soudan-box-left img,
  .soudan-box-right img {
    height: 102px;
  }

  .soudan-box-inner {
    max-width: 90%;
    padding-bottom: 15px;
  }

  .soudan-phone {
    font-size: 32px;
    padding: 10px 0px;
  }

  .matawa {
    height: 28px;
    font-size: 16px;
    padding: 0px 10px;
    top: -6px;
    left: 5px;
  }

  .taiou-time p {
    padding: 7px 16px;
    font-size: 16px;
  }

  .youbi {
    width: 76px;
    height: 27px;
    padding: 10px;
    font-size: 14px;
  }

  .taiou-time {
    margin-bottom: 9px;
  }

  .lp__ag-table--theme04 .lp__ag-cell {
    font-size: 16px;
  }

  .lp__ag-table--theme04 {
    gap: 0;
  }

  .mt01 {
    margin-top: 10px;
  }

  .lp__section-title--theme03 {
    margin-bottom: 13px;
  }

  .lp__ag-comparison-title--theme04 {
    font-size: 16px;
  }

  .lp__body-text {
    margin: 0;
  }

  .lp__case-block--theme05 + .lp__action-frame--theme05 {
    margin-top: 20px;
  }

  .lp__action-frame--theme05 + .lp__body-text--theme05 {
    margin-top: 15px;
  }

  .lp__footer {
    margin-top: 0;
    padding: 30px 0;
  }

  .lp__theme-label {
    font-size: 16px;
    margin-bottom: -12px;
  }

  .theme-number {
    font-size: 25px;
  }

  .lp__callout-box {
    margin: 22px 0;
  }

  .lp__section-title--theme02 {
    margin: 0 0 14px;
  }

  .lp__body-text--theme02 {
    margin-bottom: 20px;
  }

  .mb01 {
    margin-bottom: 20px;
  }

  .mb02 {
    margin-bottom: 40px;
  }

  .mt02 {
    margin-top: 20px;
  }

  .mt03 {
    margin-top: 15px;
  }

  .lp__section-title--theme05 {
    margin: 0 0 12px;
  }

  .lp__section-title {
    margin-bottom: 15px;
  }

  .lp__callout-yellow--theme04-chart {
    margin-bottom: 40px;
  }

  .mb03 {
    margin-bottom: 15px;
  }

  .lp__callout-yellow--theme03 {
    margin-bottom: 40px;
  }

  .taiou-time p {
    white-space: normal;
  }
}

.lp__callout-notes-block--theme03 .lp__body-text--note:first-of-type {
  margin-bottom: 20px;
}
