:root {
  --gold01: #ffd700;
  --gold02: #ffc107;
  --gold03: #ffa000;
  --grey04: #222222;
  --grey05: #808080;
  --yellow01: #fffeee;
  --red04: #fff1f1;
  --titleGold: linear-gradient(180deg, #ffe29b 0%, #f7df67 65%, #deba67 100%);
}

/* =============================================================
 電話番号のクリックを無効にする
 ============================================================== */
a[href^="tel:"] {
  pointer-events: none;
}

@media (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* =============================================================
 header
 ============================================================== */

.header-logo {
  left: 9px;
}

/*
***********************************************************
 KVエリア
***********************************************************
*/

/* H1の非表示 */
#campaign-contents .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.event-lp-fv {
}

.event-lp-fv img {
  aspect-ratio: 1440/510;
  object-fit: cover;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .event-lp-fv img {
    aspect-ratio: 375/452;
  }
}

#campaign-contents .notice-area {
  background-color: var(--greyK2);
  padding-block: var(--size40);
  padding-inline: var(--size24);
}

@media (max-width: 768px) {
  #campaign-contents .notice-area {
    background-color: unset;
    padding-block: unset;
    padding-inline: unset;
    margin-block-start: var(--size40);
  }
}

.notice-area .notice-area-inner {
  flex-direction: column;
  align-items: center;
  max-width: 98.6rem;
  width: 100%;
  margin-inline: auto;
}

.notice-area .notice-txt {
  font-size: 1.4rem;
  color: var(--black);
}

@media (max-width: 768px) {
  .notice-area .notice-txt {
    padding: 0;
  }
}

/* =============================================================
 共通エリア
 ============================================================== */

/* ヘッダー */
#wrap .header-simple {
  padding: 0;
}
@media (max-width: 768px) {
  #wrap .header-simple {
    padding-inline: var(--size16);
  }
}

/* コンテンツ幅 */
#campaign-contents .inner-wrap {
  display: block;
  margin-inline: auto;
  width: 100%;
  max-width: var(--contentMaxW);
}

@media (max-width: 768px) {
  #campaign-contents .inner-wrap {
    padding-inline: var(--size16);
  }
}

.inner-s-wrap {
  width: 100%;
}

@media (max-width: 768px) {
  .inner-s-wrap.inner-s-wrap-notice {
    width: calc(100% - var(--size32));
  }
}

/* ボタン */
.btn-nml.cv-btn.accent-org {
  transition: opacity 0.3s ease;
  max-width: 32.6rem;
  min-height: 4.8rem;
  width: 100%;
}

@media (any-hover: hover) {
  .btn-nml.cv-btn.accent-org:hover {
    color: var(--white);
    opacity: 0.7;
  }
}

/* 矢印ボタン */
.arrow-right {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.43;
  color: var(--black);
  transition: color 0.1s ease;
}

.arrow-right-blue {
  transition: color 0.1s ease;
}

@media (any-hover: hover) {
  .arrow-right:hover {
    text-decoration: underline;
    text-decoration-color: var(--red01);
    text-underline-offset: 3px;
    color: var(--red01);
  }
}

@media (any-hover: hover) {
  .arrow-right-blue:hover {
    text-decoration: underline;
    text-decoration-color: var(--keyColor);
    text-underline-offset: 3px;
    color: var(--keyColor);
  }
}

.arrow-right::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url(../images/icon_right.svg) no-repeat center center / contain;
  margin: 0;
}

.arrow-right-blue::after {
  background: url(../images/icon_blue_right.svg) no-repeat center center / contain;
}

/* LPフロー */
.lp-flow__body {
  text-align: center;
  margin-block-start: var(--size40);
}

/* 追従ボタン（固定時） */
.lp-flow__body.is-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  margin-block-start: 0;
  padding-inline: var(--size16);
  padding-block: var(--size16);
  background: rgb(255 255 255 / 0.9);
  transition: transform 0.3s ease;
}

/* フッター到達時：画面外に引っ込む */
.lp-flow__body.is-fixed.is-hidden {
  transform: translateY(200%);
}

/* 終了版：追従ボタンを常にページ下部に固定表示 */
#campaign-contents .lp-flow__body.close {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  margin-block-start: 0;
  padding-inline: var(--size16);
  padding-block: var(--size16);
  background: rgb(255 255 255 / 0.9);
  transition: transform 0.3s ease;
}

/* 終了メッセージオーバーレイ */
#campaign-contents .apply-button.close .closeTxt,
#campaign-contents .lp-flow__body.close .closeTxt {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  font-weight: var(--fwBold);
  line-height: 1.6;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  color: var(--white);
  z-index: 5;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 599px) {
  #campaign-contents .apply-button.close .closeTxt,
  #campaign-contents .lp-flow__body.close .closeTxt {
    font-size: 1.6rem;
  }
}

/* .close が付いたラッパー内ではクリック無効化 */
#campaign-contents .lp-flow__body.close a,
#campaign-contents .lp-flow__body.close button {
  pointer-events: none;
}

@media (max-width: 768px) {
  .lp-flow__body {
    margin-block-start: var(--size24);
  }

  .lp-flow__body.is-fixed {
    padding-inline: var(--size12);
  }
}

/* 上部フローCTA：キャンペーン終了時の表示 */
#campaign-contents .apply-button {
  position: relative;  /* オーバーレイの基準にする */
}

/* 開催期間中はテキスト非表示 */
#campaign-contents .apply-button .closeTxt {
  display: none;
  margin: 0;
}

/* =============================================================
 LPフロー
 ============================================================== */

.lp-flow-section {
  background-image: url(../images/bg-img.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-block-start: var(--size40);
}

@media (max-width: 768px) {
  .lp-flow-section {
    background-image: none;
    padding-block-start: var(--size16);
  }
}

.lp-flow__inner {
  background-color: var(--white);
  padding: var(--size40);
}

@media (max-width: 768px) {
  .lp-flow__inner {
    padding: 0;
  }
}

.lp-flow__wrap {
  margin-block-start: var(--size40);
}

@media (max-width: 768px) {
  .lp-flow__wrap {
    margin-block-start: var(--size24);
  }
}

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

.cv-btn {
  font-size: 2.4rem;
  line-height: 1.38;
  text-align: center;
  color: var(--white);
}

.lp-flow__link {
  margin-top: var(--size16);
  font-size: 1.4rem;
  color: var(--black);
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .lp-flow__link {
    margin-top: var(--size8);
  }
}

.lp-flow__heading {
  text-align: center;
  background-color: var(--red01);
  margin-bottom: var(--size24);
}

@media (max-width: 768px) {
  .lp-flow__heading {
    padding-block: 6px;
    margin-bottom: var(--size16);
    width: calc(100% + var(--size32));
    margin-inline: calc(var(--size16) * -1);
  }
}

.ttl-gold {
  font-size: 4rem;
  font-weight: var(--fwBold);
  line-height: 1.4;
  text-align: center;
  background: var(--titleGold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (max-width: 768px) {
  .ttl-gold {
    font-size: 2.6rem;
    line-height: 1.38;
  }
}

@media (max-width: 768px) {
  .lp-flow__img-wrap {
    padding-inline: 1.2rem;
  }
}

.lp-flow__img img {
  aspect-ratio: 1360/440;
  object-fit: cover;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .lp-flow__img img {
    aspect-ratio: 320/927;
  }
}

.lp-flow__date {
  max-width: 1010px;
  margin-inline: auto;
}

.lp-flow__date img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 768px) {
  .lp-flow__date {
    max-width: 284px;
  }
}

/* =============================================================
 応募締切・当選発表
============================================================= */

@media (max-width: 768px) {
  .sp-scroll-notice span {
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--black);
    display: inline-flex;
    column-gap: 8px;
    border: 1px solid var(--silver);
    padding: 12px 16px;
  }

  .sp-scroll-notice .icn {
    width: 22px;
  }
}

.table-nml.ver-sm thead th {
  font-size: 1.6rem;
  padding: 12px;
}

.table-nml.ver-sm em.box {
  color: var(--black);
  background-color: var(--greyK5);
  border-radius: 4px;
  line-height: 1.43;
  font-size: 1.4rem;
  padding: 4px 8px;
}

.table-nml tbody th,
.table-nml tbody td {
  padding-block: 0.7rem;
}

@media (max-width: 768px) {
  .table-nml tbody th,
  .table-nml tbody td {
    padding-inline: 0.5rem;
    padding-block: 1.2rem;
  }
}

.arrow-down {
  display: block;
  color: #535353;
  margin-block: 0;
  font-size: 1.6rem;
}

/* 当選発表日 列幅調整 */
.w-announcement-date {
  width: 34%;
}

@media (max-width: 768px) {
  .w-announcement-date {
    width: unset;
  }
}

/* 当選人数 列幅調整 */
.w-number-of-people {
  width: 33%;
}

@media (max-width: 768px) {
  .w-number-of-people {
    width: unset;
  }
}

.table-nml.ver-sm tbody .bg-y {
  background-color: var(--yellow01);
  padding-inline: 0.5rem;
  padding-block: 3.5rem;
}

@media (max-width: 768px) {
  .table-nml.ver-sm tbody .bg-y {
    padding-block: 0.9rem;
  }
}

.table-nml.ver-sm tbody .bg-b {
  background-color: var(--red04);
  width: 22%;
}

@media (max-width: 768px) {
  .table-nml.ver-sm tbody .bg-b {
    width: unset;
    padding-inline: 1.2rem;
    padding-block: 1.2rem;
  }
}

.table-nml.ver-sm tbody th,
.table-nml.ver-sm tbody td {
  font-size: 1.6rem;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .table-nml.ver-sm tbody th,
  .table-nml.ver-sm tbody td {
    font-size: 1.4rem;
  }
}

.table-nml.ver-sm p.box {
  color: var(--black);
  background: var(--greyK2);
  font-size: 1.2rem;
  margin-block-start: 8px;
  padding: 2px;
  border-radius: 4px;
}

/* =============================================================
 キャンペーンポイント
============================================================== */

.lp-flow__cars {
  text-align: center;
  max-width: 57.1rem;
  margin-inline: auto;
}

@media (max-width: 768px) {
  .lp-flow__cars {
    margin-block-start: var(--size32);
    max-width: 31.2rem;
  }
}

.lp-flow__cars img {
  object-fit: contain;
  width: 100%;
  height: auto;
}

.lp-cars-list__wrap {
  margin-block-start: var(--size40);
  padding-block-end: 2.4rem;
  display: flex;
  justify-content: center;
  gap: var(--size48);
}

@media (max-width: 768px) {
  .lp-cars-list__wrap {
    margin-block-start: var(--size24);
    flex-direction: column;
    max-width: 28rem;
    margin-inline: auto;
    gap: 1.2rem;
  }
}

.lp-cars-list {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

@media (max-width: 768px) {
  .lp-cars-list {
    gap: 1.2rem;
  }
}

.lp-cars-list__item {
  position: relative;
  align-items: center;
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.8rem;
  line-height: 1;
  color: var(--black);
}

.lp-cars-list__item::before {
  content: "";
  background-image: url(../images/icon_checkbox.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2.4rem;
  height: 2.4rem;
}

.lp-campaign-info .acc-wrap.nml-acc-wrap .triggle {
  font-size: 1.6rem;
}

/* =============================================================
 キャンペーンに関するご注意事項
============================================================== */
.lp-campaign-info {
}

.acc-wrap.nml-acc-wrap .triggle {
  font-size: 2.4rem;
  font-weight: var(--fwBold);
  padding: 24px 56px 24px 24px;
  width: 100%;
  text-align: left;
  position: relative;
}

@media (max-width: 768px) {
  .lp-campaign-info .acc-wrap.nml-acc-wrap .triggle {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.43;
    padding: 14px 48px 14px 8px;
  }
}

.lp-campaign-info .acc-wrap.nml-acc-wrap + .acc-wrap {
  margin-top: var(--size16);
}

@media (max-width: 768px) {
  .lp-campaign-info .acc-wrap.nml-acc-wrap + .acc-wrap {
    margin-top: var(--size8);
  }
}

.lp-campaign-info .acc-wrap.nml-acc-wrap .acc-contents-inner {
  padding: 0 24px 24px;
}

@media (max-width: 768px) {
  .lp-campaign-info .acc-wrap.nml-acc-wrap .acc-contents-inner {
    padding: 0 8px 8px;
  }
}

.lp-campaign-info .nml-toggle-icn::before,
.lp-campaign-info .nml-toggle-icn::after {
  background-color: var(--red01);
}

.lp-campaign-info__note-wrap {
  margin-block-start: var(--size24);
  padding-inline: var(--size40);
}

@media (max-width: 768px) {
  .lp-campaign-info__note-wrap {
    margin-block-start: var(--size16);
    padding-inline: unset;
  }
}

.lp-campaign-info__note {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--black);
  padding-left: 1em;
  text-indent: -1em;
}

.lp-campaign-info__note-wrap .lp-modal-trigger {
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .lp-campaign-info__note-wrap .lp-modal-trigger:hover {
    opacity: 0.7;
  }
}

/* =============================================================
 ご利用に関するお問い合わせは
============================================================== */
.inquiry-box-container {
  container-type: inline-size;
}

.inner-box {
  max-width: 96.8rem;
  margin-inline: auto;
  width: 100%;
  padding-inline: var(--size24);
}

#section-inquiry .nml-cta-box .info-row,
#section-inquiry .nml-cta-box .tel-row {
  justify-content: flex-start;
  gap: var(--size8);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .info-row,
  #section-inquiry .nml-cta-box .tel-row {
    align-items: center;
  }
}

#section-inquiry .nml-cta-box {
  padding-block: var(--size40);
  padding-inline: calc(calc(58 / 968) * 100%);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box {
    padding-block: var(--size24);
    padding-inline: var(--size16);
  }
}

#section-inquiry .nml-cta-box .tel-row .tel-ttl,
#section-inquiry .nml-cta-box .info-row .info-ttl {
  min-width: unset;
  margin-right: unset;
}

#section-inquiry .nml-cta-box .box-ttl + .box-ttl {
  margin-top: 0;
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .box-ttl + .box-ttl {
    margin-top: var(--size8);
  }
}

#section-inquiry .nml-cta-box .cta-col-2 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: calc(calc(40 / 820) * 100%);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .cta-col-2 {
    gap: var(--size24);
  }
}

/* タブレット表示時のCTAカラムの調整 */
@container (min-width: 768px) and (max-width: 980px) {
  #section-inquiry .nml-cta-box .cta-col-2 {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--size16);
  }
}

#section-inquiry .nml-cta-box .box-ttl .emphasis {
  font-size: 2.4rem;
  color: var(--red01);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .box-ttl .emphasis {
    font-size: 2rem;
  }
}

#section-inquiry .nml-cta-box .tel-row .tel-num .num {
  font-size: 2.8rem;
  line-height: 1.29;
  letter-spacing: 0.05em;
  color: var(--red01);
}

#section-inquiry .nml-cta-box .info-row {
  display: flex;
  align-items: flex-start;
  gap: var(--size16);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .info-row {
    flex-direction: column;
    margin-block-start: var(--size8);
    gap: var(--size8);
  }
}

#section-inquiry .nml-cta-box .info-row .time {
  display: block;
  line-height: 1.3;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .info-row .time {
    font-size: 2.6rem;
  }
}

#section-inquiry .nml-cta-box .tel-row .icn {
  margin-right: 0;
}

#section-inquiry .nml-cta-box .closing-period {
  margin-block-start: var(--size8);
  padding-inline-start: var(--size8);
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: left;
  color: var(--grey04);
}

@media (max-width: 768px) {
  #section-inquiry .nml-cta-box .closing-period {
    padding-left: 1.3em;
    text-indent: -1.3em;
  }
}

/* =============================================================
 応募規約モーダル
============================================================== */
.lp-modal-trigger {
  cursor: pointer;
  font: inherit;
}

.lp-modal-trigger:focus-visible {
  outline: 2px solid var(--red01);
  outline-offset: 4px;
}

.lp-modal-terms {
  background-color: var(--white);
  padding: 0;
}

.lp-modal-terms__title {
  font-size: 2.4rem;
  font-weight: var(--fwBold);
  text-align: center;
  color: var(--white);
  background-color: var(--red01);
  padding: var(--size8) var(--size16);
}

.lp-modal-terms__content {
  padding-inline: var(--size64);
  padding-block: var(--size16) var(--size64);
}

@media (max-width: 768px) {
  .lp-modal-terms__content {
    padding-inline: var(--size32);
    padding-block: var(--size16) var(--size24);
  }

  .modal-win {
    padding: var(--size40) var(--size16);
  }
}

.lp-modal-terms__lead {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: var(--fwBold);
  color: var(--red01);
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.lp-modal-terms__section:nth-of-type(-n + 2) {
  margin-top: 8px;
}

.lp-modal-terms__section {
  margin-top: var(--size24);
}

@media (max-width: 768px) {
  .lp-modal-terms__section {
    margin-top: var(--size8);
  }
}

.lp-modal-terms__row {
  display: flex;
  align-items: flex-start;
  gap: var(--size16);
  color: var(--red01);
}

@media (max-width: 768px) {
  .lp-modal-terms__row {
    align-items: center;
  }
}

.lp-modal-terms__number {
  position: relative;
  font-size: 1.6rem;
  font-weight: var(--fwBold);
  letter-spacing: 0.05em;
}

.lp-modal-terms__number::before {
  content: "";
  position: absolute;
  right: -8px;
  top: 0;
  width: 1px;
  height: 20px;
  background-color: var(--red01);
}
.lp-modal-terms__subtitle {
  font-size: 1.6rem;
}

.lp-modal-terms__text {
  margin-top: 6px;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
}

.lp-modal-terms__list {
  margin-top: var(--size8);
  display: grid;
  gap: 4px;
}

.lp-modal-terms__item {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
}

.lp-modal-terms__heading {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: var(--fwBold);
  color: var(--red01);
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.lp-modal-terms__note {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
  padding-left: 1.6rem;
}

.lp-modal-terms__note::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
}

.lp-modal-terms__info {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
  padding-left: 1.6rem;
}

.lp-modal-terms__info::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.lp-modal-terms__paragraph {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
}

.lp-modal-terms__number-list {
  counter-reset: terms-counter;
}

.lp-modal-terms__number-item {
  margin-block-start: 4px;
  position: relative;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
  counter-increment: terms-counter;
  padding-left: 1.6rem;
}

.lp-modal-terms__number-item::before {
  content: "(" counter(terms-counter) ")";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--black);
}

.lp-modal-terms__link {
  color: var(--black);
  text-decoration: revert;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .lp-modal-terms__link:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
}

.lp-modal-terms__list .lp-modal-terms__note [target="_blank"]:after,
.lp-modal-terms__list .lp-modal-terms__item [target="_blank"]:after,
.lp-modal-terms__link[target="_blank"]:after {
  background: url(../images/icn-blank-red.svg) no-repeat center center / contain;
  width: 1.6rem;
  height: 1.6rem;
}

.lp-modal-terms__email,
.lp-modal-terms__tel {
  color: var(--black);
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .lp-modal-terms__email:hover,
  .lp-modal-terms__tel:hover {
    opacity: 0.7;
  }
}

.lp-modal-terms__actions {
  margin-top: var(--size32);
  text-align: center;
}

.lp-modal-terms__close {
  padding: var(--size12) var(--size32);
  background-color: var(--red01);
  color: var(--white);
  border: none;
  border-radius: 4px;
  font-weight: var(--fwBold);
  cursor: pointer;
}

.lp-modal-terms__close:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 3px;
}

/* =============================================================
 バナースライダー（PCは横並び、SPはスライド）
============================================================== */

.cmn-carousel-wrap__head {
  text-align: center;
}

.cmn-carousel-wrap__head .ftw-m {
  position: relative;
  font-size: 2rem;
  font-weight: var(--fwBold);
  color: var(--red01);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.cmn-carousel-wrap__head .ftw-m::before {
  content: "";
  position: relative;
  right: 4px;
  bottom: 4px;
  background-image: url(../images/icon_text_left.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 1.5rem;
  height: 1.7rem;
}

@media (max-width: 768px) {
  .cmn-carousel-wrap__head .ftw-m::before {
    bottom: 5px;
    left: -4px;
  }
}

.cmn-carousel-wrap__head .ftw-m::after {
  content: "";
  position: relative;
  right: 4px;
  bottom: 4px;
  background-image: url(../images/icon_text_right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 1.5rem;
  height: 1.7rem;
}

@media (max-width: 768px) {
  .cmn-carousel-wrap__head .ftw-m::after {
    bottom: 5px;
    right: 5px;
  }
}

.cmn-carousel-wrap__head .ftw-l {
  font-size: 2.4rem;
  font-weight: var(--fwBold);
  color: var(--red01);
  line-height: 1.5;
}

@media (max-width: 768px) {
  .cmn-carousel-wrap__head .ftw-l {
    font-size: 2rem;
  }
}

/* PC: 横並び表示 */

.banner-list.lp-banner-pc-mode,
.banner-list:not(.is-initialized) {
  margin-block-start: var(--size24);
  padding-bottom: 0;
  max-width: 1060px;
  padding-inline: var(--size24);
}

.banner-list.lp-banner-pc-mode .splide__track,
.banner-list:not(.is-initialized) .splide__track {
  overflow: visible;
}

.banner-list.lp-banner-pc-mode .splide__list,
.banner-list:not(.is-initialized) .splide__list {
  display: flex;
  gap: 20px;
  height: auto;
  margin: 0;
  padding: 0;
}

.banner-list.lp-banner-pc-mode .splide__slide,
.banner-list:not(.is-initialized) .splide__slide {
  display: block;
  flex: 1;
  min-width: 0;
  padding: 0;
  opacity: 1;
  visibility: visible;
  width: auto;
  margin: 0;
  position: static;
  transform: none;
}

.banner-list.lp-banner-pc-mode .splide__pagination,
.banner-list:not(.is-initialized) .splide__pagination {
  display: none;
}

.card-n-linkpanel .txt-box {
  margin-top: var(--size16);
  display: flex;
  flex-direction: column;
  gap: var(--size16);
}

.banner-list .item a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .banner-list .item {
    padding-inline: var(--size16);
  }
}

.banner-list .item a img {
  aspect-ratio: 323/182;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* SP: スライド表示 */
@media screen and (max-width: 768px) {
  .banner-list .splide__list {
    display: flex;
  }

  .banner-list .splide__slide {
    width: 100%;
    flex-shrink: 0;
  }
}

/* SP: ページネーション位置調整 */
@media screen and (max-width: 768px) {
  .sp-pagination-r .cmn-carousel-pagination {
    transform: translateX(-50%);
    left: 50%;
    right: 0;
    bottom: 1.2rem;
  }

  .cmn-carousel-page.is-active {
    background-color: var(--white);
    border: 3px solid var(--red01);
  }
}

.ftw-l {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: var(--fwBold);
  color: var(--black);
}
.ftw-m {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: var(--fwNormal);
  color: var(--black);
}

/* =============================================================
 フッター
============================================================== */

.footer.footer-simple {
  margin-top: var(--size166);
}

@media (max-width: 768px) {
  .footer.footer-simple {
    margin-top: var(--size64);
  }
}

.footer.footer-simple .footer-info-list {
  flex-wrap: wrap;
}

.footer.footer-simple .copyright {
  background-color: var(--silverLight);
  margin-top: 0;
  display: block;
  color: var(--greyK60);
}

@media (max-width: 768px) {
  .footer.footer-simple .copyright {
    padding-inline: 4px;
  }
}

/* =============================================================
 キャンペーン締切間近対応
============================================================== */

.cv-btn-last {
  position: relative;
}

.cv-btn-last::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -67px;
  width: 155px;
  height: 57px;
  background-image: url(../images/icon-deadline.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (max-width: 768px) {
  .cv-btn-last::before {
    top: -40px;
    left: -25px;
    width: 120px;
    height: 44px;
  }
}



