@charset "UTF-8";
html {
  font-size: 1vw;
}
.inner {
  width: min(67.5rem, 100%);
  padding-left: 2.5vw;
  padding-right: 2.5vw;
  padding-inline: 2.5vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.fv {
  position: relative;
  overflow: hidden;
}
.fv__inner {
  position: absolute;
  top: 1.75vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.fv__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  row-gap: 4.0625vw;
}
.fv__container__head {
  text-align: center;
}
.fv__logo {
  width: 11vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.fv__title {
  color: #fff;
  text-align: center;
  text-shadow: 0 0 2vw rgba(70, 70, 70, 0.6);
  font-family: "Zen Kaku Gothic New";
  font-size: 3vw;
  font-weight: 900;
  line-height: 125%;
  letter-spacing: 0.15vw;
  margin-top: 1.75vw;
  -webkit-margin-before: 1.75vw;
  margin-block-start: 1.75vw;
}
.fv__title span {
  color: #fff;
  color: var(--ffffff, #fff);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5vw;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fv__container__bottom {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 4.0625vw;
  -webkit-margin-before: 4.0625vw;
  margin-block-start: 4.0625vw;
}
.fv__contents__left {
  position: absolute;
  bottom: -5.8125vw;
  left: -4.375vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.125vw;
}
.fv__text {
  color: #fff;
  text-shadow: 0 0 1vw #464646;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.75vw;
  font-weight: 900;
  line-height: 100%;
  width: 16.625vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  white-space: nowrap;
}
.fv__text span {
  color: #fff;
  color: var(--ffffff, #fff);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5vw;
  font-style: normal;
  font-weight: 900;
  line-height: 120%;
}
.fv__img {
  width: 16.0625vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-left: -0.625rem;
}
.fv__decoration {
  position: absolute;
  width: 20.8125vw;
  left: 10.75vw;
  bottom: -9.125rem;
}
.fv__cta {
  position: absolute;
  bottom: 0;
}
.cta {
  background: #e8e5d4;
  background: var(--e-8-e-5-d-4, #e8e5d4);
  padding-top: 0.5rem;
  -webkit-padding-before: 0.5rem;
  padding-block-start: 0.5rem;
  padding-bottom: 0.75rem;
  -webkit-padding-after: 0.75rem;
  padding-block-end: 0.75rem;
}
.cta__fv {
  position: relative;
  margin-top: -6.875rem;
  -webkit-margin-before: -6.875rem;
  margin-block-start: -6.875rem;
  z-index: 2;
}
.cta__container {
  width: 27.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta__button__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  text-align: right;
  margin-bottom: -1.5625rem;
  -webkit-margin-after: -1.5625rem;
  margin-block-end: -1.5625rem;
}
.cta__button__lead svg {
  display: block;
  margin-left: auto;
}
.cta__lead__text {
  color: #000;
  color: var(--000000, #000);
  font-family: "Zen Kaku Gothic New";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
}
.cta__button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta__button img {
  display: block;
  width: 26.75rem;
  height: auto;
}
.plan {
  padding-top: 1.5rem;
  -webkit-padding-before: 1.5rem;
  padding-block-start: 1.5rem;
  padding-bottom: 7.125rem;
  -webkit-padding-after: 7.125rem;
  padding-block-end: 7.125rem;
}
.plan__lead {
  color: #bababa;
  color: var(--bababa, #bababa);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}
.plan__titles {
  position: relative;
  margin-top: 15rem;
  -webkit-margin-before: 15rem;
  margin-block-start: 15rem;
}
.plan__titles svg {
  position: absolute;
  top: -8.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: auto;
}
.plan__title {
  text-align: center;
  color: transparent;
  -webkit-text-stroke-width: 0.0625rem;
  -webkit-text-stroke-color: #c7161d;
  -webkit-text-stroke-color: var(--logo_red, #c7161d);
  font-family: Alata;
  font-size: 8.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
  margin-top: -1.75rem;
  -webkit-margin-before: -1.75rem;
  margin-block-start: -1.75rem;
}
.plan__subtitle {
  text-align: center;
  margin-top: 1.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
  margin-bottom: 5rem;
  -webkit-margin-after: 5rem;
  margin-block-end: 5rem;
}
.plan__subtitle span {
  display: inline-block;
  color: #fff;
  color: var(--ffffff, #fff);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 3.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  padding: 0.375rem 0.5rem 0.5rem;
  background: #c7161d;
  background: var(--logo_red, #c7161d);
}
.plan__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 2.5rem;
  padding-top: 2.5625rem;
  -webkit-padding-before: 2.5625rem;
  padding-block-start: 2.5625rem;
  border-top: 1px solid #c7161d;
}
.plan__card {
  position: relative;
  padding-bottom: 4.625rem;
}
.plan__card:first-child {
  border-bottom: 0.0625rem solid #c7161d;
}
.plan__number1 {
  position: absolute;
  top: -2.625rem;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.375rem;
  background: #c7161d;
  color: #fff;
  font-family: Alata;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  width: 2rem;
  height: 2rem;
}
.plan__number2 {
  position: absolute;
  top: -2.5rem;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.375rem;
  background: #c7161d;
  color: #fff;
  font-family: Alata;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  width: 2rem;
  height: 2rem;
}
.plan__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  padding-left: 3.375rem;
}
.plan__left {
  width: 35.625rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.plan__main-image {
  width: 100%;
  aspect-ratio: 268/178;
  overflow: hidden;
  background: #ddd;
}
.plan__main-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.plan__thumbs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 0.5rem;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  margin-top: 1rem;
}
.plan__thumb {
  min-width: 0;
}
.plan__thumb-image {
  width: 11.25rem;
  overflow: hidden;
  background: #ddd;
}
.plan__thumb-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.plan__right {
  width: 21.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.plan__price-label {
  color: #464646;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  background: #f1f1ee;
  background: var(--f-1-f-1-ee, #f1f1ee);
  padding: 0.25rem 0.5rem 0.375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.plan__price-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 0.0625rem solid #464646;
}
.plan__price-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.25rem;
}
.plan__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
}
.plan__price-num {
  font-family: Alata;
  font-size: 4.25rem;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: -0.085rem;
  text-transform: uppercase;
}
.plan__tax {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 110%;
  margin-bottom: 0.125rem;
}
.plan__price-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 110%;
  white-space: nowrap;
}
.plan__spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 0.25rem;
  width: 6.75rem;
}
.plan__spec-bottom,
.plan__spec-top {
  color: #464646;
  color: var(--464646, #464646);
  padding: 0.6875rem 0.5rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 100%;
  border: 1px solid #999;
  margin: 0;
}
.plan__spec-top {
  border-bottom: 0.0625rem solid #999;
}
.plan__info {
  margin-top: 0.5rem;
  -webkit-margin-before: 0.5rem;
  margin-block-start: 0.5rem;
}
.plan__info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5625rem;
  -moz-column-gap: 0.5625rem;
  column-gap: 0.5625rem;
  padding-top: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  padding-bottom: 0.75rem;
  -webkit-padding-after: 0.75rem;
  padding-block-end: 0.75rem;
  border-bottom: 1px solid #dcdbd8;
}
.plan__info-row dt {
  position: relative;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05rem;
  width: 5.75rem;
  white-space: nowrap;
}
.plan__info-row dd {
  position: relative;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.05rem;
}
.plan__info-polygon {
  width: 0.875rem;
  height: 0.75rem;
  position: relative;
  top: 1px;
}
.plan__caution {
  color: #bababa;
  color: var(--bababa, #bababa);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin-top: 1.75rem;
  -webkit-margin-before: 1.75rem;
  margin-block-start: 1.75rem;
}
.plan__thumb {
  padding: 0;
  border: none;
  background: 0 0;
  cursor: pointer;
}
.plan__thumb-image {
  width: 11.25rem;
  overflow: hidden;
  background: #ddd;
}
.plan__thumb-image img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition:
    opacity 0.3s ease,
    -webkit-transform 0.3s ease;
  transition:
    opacity 0.3s ease,
    -webkit-transform 0.3s ease;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    -webkit-transform 0.3s ease;
}
.plan__thumb:hover .plan__thumb-image img {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
  opacity: 0.9;
}
:where(dialog) {
  width: initial;
  width: unset;
  max-width: initial;
  max-width: unset;
  height: initial;
  height: unset;
  max-height: initial;
  max-height: unset;
  padding: initial;
  padding: unset;
  color: inherit;
  color: unset;
  background-color: initial;
  background-color: unset;
  border: initial;
  border: unset;
  overflow: initial;
  overflow: unset;
}
body[\:has\(dialog\[open\]\)] {
  overflow: hidden;
}
body:has(dialog[open]) {
  overflow: hidden;
}
.plan__modal {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.plan__modal[open] {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
  place-items: center;
}
.plan__modal::-ms-backdrop {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0);
  -ms-transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease;
  transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease;
}
.plan__modal::backdrop {
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(0);
  -webkit-transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease;
  transition:
    background 0.3s ease,
    backdrop-filter 0.3s ease;
}
.plan__modal.js-show {
  opacity: 1;
}
.plan__modal.js-show::-ms-backdrop {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(0.375rem);
}
.plan__modal.js-show::backdrop {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(0.375rem);
}
.plan__modal__inner {
  position: relative;
  width: min(42.5rem, 90vw);
  padding: 0 0 1.25rem;
  background: 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateY(-4.375rem);
  transform: translateY(-4.375rem);
}
.plan__modal__close {
  outline: 0;
}
.plan__modal__close {
  position: absolute;
  top: 0;
  right: -8.25rem;
  z-index: 20;
  padding: 0;
  border: none;
  background: 0 0;
  cursor: pointer;
}
.plan__modal__close svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
}
.plan__modal__slider {
  width: 100%;
}
.plan__modal__slide {
  width: 41rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.plan__modal__slide img {
  width: 100%;
}
.plan__modal__image img {
  display: block;
  width: 100%;
  height: auto;
}
.plan__modal__nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.375rem;
}
.plan__modal__pagination {
  text-align: center;
}
.plan__modal__next,
.plan__modal__prev {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 0;
  border: none;
  background: 0 0;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}
.plan__modal__next:hover .svg-bg,
.plan__modal__prev:hover .svg-bg {
  fill: #c7161d;
  stroke: #fff;
}
.plan__modal__next:hover .svg-icon,
.plan__modal__prev:hover .svg-icon {
  fill: #fff;
}
.plan__modal__prev {
  right: calc(100% - 13.75rem);
}
.plan__modal__next {
  left: calc(100% - 13.75rem);
}
.plan__modal__next svg,
.plan__modal__prev svg {
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  overflow: visible;
}
.plan__modal__next svg .svg-bg,
.plan__modal__prev svg .svg-bg {
  fill: #fff;
  stroke: #c7161d;
  -webkit-transition:
    fill 0.3s ease,
    stroke 0.3s ease;
  transition:
    fill 0.3s ease,
    stroke 0.3s ease;
}
.plan__modal__next svg .svg-icon,
.plan__modal__prev svg .svg-icon {
  fill: #c7161d;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.plan__modal__cta-area {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #353535;
  padding: 0.5rem 0 0.75rem;
  z-index: 100;
  height: 5.3125rem;
}
.plan__modal__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}
.plan__modal__cta a {
  display: block;
}
.plan__modal__cta img {
  position: absolute;
  width: 27.25rem;
  top: -1.5625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.plan__modal__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.375rem;
}
.plan__modal__pagination .swiper-pagination-current,
.plan__modal__pagination .swiper-pagination-total {
  display: inline-block;
  min-width: 2ch;
  text-align: center;
}
.plan__modal__pagination .swiper-pagination-current {
  color: #fff;
  text-align: center;
  font-family: Alata;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
.plan__modal__pagination__separator {
  color: #fff;
  font-family: Alata;
  font-size: 1.125rem;
  line-height: 100%;
}
.plan__modal__pagination .swiper-pagination-total {
  color: #fff;
  font-family: Alata;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
.plan__catch {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.025rem;
  margin-top: 1.5625rem;
  -webkit-margin-before: 1.5625rem;
  margin-block-start: 1.5625rem;
}
.plan__catch-highlight {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 3.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 10%;
  text-underline-offset: -6%;
  text-underline-position: from-font;
}
.present {
  background: #930003;
  background: var(--930003, #930003);
  padding-top: 6.25rem;
  -webkit-padding-before: 6.25rem;
  padding-block-start: 6.25rem;
  padding-bottom: 7.4375rem;
  -webkit-padding-after: 7.4375rem;
  padding-block-end: 7.4375rem;
}
.section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.section__title svg {
  width: 37.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.present__titles {
  position: relative;
}
.present__titles svg {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  width: 37.5rem;
}
.present__title {
  text-align: center;
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #fff;
  font-family: Alata;
  font-size: 8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: -0.16rem;
  text-transform: uppercase;
  margin-top: 7.625rem;
  -webkit-margin-before: 7.625rem;
  margin-block-start: 7.625rem;
}
.present__subtitle {
  text-align: center;
  margin-top: 0.875rem;
  -webkit-margin-before: 0.875rem;
  margin-block-start: 0.875rem;
}
.present__subtitle span {
  display: inline-block;
  color: #930003;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 100%;
  background: #fff;
  padding: 0.25rem 0.5rem 0.375rem;
  margin-bottom: -0.125rem;
}
.present__img {
  width: 37.9375rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-top: 4.1875rem;
  -webkit-margin-before: 4.1875rem;
  margin-block-start: 4.1875rem;
  margin-bottom: 0;
  -webkit-margin-after: 0;
  margin-block-end: 0;
  -webkit-transform: translateX(-1.5rem);
  transform: translateX(-1.5rem);
}
.button__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 0.75rem;
}
.button__lead__text {
  color: #fff;
  color: var(--ffffff, #fff);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
.button__lead__line {
  width: 19.5rem;
}
.present__button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-top: 0.625rem;
  -webkit-margin-before: 0.625rem;
  margin-block-start: 0.625rem;
}
.present__button img {
  display: block;
  width: 30.25rem;
}
.case {
  padding-top: 6.25rem;
  -webkit-padding-before: 6.25rem;
  padding-block-start: 6.25rem;
  padding-bottom: 8.75rem;
  -webkit-padding-after: 8.75rem;
  padding-block-end: 8.75rem;
}
.case__titles {
  position: relative;
}
.case__titles svg {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  width: 37.5rem;
}
.case__title {
  text-align: center;
  color: transparent;
  -webkit-text-stroke-width: 1.4px;
  -webkit-text-stroke-color: #c7161d;
  -webkit-text-stroke-color: var(--logo_red, #c7161d);
  font-family: Alata;
  font-size: 8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.4rem;
  text-transform: uppercase;
  margin-top: 7.625rem;
  -webkit-margin-before: 7.625rem;
  margin-block-start: 7.625rem;
}
.case__subtitle {
  text-align: center;
  margin-top: 1rem;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}
.case__subtitle span {
  display: inline-block;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1;
  background: #c7161d;
  padding: 0.375rem 0 0.5rem 0.75rem;
  margin-bottom: -0.125rem;
}
.case__head {
  text-align: center;
  margin-top: 5rem;
  -webkit-margin-before: 5rem;
  margin-block-start: 5rem;
  margin-bottom: 3rem;
  -webkit-margin-after: 3rem;
  margin-block-end: 3rem;
}
.case__head-main {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 3.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 10%;
  text-underline-offset: -3%;
  text-underline-position: from-font;
}
.case__head-sub {
  display: block;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin-top: 1.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}
.case__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 1.875rem;
  -moz-column-gap: 1.875rem;
  column-gap: 1.875rem;
}
.case__img {
  width: 35.625rem;
  -webkit-box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.3);
  box-shadow: 8px 8px 24px rgba(0, 0, 0, 0.3);
}
.case__img img {
  width: 100%;
}
.case__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 2.125rem;
  width: 24.875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(-0.375rem);
  transform: translateY(-0.375rem);
  margin-top: 4.125rem;
  -webkit-margin-before: 4.125rem;
  margin-block-start: 4.125rem;
}
.case__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.625rem;
  -moz-column-gap: 1.625rem;
  column-gap: 1.625rem;
  border-top: 0.0625rem solid #dcdbd8;
  padding-top: 0.8125rem;
}
.case__list::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 0.25rem;
  height: 1.5rem;
  background: #c7161d;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}
.case__number {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  text-align: center;
  font-family: Alata;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
  text-transform: uppercase;
}
.case__list:nth-child(1) .case__number {
  padding-left: 0.1875rem;
}
.case__list:nth-child(2) .case__number {
  padding-left: 0.09375rem;
}
.case__list:nth-child(3) .case__number {
  padding-left: 0.125rem;
}
.case__text {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6;
}
.case__quote {
  color: #f2d3bb;
  font-family: "Zen Kaku Gothic New";
  font-size: 2rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: 0.2rem;
}
.case__highlight {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
}
.cta2 {
  background: #e8e5d4;
  background: var(--e-8-e-5-d-4, #e8e5d4);
  padding-top: 1.25rem;
  -webkit-padding-before: 1.25rem;
  padding-block-start: 1.25rem;
  padding-bottom: 1.3125rem;
  -webkit-padding-after: 1.3125rem;
  padding-block-end: 1.3125rem;
}
.cta2__container {
  width: 27.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta2__button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta2__button img {
  display: block;
  width: 26rem;
  height: auto;
}
.solutions {
  position: relative;
}
.solutions__decoration {
  position: absolute;
  width: 64.875vw;
  right: 0;
  bottom: 5.625vw;
}
.solutions__container {
  height: 0;
}
.solutions__contents {
  position: absolute;
  width: 30.25vw;
  top: 6.375vw;
  left: 18.75vw;
}
.solutions__bubble {
  width: 30.25vw;
}
.solutions__bubble img {
  width: 100%;
}
.solutions__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.8125vw;
}
.solutions__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 1.25vw;
  -moz-column-gap: 1.25vw;
  column-gap: 1.25vw;
}
.solutions__list__head {
  width: 1.75vw;
}
.solutions__list__text {
  color: #fff;
  color: var(--ffffff, #fff);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.125vw;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
.solutions__text__lg {
  color: #fff;
  color: var(--ffffff, #fff);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 900;
  line-height: 95%;
}
.solutions__quote {
  color: #b4b4b4;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.75vw;
  font-style: normal;
  font-weight: 900;
  line-height: 95%;
}
.sp-br {
  display: none;
}
.solutions__text__sm {
  color: #fff;
  color: var(--ffffff, #fff);
  font-family: "Zen Kaku Gothic New";
  font-size: 1vw;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}
.solutions__lead {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  text-align: center;
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  background: #fff;
  background: var(--ffffff, #fff);
  padding: 0.75vw 2.5vw;
  width: 11.25vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-top: 1.75vw;
  -webkit-margin-before: 1.75vw;
  margin-block-start: 1.75vw;
  margin-bottom: 0.375vw;
  -webkit-margin-after: 0.375vw;
  margin-block-end: 0.375vw;
  border-radius: 6.25vw;
}
.solutions__img {
  width: 20.3125vw;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-top: -0.875vw;
  -webkit-margin-before: -0.875vw;
  margin-block-start: -0.875vw;
}
.solutions__note {
  color: #bababa;
  color: var(--bababa, #bababa);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.75vw;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  position: relative;
  top: -9.8125rem;
  left: 18.75rem;
  width: 30.25vw;
}
.service {
  background: #e8e5d4;
  background: var(--e-8-e-5-d-4, #e8e5d4);
  padding-top: 7.5rem;
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
  padding-bottom: 7.5rem;
  -webkit-padding-after: 7.5rem;
  padding-block-end: 7.5rem;
}
.service__inner {
  width: min(56.75rem, 100%);
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-inline: 2.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.service__subtitle {
  text-align: center;
  margin-bottom: 5rem;
  -webkit-margin-after: 5rem;
  margin-block-end: 5rem;
}
.service__subtitle span {
  display: inline-block;
  padding: 0.25rem 0.5rem 0.375rem;
  color: #fff;
  color: var(--ffffff, #fff);
  background: #c7161d;
  background: var(--logo_red, #c7161d);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
.service__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 3.75rem;
}
.service__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.75rem;
  -moz-column-gap: 2.75rem;
  column-gap: 2.75rem;
  background: #fff;
  padding: 1.75rem 2.5rem;
}
.service__contents__left {
  width: 16.5rem;
}
.service__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.9375rem;
  -moz-column-gap: 0.9375rem;
  column-gap: 0.9375rem;
  margin-top: 3px;
  -webkit-margin-before: 3px;
  margin-block-start: 3px;
}
.service__head::after {
  position: absolute;
  content: "";
  background: #c7161d;
  width: 0.0625rem;
  height: 2.5rem;
  top: 0;
  left: 1.3125rem;
  rotate: 45deg;
}
.service__number {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: Alata;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
.service__title {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  margin-top: 0.75rem;
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
}
.service__text {
  color: #464646;
  color: var(--464646, #464646);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  margin-top: 1rem;
  -webkit-margin-before: 1rem;
  margin-block-start: 1rem;
}
.service__contents__right {
  width: 28.5rem;
}
.service__swiper-container {
  position: relative;
  width: 28.5rem;
}
.service__swiper-main {
  width: 28.5rem;
  overflow: hidden;
}
.service__swiper-main .swiper-wrapper {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.service__swiper-slide {
  width: 28.5rem;
}
.service__swiper-slide img {
  display: block;
  width: 28.5rem;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.service__swiper-next,
.service__swiper-prev {
  position: absolute;
  top: 10.125rem;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  margin-top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}
.service__swiper-prev {
  left: -1.5625rem;
}
.service__swiper-next {
  right: -1.5625rem;
}
.service__swiper-next::after,
.service__swiper-prev::after {
  content: none;
}
.service__swiper-next svg,
.service__swiper-prev svg {
  display: block;
  width: 100%;
  height: 100%;
}
.service__swiper-next svg .svg-bg,
.service__swiper-prev svg .svg-bg {
  fill: #fff;
  stroke: #c7161d;
  -webkit-transition:
    fill 0.3s ease,
    stroke 0.3s ease;
  transition:
    fill 0.3s ease,
    stroke 0.3s ease;
}
.service__swiper-next svg .svg-icon,
.service__swiper-prev svg .svg-icon {
  fill: #c7161d;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.service__swiper-next svg:hover .svg-bg,
.service__swiper-prev svg:hover .svg-bg {
  fill: #c7161d;
  stroke: #fff;
}
.service__swiper-next svg:hover .svg-icon,
.service__swiper-prev svg:hover .svg-icon {
  fill: #fff;
}
.service__swiper-next svg::after,
.service__swiper-prev svg::after {
  content: none;
}
.service__caption {
  margin-top: 0.75rem;
  -webkit-margin-before: 0.75rem;
  margin-block-start: 0.75rem;
  margin-bottom: 1.25rem;
  -webkit-margin-after: 1.25rem;
  margin-block-end: 1.25rem;
  color: #464646;
  color: var(--464646, #464646);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}
.service__thumbs {
  width: 28.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  overflow: hidden;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-block: 0.75rem;
  border-top: 0.0625rem solid #dcdbd8;
  border-bottom: 0.0625rem solid #dcdbd8;
}
.service__thumbs .swiper-wrapper {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.service__thumbs .swiper-slide {
  position: relative;
  width: 6.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
}
.service__thumbs .swiper-slide:not(.swiper-slide-thumb-active)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  opacity: 0.5;
  background: #000;
  background: var(--000000, #000);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.service__thumbs img {
  display: block;
  width: 6.5rem;
  height: 4.25rem;
  aspect-ratio: 26/17;
  -o-object-fit: cover;
  object-fit: cover;
}
.service__cautionary {
  color: #bababa;
  color: var(--bababa, #bababa);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin-top: 1.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}
.service__contents__img {
  width: 28.5rem;
}
.service__contents__img img {
  width: 100%;
}
.cta3 {
  background: #fff;
  padding-top: 1rem;
  -webkit-padding-before: 1rem;
  padding-block-start: 1rem;
  padding-bottom: 1.875rem;
  -webkit-padding-after: 1.875rem;
  padding-block-end: 1.875rem;
}
.cta3__container {
  width: 27.25rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta3__button {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.cta3__button img {
  display: block;
  width: 26rem;
  height: auto;
}
.reason {
  background: #f1f1ee;
  background: var(--f-1-f-1-ee, #f1f1ee);
  padding-top: 7.5rem;
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
  padding-bottom: 7.5rem;
  -webkit-padding-after: 7.5rem;
  padding-block-end: 7.5rem;
}
.reason__inner {
  width: min(46rem, 100%);
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-inline: 2.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.reason__head {
  display: block;
  text-align: center;
}
.reason__head__sub {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
.reason__head__main {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 3.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.6;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 10%;
  text-underline-offset: 2%;
  text-underline-position: from-font;
}
.reason__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.4375rem;
}
.reason__card__head {
  position: relative;
}
.reason__card__head svg {
  position: absolute;
  top: -5.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  width: 37.5rem;
}
.reason__card__titles {
  display: block;
  text-align: center;
  margin-top: 9.1875rem;
  -webkit-margin-before: 9.1875rem;
  margin-block-start: 9.1875rem;
}
.reason__card__number {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  text-align: center;
  font-family: Alata;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  -webkit-margin-after: 0.75rem;
  margin-block-end: 0.75rem;
}
.reason__card__title {
  position: relative;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 2.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 105%;
  padding-bottom: 1.75rem;
  -webkit-padding-after: 1.75rem;
  padding-block-end: 1.75rem;
}
.reason__card__title::after {
  position: absolute;
  content: "";
  background: #464646;
  width: 37.5rem;
  height: 0.0625rem;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.reason__card:nth-child(2) .reason__card__title {
  padding-bottom: 1.875rem;
  -webkit-padding-after: 1.875rem;
  padding-block-end: 1.875rem;
}
.reason__card:nth-child(3) .reason__card__title {
  padding-bottom: 2.125rem;
  -webkit-padding-after: 2.125rem;
  padding-block-end: 2.125rem;
}
.reason__quote {
  color: #9b9b9b;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: 0.35rem;
}
.reason__small {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  text-align: center;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 160%;
}
.reason__card__contents {
  margin-top: 3rem;
  -webkit-margin-before: 3rem;
  margin-block-start: 3rem;
}
.reason__card__text {
  color: #464646;
  color: var(--464646, #464646);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
}
.reason__card__text2 {
  color: #bababa;
  color: var(--bababa, #bababa);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin-top: 1.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}
.reason__highlight {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 900;
  line-height: 140%;
}
.reason__card__img {
  margin-top: 2.625rem;
  -webkit-margin-before: 2.625rem;
  margin-block-start: 2.625rem;
}
.reason__card__img img {
  width: 100%;
}
.contact {
  padding-top: 7.5rem;
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
  padding-bottom: 7.5rem;
  -webkit-padding-after: 7.5rem;
  padding-block-end: 7.5rem;
}
.contact__lead {
  text-align: center;
  margin-bottom: 5.375rem;
  -webkit-margin-after: 5.375rem;
  margin-block-end: 5.375rem;
}
.contact__lead span {
  display: inline-block;
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  background: #c7161d;
  padding: 0.25rem 0.5rem 0.375rem;
  margin-bottom: -0.125rem;
}
.contact__contents__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}
.contact__img {
  width: 35.625rem;
  -webkit-box-shadow: 0.4375rem 0.4375rem 1.3125rem rgba(0, 0, 0, 0.35);
  box-shadow: 0.4375rem 0.4375rem 1.3125rem rgba(0, 0, 0, 0.35);
}
.contact__img img {
  width: 100%;
}
.contact__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 3rem;
  width: 24.875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 3.5rem;
  -webkit-margin-before: 3.5rem;
  margin-block-start: 3.5rem;
}
.contact__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.75rem;
  -moz-column-gap: 0.75rem;
  column-gap: 0.75rem;
}
.contact__list::after {
  position: absolute;
  content: "";
  background: #dcdbd8;
  height: 0.0625rem;
  width: 100%;
  bottom: -1.5rem;
  left: 0;
}
.contact__list__tag img {
  width: 5rem;
}
.contact__list__text {
  color: #464646;
  color: var(--464646, #464646);
  text-align: justify;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}
.contact__contents__bottom {
  position: relative;
  margin-top: 11.8125rem;
  -webkit-margin-before: 11.8125rem;
  margin-block-start: 11.8125rem;
}
.contact__contents__decoration {
  position: absolute;
  width: 2rem;
  top: -8.0625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.contact__contents__decoration img {
  width: 100%;
  width: 4rem;
}
.contact__sub__title {
  position: relative;
  color: #464646;
  color: var(--464646, #464646);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  margin-bottom: 0.875rem;
  -webkit-margin-after: 0.875rem;
  margin-block-end: 0.875rem;
}
.contact__sub__title::before {
  position: absolute;
  content: "";
  background: #464646;
  width: 0.0625rem;
  height: 1.4375rem;
  top: 0;
  left: calc(50% - 9.75rem);
  rotate: -33deg;
}
.contact__sub__title::after {
  position: absolute;
  content: "";
  background: #464646;
  width: 0.0625rem;
  height: 1.4375rem;
  top: 0;
  right: calc(50% - 9.75rem);
  rotate: 33deg;
}
.contact__head {
  text-align: center;
}
.contact__head-main {
  color: #c7161d;
  color: var(--logo_red, #c7161d);
  font-family: "Zen Kaku Gothic New";
  font-size: 3.75rem;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: -0.1875rem;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 10%;
  text-underline-offset: -4%;
  text-underline-position: from-font;
}
.contact__head-sub {
  display: block;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
  margin-top: 1.25rem;
  -webkit-margin-before: 1.25rem;
  margin-block-start: 1.25rem;
}
.footer {
  background: #f1f1ee;
  background: var(--f-1-f-1-ee, #f1f1ee);
  padding-top: 3.75rem;
  -webkit-padding-before: 3.75rem;
  padding-block-start: 3.75rem;
  padding-bottom: 2.5rem;
  -webkit-padding-after: 2.5rem;
  padding-block-end: 2.5rem;
}
.footer__inner {
  width: min(67.5rem, 100%);
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-inline: 2.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}
.footer__title {
  margin-bottom: 2.5rem;
  -webkit-margin-after: 2.5rem;
  margin-block-end: 2.5rem;
}
.footer__company__ja {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  text-align: left;
}
.footer__company__en {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
}
.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3.75rem;
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
  padding-bottom: 3.625rem;
  -webkit-padding-after: 3.625rem;
  padding-block-end: 3.625rem;
}
.footer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.5rem;
}
[dir="ltr"] .footer__list {
  padding-left: 1rem;
}
.footer__list:dir(ltr) {
  padding-left: 1rem;
}
[dir="rtl"] .footer__list {
  padding-right: 1rem;
}
.footer__list:dir(rtl) {
  padding-right: 1rem;
}
.footer__list {
  -webkit-padding-start: 1rem;
  padding-inline-start: 1rem;
}
.footer__list__head {
  position: relative;
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 900;
  line-height: 140%;
  margin-bottom: 0.25rem;
  -webkit-margin-after: 0.25rem;
  margin-block-end: 0.25rem;
}
.footer__list__head::before {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 1.25rem;
  background: #c7161d;
  left: -1rem;
  top: 0;
}
.footer__list__item {
  color: #464646;
  color: var(--464646, #464646);
  font-family: "Zen Kaku Gothic New";
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  white-space: nowrap;
}
.footer__list__item span {
  font-size: 0.75rem;
}
.footer__bottom {
  padding-top: 2.375rem;
  -webkit-padding-before: 2.375rem;
  padding-block-start: 2.375rem;
  border-top: 0.0625rem solid #000;
  text-align: center;
}
.footer__logo {
  width: 15.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-bottom: 1rem;
  -webkit-margin-after: 1rem;
  margin-block-end: 1rem;
}
.footer__copyright {
  display: block;
  color: #464646;
  color: var(--464646, #464646);
  text-align: center;
  font-family: Alata;
  font-size: 0.625rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
.page-top {
  position: fixed;
  right: 18.75rem;
  bottom: 7.75rem;
  z-index: 100;
  padding: 0;
  border: none;
  background: 0 0;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(12px);
  transform: translateY(12px);
  -webkit-transition:
    opacity 0.3s,
    visibility 0.3s,
    -webkit-transform 0.3s;
  transition:
    opacity 0.3s,
    visibility 0.3s,
    -webkit-transform 0.3s;
  transition:
    opacity 0.3s,
    visibility 0.3s,
    transform 0.3s;
  transition:
    opacity 0.3s,
    visibility 0.3s,
    transform 0.3s,
    -webkit-transform 0.3s;
}
.page-top svg {
  display: block;
  width: 3.125rem;
  height: auto;
}
.page-top svg .btn-circle {
  fill: #fff;
  stroke: #464646;
  -webkit-transition:
    fill 0.3s,
    stroke 0.3s;
  transition:
    fill 0.3s,
    stroke 0.3s;
}
.page-top svg .btn-arrow {
  fill: #464646;
  -webkit-transition: fill 0.3s;
  transition: fill 0.3s;
}
.page-top:hover .btn-circle {
  fill: #464646;
  stroke: #fff;
}
.page-top:hover .btn-arrow {
  fill: #fff;
}
.page-top.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.fixed-btn-area {
  position: fixed;
  bottom: -0.0625rem;
  left: 0;
  width: 100%;
  background: #353535;
  padding: 0.5rem 0 0.75rem;
  z-index: 100;
  height: 5.3125rem;
}
.fixed-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}
.fixed-btn a {
  display: block;
  width: 100%;
}
.fixed-btn img {
  position: absolute;
  width: 27.25rem;
  top: -1.5625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.fixed-btn-area {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.fixed-btn-area.is-show {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.1333333333vw;
  }
  .inner {
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .fv__inner {
    top: 4.2666666667vw;
  }
  .fv__logo {
    width: 41.0666666667vw;
  }
  .fv__title {
    font-size: 10.1333333333vw;
    letter-spacing: -0.2933333333vw;
    margin-top: 6.4vw;
    -webkit-margin-before: 6.4vw;
    margin-block-start: 6.4vw;
  }
  .fv__title span {
    font-size: 6.4vw;
  }
  .fv__container__bottom {
    margin-top: 28.6666666667vw;
    -webkit-margin-before: 28.6666666667vw;
    margin-block-start: 28.6666666667vw;
  }
  .fv__contents__left {
    row-gap: 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    bottom: -37.3333333333vw;
    left: -43.0666666667vw;
  }
  .fv__text {
    font-size: 7.7333333333vw;
    width: 39.6vw;
    margin-left: 0;
    margin-right: 0;
    margin-inline: 0;
    text-align: left;
    letter-spacing: -0.1066666667vw;
  }
  .fv__text span {
    color: #fff;
    color: var(--ffffff, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 6.4vw;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
  }
  .fv__img {
    width: 44.8vw;
  }
  .fv__decoration {
    width: 67.6vw;
    left: -9.0666666667vw;
    bottom: -47.0666666667vw;
  }
  .cta {
    padding-top: 0.75rem;
    -webkit-padding-before: 0.75rem;
    padding-block-start: 0.75rem;
    padding-bottom: 1.5rem;
    -webkit-padding-after: 1.5rem;
    padding-block-end: 1.5rem;
  }
  .cta__fv {
    margin-top: 0;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
  .cta__inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .cta__container {
    width: 100%;
  }
  .cta__button__lead {
    row-gap: 0.75rem;
    margin-bottom: -3.4375rem;
    -webkit-margin-after: -3.4375rem;
    margin-block-end: -3.4375rem;
  }
  .cta__lead__text {
    font-size: 1.5rem;
  }
  .cta__lead__text2 {
    line-height: 140%;
  }
  .cta__button {
    width: 44.6875rem;
    margin-left: -0.6875rem;
  }
  .cta__button img {
    width: 100%;
  }
  .plan {
    padding-bottom: 8.875rem;
    -webkit-padding-after: 8.875rem;
    padding-block-end: 8.875rem;
  }
  .plan__inner {
    width: 100%;
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
  }
  .plan__lead {
    font-size: 1.25rem;
  }
  .plan__titles {
    margin-top: 15.6875rem;
    -webkit-margin-before: 15.6875rem;
    margin-block-start: 15.6875rem;
  }
  .plan__titles svg {
    width: 100%;
    top: -10.625rem;
  }
  .plan__title {
    font-size: 9rem;
    -webkit-text-stroke-width: 0.125rem;
    letter-spacing: 0.145rem;
    margin-top: -2.1875rem;
    -webkit-margin-before: -2.1875rem;
    margin-block-start: -2.1875rem;
  }
  .plan__subtitle {
    margin-top: 1rem;
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
    margin-bottom: 7.0625rem;
    -webkit-margin-after: 7.0625rem;
    margin-block-end: 7.0625rem;
  }
  .plan__subtitle span {
    font-size: 4rem;
    padding: 0.625rem 0.9375rem 0.75rem;
    letter-spacing: -0.0625rem;
  }
  .plan__cards {
    row-gap: 2rem;
    padding-top: 1.8125rem;
    -webkit-padding-before: 1.8125rem;
    padding-block-start: 1.8125rem;
  }
  .plan__card {
    padding-top: 0;
    padding-bottom: 6rem;
  }
  .plan__number1 {
    font-size: 2rem;
    width: 3.5rem;
    height: 3.5rem;
    top: -1.8125rem;
  }
  .plan__number2 {
    font-size: 2rem;
    width: 3.5rem;
    height: 3.5rem;
    top: -2.0625rem;
  }
  .plan__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
  }
  .plan__left {
    width: 100%;
    display: contents;
  }
  .plan__main-image {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .plan__thumbs {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    -webkit-column-gap: 0.875rem;
    -moz-column-gap: 0.875rem;
    column-gap: 0.875rem;
    margin-top: 2.5rem;
  }
  .plan__thumb-image {
    width: 12.75rem;
  }
  .plan__right {
    width: 100%;
    display: contents;
  }
  .plan__price-label {
    font-size: 2rem;
    padding: 0.5rem 1rem 0.75rem;
  }
  .plan__price-row {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 100%;
    padding-left: 6rem;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 2rem;
    -webkit-margin-after: 2rem;
    margin-block-end: 2rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .plan__price-num {
    font-size: 6.625rem;
    letter-spacing: -0.1325rem;
  }
  .plan__tax {
    font-size: 1.625rem;
  }
  .plan__price-unit {
    font-size: 2.5rem;
    margin-bottom: 0.4375rem;
    -webkit-margin-after: 0.4375rem;
    margin-block-end: 0.4375rem;
    margin-left: 0.4375rem;
  }
  .plan__spec {
    width: 11.375rem;
    white-space: nowrap;
  }
  .plan__spec-bottom,
  .plan__spec-top {
    font-size: 3rem;
    padding: 0.75rem 1.125rem 1rem;
  }
  .plan__info {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
    width: 100%;
    margin-top: 0.5rem;
    -webkit-margin-before: 0.5rem;
    margin-block-start: 0.5rem;
  }
  .plan__info-row {
    -webkit-column-gap: 0.75rem;
    -moz-column-gap: 0.75rem;
    column-gap: 0.75rem;
    padding-top: 2rem;
    -webkit-padding-before: 2rem;
    padding-block-start: 2rem;
    padding-bottom: 0.875rem;
    -webkit-padding-after: 0.875rem;
    padding-block-end: 0.875rem;
  }
  .plan__info-row dt {
    font-size: 2rem;
    width: 11.5rem;
    letter-spacing: 0.1rem;
  }
  .plan__info-row dd {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
  .plan__info-polygon {
    width: 1.875rem;
    height: 1.375rem;
  }
  .plan__caution {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
    font-size: 1.25rem;
    margin-top: 2.75rem;
    -webkit-margin-before: 2.75rem;
    margin-block-start: 2.75rem;
  }
  .plan__thumb-image {
    width: 13.25rem;
  }
  .plan__modal__inner {
    width: calc(100vw - 2rem);
    padding-bottom: 16.25rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .plan__modal__close {
    top: -5rem;
    right: 2.5rem;
  }
  .plan__modal__close svg {
    width: 2.5rem;
    height: 2.5rem;
  }
  .plan__modal__slide {
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
    width: 100%;
  }
  .plan__modal__nav {
    margin-top: 3rem;
  }
  .plan__modal__next svg,
  .plan__modal__prev svg {
    width: 6rem;
    height: 6rem;
  }
  .plan__modal__cta-area {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
    padding: 1rem 0 1.5rem;
    height: 11rem;
  }
  .plan__modal__cta-area a {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .plan__modal__cta {
    position: relative;
  }
  .plan__modal__cta a {
    max-width: none;
    width: 100%;
  }
  .plan__modal__cta img {
    position: absolute;
    width: 95%;
    top: -3.25rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .plan__modal__pagination .swiper-pagination-current {
    font-size: 3rem;
  }
  .plan__modal__pagination__separator {
    font-size: 1.875rem;
  }
  .plan__modal__pagination .swiper-pagination-total {
    font-size: 2rem;
  }
  .plan__catch {
    font-size: 2.5rem;
    line-height: 115%;
    margin-top: -0.125rem;
    -webkit-margin-before: -0.125rem;
    margin-block-start: -0.125rem;
  }
  .plan__catch-highlight {
    display: inline-block;
    font-size: 4.5rem;
    line-height: 115%;
    text-decoration-thickness: 10%;
    text-underline-offset: -5%;
    margin-bottom: 1.5rem;
  }
  .present {
    padding-top: 6rem;
    -webkit-padding-before: 6rem;
    padding-block-start: 6rem;
    padding-bottom: 7.5rem;
    -webkit-padding-after: 7.5rem;
    padding-block-end: 7.5rem;
  }
  .section__title svg {
    width: 100%;
  }
  .present__titles svg {
    width: 100%;
  }
  .present__title {
    font-size: 9rem;
    letter-spacing: -0.18rem;
    margin-top: 8.375rem;
    -webkit-margin-before: 8.375rem;
    margin-block-start: 8.375rem;
    -webkit-text-stroke-width: 2px;
  }
  .present__subtitle span {
    font-size: 3rem;
    padding: 0.25rem 1rem 0.5rem;
  }
  .present__img {
    width: 38.875rem;
    margin-top: 5.1875rem;
    -webkit-margin-before: 5.1875rem;
    margin-block-start: 5.1875rem;
    margin-bottom: 0.3125rem;
    -webkit-margin-after: 0.3125rem;
    margin-block-end: 0.3125rem;
  }
  .button__lead__text {
    font-size: 1.75rem;
  }
  .present__button img {
    width: 100%;
  }
  .case {
    padding-top: 6rem;
    -webkit-padding-before: 6rem;
    padding-block-start: 6rem;
    padding-bottom: 7.1875rem;
    -webkit-padding-after: 7.1875rem;
    padding-block-end: 7.1875rem;
  }
  .case__inner {
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
  }
  .case__title {
    font-size: 9rem;
    letter-spacing: 0.45rem;
    margin-top: 8.375rem;
    -webkit-margin-before: 8.375rem;
    margin-block-start: 8.375rem;
  }
  .case__subtitle span {
    font-size: 4rem;
    padding: 0.5rem 1rem 0.75rem;
  }
  .case__head {
    margin-top: 6rem;
    -webkit-margin-before: 6rem;
    margin-block-start: 6rem;
  }
  .case__head-main {
    font-size: 4.25rem;
    line-height: 115%;
    letter-spacing: 0;
  }
  .case__head-sub {
    font-size: 2.5rem;
    margin-top: 1.25rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }
  .case__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 3.8125rem;
  }
  .case__img {
    width: 100%;
  }
  .case__lists {
    row-gap: 2.875rem;
    width: 100%;
    margin-top: 0;
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
  [dir="ltr"] .case__list {
    padding-left: 1.5rem;
  }
  .case__list:dir(ltr) {
    padding-left: 1.5rem;
  }
  [dir="rtl"] .case__list {
    padding-right: 1.5rem;
  }
  .case__list:dir(rtl) {
    padding-right: 1.5rem;
  }
  .case__list {
    -webkit-column-gap: 2.875rem;
    -moz-column-gap: 2.875rem;
    column-gap: 2.875rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-top: 0;
    -webkit-padding-before: 0;
    padding-block-start: 0;
    padding-bottom: 1.4375rem;
    -webkit-padding-after: 1.4375rem;
    padding-block-end: 1.4375rem;
    -webkit-padding-start: 1.5rem;
    padding-inline-start: 1.5rem;
    border-top: none;
    border-bottom: 1px solid #dcdbd8;
    border-left: 1px solid #dcdbd8;
  }
  .case__list::before {
    -webkit-transform: none;
    transform: none;
    top: 0;
    width: 0.5rem;
    height: 2rem;
  }
  .case__number {
    font-size: 1.75rem;
    letter-spacing: 0;
  }
  .case__text {
    font-size: 2rem;
    line-height: 140%;
    margin-top: -1.1875rem;
    -webkit-margin-before: -1.1875rem;
    margin-block-start: -1.1875rem;
  }
  .case__quote {
    font-size: 3.5rem;
    letter-spacing: 0.35rem;
  }
  .case__highlight {
    font-size: 2.5rem;
    line-height: 140%;
  }
  .cta2 {
    padding-top: 1.5rem;
    -webkit-padding-before: 1.5rem;
    padding-block-start: 1.5rem;
    padding-bottom: 2.1875rem;
    -webkit-padding-after: 2.1875rem;
    padding-block-end: 2.1875rem;
  }
  .cta2__inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .cta2__container {
    width: 100%;
  }
  .cta2__button {
    width: 44.625rem;
    margin-left: -0.75rem;
    margin-top: -0.3125rem;
  }
  .cta2__button img {
    width: 44.625rem;
  }
  .solutions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 2.5rem;
    -webkit-padding-after: 2.5rem;
    padding-block-end: 2.5rem;
    position: relative;
  }
  .solutions::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 750/1520;
    z-index: -1;
  }
  .solutions__bg {
    display: none;
  }
  .solutions__decoration {
    position: static;
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 1.25rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
  }
  .solutions__inner {
    display: contents;
  }
  .solutions__container {
    display: contents;
  }
  .solutions__contents {
    padding-top: 5rem;
    -webkit-padding-before: 5rem;
    padding-block-start: 5rem;
    position: static;
    width: 100%;
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
    top: 0;
    left: 0;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .solutions__contents::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 54.25rem;
    background: #767676;
    z-index: -1;
  }
  .solutions__bubble {
    width: 35.5rem;
  }
  .solutions__lists {
    margin-top: 1.25rem;
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    row-gap: 1.75rem;
  }
  .solutions__list {
    -webkit-column-gap: 2.375rem;
    -moz-column-gap: 2.375rem;
    column-gap: 2.375rem;
    width: 100%;
  }
  .solutions__list:first-child {
    border-bottom: 2px solid #9b9b9b;
    padding-bottom: 1.625rem;
    -webkit-padding-after: 1.625rem;
    padding-block-end: 1.625rem;
  }
  .solutions__list__head {
    width: 3.5rem;
    margin-left: -1.375rem;
    margin-top: 0.6875rem;
    -webkit-margin-before: 0.6875rem;
    margin-block-start: 0.6875rem;
  }
  .solutions__list__text {
    font-size: 2rem;
    white-space: nowrap;
  }
  .solutions__text__lg {
    font-size: 2.5rem;
    white-space: nowrap;
  }
  .solutions__quote {
    font-size: 3.5rem;
  }
  .solutions__text__sm {
    font-size: 2rem;
  }
  .solutions__lead {
    width: 17rem;
    padding: 1.5rem 3.5rem;
    font-size: 2rem;
    border-radius: 12.5rem;
    margin-top: 4.1875rem;
    -webkit-margin-before: 4.1875rem;
    margin-block-start: 4.1875rem;
  }
  .solutions__img {
    width: 32.75rem;
  }
  .solutions__note {
    font-size: 1.25rem;
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    width: auto;
    top: 0.3125rem;
    left: 0;
    text-align: left;
  }
  .service {
    padding-top: 6.125rem;
    -webkit-padding-before: 6.125rem;
    padding-block-start: 6.125rem;
    padding-bottom: 7.625rem;
    -webkit-padding-after: 7.625rem;
    padding-block-end: 7.625rem;
  }
  .service__inner {
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
    width: 100%;
  }
  .service__subtitle span {
    font-size: 3rem;
    padding: 0.25rem 0.5rem 0.5rem;
  }
  .service__cards {
    row-gap: 5.1875rem;
  }
  .service__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding: 1.5rem 1.5rem 2.75rem;
  }
  .buttonservice__card2 {
    padding: 1.5rem 1.5rem 1.75rem;
  }
  .service__contents__left {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-inline: 1rem;
  }
  .service__head {
    margin-top: 2.5rem;
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    -webkit-column-gap: 1.8125rem;
    -moz-column-gap: 1.8125rem;
    column-gap: 1.8125rem;
  }
  .service__head::after {
    height: 5rem;
    top: -0.3125rem;
    left: 2.8125rem;
  }
  .service__number {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
  .service__title {
    font-size: 3rem;
    margin-top: 1.4375rem;
    -webkit-margin-before: 1.4375rem;
    margin-block-start: 1.4375rem;
  }
  .service__title3 {
    letter-spacing: -0.3125rem;
  }
  .service__text {
    font-size: 2rem;
    margin-top: 1.5rem;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
  }
  .service__contents__right {
    width: 100%;
  }
  .service__swiper-container {
    width: 100%;
  }
  .service__swiper-main {
    width: 100%;
  }
  .service__swiper-slide {
    width: 100%;
  }
  .service__swiper-slide img {
    width: 100%;
  }
  .service__swiper-next,
  .service__swiper-prev {
    top: 12.5rem;
    width: 6rem;
    height: 6rem;
  }
  .service__swiper-prev {
    left: -3.4375rem;
  }
  .service__swiper-next {
    right: -3.4375rem;
  }
  .service__caption {
    margin-top: 1.5rem;
    -webkit-margin-before: 1.5rem;
    margin-block-start: 1.5rem;
    margin-bottom: 2.375rem;
    -webkit-margin-after: 2.375rem;
    margin-block-end: 2.375rem;
    font-size: 2rem;
  }
  .service__thumbs {
    width: 100%;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-block: 1.5rem;
  }
  .service__thumbs .swiper-slide {
    width: 9.25rem;
  }
  .service__thumbs img {
    aspect-ratio: 37/24;
    width: 9.25rem;
    height: 6rem;
  }
  .service__cautionary {
    font-size: 1.25rem;
    margin-top: 2.375rem;
    -webkit-margin-before: 2.375rem;
    margin-block-start: 2.375rem;
  }
  .service__contents__img {
    width: 100%;
  }
  .cta3 {
    padding-top: 1rem;
    -webkit-padding-before: 1rem;
    padding-block-start: 1rem;
    padding-bottom: 2.3125rem;
    -webkit-padding-after: 2.3125rem;
    padding-block-end: 2.3125rem;
  }
  .cta3__inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .cta3__container {
    width: 100%;
  }
  .cta3__button {
    width: 44.625rem;
    margin-left: -0.75rem;
    margin-top: 0.3125rem;
  }
  .cta3__button img {
    width: 100%;
  }
  .reason {
    padding-top: 6rem;
    -webkit-padding-before: 6rem;
    padding-block-start: 6rem;
    padding-bottom: 8.25rem;
    -webkit-padding-after: 8.25rem;
    padding-block-end: 8.25rem;
  }
  .reason__inner {
    width: 100%;
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
  }
  .reason__head__sub {
    font-size: 2.5rem;
    line-height: 130%;
    letter-spacing: 0.125rem;
  }
  .reason__head__main {
    font-size: 4.5rem;
    line-height: 130%;
  }
  .reason__cards {
    row-gap: 0;
  }
  .reason__card__head svg {
    width: 100%;
    top: -7.5rem;
  }
  .reason__card__head {
    width: 41.625rem;
    margin-left: 0;
  }
  .reason__card__head svg {
    width: 100%;
  }
  .reason__card__titles {
    margin-top: 13.5rem;
    -webkit-margin-before: 13.5rem;
    margin-block-start: 13.5rem;
  }
  .reason__card__number {
    font-size: 3rem;
    margin-bottom: 1.75rem;
    -webkit-margin-after: 1.75rem;
    margin-block-end: 1.75rem;
  }
  .reason__card__title {
    font-size: 5rem;
    line-height: 120%;
    padding-bottom: 4rem;
    -webkit-padding-after: 4rem;
    padding-block-end: 4rem;
  }
  .reason__card__title::after {
    width: 100%;
    height: 0.125rem;
  }
  .reason__card:nth-child(2) .reason__card__title {
    padding-bottom: 3.9375rem;
    -webkit-padding-after: 3.9375rem;
    padding-block-end: 3.9375rem;
  }
  .reason__card:nth-child(3) .reason__card__title {
    padding-bottom: 3.75rem;
    -webkit-padding-after: 3.75rem;
    padding-block-end: 3.75rem;
  }
  .reason__quote {
    font-size: 6.5rem;
    letter-spacing: 0.65rem;
  }
  .reason__small {
    font-size: 3rem;
    line-height: 120%;
    white-space: nowrap;
  }
  .reason__card__contents {
    margin-top: 4rem;
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }
  .reason__card__text {
    font-size: 2rem;
    text-align: left;
    font-weight: 500;
  }
  .reason__card__text2 {
    font-size: 1.25rem;
    text-align: left;
    margin-top: 2.625rem;
    -webkit-margin-before: 2.625rem;
    margin-block-start: 2.625rem;
  }
  .reason__highlight {
    font-size: 2rem;
    font-weight: 900;
  }
  .reason__highlight3 {
    letter-spacing: 0.10625rem;
    font-size: 2rem;
  }
  .reason__card__img {
    margin-top: 4rem;
    -webkit-margin-before: 4rem;
    margin-block-start: 4rem;
  }
  .reason__card__img3 {
    margin-top: 3.5625rem;
    -webkit-margin-before: 3.5625rem;
    margin-block-start: 3.5625rem;
  }
  .contact {
    padding-top: 6.25rem;
    -webkit-padding-before: 6.25rem;
    padding-block-start: 6.25rem;
    padding-bottom: 7.5rem;
    -webkit-padding-after: 7.5rem;
    padding-block-end: 7.5rem;
  }
  .contact__inner {
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
  }
  .contact__lead {
    margin-bottom: 4.6875rem;
    -webkit-margin-after: 4.6875rem;
    margin-block-end: 4.6875rem;
  }
  .contact__lead span {
    font-size: 3rem;
    line-height: 100%;
    padding: 0.25rem 1rem 0.375rem;
  }
  .contact__contents__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .contact__img {
    width: 100%;
  }
  .contact__lists {
    width: 100%;
    row-gap: 5rem;
    margin-top: 4.25rem;
    -webkit-margin-before: 4.25rem;
    margin-block-start: 4.25rem;
  }
  [dir="ltr"] .contact__list {
    padding-left: 2.0625rem;
  }
  .contact__list:dir(ltr) {
    padding-left: 2.0625rem;
  }
  [dir="rtl"] .contact__list {
    padding-right: 2.0625rem;
  }
  .contact__list:dir(rtl) {
    padding-right: 2.0625rem;
  }
  .contact__list {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    -webkit-padding-start: 2.0625rem;
    padding-inline-start: 2.0625rem;
  }
  .contact__list::after {
    bottom: -2.3125rem;
  }
  .contact__list__tag img {
    width: 9rem;
  }
  .contact__list__text {
    font-size: 2.25rem;
  }
  .contact__contents__bottom {
    margin-top: 20.25rem;
    -webkit-margin-before: 20.25rem;
    margin-block-start: 20.25rem;
  }
  .contact__contents__decoration {
    width: 4rem;
    top: -14.1875rem;
  }
  .contact__sub__title {
    font-size: 2rem;
    margin-bottom: 1.8125rem;
    -webkit-margin-after: 1.8125rem;
    margin-block-end: 1.8125rem;
    letter-spacing: 0.00625rem;
    margin-left: 1.375rem;
  }
  .contact__sub__title::before {
    width: 0.0625rem;
    height: 2.5rem;
    top: 0.25rem;
    left: calc(50% - 17rem);
    rotate: -33deg;
  }
  .contact__sub__title::after {
    width: 0.0625rem;
    height: 2.5rem;
    top: 0.25rem;
    right: calc(50% - 16rem);
    rotate: 33deg;
  }
  .contact__head-main {
    font-size: 4rem;
    line-height: 1.2;
  }
  .contact__head-sub {
    font-size: 2.5rem;
    margin-top: 0.625rem;
    -webkit-margin-before: 0.625rem;
    margin-block-start: 0.625rem;
  }
  .footer {
    padding-top: 6rem;
    -webkit-padding-before: 6rem;
    padding-block-start: 6rem;
    padding-bottom: 4rem;
    -webkit-padding-after: 4rem;
    padding-block-end: 4rem;
  }
  .footer__inner {
    width: 100%;
    padding-left: 2.625rem;
    padding-right: 2.625rem;
    padding-inline: 2.625rem;
  }
  .footer__title {
    margin-bottom: 3.125rem;
    -webkit-margin-after: 3.125rem;
    margin-block-end: 3.125rem;
  }
  .footer__company__ja {
    font-size: 2.5rem;
  }
  .footer__company__en {
    font-size: 1.75rem;
  }
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 3rem;
    padding-bottom: 7.1875rem;
    -webkit-padding-after: 7.1875rem;
    padding-block-end: 7.1875rem;
  }
  .footer__lists {
    row-gap: 3rem;
  }
  [dir="ltr"] .footer__list {
    padding-left: 2rem;
  }
  .footer__list:dir(ltr) {
    padding-left: 2rem;
  }
  [dir="rtl"] .footer__list {
    padding-right: 2rem;
  }
  .footer__list:dir(rtl) {
    padding-right: 2rem;
  }
  .footer__list {
    -webkit-padding-start: 2rem;
    padding-inline-start: 2rem;
  }
  .footer__list__head {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    -webkit-margin-after: 0.5rem;
    margin-block-end: 0.5rem;
  }
  .footer__list__head::before {
    width: 1rem;
    height: 2.5rem;
    left: -2rem;
  }
  .footer__list__item {
    font-size: 2rem;
  }
  .footer__list__item span {
    font-size: 1.5rem;
  }
  .footer__bottom {
    padding-top: 4rem;
    -webkit-padding-before: 4rem;
    padding-block-start: 4rem;
  }
  .footer__logo {
    width: 31rem;
    margin-bottom: 2.5rem;
    -webkit-margin-after: 2.5rem;
    margin-block-end: 2.5rem;
  }
  .footer__copyright {
    font-size: 1.25rem;
  }
  .page-top {
    right: 3.125rem;
    bottom: 12.5rem;
  }
  .page-top svg {
    width: 6.25rem;
  }
  .fixed-btn-area {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
    padding: 1.5rem 0 1.5rem;
    height: 11rem;
  }
  .fixed-btn-area a {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-inline: 1.5rem;
  }
  .fixed-btn {
    position: relative;
  }
  .fixed-btn a {
    max-width: none;
    width: 100%;
  }
  .fixed-btn img {
    position: absolute;
    width: 95%;
    top: -3.625rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .solutions__contents {
    padding-left: 1.3125rem;
    padding-right: 1.3125rem;
    padding-inline: 1.3125rem;
  }
  .solutions__bubble {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .sp-br {
    display: block;
  }
}
@media screen and (max-width: 767px) and (max-width: 620px) {
  .service__swiper-prev {
    left: -2.8125rem;
  }
  .service__swiper-next {
    right: -2.8125rem;
  }
}
/* ==============================
   Form Styles (ported from lp-999)
   ============================== */
.contact__form {
  width: min(67.5rem, 100%);
  margin: 3.75rem auto 0;
  font-family: "Zen Kaku Gothic New";
}
.contact__form-container {
  background: #eeeeee;
  padding: 4.556rem 4.944rem;
}
.contact__form-body {
  padding: 2.5rem;
  background: #fff;
}
.contact__form-group {
  margin-bottom: 0.5rem;
}
.contact__form-group__head {
  border-bottom: 0.208rem solid #000;
  padding: 0.4rem 0.3rem;
}
.contact__form-group__head-text {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
}
.contact__form-group__head-small {
  font-size: 0.74rem;
  font-weight: 700;
  margin-left: 1.389rem;
  vertical-align: middle;
}
.contact__required {
  color: #fff;
  background: #c80a14;
  font-size: 0.833rem;
  line-height: 2.16667;
  font-weight: 500;
  padding: 0.2rem 0.347rem 0.239rem 0.347rem;
  vertical-align: middle;
  position: relative;
  top: -0.139rem;
  margin-left: 0.694rem;
}
.contact__form-group__inner {
  display: flex;
  padding: 1rem 0 2rem;
}
.contact__form-item {
  width: 100%;
  text-align: center;
}
.contact__form-item dl {
  display: flex;
  padding: 0.486rem;
}
.contact__form-item dt {
  color: #1c3738;
  font-size: 0.75rem;
  line-height: 1.85714;
  font-weight: 700;
  width: 5.944rem;
  display: flex;
  align-items: center;
}
.contact__form-item dd {
  width: 22rem;
  display: flex;
  justify-content: space-between;
}
.contact__form-item__half {
  width: calc(50% - 0.694rem);
}
.contact__form-item__notice-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.contact__form-item__notice {
  width: auto;
  padding-left: 0.4rem;
  font-size: 0.6rem;
  line-height: 1.66667;
  white-space: nowrap;
}
.contact__input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 700;
  border: none;
  box-shadow: 0 0 0 0.15rem #c9c9c9 inset;
  border-radius: unset;
  font-size: 0.75rem;
  line-height: 1;
  width: 100%;
  height: 2.7rem;
  padding: 0.694rem;
}
.contact__input:focus {
  outline: 0;
  box-shadow: 0 0 0 0.208rem #d94040 inset;
}
.contact__input::placeholder {
  color: #c9c9c9;
}
.contact__textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 700;
  border: none;
  box-shadow: 0 0 0 0.15rem #c9c9c9 inset;
  border-radius: unset;
  font-size: .835rem;
  line-height: 1.375;
  resize: none;
  width: 98%;
  height: 14em;
  padding: 1rem 1.8rem;
}
.contact__textarea:focus {
  outline: 0;
  box-shadow: 0 0 0 0.208rem #d94040 inset;
}
.contact__textarea::placeholder {
  color: #c9c9c9;
}
.contact__form-privacy {
  padding: 0 5%;
}
.contact__form-privacy a {
  color: inherit;
  border-bottom: 1px solid #000;
}
.contact__form-privacy a:hover {
  color: #c80a14;
}
.contact__form-privacy__text {
  font-size: 0.68rem;
  line-height: 1.38462;
  letter-spacing: 0;
  padding: 0.278rem 0;
}
.contact__form-submit {
  padding: 2.778rem 0;
  text-align: center;
}
.contact__submit-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: unset;
  color: #fff;
  font-size: .835rem;
  line-height: 1.875;
  width: 22.778rem;
  padding: 0.694rem 0;
  display: inline-block;
  background: #c80a14;
  border: none;
  cursor: pointer;
  font-weight: 700;
  transition: opacity 0.3s;
}
.contact__submit-btn:hover {
  opacity: 0.8;
}
.contact__form-warn {
  padding: 1.389rem;
}
.u-disabled {
  box-shadow: none !important;
  background: none !important;
}
.u-no-spin::-webkit-inner-spin-button,
.u-no-spin::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance: textfield;
}
/* Validation Engine overrides */
.formError {
  opacity: 1 !important;
}
.formError .formErrorContent {
  background: #c80a14;
  border-radius: unset;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
}
.formError .formErrorArrow div {
  background: #c80a14;
}

/* SP (max-width: 767px) */
@media screen and (max-width: 767px) {
  .contact__form {
    width: 100%;
  }
  .contact__form-container {
    padding: 2rem 1rem;
  }
  .contact__form-body {
    padding: 2rem 1rem;
  }
  .contact__form-group__head {
    border-bottom-width: 0.15rem;
    padding: 0.5rem .5rem;
  }
  .contact__form-group__head-text {
    font-size: 2rem;
    line-height: 1.33333;
  }
  .contact__form-group__head-small {
    font-size: 1.25rem;
    line-height: 1.2;
    margin-left: 0;
    display: block;
    margin-top: 0.5rem;
  }
  .contact__required {
    font-size: 1.5rem;
    padding: 0.4rem 0.547rem 0.439rem 0.547rem;
  }
  .contact__form-group__inner {
    flex-wrap: wrap;
    padding: 1rem 0 1.5rem;
  }
  .contact__form-item dl {
    padding: 0.4rem;
  }
  .contact__form-item dt {
    display: none;
  }
  .contact__form-item dd {
    width: 100%;
    max-width: 100%;
  }
  .contact__form-item__half {
    width: calc(50% - 0.75rem);
  }
  .contact__form-item__notice {
    font-size: 1.3rem;
    padding-left: 0.75rem;
  }
  .contact__input {
    box-shadow: 0 0 0 0.15rem #c9c9c9 inset;
    font-size: 1.6rem;
    line-height: 0.92857;
    height: 4.5rem;
    padding: 0.5rem;
  }
  .contact__input:focus {
    box-shadow: 0 0 0 0.15rem #d94040 inset;
  }
  .contact__textarea {
    box-shadow: 0 0 0 0.15rem #c9c9c9 inset;
    font-size: 1.5rem;
    line-height: 1.14286;
    padding: 1.5rem 1rem;
  }
  .contact__textarea:focus {
    box-shadow: 0 0 0 0.15rem #d94040 inset;
  }
  .contact__form-privacy__text {
    font-size: 1.2rem;
    line-height: 1.5;
    padding: 0.375rem 0;
  }
  .contact__form-submit {
    padding: 2rem 0;
  }
  .contact__submit-btn {
    font-size: 1.5rem;
    line-height: 2.75;
    width: 80%;
    padding: 0.5rem 0;
  }
  .formError {
    left: 0 !important;
  }
}
/*# sourceMappingURL=../maps/page/top.min.css.map */
