@charset "UTF-8";

:root {
  --color--dk-blue-a20: #D3E9EF;
  --color--dk-blue-a50: #1f9cb0;
  --color--dk-blue: #1f9cb0;
  --color--orange: #f56538
}

.c-heading-1 {
  text-align: center;
  color: var(--color-primary);
  font-size: 18px
}

.c-heading-1:after {
  content: "";
  width: 52px;
  height: 3px;
  background: var(--color-primary);
  display: block;
  margin: 1em auto
}

.reason-one {
  width: 90rem;
  margin-inline: auto;
  margin-top: 10rem
}

.reason-one:after {
  content: "";
  display: block;
  width: 100%;
  background: var(--gradient--light-gray-to-white)
}

.reason-one .reason-one__header-image {
  width: 100%
}

.reason-one .reason-one__inner-color {
  background: var(--color--light-gray, #f7f7f7)
}

.reason-one .reason-one__title {
  padding-top: 49px
}

.reason-one .reason-one__title .reason-one__title-sub {
  display: block;
  width: 26.2rem;
  margin-inline: auto
}

.reason-one .reason-one__title .reason-one__title-sub img {
  margin: 0 auto
}

.reason-one .reason-one__image-price {
  width: 750px;
  height: 49.2rem;
  margin-inline: auto;
  margin-top: 8.4rem
}

.reason-one .reason-one__image-price .reason-one__price-title {
  color: var(--blue, #1f9cb0);
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  line-height: 160%
}

.reason-one .reason-one__image-price .reason-one__price-lead {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  margin-top: 1.6rem
}

.reason-one .reason-one__image-price .reason-one__price-three-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0 4.7rem;
  padding-top: 3.1rem;
  margin-top: 3.5px
}

.reason-one .reason-one__image-price .reason-one__price-item {
  width: 18.6rem;
  height: 187px;
  border-radius: 1rem;
  background: var(--color--dk-blue-a20, #1f9cb0);
  position: relative
}

.reason-one .reason-one__image-price .reason-one__price-item:nth-of-type(n+2):before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  left: -15px;
  translate: -100% -50%
}

.reason-one .reason-one__image-price .reason-one__price-item-icon {
  display: block;
  width: 9.4rem;
  margin-top: -3.1rem;
  margin-inline: auto
}

.reason-one .reason-one__image-price .reason-one__price-item-text {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 120%;
  margin-top: 12px;
  min-height: 4.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

.reason-one .reason-one__image-price .reason-one__price-item-text-note {
  color: var(--blue, #1f9cb0);
  text-align: center;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 120%;
  margin-top: 14px
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 130%;
  margin-top: 9px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:before,
.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:after {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: .6rem;
  height: 3.8rem;
  position: absolute;
  top: 0
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:before {
  left: 0;
  translate: -200% 0
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:after {
  left: 100%;
  translate: 100% 0
}

.reason-one .reason-one__price-message {
  width: 65.2rem;
  margin-inline: auto;
  border-radius: 1rem;
  border: .2rem solid var(--color--dk-blue-a20, #1f9cb0);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 25px;
  padding-block: 2.2rem;
  margin-top: 3rem
}

.reason-one .reason-one__price-message .reason-one__price-message-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  display: inline-block
}

.reason-one .reason-one__price-message .reason-one__price-message-strong {
  color: var(--color--orange, #f56538);
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  display: inline-block;
  border-bottom: .2rem var(--color--orange) solid;
  padding-left: 25px
}

.reason-one .reason-one__price-message .reason-one__price-message-strong {
  position: relative
}

.reason-one .reason-one__price-message .reason-one__price-message-strong:before {
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  border-left: 2px solid var(--color--orange);
  border-bottom: 2px solid var(--color--orange);
  transform: rotate(315deg);
  position: absolute;
  left: 7px;
  top: .4rem
}

.reason-one .reason-one__image-cost {
  width: 73.3rem;
  margin-inline: auto;
  margin-top: 7.2rem
}

.reason-one .reason-one__image-cost .reason-one__cost-two-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4.3rem;
  margin-top: 4.4rem
}

.reason-one .reason-one__image-cost .reason-one__cost-image {
  display: block;
  width: 34.4rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.reason-one .reason-one__image-cost .reason-one__cost-text-wrap {
  position: relative
}

.reason-one .reason-one__image-cost .reason-one__cost-icon-new {
  display: block;
  width: 130px;
  position: absolute;
  right: 0;
  top: -6.1rem
}

.reason-one .reason-one__image-cost .reason-one__cost-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0
}

.reason-one .reason-one__image-cost .reason-one__cost-text-bg {
  color: var(--white, #fff);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: .03em;
  border-radius: 1rem;
  background: var(--color--dk-blue-a50);
  margin-top: 14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-block: 1.6rem
}

.reason-one .reason-one__image-cost .reason-one__cost-text-note {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 120%;
  margin-top: 25px
}

.reason-one .reason-one__notes {
  margin-top: 4rem;
  width: 73.3rem;
  margin-inline: auto
}

.reason-two {
  width: 90rem;
  margin-inline: auto;
  margin-top: 8rem
}

.reason-two:after {
  content: "";
  display: block;
  width: 100%;
  background: var(--gradient--light-gray-to-white)
}

.reason-two .reason-two__header-image {
  width: 100%
}

.reason-two .reason-two__inner-color {
  background: var(--color--light-gray, #f7f7f7);
  padding: 2em
}

.reason-two .reason-two__title {
  margin-inline: auto;
  padding-top: 52px
}

.reason-two .reason-two__title .reason-two__title-sub {
  width: 450px;
  margin-inline: auto;
  display: block
}

.reason-two .reason-two__title .reason-two__title-sub img {
  margin: 0 auto
}

.reason-two .reason-two__image-clean {
  width: 750px;
  margin-inline: auto;
  margin-top: 8.3rem;
  padding-bottom: 50px
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 9.8rem;
  border-radius: 1rem;
  background: var(--color--dk-blue-a20);
  width: 56.4rem;
  height: 10rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-inline: auto;
  margin-top: 50px
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(2):before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  left: -4.5px;
  translate: -100% -50%
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(3):before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.6rem;
  height: 7px;
  position: absolute;
  top: 50%;
  left: -4.5px;
  translate: -100% -50%
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column {
  margin-top: 25px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.3rem;
  width: 56.4rem;
  margin-inline: auto
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-text-outer {
  width: 32.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-size: contain;
  background-repeat: no-repeat
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-text {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-image {
  width: 22.9rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.reason-two .reason-two__image-clean .reason-two__clean-text-strong {
  margin-top: 2.6rem;
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  line-height: 160%
}

.reason-two .reason-two__image-clean .reason-two__clean-text-strong:before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.1rem;
  height: 1.1rem;
  margin-inline: auto;
  margin-bottom: 12px
}

.reason-two .reason-two__image-clean .c-text-notes {
  width: 56.4rem;
  margin-inline: auto;
  margin-top: 25px
}

.reason-two .reason-two__image-button {
  display: block;
  margin-inline: auto;
  margin-top: 4.1rem
}

.reason-two .reason-two__image-button picture.on {
  display: none
}

.reason-two .reason-two__image-button.active picture.off {
  display: none
}

.reason-two .reason-two__image-button.active picture.on {
  display: block
}

.reason-two .js-accordion--reason-two-table {
  display: block
}

.reason-two .js-accordion--reason-two-table img {
  width: 100%
}

.reason-two .reason-two__image-table {
  margin-inline: auto;
  margin-top: 23px;
  position: relative
}

.reason-two .reason-two__image-table img {
  display: none
}

.reason-two .reason-two__image-table img.active {
  display: block
}

.reason-two .reason-two__switch-table {
  position: absolute;
  top: 0;
  width: 21.1rem;
  height: 50px
}

.reason-two .reason-two__switch-table.js-switch--table-litta {
  left: 0
}

.reason-two .reason-two__switch-table.js-switch--table-slim-R {
  left: 21.1rem
}

.reason-two .reason-two__switch-table.js-switch--table-locca {
  left: 42.2rem
}

.reason-two .reason-two__image-button-close {
  display: block;
  width: 16.2rem;
  margin-inline: auto;
  margin-top: 2.4rem
}

.reason-two .reason-two__notes {
  margin-top: 2.6rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto
}

.reason-two .reason-two__maintenance {
  margin-inline: auto;
  margin-top: 19px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0 4.4rem;
  width: 73.3rem;
  margin-inline: auto
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item:nth-of-type(n+2) {
  margin-top: 50px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item--02 .reason-two__maintenance-item-image {
  top: -3rem
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item--03 .reason-two__maintenance-item-image {
  top: -7.2rem
}

.reason-two .reason-two__maintenance .reason-two__maintenance-point {
  position: relative;
  display: inline-block;
  background-color: #8ed1dc;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  border-radius: 30px;
  padding: 4px 10px 4px 40px;
  text-transform: capitalize
}

.reason-two .reason-two__maintenance .reason-two__maintenance-point:before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #fff;
  border-radius: 50%
}

.reason-two .reason-two__maintenance .reason-two__maintenance-point:after {
  content: "";
  position: absolute;
  left: 19px;
  top: 50%;
  width: 7px;
  height: 14px;
  border-right: 3px solid #8ed1dc;
  border-bottom: 3px solid #8ed1dc;
  transform: translateY(-60%) rotate(45deg)
}

.reason-two .reason-two__maintenance .reason-two__maintenance-lead {
  color: var(--blue, #1f9cb0);
  font-size: 18px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: .003em;
  margin-top: 15px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-lead .c-super-font {
  color: inherit
}

.reason-two .reason-two__maintenance .reason-two__maintenance-text {
  color: var(--gray, #454a4d);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0;
  margin-top: 15px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item-image {
  width: 33.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.reason-two .reason-two__lock {
  margin-inline: auto;
  width: 72.6rem;
  margin-top: 4.4rem
}

.reason-two .reason-two__lock .reason-two__lock-two-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 4.2rem;
  margin-top: 4.4rem
}

.reason-two .reason-two__lock .reason-two__lock-image {
  width: 21.9rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.reason-two .reason-two__lock .reason-two__lock-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0
}

.reason-three {
  width: 90rem;
  margin-inline: auto;
  margin-top: 8rem;
  margin-bottom: 8rem
}

.reason-three:after {
  content: "";
  display: block;
  width: 100%;
  background: var(--gradient--light-gray-to-white)
}

.reason-three .reason-three__header-image {
  width: 100%
}

.reason-three .reason-three__inner-color {
  background: var(--color--light-gray, #f7f7f7);
  padding: 2em
}

.reason-three .reason-three__title {
  margin-inline: auto;
  padding-top: 51px;
  font-size: 30px;
  text-align: center
}

.reason-three .reason-three__title .reason-three__title-sub {
  display: block;
  width: 287px;
  margin-inline: auto
}

.reason-three .reason-three__lineup {
  margin-top: 8.5px
}

.reason-three .reason-three__lineup .reason-three__lineup-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 50px;
  width: 77.2rem;
  margin-inline: auto
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(n+1) {
  margin-top: 8.5px
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(2n) .reason-three__lineup-image {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(2) .reason-three__lineup-text-box {
  padding-top: 6rem
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(2) .reason-three__lineup-text-new {
  width: 114px;
  position: absolute;
  left: -2rem;
  top: 0
}

.reason-three .reason-three__lineup .reason-three__lineup-image {
  width: 38rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0
}

.reason-three .reason-three__lineup .reason-three__lineup-text-box {
  padding-top: 0
}

.reason-three .reason-three__lineup .reason-three__lineup-text-lead {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 160%
}

.reason-three .reason-three__lineup .reason-three__lineup-text-name {
  color: var(--color-primary);
  font-size: 50px;
  font-weight: 500;
  line-height: 100%;
  margin-top: 1rem
}

.reason-three .reason-three__lineup .reason-three__lineup-text {
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  margin-top: 15px;
  letter-spacing: 0
}

.reason-three .reason-three__notes {
  margin-top: 8.5px;
  width: 77.2rem;
  margin-inline: auto
}

.reason-one {
  width: 33.5px;
  margin-top: 4rem
}

.reason-one .reason-one__inner-color {
  padding-bottom: 50px;
  padding-inline: 2em
}

.reason-one .reason-one__title .reason-one__title-sub {
  width: 16rem
}

.reason-one .reason-one__image-price {
  width: 100%;
  height: auto;
  margin-top: 50px;
  padding-bottom: 14px
}

.reason-one .reason-one__image-price:before {
  height: calc(100% - 25px);
  border-radius: 12px
}

.reason-one .reason-one__image-price .reason-one__price-title {
  font-size: 18px
}

.reason-one .reason-one__image-price .reason-one__price-lead {
  font-size: 14px
}

.reason-one .reason-one__image-price .reason-one__price-three-column {
  gap: 0 1.3rem;
  padding-top: 1.7rem;
  margin-top: 1.6rem
}

.reason-one .reason-one__image-price .reason-one__price-item {
  width: 9rem;
  height: 12rem
}

.reason-one .reason-one__image-price .reason-one__price-item:nth-of-type(n+2):before {
  width: 7px;
  height: 7px;
  left: -.3rem
}

.reason-one .reason-one__image-price .reason-one__price-item-icon {
  width: 56px;
  margin-top: -18px
}

.reason-one .reason-one__image-price .reason-one__price-item-text {
  font-size: 15px;
  margin-top: .3rem;
  min-height: 3.6rem;
  letter-spacing: 0
}

.reason-one .reason-one__image-price .reason-one__price-item-text-note {
  font-size: 9px;
  margin-top: 7px
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket {
  font-size: 12px;
  margin-top: -.5px;
  letter-spacing: 0
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:before,
.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:after {
  width: .5px;
  height: 3.2rem
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:before {
  left: .5px
}

.reason-one .reason-one__image-price .reason-one__price-item-text-bracket:after {
  left: calc(100% - .5px)
}

.reason-one .reason-one__price-message {
  width: 100%;
  border-radius: .6rem;
  border: .12rem solid var(--color--dk-blue-a20, #D3E9EF);
  display: block;
  margin-top: 1.3rem;
  text-align: center
}

.reason-one .reason-one__price-message .reason-one__price-message-text {
  font-size: 14px
}

.reason-one .reason-one__price-message .reason-one__price-message-strong {
  font-size: 15px;
  border-bottom: .1rem var(--color--orange) solid;
  margin-top: .8rem
}

.reason-one .reason-one__price-message .reason-one__price-message-strong:before {
  height: 9px
}

.reason-one .reason-one__price-message .reason-one__price-message-strong:nth-of-type(3) {
  margin-left: 23px
}

.reason-one .reason-one__image-cost {
  width: 100%;
  margin-top: 50px
}

.reason-one .reason-one__image-cost .reason-one__cost-two-column {
  display: block;
  margin-top: 3rem
}

.reason-one .reason-one__image-cost .reason-one__cost-image {
  width: 100%
}

.reason-one .reason-one__image-cost .reason-one__cost-text-wrap {
  margin-top: 3rem
}

.reason-one .reason-one__image-cost .reason-one__cost-icon-new {
  width: 106px;
  top: 0
}

.reason-one .reason-one__image-cost .reason-one__cost-text {
  font-size: 15px
}

.reason-one .reason-one__image-cost .reason-one__cost-text-bg {
  font-size: 15px;
  text-align: center;
  margin-top: 3rem
}

.reason-one .reason-one__image-cost .reason-one__cost-text-note {
  font-size: 9px;
  position: absolute;
  right: 1rem;
  top: 87px
}

.reason-one .reason-one__notes {
  width: 100%
}

.reason-two {
  width: 33.5px;
  margin-top: 4rem
}

.reason-two .reason-two__title {
  padding-top: 50px
}

.reason-two .reason-two__title .reason-two__title-sub {
  width: 27.4rem
}

.reason-two .reason-two__image-clean {
  width: 100%;
  margin-top: 50px
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  height: 15.3rem;
  margin-top: 2.4rem;
  padding-block: 2.6rem;
  padding-inline: 3.6rem
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text {
  letter-spacing: 0
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(1) {
  width: 6.2rem
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(2) {
  width: 9.1rem
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(2):before {
  left: -2rem
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(3) {
  width: 100%
}

.reason-two .reason-two__image-clean .reason-two__clean-group-bg-text:nth-of-type(3):before {
  top: 55%;
  left: 2.8rem
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column {
  gap: 0 .8rem;
  width: 100%
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-text-outer {
  width: 18.5px
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-text {
  font-size: 14px;
  line-height: 140%
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-text .u-color--orange {
  font-size: 1.7rem
}

.reason-two .reason-two__image-clean .reason-two__clean-two-column-image {
  width: 9rem
}

.reason-two .reason-two__image-clean .reason-two__clean-text-strong {
  margin-top: 23px;
  font-size: 2.2rem
}

.reason-two .reason-two__image-clean .c-text-notes {
  width: 100%
}

.reason-two .reason-two__image-button {
  width: 100%;
  margin-top: 50px
}

.reason-two .reason-two__image-table {
  width: 100%
}

.reason-two .reason-two__image-table picture {
  display: block;
  width: 100%
}

.reason-two .reason-two__notes {
  width: 100%
}

.reason-two .reason-two__maintenance {
  margin-top: 50px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item {
  display: block;
  width: 100%;
  margin-top: 25px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item:nth-of-type(n+2) {
  margin-top: 25px
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item--02 .reason-two__maintenance-item-image,
.reason-two .reason-two__maintenance .reason-two__maintenance-item--03 .reason-two__maintenance-item-image {
  top: 0
}

.reason-two .reason-two__maintenance .reason-two__maintenance-lead {
  line-height: 140%
}

.reason-two .reason-two__maintenance .reason-two__maintenance-text {
  font-size: 15px
}

.reason-two .reason-two__maintenance .c-text-notes {
  margin-top: 1rem
}

.reason-two .reason-two__maintenance .reason-two__maintenance-item-image {
  width: 100%;
  margin-top: 25px
}

.reason-two .reason-two__lock {
  width: 100%;
  margin-top: 50px
}

.reason-two .reason-two__lock .reason-two__lock-two-column {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 25px
}

.reason-two .reason-two__lock .reason-two__lock-image {
  width: 100%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  margin-top: 25px
}

.reason-two .reason-two__lock .reason-two__lock-text {
  font-size: 15px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto
}

.reason-three {
  width: 33.5px;
  margin-top: 4rem;
  margin-bottom: 4rem
}

.reason-three .reason-three__title {
  padding-top: 50px
}

.reason-three .reason-three__title .reason-three__title-sub {
  width: 16.9rem
}

.reason-three .reason-three__lineup {
  margin-top: 50px
}

.reason-three .reason-three__lineup .reason-three__lineup-item {
  display: block;
  width: 100%
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(n+1) {
  margin-top: 4rem
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(2) .reason-three__lineup-text-box {
  padding-top: 2rem;
  position: relative
}

.reason-three .reason-three__lineup .reason-three__lineup-item:nth-of-type(2) .reason-three__lineup-text-new {
  width: 7.3rem;
  left: unset;
  right: 0
}

.reason-three .reason-three__lineup .reason-three__lineup-image {
  width: 100%
}

.reason-three .reason-three__lineup .reason-three__lineup-text-lead {
  font-size: 18px
}

.reason-three .reason-three__lineup .reason-three__lineup-text-name {
  font-size: 3.2rem
}

.reason-three .reason-three__lineup .reason-three__lineup-text {
  font-size: 15px
}

.reason-three .reason-three__notes {
  margin-top: 50px;
  width: 100%
}

h3.reason-one__title.c-heading-section-1.Tsuku {
  font-size: 30px;
  text-align: center;
  line-height: 2
}

.sm {
  font-size: .6em
}

.u-color--orange {
  color: var(--color-secondary)
}

.u-color--dk-blue {
  color: var(--color-primary)
}

.reason-one__image-price {
  padding: 10px;
  position: relative;
  z-index: 0
}

.reason-one__image-price:after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 25px);
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: 1em
}

.c-text-notes,
.reason-one .reason-one__notes {
  font-family: Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Noto Sans JP, Meiryo, sans-serif;
  font-weight: 400;
  font-size: 10px;
  margin-top: 50px
}

.reason-two__title.c-heading-section-1.Tsuku {
  font-size: 30px;
  text-align: center;
  line-height: 2
}

.c-heading-2 {
  color: var(--blue, #1f9cb0);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%
}

.c-heading-2 span {
  color: #444
}

.reason2_caption-wrap {
  background: #fff;
  padding: 3em 1em 2em;
  margin-top: -2.5em;
  border-radius: 1em
}

.reason-one__inner-color,
.reason-two__inner-color,
.reason-three__inner-color {
  padding-bottom: 100px !important
}

*,
*:before,
*:after {
  box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0
}

ul[role=list],
ol[role=list] {
  list-style: none
}

html:focus-within {
  scroll-behavior: smooth
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5
}

a:not([class]) {
  text-decoration-skip-ink: auto
}

img,
picture {
  max-width: 100%;
  display: block
}

input,
button,
textarea,
select {
  font: inherit
}

@media(prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto
  }

  *,
  *:before,
  *:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important
  }
}

:root {
  --color-primary: #51B1BF;
  --color-secondary: #ED5E3B;
  --color-background: #D3E9EF;
  --color-text: #444444;
  --font-size-base: 16px;
  --swiper-pagination-color: #51B1BF;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-navigation-color: #fff
}

.swiper-slide img {
  width: 100%;
  display: block
}

.swiper-slide video {
  width: 100%
}

.swiper-button-prev,
.swiper-button-next {
  background: #0000003d;
  padding: .75em;
  border-radius: 50%
}

.no-transition *,
.no-transition *:before,
.no-transition *:after {
  transition: none !important
}

body {
  font-family: Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Noto Sans JP, Meiryo, sans-serif;
  font-size: var(--font-size-base);
  color: var(--color-text);
  min-width: 100%
}

@media(min-width:450px) {
  body {
    position: relative
  }

  body:after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url(/testtesttest/e2pwbrxy/assets/img/pc_back.webp) no-repeat center center/cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1
  }
}

img {
  max-width: 100%;
  height: auto
}

ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.main,
.detail {
  max-width: 430px;
  margin: 0 auto;
  overflow: clip
}

h2 {
  text-align: center;
  font-size: 1.5rem;
  color: var(--color-primary)
}

h2>img {
  margin: 0 auto
}

h2,
h3 {
  font-family: ZenMaruGothic;
  font-weight: 700
}

a {
  text-decoration: none;
  color: inherit
}

button {
  cursor: pointer
}

.reason-one,
.reason-two,
.reason-three {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  font-family: ZenMaruGothic;
  font-weight: 700;
  overflow: hidden;
  position: relative
}

.annotation {
  vertical-align: super;
  font-size: .6em
}

.cta {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em;
  color: #fff;
  background-color: var(--color-secondary);
  text-align: center;
  border-radius: 2em;
  display: inline-block
}

@media(hover:hover) {
  .cta {
    transition: .3s all ease-in-out;
    border: 2px solid var(--color-secondary)
  }

  .cta:hover {
    background-color: #fff;
    color: var(--color-secondary)
  }
}

.menu {
  position: fixed;
  width: 280px;
  height: 100vh;
  background-color: var(--color-background);
  color: var(--color-primary);
  font-family: ZenMaruGothic;
  font-weight: 700;
  padding: 5em 1.5em;
  top: 0;
  right: 0;
  z-index: 4;
  transition: all .3s ease-in-out;
  transform: translate(280px)
}

.menu.active {
  transform: translate(0)
}

.menu.active .overlay {
  display: block
}

.menu__list {
  border-top: 1px dotted
}

.menu__item {
  border-bottom: 1px dotted
}

.menu__item--link {
  display: block;
  padding: .5em
}

@media(hover:hover) {
  .menu__item--link {
    transition: .3s all ease-in-out
  }

  .menu__item--link:hover {
    color: var(--color-secondary)
  }
}

.menu__link {
  margin: 2em auto;
  display: block;
  width: 230px;
  padding: 1em;
  font-size: 1em
}

.menu__close {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  cursor: pointer
}

.menu__close:before,
.menu__close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background: var(--color-primary);
  transform-origin: center
}

.menu__close:before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.menu__close:after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

@media(min-width:850px) {
  .menu {
    display: flex;
    align-items: center;
    transform: translate(0);
    background-color: transparent;
    padding-right: 4em;
    text-align: center;
    width: calc(50% - 215px);
    z-index: 0
  }

  .menu__list {
    margin-inline: auto;
    width: 250px
  }

  .menu__close,
  .menu__link {
    display: none !important
  }
}

.overlay {
  position: absolute;
  width: 100vw;
  right: 0;
  height: 100vh;
  top: 0;
  z-index: -1;
  border-radius: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: none
}

.top {
  position: fixed;
  top: 0;
  display: flex;
  align-items: center;
  padding: .5em;
  width: 100%;
  z-index: 2;
  background-color: #fff
}

.top__navi {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .5em
}

.top__navi--link {
  padding: .875em 1.5em
}

.top__navi--menu {
  border: none;
  background-color: var(--color-primary);
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  position: relative
}

.top__navi--menu:before,
.top__navi--menu:after {
  content: "";
  position: absolute;
  width: 1.25em;
  height: .125em;
  background-color: #fff;
  left: .625em
}

.top__navi--menu:before {
  top: 1em
}

.top__navi--menu:after {
  top: 1.5em
}

@media(min-width:850px) {
  .top {
    background-color: transparent;
    width: calc(50% - 215px);
    height: 100vh;
    padding: 0 1em;
    left: 0;
    z-index: 0
  }

  .top__navi {
    display: none
  }

  .top__name {
    position: relative;
    width: 100%;
    height: 100vh
  }

  .top__name--icon {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 90%;
    max-height: 703px;
    width: 100%;
    max-width: 408px;
    transform: translate(-50%, -50%);
    object-fit: contain
  }
}

.main {
  margin-top: 3.5em
}

@media(min-width:450px) {
  .main {
    background-color: #fff;
    position: relative
  }
}

@media(min-width:850px) {
  .main {
    margin-top: 0;
    z-index: 2
  }
}

.copy-area {
  margin-bottom: -1em;
  padding: 1em 0.8em;
}

.benefits {
  background-color: var(--color-primary);
  color: #fff;
  padding: 1.5em 1.25em;
  margin: 1.5em 0 0;
}

.benefits__title {
  color: inherit
}

.benefits__banner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  margin-top: 1em
}

.benefits__banner--trigger {
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0
}

.benefits__banner--item--img {
  width: 100%
}

.benefits__link {
  padding: .875em;
  width: 100%;
  font-size: 1.125em;
  margin-top: 1rem
}

.benefits__note,
.reason__note {
  font-size: .625em;
  margin-top: 1rem;
  overflow: hidden;
  height: 5em;
  padding-bottom: 2em;
  position: relative;
  cursor: pointer
}

.benefits__note:after,
.reason__note:after {
  content: "∨";
  font-family: serif;
  background-color: var(--color-primary);
  color: #fff;
  position: absolute;
  bottom: -.5em;
  left: 0;
  width: 100%;
  font-weight: 700;
  transform: scaleY(.5);
  text-align: center;
  font-size: 3em
}

.benefits__note.active,
.active.reason__note {
  height: auto;
  padding-bottom: 4em
}

.benefits__note.active:after,
.active.reason__note:after {
  content: "∧";
  bottom: 0
}

.about {
  margin-top: 3em
}

.about__contents {
  margin-top: 2em;
  background-color: var(--color-background);
  padding-block: 1.5em;
  border-radius: 2.5em 2.5em 0 0;
  text-align: center
}

.about__contents--text {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: 1.25em;
  margin-top: 1em
}

.about__contents--text strong {
  background: linear-gradient(transparent 50%, #feeebb)
}

.about__contents--logo {
  margin: 2em auto
}

.about__contents--images {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

.about__contents--images img {
  width: 100%
}

.dot-title {
  background-size: 327px;
  background-repeat: no-repeat;
  background-position: center
}

.dot-title__sub {
  display: block;
  font-size: .666666em
}

.ranking {
  margin-top: 4em;
  margin-bottom: 4em;

}

.ranking-list {
  padding-left: 1.25em;
  margin-top: 2em;
  display: flex
}

.ranking-contents {
  padding: 1em;
  border: 2px solid var(--color-primary);
  border-radius: 1em;
  font-family: ZenMaruGothic;
  font-weight: 700
}

.ranking-contents__number {
  font-size: 1.25em;
  display: flex;
  align-items: center;
  gap: .25em;
  border-bottom: 3px dotted var(--color-primary);
  padding-bottom: .5em;
  margin-bottom: .5em
}

.ranking-contents__title {
  font-size: min(2em, 7.5vw);
  color: var(--color-primary)
}

.ranking-contents__title--jp {
  font-size: .3125em;
  display: block
}

.ranking-contents__caption {
  margin-top: .5em
}

.ranking-contents__tags {
  font-size: .75em;
  margin-top: .5em;
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: .25em .5em;
  height: 4.5em;
  align-items: flex-start
}

.ranking-contents__tags--item {
  line-height: 1;
  padding: .25em 1em;
  border-radius: 1em;
  background-color: var(--color-primary);
  color: #fff
}

.ranking-contents__tags--item:nth-child(2) {
  background-color: var(--color-secondary)
}

.ranking-contents__tags--item:nth-child(3) {
  background-color: #bf5160
}

.ranking-contents__tags--item:nth-child(4) {
  background-color: #8abf51
}

.ranking-contents__tags--item:nth-child(5) {
  background-color: #7c91d7
}

.ranking-contents__button {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid;
  border-radius: 2em;
  display: block;
  margin: 1rem auto 0;
  padding: .5em 3em
}

@media(hover:hover) {
  .ranking-contents__button {
    transition: .3s all ease-in-out
  }

  .ranking-contents__button:hover {
    background-color: var(--color-primary);
    color: #fff
  }
}

.link-button {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: 1.125em;
  color: var(--color-primary);
  width: calc(100% - 4em);
  background-color: transparent;
  border: 2px solid;
  border-radius: 2em;
  display: block;
  margin: 2rem auto 0;
  padding: 1em;
  text-align: center
}

.choice {
  background-color: var(--color-primary);
  padding: 2em 1.25em;
  color: #fff;
  text-align: center
}

.choice__text {
  margin-top: 1rem;
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em
}

.choice__badges {
  display: flex;
  gap: 1em;
  margin-block: 1em;
  justify-content: center
}

.choice__note {
  font-size: .675em;
  text-align: left
}

.reason {
  margin-top: 4em;
  padding: 2em 1.25em;
  background-color: var(--color-background);
  border-radius: 2.5em 2.5em 0 0
}

.reason__head {
  display: flex;
  justify-content: center
}

.reason__head--title {
  width: 182px;
  margin-top: 2em
}

.reason__note {
  font-size: .625em;
  margin-top: 1.5em;
  color: var(--color-primary)
}

.reason__note:after {
  background-color: var(--color-background);
  color: var(--color-primary)
}

.reason-box-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1em
}

.reason-box {
  font-family: ZenMaruGothic;
  font-weight: 700;
  background-color: #fff;
  padding: 1em;
  border-radius: .5em
}

.reason-box__head {
  display: flex;
  border-radius: .5em;
  background-color: var(--color-primary);
  color: #fff;
  text-align: center;
  overflow: clip
}

.reason-box__head--text {
  flex: 1;
  display: grid;
  place-items: center;
  font-size: min(3.5vw, .875em)
}

.reason-box__head--text strong {
  font-size: 2.5em;
  margin-inline: .1em
}

.reason-box__head--image {
  position: relative
}

.reason-box__head--image:after {
  content: attr(title);
  font-size: 2.625em;
  -webkit-text-stroke: 1px var(--color-primary);
  position: absolute;
  right: .25em;
  bottom: 0
}

.reason-box__head--image.reverse:after {
  right: auto;
  left: .25em
}

.reason-box__bottom {
  text-align: center;
  margin-top: 1em
}

.reason-box__bottom--text {
  font-size: 1.125em
}

.reason-box__bottom--button {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid;
  border-radius: 2em;
  display: block;
  margin: 1rem auto 0;
  padding: .5em 3em
}

@media(hover:hover) {
  .reason-box__bottom--button {
    transition: .3s all ease-in-out
  }

  .reason-box__bottom--button:hover {
    background-color: var(--color-primary);
    color: #fff
  }
}

.price-plan {
  margin-top: 4em;
  padding-inline: 1.25em
}

.price-plan__title {
  margin: 2em auto 0;
  text-align: center
}

.price-plan__title img {
  margin: 0 auto
}

.price {
  display: flex;
  justify-content: center;
  align-items: baseline;
  color: var(--color-primary);
  font-family: ZenMaruGothic;
  font-weight: 700
}

.price__left {
  writing-mode: vertical-rl;
  font-size: .75em;
  line-height: 1;
  margin-right: .75em;
  position: relative;
  top: 2px
}

.price__left img {
  width: auto;
  height: 2.4em
}

.price__center {
  font-size: 2.375em
}

.price__right {
  margin-left: .25em;
  font-size: 1.25em;
  line-height: 1.25;
  position: relative
}

.price__right span {
  position: absolute;
  left: 0;
  top: -1em;
  display: block;
  font-size: .5em;
  width: 4em
}
.plan-box .in-tax{
	text-align:center;
	color: var(--color-primary);
	font-family: ZenMaruGothic;
	font-size: 0.9em;
	font-weight: 400;

}

.plan-box {
  border: 2px solid var(--color-primary);
  border-radius: .5em;
  overflow: clip;
  margin-top: 1em;
  display: flex
}

.plan-box__left {
  width: 45%
}

.plan-box__left img {
  width: 100%
}

.plan-box__right {
  width: 55%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1em
}

.plan-box__right--name {
  font-size: 1.375em
}

.plan-box__right--button {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid;
  border-radius: 2em;
  display: block;
  margin: 1rem auto 0;
  padding: .5em 3em
}

@media(hover:hover) {
  .plan-box__right--button {
    transition: .3s all ease-in-out
  }

  .plan-box__right--button:hover {
    background-color: var(--color-primary);
    color: #fff
  }
}

.plan-box__right--button {
  padding-inline: 0;
  width: 100%
}

.plan-box__right--price {
  justify-content: start
}

.plan-feature {
  margin-top: 2em
}

.plan-feature__title {
  font-size: 1.375em;
  color: var(--color-primary);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em
}

.plan-feature__title:before,
.plan-feature__title:after {
  content: "";
  display: block;
  width: 2px;
  height: 2em;
  background-color: var(--color-primary)
}

.plan-feature__title:before {
  transform: rotate(-25deg)
}

.plan-feature__title:after {
  transform: rotate(25deg)
}

.plan-feature__list {
  font-family: ZenMaruGothic;
  font-weight: 700;
  margin-top: 1em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5em
}

.plan-feature__list--item {
  text-align: center;
  font-size: .75em;
  color: var(--color-primary)
}

.plan-feature__list--item img {
  margin: 0 auto .5em;
  width: 100%
}

.plan-feature__text {
  width: max-content;
  color: var(--color-primary);
  background-color: #feeebb;
  font-family: ZenMaruGothic;
  font-weight: 700;
  text-align: center;
  border: 2px dotted var(--color-primary);
  border-radius: 2em;
  padding: .5em 1.25em;
  margin: 1em auto
}

.plan-feature__note {
  font-size: .625em;
  margin-top: 1.5em;
  color: var(--color-primary)
}

.monitor {
  margin-top: 4em
}

.monitor__note {
  font-size: .625em;
  text-align: center
}

.monitor-slide {
  margin-block: 1em
}

.monitor-voice {
  display: none;
  border: 2px solid var(--color-primary);
  padding: 1em;
  border-radius: 1em;
  font-size: .625em;
  color: #686868;
  font-family: ZenMaruGothic;
  font-weight: 700
}

.monitor-voice__text {
  margin-top: 1em
}

.monitor-voice__arrow {
  margin: 2em auto 0;
  display: block
}

.monitor-voice__text-tag {
  margin-top: 1em;
  color: var(--color-primary);
  padding-bottom: 2em
}

.monitor-voice.first .monitor-voice__text {
  height: 12em;
  overflow: hidden
}

.monitor-voice.show {
  display: block
}

.life {
  margin-top: 3em;
  padding-block: 2em;
  background-color: var(--color-background);
  text-align: center;
  font-family: ZenMaruGothic;
  font-weight: 700
}

.life__slider {
  margin-top: 2em
}

.life__title img {
  margin: 0 auto
}

.life__item>div {
  transition: .3s all ease-in-out
}

.life__item--upper {
  font-size: min(1em, 3.5vw);
  color: #686868;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  white-space: nowrap
}

.life__item--upper:before,
.life__item--upper:after {
  content: "";
  display: block;
  width: 1px;
  height: 1.5em;
  border-left: 3px dotted var(--color-primary)
}

.life__item--upper:before {
  transform: rotate(-25deg)
}

.life__item--upper:after {
  transform: rotate(25deg)
}

.life__item--image {
  margin-top: .5em
}

.life__item--bottom {
  width: max-content;
  background-color: var(--color-primary);
  color: #fff;
  padding: .5em 1.25em;
  margin: 1em auto;
  border-radius: 2em;
  line-height: 1.25;
  font-size: .75em
}

.life__item.swiper-slide-active>div {
  transform: rotate(-5deg)
}

.life__item.swiper-slide-prev>div {
  transform: scale(.8);
  transform-origin: top right
}

.life__item.swiper-slide-next>div {
  transform: scale(.8);
  transform-origin: bottom left
}

.movies {
  margin-top: 4em;
  padding-inline: 1.25em
}

.movies__slides {
  margin-top: 2em
}

.movies video {
  border-radius: .5em
}

.customers {
  margin-block: 4em
}

.customers__area {
  margin-top: 2em;
  background-color: var(--color-background);
  padding: 2em 1.25em
}

.customers__more {
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .75em;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid;
  border-radius: 2em;
  display: block;
  margin: 1rem auto 0;
  padding: .5em 3em
}

@media(hover:hover) {
  .customers__more {
    transition: .3s all ease-in-out
  }

  .customers__more:hover {
    background-color: var(--color-primary);
    color: #fff
  }
}

.customers__more {
  background-color: #fff
}

.customer-card {
  background-color: #fff;
  border-radius: .5em;
  padding: 1em;
  margin-top: 1em
}

.customer-card__head {
  display: flex;
  align-items: center;
  gap: 1em
}

.customer-card__head--title {
  font-size: 1em;
  flex: 1;
  color: var(--color-primary);
  font-family: ZenMaruGothic;
  font-weight: 700
}

.customer-card__text {
  margin-top: 1rem;
  font-size: .75em
}

.customer-card__name {
  margin-top: .5rem;
  font-size: .75em;
  text-align: right
}

/*口コミ星*/
/* コンテナ全体の調整 */
.rating-container {
  display: flex;
  align-items: center; /* 星とテキストの縦の高さを中央で揃える */
  gap: 12px;           /* 星と「(大満足)」の間の余白 */
  margin-bottom: 16px; /* 下のレビュー本文との余白（適宜調整してください） */
}

/* 星のスタイリング */
.stars {
  color: #f5b301;      /* 鮮やかで視認性の高い金色 */
  font-size: 1.2rem;   /* 星のサイズ（適宜調整してください） */
}

/* 星同士のすき間を少し開ける場合 */
.stars i {
  margin-right: 2px; 
}
.stars i:last-child {
  margin-right: 0; /* 最後の星の右側の余白は消す */
}

/* 評価テキスト「(大満足)」のスタイリング */
.rating-text {
  color: #666666;      /* 星を目立たせるため、少し落ち着いたグレーに */
  font-size: 0.95rem;  /* 星より少し小さめにして階層をつける */
  font-weight: bold;   /* 文字が細くなりすぎないように */
}

.support {
  margin-top: 4em;
  padding: 2em 1.25em;
  background-color: var(--color-background);
  border-radius: 2.5em 2.5em 0 0
}

.support__title {
  margin-top: 1em
}

.support__title--sub {
  display: block;
  font-size: .666666em
}

.support__price {
  line-height: 1;
  font-size: 1.5em
}

.support__text {
  font-family: ZenMaruGothic;
  font-weight: 700;
  text-align: center
}

.support__text1 {
  font-size: 1.125em;
  margin-top: 1rem
}

.support__text2 {
  font-size: .625em;
  margin-block: .25rem
}

.support__text3 {
  font-size: .875em
}

.support__image {
  margin: 1.5em auto
}

.support__note {
  margin-top: 1rem;
  text-align: center;
  font-size: .625em
}

.faq {
  margin-top: 4em
}

.faq__list {
  padding-inline: 1.25em;
  margin-top: 2em
}

.faq__item {
  margin-top: 1.5em;
  cursor: pointer
}

.faq__item.show .faq__item--question:after {
  transform: scaleY(.5) rotate(180deg)
}

.faq__item.show .faq__item--answer {
  display: block
}

.faq__item--question,
.faq__item--answer {
  padding-left: 1.75rem;
  position: relative
}

.faq__item--question:before,
.faq__item--answer:before {
  font-family: ZenMaruGothic;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.5rem;
  line-height: 1
}

.faq__item--question {
  font-size: 1em;
  padding-right: 2rem
}

.faq__item--question:before {
  content: "Q";
  color: var(--color-primary)
}

.faq__item--question:after {
  transition: .3s all ease-in-out;
  content: "∨";
  font-family: serif;
  color: var(--color-primary);
  position: absolute;
  top: -5px;
  right: 0;
  font-weight: 700;
  transform: scaleY(.5) rotate(0);
  font-size: 2rem;
  line-height: 1
}

.faq__item--answer {
  margin-top: 1rem;
  font-size: .75em;
  display: none
}

.faq__item--answer:before {
  content: "A";
  color: #ed5e3b
}

.faq .c-text-notes {
  margin-top: 1em
}

.bottom {
  margin-top: 3wm;
  background-color: var(--color-background);
  padding: 3em 1.25em 8em;
  margin-top: 4em;
  text-align: center;
  font-size: .75em
}

.bottom img {
  margin: 0 auto 2em
}

.bottom__navi--item {
  margin-bottom: 2em
}

@media(hover:hover) {
  .bottom__navi--link {
    transition: .3s all ease-in-out
  }

  .bottom__navi--link:hover {
    color: var(--color-primary)
  }
}

.bottom__copy {
  color: var(--color-primary)
}

.float-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 430px;
  padding: 1em 1.25em;
  background-color: var(--color-background);
  z-index: 3;
  transition: .3s all ease-in-out;
  transform: translateY(100%)
}

.float-cta.active {
  transform: translateY(0)
}

.float-cta--link {
  margin: 0 auto;
  display: block;
  padding: .875em;
  width: 100%;
  font-size: 1.125em
}

@media(min-width:430px) {
  .float-cta {
    left: calc(50% - 215px)
  }
}

.detail__fv img {
  width: 100%
}

.detail__title {
  color: var(--color-text);
  font-size: 1em;
  margin-top: 2rem
}

.detail__title strong {
  margin: 0 auto;
  font-size: 1.75em;
  display: block;
  width: max-content;
  background: linear-gradient(transparent 50%, #feeebb)
}

.detail__sectitle {
  font-size: 1.5em;
  text-align: center;
  margin-top: 0;
  color: var(--color-primary)
}

.main-swiper {
  position: relative;
  margin-top: 1em
}

.color-name {
  line-height: 1.2;
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .875em;
  background-color: #fff;
  padding: 0 1em;
  border-radius: 1em;
  position: absolute;
  top: 1em;
  right: 1em;
  z-index: 2
}

.thumbs-swiper {
  margin-block: .75em 2em
}

.benefit-slide {
  margin-top: 1.5em
}

.detail,
.reason-detail {
  background-color: #fff;
  display: none;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  z-index: 3
}

.detail::-webkit-scrollbar,
.reason-detail::-webkit-scrollbar {
  display: none
}

.detail.active,
.reason-detail.active {
  display: block
}

.reason-detail {
  padding-top: 2em
}

.close-detail {
  position: sticky;
  top: 10px;
  margin-left: auto;
  margin-right: 10px;
  margin-top: -40px;
  display: block;
  width: 40px;
  height: 40px;
  border: none;
  cursor: pointer;
  z-index: 2;
  background: #0000008c;
  border-radius: 50%
}

.close-detail:before,
.close-detail:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background: #fff;
  transform-origin: center
}

.close-detail:before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.close-detail:after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.benefit-detail {
  background-color: #0000004d;
  display: none;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  z-index: 3
}

.benefit-detail::-webkit-scrollbar {
  display: none
}

.benefit-detail.active {
  display: block
}

.benefit-contens {
  max-width: calc(430px - 2.5em);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 2.5em)
}

.benefit-contens__title {
  background-color: var(--color-primary);
  color: #fff;
  font-family: ZenMaruGothic;
  font-weight: 700;
  font-size: .875em;
  text-align: center;
  padding: .75em
}

.benefit-contens__text {
  padding: 1.5em;
  background-color: #fff
}

.benefit-contens__text img {
  width: 100%
}

.benefit-contens__text--caption {
  font-size: .75em;
  margin-top: 1em
}

.benefit-contens__text--table {
  width: 100%;
  margin-top: 1em;
  border-collapse: collapse;
  font-size: .625em
}

.benefit-contens__text--table th {
  width: 5em;
  background-color: var(--color-primary);
  color: #fff
}

.benefit-contens__text--table td {
  background-color: var(--color-background)
}

.benefit-contens__text--table th,
.benefit-contens__text--table td {
  border: 2px solid #ffffff;
  padding: 1em .5em
}

.benefit-contens .close-detail {
  background: transparent;
  position: absolute;
  right: -10px;
  top: 40px
}

.benefit-close {
  position: absolute;
  top: .25rem;
  right: .75rem;
  color: #fff;
  font-family: serif;
  font-size: 2.75em;
  line-height: 1
}

.cta-text {
  color: var(--color-secondary);
  display: flex;
  margin-bottom: .5em;
  gap: 1em;
  justify-content: center;
  align-items: flex-end;
  font-family: ZenMaruGothic;
  font-weight: 700
}

.cta-text.mt1 {
  color: #fff;
  margin-top: 1em;
  margin-bottom: -.75em
}

.cta-text.mt1:before,
.cta-text.mt1:after {
  background-color: #fff
}

.cta-text__num {
  font-size: 1.5em
}

.cta-text:before,
.cta-text:after {
  content: "";
  width: 2px;
  height: 1.75em;
  background-color: var(--color-secondary);
  display: block
}

.cta-text:before {
  rotate: -25deg
}

.cta-text:after {
  rotate: 25deg
}

.tel-button {
  display: block;
  margin-top: .75em
}

@media(hover:hover) {
  .tel-button {
    transition: .3s all ease-in-out
  }

  .tel-button:hover {
    opacity: .8
  }
}

[data-anime] {
  opacity: 0
}

[data-anime=fadein].is-active {
  animation: fadein .75s cubic-bezier(.12, 0, .39, 0) 1 forwards
}

[data-anime=sliding].is-active {
  animation: sliding .5s cubic-bezier(.12, 0, .39, 0) 1 forwards
}

[data-anime=jump].is-active {
  animation: jump 1s cubic-bezier(.12, 0, .39, 0) 1 forwards
}

.delay1 {
  animation-delay: .2s !important
}

.delay2 {
  animation-delay: .4s !important
}

.delay3 {
  animation-delay: .6s !important
}

.delay4 {
  animation-delay: .8s !important
}

.delay5 {
  animation-delay: 1s !important
}

.delay6 {
  animation-delay: 1.2s !important
}

@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(10%)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fadeout {
  0% {
    opacity: 1;
    transform: translateY(0)
  }

  to {
    opacity: 0;
    transform: translateY(10%)
  }
}

@keyframes jump {
  0% {
    transform: translateY(3em) scale(0);
    opacity: 0
  }

  50% {
    transform: translateY(0)
  }

  65% {
    transform: translateY(1em)
  }

  to {
    transform: translateY(0)
  }

  20%,
  to {
    opacity: 1
  }
}

@keyframes sliding {
  0% {
    transform: translate(10em);
    opacity: 0
  }

  50% {
    transform: translate(0)
  }

  65% {
    transform: translate(3em)
  }

  to {
    transform: translate(0)
  }

  20%,
  to {
    opacity: 1
  }
}

.detail .benefits {
  margin-bottom: 0;
  padding-bottom: 100px
}

.compare {
  padding: .5em
}

.compare img {
  margin-top: 2em
}

.compare p {
  font-family: ZenMaruGothic;
  font-weight: 700;
  margin-top: 1em;
  font-size: .625em;
  text-align: center;
  padding-bottom: 60px
}

:root {
  --swiper-theme-color: #007aff
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-3d {
  perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
  scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent
}

:is(.swiper:not(.swiper-watch-progress), .swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

:is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}

:is(.swiper-button-prev, .swiper-button-next).swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none
}

.swiper-navigation-disabled :is(.swiper-button-prev, .swiper-button-next) {
  display: none !important
}

:is(.swiper-button-prev, .swiper-button-next) svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
  fill: currentColor;
  pointer-events: none
}

.swiper-button-lock {
  display: none
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2))
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto
}

.swiper-button-prev .swiper-navigation-icon {
  transform: rotate(180deg)
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto
}

.swiper-horizontal .swiper-button-prev,
.swiper-horizontal .swiper-button-next,
.swiper-horizontal~.swiper-button-prev,
.swiper-horizontal~.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  margin-left: 0
}

.swiper-horizontal .swiper-button-prev,
.swiper-horizontal~.swiper-button-prev,
.swiper-horizontal.swiper-rtl .swiper-button-next,
.swiper-horizontal.swiper-rtl~.swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto
}

.swiper-horizontal .swiper-button-next,
.swiper-horizontal~.swiper-button-next,
.swiper-horizontal.swiper-rtl .swiper-button-prev,
.swiper-horizontal.swiper-rtl~.swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto
}

:is(.swiper-horizontal .swiper-button-prev, .swiper-horizontal~.swiper-button-prev, .swiper-horizontal.swiper-rtl .swiper-button-next, .swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon {
  transform: rotate(180deg)
}

:is(.swiper-horizontal.swiper-rtl .swiper-button-prev, .swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon {
  transform: rotate(0)
}

.swiper-vertical .swiper-button-prev,
.swiper-vertical .swiper-button-next,
.swiper-vertical~.swiper-button-prev,
.swiper-vertical~.swiper-button-next {
  left: var(--swiper-navigation-top-offset, 50%);
  right: auto;
  margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
  margin-top: 0
}

.swiper-vertical .swiper-button-prev,
.swiper-vertical~.swiper-button-prev {
  top: var(--swiper-navigation-sides-offset, 4px);
  bottom: auto
}

:is(.swiper-vertical .swiper-button-prev, .swiper-vertical~.swiper-button-prev) .swiper-navigation-icon {
  transform: rotate(-90deg)
}

.swiper-vertical .swiper-button-next,
.swiper-vertical~.swiper-button-next {
  bottom: var(--swiper-navigation-sides-offset, 4px);
  top: auto
}

:is(.swiper-vertical .swiper-button-next, .swiper-vertical~.swiper-button-next) .swiper-navigation-icon {
  transform: rotate(90deg)
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translateZ(0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(.33)
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet:only-child {
  display: none !important
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0, -50%, 0)
}

:is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block
}

:is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

:is(.swiper-vertical>.swiper-pagination-bullets, .swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: .2s transform, .2s top
}

:is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

:is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translate(-50%);
  white-space: nowrap
}

:is(.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-lock {
  display: none
}

.benefit-detail {
    
    /* ↓ スマホのバー対策で vh から svh（またはdvh）に変更！ */
    height: 100svh; 
    overflow-y: auto;
}
.benefit-contens {
  max-height: 95dvh;
  overflow-y: auto;
  position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

  /* ==========================================
     比較表専用の追加スタイル（既存の変数を利用）
  ========================================== */
  /* ==========================================
     比較表専用の追加スタイル（既存の変数を利用）
  ========================================== */
  .comparison-section {
      padding: 50px 0; 
      text-align: center;
      /* LPのベースフォントを継承 */
      font-family: 'ZenMaruGothic', Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Noto Sans JP, Meiryo, sans-serif;
  }

  .comparison-section .section-title,
  .comparison-section .detail__sectitle {
      font-size: 26px;
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: 20px;
      padding: 0 15px;
      line-height: 1.4;
      text-align: center;
  }

  .comparison-section .section-title span {
      font-size: 16px;
      color: var(--color-text);
      display: block;
      margin-bottom: 5px;
      font-weight: 700;
      letter-spacing: 1.5px;
  }

  /* ★ 修正：PCでもSPでも常に表示させるために display: flex; に変更 ★ */
  .comparison-section .scroll-hint {
      display: flex; 
      justify-content: center;
      align-items: center;
      font-size: 12px;
      color: var(--color-primary);
      font-weight: 700;
      margin-bottom: 15px;
      animation: pulse 2s infinite;
  }

  @keyframes pulse {
      0% { opacity: 0.6; }
      50% { opacity: 1; }
      100% { opacity: 0.6; }
  }

  .comparison-section .scroll-hint svg {
      width: 16px;
      height: 16px;
      margin: 0 5px;
  }

  /* テーブル全体のコンテナ */
  .comparison-section .table-responsive-container {
      max-width: 960px;
      margin: 0 auto;
      background: #ffffff;
      border-radius: 12px;
      border: 3px solid var(--color--dk-blue-a20, #cde7f2);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
      overflow: hidden;
      position: relative;
      transform: translateZ(0); 
  }

  .comparison-section .table-scroll-wrapper {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
  }

  .comparison-table {
      width: 100%;
      border-collapse: collapse;
      text-align: center;
      min-width: 600px; 
  }

  .comparison-table th, .comparison-table td {
      padding: 24px 15px;
      border: 1px solid var(--color--dk-blue-a20, #cde7f2);
      vertical-align: middle;
      font-size: 15px;
      font-weight: 700;
      background-color: #ffffff;
      color: var(--color-text);
  }

  /* 外側の不要な罫線を消す */
  .comparison-table tr:first-child th { border-top: none; }
  .comparison-table tr:last-child td { border-bottom: none; }
  .comparison-table th:first-child, .comparison-table td:first-child { border-left: none; }
  .comparison-table th:last-child, .comparison-table td:last-child { border-right: none; }

  /* 1列目（比較項目）のSticky固定 */
  .comparison-table th:first-child, 
  .comparison-table td:first-child {
      position: sticky;
      left: 0;
      z-index: 10;
      background-color: #f7fcff !important;
      font-weight: 700;
      text-align: center; 
      width: 140px;
      min-width: 140px;
      box-shadow: 2px 0 5px rgba(0,0,0,0.04);
      line-height: 1.5;
  }

  .comparison-table thead th:first-child {
      z-index: 11;
  }

  /* litta/Locca Smart列の徹底強調 */
  .comparison-table .highlight-litta {
      background-color: var(--litta-bg, #f4fcff) !important;
      border-left: 3px solid var(--color-primary) !important;
      border-right: 3px solid var(--color-primary) !important;
      width: 30%;
  }

  .comparison-table thead th.highlight-litta {
      background-color: var(--color-primary) !important;
      color: #ffffff;
      border-top: 3px solid var(--color-primary) !important;
      padding: 18px 15px;
  }

  .comparison-table tbody tr:last-child .highlight-litta {
      border-bottom: 3px solid var(--color-primary) !important;
  }

  /* PCでのホバーエフェクト */
  @media (hover: hover) {
      .comparison-table tbody tr:hover td {
          background-color: #f4f9fb;
          transition: background-color 0.2s ease;
      }
      .comparison-table tbody tr:hover td.highlight-litta {
          background-color: var(--color--dk-blue-a20, #D3E9EF) !important;
      }
      .comparison-table tbody tr:hover td:first-child {
          background-color: #f0f7f9 !important;
      }
  }

  /* 文字装飾パーツ */
  .comparison-table .litta-name {
      font-size: 26px;
      font-weight: 700;
      letter-spacing: 0.5px;
  }

  .comparison-table .price-large {
      font-size: 30px; 
      font-weight: 700;
      color: var(--color-secondary);
      letter-spacing: -0.5px; 
  }

  .comparison-table .blue-large {
      color: var(--color-primary);
  }

  .comparison-table .price-unit {
      font-size: 14px;
      color: var(--color-secondary);
      font-weight: 700;
      margin-left: 2px;
  }

  .comparison-table .blue-unit {
      color: var(--color-primary);
  }

  .comparison-table .text-blue {
      font-size: 18px;
      color: var(--color-primary);
      font-weight: 700;
  }

  .comparison-table .badge-main {
      background-color: #fff3e0;
      color: var(--color-secondary);
      font-size: 11px;
      padding: 4px 10px;
      border-radius: 12px;
      margin-bottom: 8px;
      font-weight: 700;
      display: inline-block;
  }

  .comparison-table .sub-text {
      font-size: 12px;
      font-weight: 700;
      color: var(--color-text);
      display: inline-block;
      margin-top: 4px;
  }

  .comparison-table .td-sub-text {
      font-size: 11px;
      font-weight: 700;
      color: #777;
  }

  .comparison-table .other-price {
      font-weight: 700;
      font-size: 16px;
      color: var(--color-text);
  }

  /* 注釈テキスト */
  .comparison-section .table-notes {
      max-width: 960px;
      margin: 15px auto 0;
      padding: 0 15px;
      text-align: left;
      font-size: 10px; 
      color: var(--color-text);
      line-height: 1.6;
      font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  }

  .comparison-section .table-notes p {
      margin: 0 0 5px 0;
      padding-left: 1em;
      text-indent: -1em; 
  }

  /* モバイル（スマホ）向け調整 */
  @media screen and (max-width: 600px) {
      .comparison-section .section-title,
      .comparison-section .detail__sectitle {
          font-size: 24px;
      }
      .comparison-section .table-responsive-container {
          border-radius: 12px; 
          margin: 0 10px;
      }
      .comparison-table {
          min-width: 440px; 
      }
      .comparison-table th, .comparison-table td {
          padding: 16px 8px;
          font-size: 13px;
      }
      
      /* 1列目 */
      .comparison-table th:first-child, 
      .comparison-table td:first-child {
          width: 85px;
          min-width: 85px;
          font-size: 12px;
          padding: 16px 6px;
      }
      
      /* 2列目 */
      .comparison-table .highlight-litta {
          width: 120px;
          min-width: 120px;
      }

      /* 3列目・4列目 */
      .comparison-table th:nth-child(n+3), 
      .comparison-table td:nth-child(n+3) {
          width: 110px;
          min-width: 110px;
      }

      .comparison-table th.highlight-litta {
          padding: 14px 6px;
      }
      .comparison-table .litta-name {
          font-size: 22px;
      }
      .comparison-table .price-large {
          font-size: 24px;
      }
      .comparison-table .other-price {
          font-size: 14px;
      }
      .comparison-section .table-notes {
          margin-top: 12px;
          padding: 0 10px;
      }
  }