@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: all-round-gothic-demi;
  src: url("../public/fonts/all-round-gothic-demi.woff");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
html {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 10px;
  color: #000;
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}
@media screen and (max-width: 1024px) {
  html {
    scroll-padding-top: 60px;
  }
}

body {
  position: relative;
}

main {
  background: #e1d8c1;
}

.border {
  border: 1px solid #000;
}
.border--pad {
  padding: 40px 15px;
}

.rad--32 {
  border-radius: 32px;
}
.rad--20 {
  border-radius: 20px;
}
.rad--10 {
  border-radius: 10px;
}
.rad--15 {
  border-radius: 15px;
}
.rad--5 {
  border-radius: 5px;
}

.text {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2em;
}
.text--kome {
  padding-left: 16px;
  display: block;
}
.text--kome::before {
  content: "※";
  font: inherit;
  margin-inline: -20px 4px;
}
.text--kome + .text--kome {
  margin-top: 8px;
}
.text--ctr {
  display: block;
  text-align: center;
}

.text-stroke {
  -webkit-text-stroke: 2px #000;
  paint-order: stroke fill;
}
.text-stroke--thin {
  -webkit-text-stroke-width: 1px;
  paint-order: unset;
}

.fw-black {
  font-weight: 900;
}

.fw-bold {
  font-weight: 700;
}

.ff-all-round {
  font-family: "all-round-gothic-demi", sans-serif;
  letter-spacing: 0.04em;
}

.ff-zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.white {
  color: #fff;
}

.primary {
  color: #ae3014;
}

.yellow-d5 {
  color: #ffebd5;
}

.yellow {
  color: #fff78e;
}

.bg-white {
  background: #fff;
}

.bg-primary {
  background: #ae3014;
}

.bg-red-0e {
  background: #92250e;
}

.bg-green {
  background: #51c955;
}

.bg-yellow {
  background: #fff78e;
}

.bg-gray-87 {
  background: #878787;
}

.bg-gray-e9 {
  background: #e9e9e9;
}

.bg-black {
  background: #000;
}

.shadow {
  -webkit-filter: drop-shadow(4px 4px 0 #000);
          filter: drop-shadow(4px 4px 0 #000);
}
.shadow--x0 {
  -webkit-filter: drop-shadow(0 4px 0 #000);
          filter: drop-shadow(0 4px 0 #000);
}
.shadow--xy5 {
  -webkit-filter: drop-shadow(5px 5px 0 #000);
          filter: drop-shadow(5px 5px 0 #000);
}
.shadow--anima {
  -webkit-box-shadow: 0 0 0 #000;
          box-shadow: 0 0 0 #000;
  -webkit-transform: translate(4px, 4px);
          transform: translate(4px, 4px);
}
.shadow--anima.aos-animate {
  -webkit-box-shadow: 4px 4px 0 #000;
          box-shadow: 4px 4px 0 #000;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.text-shadow {
  text-shadow: 4px 4px #000;
}
.text-shadow--y3 {
  text-shadow: 4px 3px #000;
}

.block {
  display: block;
}

.stack-over-1 {
  position: relative;
  z-index: 1;
}

.content-wrap {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
}
@media screen and (max-width: 1024px) {
  .content-wrap {
    display: block;
    overflow-x: clip;
  }
}

.content {
  margin-top: 84px;
  padding-bottom: 40px;
  position: relative;
  -webkit-box-shadow: 0 0 15px -5px #777;
          box-shadow: 0 0 15px -5px #777;
  background: #e6dfcc;
  /* stylelint-disable-next-line */
  padding-inline: 0;
  margin-inline: auto;
  max-width: 375px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .content {
    margin-top: 0;
    max-width: 400px;
  }
}

.content-side {
  padding-top: 84px;
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 1024px) {
  .content-side {
    display: none;
  }
}

.image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--100 {
  height: 100%;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.banner {
  position: relative;
}
.banner__wrap {
  padding-top: 20px;
  position: absolute;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  width: 624px;
  aspect-ratio: 624/200;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.banner__content {
  position: relative;
  z-index: 1;
}
.banner__title {
  font-size: clamp(23px, 5.545px + 5.455vw, 26px);
  letter-spacing: 0.04em;
}
.banner__subtitle {
  font-size: clamp(18px, 6.364px + 3.636vw, 20px);
  letter-spacing: 0.04em;
}
.banner__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.banner__rays {
  margin: auto;
  position: absolute;
  inset: -10px 0 auto;
  width: 49px;
  height: 19px;
}
.banner__count {
  font-size: 2.4rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.04em;
}

.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-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.title__en {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.title__en--mb8 {
  margin-bottom: 8px;
}
.title__en[data-aos] {
  letter-spacing: -0.5em;
  -webkit-transform: translateZ(-700px);
          transform: translateZ(-700px);
  opacity: 0;
}
.title__en.aos-animate {
  -webkit-animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
          animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
.title__jp {
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  line-height: 1.8181818182em;
  text-align: center;
}
.title__jp--fs-lg {
  margin-top: 8px;
  font-size: 2.8rem;
  line-height: 1.4285714286em;
}
.title__jp--lh44 {
  line-height: 2em;
}
.title__all-round {
  font-size: 4rem;
  letter-spacing: 0.04em;
}

.tagline {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.tagline__text {
  padding: 1px 8px;
  display: block;
  font-size: clamp(18px, -5.273px + 7.273vw, 22px);
  line-height: 2em;
  letter-spacing: 0.04em;
  position: relative;
  text-align: left;
  z-index: 1;
}
.tagline__text--fs-lg {
  font-size: clamp(24px, 0.727px + 7.273vw, 28px);
  line-height: 1.5714285714em;
}
.tagline__text span {
  opacity: 0;
}
.tagline__text.aos-animate span {
  -webkit-animation: fade-in 0.6s linear forwards;
          animation: fade-in 0.6s linear forwards;
  /* stylelint-disable-next-line */
}
.tagline__text.aos-animate span:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.tagline__text.aos-animate span:nth-child(2) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.tagline__text.aos-animate span:nth-child(3) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.tagline__text.aos-animate span:nth-child(4) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.tagline__text.aos-animate span:nth-child(5) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.tagline__text.aos-animate span:nth-child(6) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.tagline__text.aos-animate span:nth-child(7) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.tagline__text.aos-animate span:nth-child(8) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.tagline__text.aos-animate span:nth-child(9) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.tagline__text.aos-animate span:nth-child(10) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.tagline__text.aos-animate span:nth-child(11) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.tagline__text.aos-animate span:nth-child(12) {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
.tagline__text.aos-animate span:nth-child(13) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.tagline__text.aos-animate span:nth-child(14) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.tagline__text.aos-animate span:nth-child(15) {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}
.tagline::after {
  content: "";
  border: 1px solid #000;
  background: #ae3014;
  border-radius: 5px;
  position: absolute;
  top: 3px;
  left: 2px;
  display: block;
  width: 100%;
  height: 100%;
}
.tagline--mb8 {
  margin-bottom: 8px;
}
.tagline--mb12 {
  margin-bottom: 8px;
}

.tagline-group .tagline__text {
  padding-block: 3px;
}
.tagline-group .tagline:first-child .tagline__text {
  border-end-start-radius: 0;
}
.tagline-group .tagline:first-child::before {
  content: "";
  background: #fff;
  width: 95%;
  height: 15%;
  position: absolute;
  bottom: 0.75px;
  left: 0.75px;
  z-index: 2;
}
.tagline-group .tagline:nth-child(2) {
  margin-top: -5px;
}
.tagline-group .tagline:nth-child(2) .tagline__text {
  border-start-start-radius: 0;
}
.tagline-group .tagline--mw316 .tagline__text {
  padding-right: clamp(25px, 7.545px + 5.455vw, 28px);
}
.tagline-group .tagline--mw277 .tagline__text {
  padding-right: 16px;
}
.tagline-group .tagline--mw292 .tagline__text {
  padding-right: 20px;
}
.tagline-group .tagline--mw227 .tagline__text {
  padding-right: 13px;
}
.tagline-group--rays {
  position: relative;
}
.tagline-group--rays::before {
  content: "";
  position: absolute;
  top: -50px;
  right: 0;
  width: 65px;
  height: 38px;
  background: url("../public/img/decors/rays-big.svg") no-repeat center/contain;
}

.button {
  border-radius: 52px;
  padding-inline: 40px;
  position: relative;
  width: 100%;
  height: 65px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .button {
    padding-inline: 20px;
  }
}
.button__text {
  font-size: clamp(18px, -14px + 10vw, 20px);
  letter-spacing: 0.04em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.button__arrow {
  border-radius: 50%;
  position: absolute;
  inset: 0 12px 0 auto;
  margin: auto;
  width: 24px;
  height: 24px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.button__arrow svg {
  width: 8px;
  height: 8px;
}
.button__arrow--img-icon::after {
  content: "";
  width: 8px;
  height: 8px;
  background: url("../public/img/icons/arrow-only.svg") no-repeat center/contain;
  -webkit-transition: inherit;
  transition: inherit;
}
.button__arrow--back {
  inset: 0 auto 0 12px;
}
.button__arrow--back::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.button--sm .button__text {
  font-size: 1.6rem;
}
.button:hover .button__text {
  opacity: 0.3;
}
.button:hover .button__arrow {
  background: #000;
}
.button:hover .button__arrow svg path {
  stroke: #fff;
}
.button:hover .button__arrow--img-icon::after {
  background-image: url("../public/img/icons/arrow-only-white.svg");
}

.button-group {
  position: relative;
  display: grid;
  gap: 16px 15px;
  z-index: 1;
}
.button-group--row {
  grid-template-columns: repeat(2, auto);
  gap: 10px;
}
.button-group--row .button {
  padding-inline: 50px 59px;
  min-width: 155px;
  height: 60px;
}
.button-group--row .button:first-child {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  grid-column: unset;
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
}
@media screen and (max-width: 1024px) {
  .header {
    height: 100%;
    inset: 0;
    padding-block: 16px;
    pointer-events: none;
    /* stylelint-disable-next-line */
    padding-inline: 15px;
    margin-inline: auto;
    max-width: 375px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  pointer-events: auto;
  background: #fff;
  padding: 12px 12px 12px 40px;
}
@media screen and (max-width: 1024px) {
  .header__content {
    padding: 0;
    background: transparent;
  }
}
.header__logo {
  height: 24px;
  aspect-ratio: 166/14;
}
@media screen and (max-width: 1024px) {
  .header__logo {
    height: 14px;
  }
}
.header__hamburger {
  position: relative;
  width: 28px;
  height: 22px;
  cursor: pointer;
}
.header__hamburger.active .header__hamburger-line {
  background: transparent;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.header__hamburger.active .header__hamburger-line::before {
  margin-top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.header__hamburger.active .header__hamburger-line::after {
  margin-top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.header__hamburger-line, .header__hamburger-line::before, .header__hamburger-line::after {
  background: #000;
  content: "";
  position: absolute;
  height: 2px;
  width: 28px;
  margin-top: 10px;
  -webkit-transition: 0.3s ease-in-out 0.3s;
  transition: 0.3s ease-in-out 0.3s;
  border-radius: 4px;
}
.header__hamburger-line::before {
  margin-top: -10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header__hamburger-line::after {
  margin-top: 10px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header__menu {
  position: absolute;
  padding: 46px 15px 34px;
  top: 57px;
  right: calc(-100% - 15px);
  width: calc(100% - 30px);
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  visibility: hidden;
  pointer-events: auto;
}
.header__menu.active {
  right: 15px;
  visibility: visible;
}
.header__nav {
  margin-bottom: 32px;
  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;
  gap: 24px;
}
.header__nav-link {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__nav-link:hover {
  opacity: 0.3;
}

.footer {
  position: absolute;
  inset: auto 0 0;
}
@media screen and (max-width: 1024px) {
  .footer {
    /* stylelint-disable-next-line */
    padding-inline: 0;
    margin-inline: auto;
    max-width: 375px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.footer__copy {
  padding: 6px;
}

.sidenav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1024px) {
  .sidenav {
    display: none;
  }
}

.aside-slider {
  width: 100%;
  height: 100%;
}
.aside-slider__img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-transition: 15s linear;
  transition: 15s linear;
}
.aside-slider__slide.is-active .aside-slider__img {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.form__item:not(:first-child) {
  margin-top: 32px;
}
.form__item--hidden {
  display: none;
}
.form__item--policy {
  position: relative;
}
.form__input-wrap {
  margin-top: 12px;
  position: relative;
  font-size: 1.6rem;
  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.form__input-wrap--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.form__label-req {
  padding: 4px 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.form__label-req:not(.bg-primary) {
  background: #217169;
}
.form__label-text {
  margin-top: -3px;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  line-height: 1.7777777778em;
}
.form__note {
  margin-top: 8px;
}
.form__note::before {
  margin-left: -16px;
}
.form__input {
  padding: 7px 12px;
  border: 1px solid #a8a2a0;
  border-radius: 5px;
  width: 100%;
  font: inherit;
  letter-spacing: inherit;
}
.form__textarea {
  width: 100%;
  height: 160px;
}
.form__policy-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.form__policy-check-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.form__policy-check-link {
  margin-right: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  text-decoration: underline;
}
.form__policy-check-link::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("../public/img/icons/ext-link-red.svg") no-repeat center/contain;
}
.form__button-group {
  margin-top: 40px;
}
.form__radio-list {
  position: relative;
  display: grid;
  grid-template-columns: 52.4fr 47.6fr;
  row-gap: 12px;
}
.form__checkbox-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.form__input-col-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.form__input-col-wrap--w22 {
  width: 22.3%;
}
.form__input-col-wrap--w28 {
  width: 28.6%;
}
.form__select {
  height: 63px;
  font: inherit;
}

.lp-mv {
  padding-bottom: 100px;
  position: relative;
  background: url("../public/img/bg/grid.png") no-repeat bottom/contain, -webkit-gradient(linear, left top, left bottom, color-stop(80%, #f6977a), to(#2f3703));
  background: url("../public/img/bg/grid.png") no-repeat bottom/contain, linear-gradient(to bottom, #f6977a 80%, #2f3703);
  overflow-x: clip;
}
@media screen and (max-width: 1024px) {
  .lp-mv {
    margin-top: 0;
  }
}
.lp-mv__content {
  padding-top: 246px;
}
.lp-mv__note {
  letter-spacing: 0;
}
.lp-mv__main {
  margin-top: 26px;
  position: relative;
  left: -62px;
  min-width: 388px;
}
.lp-mv__title-bar {
  border-radius: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.lp-mv__title-bar--sub1 {
  padding: 7px 20px 9px 77px;
}
.lp-mv__title-bar--big {
  border-radius: 38px;
  padding: 0 18px 2px 77px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  width: 100%;
  margin-top: -6px;
}
.lp-mv__title-bar--sub2 {
  border-color: #fff;
  padding: 7px 20px 10px 139px;
  margin-top: -4px;
}
.lp-mv__year {
  font-size: 2.8rem;
}
.lp-mv__nen {
  margin-right: -3px;
  font-size: 1.6rem;
}
.lp-mv__subtext {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv__text {
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
.lp-mv__price {
  font-size: clamp(56px, 32.727px + 7.273vw, 60px);
  color: #fff78e;
}
.lp-mv__yen-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.lp-mv__yen {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
}
.lp-mv__yen-note {
  margin-bottom: -6px;
  margin-left: -1px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.lp-mv__new {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: -18px;
  left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-mv__new-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.lp-mv__new-content {
  position: relative;
  text-align: center;
  z-index: 1;
}
.lp-mv__new-en {
  font-size: 1rem;
  color: #e38979;
}
.lp-mv__new-jp {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv__info {
  margin-top: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5px;
}
.lp-mv__bbl {
  padding-top: 22px;
  position: relative;
  text-align: center;
  width: 170px;
  aspect-ratio: 1;
  background: url("../public/img/bg/bbl.svg") no-repeat center/cover;
  -webkit-filter: drop-shadow(0 0 30px rgba(19, 19, 19, 0.2));
          filter: drop-shadow(0 0 30px rgba(19, 19, 19, 0.2));
}
.lp-mv__bbl::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  margin: auto;
  inset: 0;
  width: 89.4%;
  height: auto;
  aspect-ratio: 1;
  background: linear-gradient(135deg, transparent 68%, #ffebd5 68%);
}
.lp-mv__bbl-logo {
  margin: auto;
  position: absolute;
  inset: 0 0 auto;
  width: 21px;
  height: 23px;
}
.lp-mv__bbl-logo--sched {
  top: -31px;
}
.lp-mv__bbl-logo--map {
  top: -33px;
}
.lp-mv__bbl-title {
  margin-bottom: 12px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.lp-mv__bbl-text {
  letter-spacing: 0.04em;
}
.lp-mv__bbl-text--year {
  font-size: 2rem;
}
.lp-mv__bbl-text--day, .lp-mv__bbl-text--nen {
  font-size: clamp(11px, -6.455px + 5.455vw, 14px);
}
.lp-mv__bbl-text--dm {
  font-size: clamp(23px, 5.545px + 5.455vw, 26px);
}
.lp-mv__bbl-text--loc-sub {
  margin-bottom: 8px;
  font-size: clamp(10px, -1.636px + 3.636vw, 12px);
  color: #606060;
}
.lp-mv__bbl-text--loc-text {
  font-size: clamp(13px, -4.455px + 5.455vw, 16px);
}
.lp-mv__bbl-sched-text {
  margin-bottom: 2px;
}
.lp-mv__images {
  border-radius: 0 0 188px 188px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  background: url("../public/img/bg/paper.jpg") no-repeat center/cover;
}
.lp-mv__slider-img-wrap {
  width: 100% !important;
  min-width: 375px;
}
.lp-mv__slider-img-shadow {
  width: 100%;
  height: 100%;
  background: url("../public/img/bg/paper.jpg") no-repeat center/cover;
  position: absolute;
  left: 0;
  top: 0;
}
.lp-mv__slider-img-shadow picture {
  mix-blend-mode: multiply;
}
.lp-mv__flower {
  position: absolute;
  top: 132px;
  left: -6px;
  width: 181px;
  height: 89px;
  z-index: 2;
}
.lp-mv__banner {
  top: -20px;
}

.lp-mv2 {
  margin-bottom: 56px;
  position: relative;
  overflow-x: clip;
}
.lp-mv2__content {
  padding-top: 112px;
  width: 100%;
  max-width: 100vw;
  position: relative;
  z-index: 2;
}
.lp-mv2__note {
  letter-spacing: 0;
}
.lp-mv2__main {
  position: relative;
  left: -62px;
  min-width: 388px;
}
.lp-mv2__title {
  position: relative;
}
.lp-mv2__title-divider {
  display: block;
  width: 232px;
  height: 10px;
  position: absolute;
  left: 0;
  bottom: 57px;
  z-index: 1;
}
.lp-mv2__title-bar {
  border-radius: 25px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.lp-mv2__title-bar--sub1 {
  padding: 7px 20px 9px 77px;
  font-size: 2rem;
}
.lp-mv2__title-bar--big {
  border-radius: 42px;
  padding: 0 46px 0 77px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  margin-top: -3px;
  font-size: 6rem;
  color: #fff78e;
  height: 84px;
}
.lp-mv2__title-bar--sub2 {
  padding: 0 24px 0 79px;
  margin-top: -9px;
  font-size: 4.4rem;
  color: #fff78e;
  border-radius: 38px;
  position: relative;
  height: 67px;
}
.lp-mv2__year {
  font-size: 2.8rem;
}
.lp-mv2__nen {
  margin-right: -3px;
  font-size: 1.6rem;
}
.lp-mv2__subtext {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__text {
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__yen-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.lp-mv2__yen {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
}
.lp-mv2__yen-note {
  margin-bottom: -6px;
  margin-left: -1px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.lp-mv2__new {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: -18px;
  left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-mv2__new-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.lp-mv2__new-content {
  position: relative;
  text-align: center;
  z-index: 1;
}
.lp-mv2__new-en {
  font-size: 1rem;
  color: #e38979;
}
.lp-mv2__new-jp {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__lower {
  padding-block: 50px 24px;
}
.lp-mv2__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  max-width: 400px;
  margin-inline: auto;
}
.lp-mv2__bbl {
  padding-top: 22px;
  position: relative;
  text-align: center;
  width: 170px;
  aspect-ratio: 1;
  background: url("../public/img/bg/bbl.svg") no-repeat center/cover;
  -webkit-filter: drop-shadow(0 0 30px rgba(19, 19, 19, 0.2));
          filter: drop-shadow(0 0 30px rgba(19, 19, 19, 0.2));
}
.lp-mv2__bbl::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  margin: auto;
  inset: 0;
  width: 89.4%;
  height: auto;
  aspect-ratio: 1;
  background: linear-gradient(135deg, transparent 68%, #ffebd5 68%);
}
.lp-mv2__bbl-logo {
  margin: auto;
  position: absolute;
  inset: 0 0 auto;
  width: 21px;
  height: 23px;
}
.lp-mv2__bbl-logo--sched {
  top: -31px;
}
.lp-mv2__bbl-logo--map {
  top: -33px;
}
.lp-mv2__bbl-title {
  margin-bottom: 12px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.lp-mv2__bbl-text {
  letter-spacing: 0.04em;
}
.lp-mv2__bbl-text--year {
  font-size: 2rem;
}
.lp-mv2__bbl-text--day, .lp-mv2__bbl-text--nen {
  font-size: clamp(11px, -6.455px + 5.455vw, 14px);
}
.lp-mv2__bbl-text--dm {
  font-size: clamp(23px, 5.545px + 5.455vw, 26px);
}
.lp-mv2__bbl-text--loc-sub {
  margin-bottom: 8px;
  font-size: clamp(10px, -1.636px + 3.636vw, 12px);
  color: #606060;
}
.lp-mv2__bbl-text--loc-text {
  font-size: clamp(13px, -4.455px + 5.455vw, 16px);
}
.lp-mv2__bbl-sched-text {
  margin-bottom: 2px;
}
.lp-mv2__images {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.lp-mv2__images::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 410px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ac9696));
  background: linear-gradient(to bottom, #fff, #ac9696);
  mix-blend-mode: multiply;
  z-index: 1;
}
.lp-mv2__slider-img-wrap {
  width: 100% !important;
  min-width: 375px;
}
.lp-mv2__flower {
  position: absolute;
  top: 132px;
  left: -6px;
  width: 181px;
  height: 89px;
  z-index: 2;
}
.lp-mv2__info-circle {
  border-radius: 50%;
  background: #e38979;
  text-align: center;
  width: 102px;
  height: 102px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-mv2__info-circle-texts {
  margin-top: -4px;
  margin-right: -3px;
}
.lp-mv2__info-circle-top {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
.lp-mv2__info-circle-num {
  font-size: 2.8rem;
  letter-spacing: 0.04em;
}
.lp-mv2__info-circle-bottom {
  margin-top: -8px;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.lp-mv2__info-side {
  -webkit-filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.8));
          filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.8));
}
.lp-mv2__info-side-top {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.5em;
}
.lp-mv2__info-side-top-num {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
.lp-mv2__info-side-bottom {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__info-side-dates {
  font-size: 3.2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__banner {
  margin-top: 45px;
  padding-bottom: 32px;
}
.lp-mv2__banner-title {
  margin: -36px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 284px;
  height: 90px;
  position: relative;
}
.lp-mv2__banner-title-text {
  margin: 10px auto;
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-mv2__banner-title-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.lp-mv2__banner-date-line {
  margin: -28px auto 0;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
.lp-mv2__banner-date {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
}
.lp-mv2__banner-bbl {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto -8px;
  padding: 5px 31px;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  background: #000;
  -webkit-filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.15));
}
.lp-mv2__banner-bbl::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: auto 0 -6px;
  width: 10px;
  height: 9px;
  background: url("../public/img/decors/bbl-tail.svg") no-repeat center/cover;
}
.lp-mv2__banner-button {
  width: 280px;
  height: 65px;
  margin-inline: auto;
  padding-inline: 20px;
}
.lp-mv2__banner-button .button__arrow {
  right: 10px;
  width: 20px;
  height: 20px;
}

.lp-present-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  aspect-ratio: 375/530;
  -webkit-filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.1));
}

.lp-plan {
  padding-top: 128px;
}
.lp-plan__list {
  margin: 35px 0 56px;
}
.lp-plan__item {
  padding: 2px 2px 32px;
  position: relative;
}
.lp-plan__item:first-child {
  background: #ae3014;
}
.lp-plan__item:first-child .lp-plan__item-decor-bg {
  fill: #ae3014;
}
.lp-plan__item:nth-child(2) {
  background: #217169;
}
.lp-plan__item:nth-child(2) .lp-plan__item-decor-bg {
  fill: #217169;
}
.lp-plan__item:last-child {
  background: #6e4d28;
}
.lp-plan__item:last-child .lp-plan__item-decor-bg {
  fill: #6e4d28;
}
.lp-plan__item:not(:last-child) {
  margin-bottom: 32px;
}
.lp-plan__item-img {
  position: relative;
  width: 100%;
  aspect-ratio: 345/579;
}
.lp-plan__item-img::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), to(#949494));
  background: linear-gradient(to bottom, transparent 65%, #949494);
  mix-blend-mode: multiply;
}
.lp-plan__item-img-logo {
  position: absolute;
  left: 15px;
  top: 15px;
  width: 56px;
}
.lp-plan__item-details {
  margin-top: -150px;
}
.lp-plan__item-bbl {
  border-radius: 14px;
  margin: auto;
  padding: 0 7.5px;
  position: absolute;
  inset: -36px 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.lp-plan__item-title {
  margin-inline: auto;
  font-size: clamp(28px, 4.727px + 7.273vw, 32px);
  letter-spacing: 0.04em;
  line-height: 1.3125em;
  text-align: center;
}
.lp-plan__item-note {
  margin-block: 8px -12px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.lp-plan__item-price {
  margin: 0 auto 8px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 6.5rem;
  letter-spacing: 0.04em;
  color: #fff78e;
}
.lp-plan__item-yen {
  font-size: 3.2rem;
}
.lp-plan__item-yen-note {
  position: absolute;
  top: 30px;
  right: 2px;
  font-size: 1.1rem;
  color: #000;
  letter-spacing: 0.04em;
}
.lp-plan__item-cat-list {
  margin: 0 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.lp-plan__item-cat {
  padding: 0 8px;
  border-radius: 14px;
}
.lp-plan__item-decor {
  position: absolute;
  top: -23px;
  right: -15px;
  width: 66px;
  height: 70px;
}

.lp-line {
  padding: 60px 0 112px;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(2%, #e6dfcc), color-stop(20%, transparent)), url("../public/img/bg/tiles.png") no-repeat center/cover, #752121;
  background: linear-gradient(to bottom, #e6dfcc 2%, transparent 20%), url("../public/img/bg/tiles.png") no-repeat center/cover, #752121;
}
.lp-line__slider {
  margin: 30px 0 40px;
  position: relative;
}
.lp-line__slider-item {
  height: 100%;
}
.lp-line__slider-item-logo {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 45px;
}
.lp-line__slider-pagi {
  margin: auto;
  position: absolute;
  inset: auto 0 16px;
  border-radius: 14px;
  background: #000;
  width: 52px;
  text-align: center;
}
.lp-line__gallery {
  margin-top: -18px;
}
.lp-line__gallery-main-item {
  height: 100%;
}
.lp-line__gallery-nav {
  margin: 24px 0 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 21px;
}
.lp-line__gallery-nav-item {
  border: 1px solid transparent;
  width: 40px;
  height: 40px;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.lp-line__gallery-nav-item.active {
  border-color: #000;
}
.lp-line__ex {
  margin-block: 40px 20px;
  padding-inline: 20px;
}
.lp-line__ex-container {
  margin: 0 auto;
  max-width: 260px;
}
.lp-line__ex-header {
  margin: 12px 0;
  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;
}
.lp-line__ex-img {
  position: relative;
  margin-top: 12px;
  width: 100%;
  aspect-ratio: 260/362;
}
.lp-line__ex-img-logo {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 40px;
}
.lp-line__ex-label {
  border-radius: 14px;
  padding: 0 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #000;
}
.lp-line__ex-price-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.lp-line__ex-price {
  font-size: 4rem;
  color: #fff78e;
}
.lp-line__ex-yen-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lp-line__ex-yen {
  font-size: 1.6rem;
}
.lp-line__ex-yen-note {
  margin-bottom: -2px;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
}
.lp-line__ex-list {
  padding: 16px;
  background: #ffebd5;
}
.lp-line__ex-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
.lp-line__ex-item:not(:last-child) {
  margin-bottom: 12px;
}
.lp-line__ex-item::after {
  content: "";
  position: absolute;
  margin: auto;
  inset: 0;
  width: 15px;
  height: 1px;
  background: #92250e;
}
.lp-line__ex-item--has-note {
  margin-bottom: 30px !important;
}
.lp-line__ex-list-label {
  border-radius: 19px;
  padding: 4px;
  width: 75px;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  text-align: center;
}
.lp-line__ex-list-price {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.lp-line__ex-list-yen {
  font-size: 1.6rem;
}
.lp-line__ex-list-note {
  position: absolute;
  right: 0;
  bottom: -18px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.lp-line__ex-notes {
  margin-bottom: 56px;
}
.lp-line__banner {
  top: 62px;
}

.lp-reasons {
  padding-top: 102px;
}
.lp-reasons__list {
  margin-top: 30px;
}
.lp-reasons__item:not(:last-child) {
  margin-bottom: 52px;
}
.lp-reasons__item-counter {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
.lp-reasons__item-counter::before, .lp-reasons__item-counter::after {
  content: "";
  display: block;
  width: 41.26%;
  height: 1px;
  background: #000;
}
.lp-reasons__item-img {
  margin-block: 18px;
  position: relative;
  width: 100%;
  aspect-ratio: 315/160;
}
.lp-reasons__item-img::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), to(#808080));
  background: linear-gradient(to bottom, transparent 40%, #808080);
  mix-blend-mode: multiply;
}
.lp-reasons__item-img-icons {
  position: absolute;
  bottom: 11px;
  right: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
}
.lp-reasons__item-img-icon {
  width: 50px;
  height: 50px;
}
.lp-reasons__taglines {
  margin-block: 26px;
}
.lp-reasons__check {
  margin-block: 28px 56px;
}
.lp-reasons__check-label {
  border-radius: 14px;
  margin: 0 auto;
  padding: 4px 5.5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #000;
}
.lp-reasons__check-icon {
  width: 17px;
  height: 17px;
}
.lp-reasons__check-label-text {
  font-size: 1.4rem;
}
.lp-reasons__check-title {
  margin: 6px 0 14px;
  font-size: 2.8em;
  font-size: clamp(24px, 0.727px + 7.273vw, 28px);
  letter-spacing: 0.04em;
  text-align: center;
}
.lp-reasons__check-par {
  font-size: 1.6rem;
  text-align: center;
}
.lp-reasons__check-table {
  margin-top: 24px;
  border-bottom: 1px solid #a8a2a0;
  border-left: 1px solid #a8a2a0;
  border-collapse: collapse;
  width: 100%;
  text-align: center;
}
.lp-reasons__check-table th,
.lp-reasons__check-table td {
  border-top: 1px solid #a8a2a0;
  border-right: 1px solid #a8a2a0;
}
.lp-reasons__check-table th {
  padding: 1px;
}
.lp-reasons__check-table td {
  height: 38px;
}
.lp-reasons__check-table td:first-child {
  width: 26.4%;
}
.lp-reasons__check-table td:nth-child(2), .lp-reasons__check-table td:last-child {
  width: 36.8%;
}
.lp-reasons__check-table-text {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
.lp-reasons__check-table-em {
  font-size: 2rem;
}
.lp-reasons__check-table-price {
  font-size: 1.6rem;
}
.lp-reasons__check-table-yen {
  font-size: 1.2rem;
}
.lp-reasons__marquee {
  margin-top: 56px;
  position: relative;
}
.lp-reasons__marquee-item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lp-reasons__marquee-item::after {
  content: "";
  border: 1px solid #000;
  background: #ae3014;
  border-radius: 20px;
  position: absolute;
  top: 4px;
  left: 4px;
  display: block;
  width: 100%;
  height: 100%;
}
.lp-reasons__marquee-item:nth-child(odd) {
  margin-top: 32px;
}
.lp-reasons__marquee-img {
  position: relative;
  width: 195px;
  height: 266px;
}
.lp-reasons__marquee-img-logo {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 40px;
}
.lp-reasons__marquee-decor {
  position: absolute;
  aspect-ratio: 1/1;
}
.lp-reasons__marquee-decor--1 {
  width: 59px;
  top: 6px;
  left: 13.6%;
  z-index: 1;
}
.lp-reasons__marquee-decor--2 {
  width: 97px;
  left: 0;
  top: 52px;
}
.lp-reasons__marquee-decor--3 {
  width: 44px;
  right: 10.4%;
  bottom: 10px;
  z-index: 1;
}

.lp-about {
  margin-top: 55px;
  overflow-x: clip;
}
.lp-about__list {
  margin-block: 26px 56px;
}
.lp-about__item {
  padding-bottom: 46px;
  background: url("../public/img/decors/wave.svg") no-repeat bottom/contain;
}
.lp-about__item:not(:first-child) {
  padding-top: 48px;
}
.lp-about__item-header {
  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;
}
.lp-about__item-label {
  border-radius: 14px;
  padding: 3.5px 8px;
  font-size: 1.4rem;
  background: #000;
}
.lp-about__item-illus {
  margin-bottom: 4px;
  position: relative;
}
.lp-about__item-illus::after {
  content: "";
  position: absolute;
  height: 35px;
  width: 80px;
  background: url("../public/img/decors/echo.svg") no-repeat center/contain;
}
.lp-about__item-illus--1::after {
  top: 2px;
  left: -92%;
}
.lp-about__item-illus--2::after {
  top: 0;
  left: -65%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.lp-about__item-illus--3::after {
  left: -65%;
  bottom: -11px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.lp-about__item-illus--4::after {
  right: -50%;
  bottom: -23px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.lp-about__item-img {
  position: relative;
  width: 80px;
  height: 80px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-about__item-title {
  margin-block: 6px 12px;
  font-size: clamp(19.5px, 4.955px + 4.545vw, 22px);
  letter-spacing: 0.04em;
  line-height: 2em;
}

.lp-opt {
  margin-block: 56px;
  overflow-x: clip;
}
.lp-opt__img {
  margin-top: 28px;
  position: relative;
  width: 100%;
  aspect-ratio: 345/370;
}
.lp-opt__img-logo {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 55px;
}
.lp-opt__img-icon-list {
  position: absolute;
  left: 15px;
  bottom: 63px;
}
.lp-opt__img-icon {
  width: 34px;
  height: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-opt__img-icon:not(:last-child) {
  margin-bottom: 10px;
}
.lp-opt__list {
  margin-block: -20px 56px;
  position: relative;
}
.lp-opt__item:not(:last-child) {
  margin-bottom: 32px;
}
.lp-opt__item-content {
  margin-top: -18px;
}
.lp-opt__item-header {
  padding-right: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lp-opt__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
}
.lp-opt__item-title::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: url("../public/img/icons/hashtag.svg") no-repeat center/contain;
}
.lp-opt__item-num {
  font-size: 2.8rem;
}
.lp-opt__item-par {
  padding: 8px 25px 25px;
}

.lp-acc {
  margin-bottom: 56px;
}
.lp-acc__map {
  margin-block: 14px 20px;
  width: 100%;
  height: 207px;
}
.lp-acc__map iframe {
  margin-top: -200px;
}
.lp-acc__title {
  font-size: 1.8rem;
  line-height: 1.7777777778em;
  letter-spacing: 0.04em;
}
.lp-acc__info {
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.lp-acc__info-text {
  line-height: 1.7142857143em;
}
.lp-acc__icon {
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.lp-qna {
  margin-bottom: 56px;
}
.lp-qna__list {
  margin-top: 20px;
}
.lp-qna__item:not(:last-child) {
  margin-bottom: 16px;
}
.lp-qna__item-part {
  padding-inline: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.lp-qna__item-part--q {
  padding-block: 4px;
  background: #f2f2f2;
}
.lp-qna__item-part--a {
  padding-block: 12px 0;
}
.lp-qna__item-icon {
  font-size: 2rem;
  margin-top: 3px;
}
.lp-qna__item-q-text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.04em;
}
.lp-qna__item-a-text {
  color: #3b3b3b;
}

.lp-notes {
  margin-top: 52px;
}
.lp-notes__title {
  margin-bottom: 8px;
}
.lp-notes__link {
  border-radius: 33px;
  padding: 18.5px 12px 18.5px 20px;
  margin-block: 68px 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.lp-notes__link:hover .lp-notes__link-text {
  opacity: 0.3;
}
.lp-notes__link:hover .lp-notes__link-icon {
  background: #000;
}
.lp-notes__link:hover .lp-notes__link-icon svg path {
  stroke: #fff;
}
.lp-notes__link-text {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.lp-notes__link-icon {
  border-radius: 50%;
  width: 24px;
  height: 24px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.lp-notes__link-icon svg path {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.rsrv {
  padding-block: 80px 24px;
  min-width: 375px;
  background: url("../public/img/reserve/bg.jpg") no-repeat center/cover;
  background-attachment: fixed;
  min-height: calc(100vh - 40px - 84px);
}
@media screen and (max-width: 1024px) {
  .rsrv {
    min-width: unset;
    min-height: calc(100vh - 40px);
  }
}
.rsrv__present {
  margin-top: 48px;
  padding-bottom: 12px;
}
.rsrv__present-title {
  border-radius: 17px;
  margin-inline: auto;
  padding: 7px 34px;
  position: relative;
  top: -17px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.rsrv__present-main {
  margin: auto;
  display: grid;
  grid-template: auto auto/auto 46fr;
  gap: 0 13px;
  max-width: 345px;
}
.rsrv__present-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.rsrv__present-text {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
}
.rsrv__present-text--big {
  font-size: 3.4rem;
  letter-spacing: 0.04em;
}
.rsrv__present-text--yen {
  font-size: 2rem;
}
.rsrv__present-text--med {
  font-size: 2rem;
  letter-spacing: 0.04em;
}
.rsrv__present-image {
  aspect-ratio: 160/124;
}
.rsrv__present-note {
  grid-column: 1/3;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #a8a2a0;
  text-align: right;
}
.rsrv__form {
  margin-top: 32px;
}
.rsrv__complete-text {
  margin-block: 40px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.04em;
}

.overflow {
  overflow: hidden;
}

.pc {
  display: block;
}
@media screen and (max-width: 1024px) {
  .pc {
    display: none;
  }
}

.pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .pc-flex {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 1024px) {
  .sp {
    display: block;
  }
}

.container {
  padding-inline: 15px;
}
.container--30 {
  padding-inline: 30px;
}

.nowrap {
  white-space: nowrap;
}

.lp-line__slider .splide__arrow {
  width: 50px;
  height: 50px;
  opacity: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.lp-line__slider .splide__arrow--prev {
  left: 5px;
}
.lp-line__slider .splide__arrow--next {
  right: 5px;
}
.lp-line__slider .splide__arrow:hover {
  opacity: 1;
  background: #000;
  -webkit-filter: drop-shadow(0 0 0 #000);
          filter: drop-shadow(0 0 0 #000);
}
.lp-line__slider .splide__arrow:hover svg path {
  stroke: #fff;
}

.lp-reasons__marquee .splide__track {
  padding-bottom: 6px;
}

.aside-slider .splide {
  height: 100%;
}
.aside-slider .splide__track {
  height: 100%;
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes tracking-in-expand-fwd {
  0% {
    letter-spacing: -0.5em;
    -webkit-transform: translateZ(-700px);
            transform: translateZ(-700px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    letter-spacing: 0.04em;
    opacity: 1;
  }
}
@keyframes tracking-in-expand-fwd {
  0% {
    letter-spacing: -0.5em;
    -webkit-transform: translateZ(-700px);
            transform: translateZ(-700px);
    opacity: 0;
  }
  40% {
    opacity: 0.6;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    letter-spacing: 0.04em;
    opacity: 1;
  }
}
.form__radio-list label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__checkbox-list label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.form .mwform-radio-field-text,
.form .mwform-checkbox-field-text {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
.form input[type=radio] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 35px;
  height: 35px;
  padding: 7.5px;
  border: 1px solid #a8a2a0;
  border-radius: 50%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.form input[type=radio]::before {
  content: "";
  width: 0;
  height: 0;
  background: #ae3014;
  border-radius: inherit;
}
.form input[type=radio]:checked::before {
  width: 100%;
  height: 100%;
}
.form input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 35px;
  height: 35px;
  padding: 7.5px;
  border: 1px solid #a8a2a0;
  border-radius: 5px;
  background: #fff;
}
.form input[type=checkbox]::before {
  content: "";
  display: block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: relative;
  top: -3px;
  left: 3px;
}
.form input[type=checkbox]:checked::before {
  border-bottom: 2px solid #ae3014;
  border-right: 2px solid #ae3014;
  width: 40%;
  height: 100%;
}
.form button {
  font-family: inherit;
}
.form .fw-bold label {
  font-weight: 700;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.mw_wp_form .mwform-checkbox-field label {
  font-weight: 500;
}
.mw_wp_form .mwform-radio-field.hidden {
  display: none;
}
.mw_wp_form .error {
  font-size: 1.4rem !important;
  position: absolute;
  bottom: -22px;
  white-space: nowrap;
}

.mw_wp_form_input button[type=submit][value=back],
.mw_wp_form_input button[type=submit][value=send] {
  display: none;
}

.mw_wp_form_confirm .form__item--policy,
.mw_wp_form_confirm .form__note,
.mw_wp_form_confirm .form__label-req {
  display: none;
}
.mw_wp_form_confirm button[type=submit][value=confirm] {
  display: none;
}
.mw_wp_form_confirm .form__item--hidden {
  display: block;
}
.mw_wp_form_confirm .form__input-col-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}