@charset "UTF-8";
body {
  background: #eef6f8;
}
@media screen and (max-width: 767px) {
  body {
    background: unset;
  }
}

img, picture {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ================================
   PC時の左右固定要素
   width:768px以上の場合に表示
================================ */
.fixed-side {
  display: none; /* SP時は非表示 */
}

@media screen and (min-width: 768px) {
  .fixed-side {
    display: block;
    position: fixed;
    top: 0;
    width: calc((100% - 34.7222222222%) / 2);
    height: 100vh;
    background: #eee; /* デモ用の背景色 */
    overflow: hidden; /* 必要に応じて調整 */
  }
  .fixed-side.left-side {
    left: 0;
  }
  .fixed-side.right-side {
    right: 0;
  }
}
@media screen and (min-width: 1440px) {
  .fixed-side {
    width: calc((100% - 500px) / 2);
  }
}
/* ================================
   SPコンテナ(最大幅500px)
================================ */
.sp-container {
  margin: 0 auto;
  /* padding: 0 1em; 横余白(お好みで) */
  width: 100%;
  background: #fff;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  /* PC時も強制的に幅375pxで中央固定 */
  .sp-container {
    width: 34.7222222222%;
    max-width: 500px;
    margin-inline: auto;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 1;
    /* 背景とかスクロール時に動かしたい場合はposition: relative;なども検討 */
  }
}
.fixed-side {
  background: #eef6f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .fixed-side {
    display: none;
  }
}

#shop-slider {
  margin-top: clamp(17.0666666667px, calc(0.0222222222 * 100vw), 32px);
  margin-bottom: clamp(45.5111111111px, calc(0.0592592593 * 100vw), 85.3333333333px);
}
@media (max-width: 767px) {
  #shop-slider {
    margin-top: clamp(22.4px, calc(24 / 375 * 100vw), 38.4px);
  }
}
@media (max-width: 767px) {
  #shop-slider {
    margin-bottom: clamp(59.7333333333px, calc(64 / 375 * 100vw), 102.4px);
  }
}
#shop-slider .splide__pagination {
  bottom: clamp(-30px, calc(-0.0277777778 * 100vw), -21.3333333333px);
  gap: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
}
@media (max-width: 767px) {
  #shop-slider .splide__pagination {
    bottom: clamp(-28px, calc(-30 / 375 * 100vw), -48px);
  }
}
@media (max-width: 767px) {
  #shop-slider .splide__pagination {
    gap: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
#shop-slider .splide__pagination__page {
  width: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
  height: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
  transform: unset;
  opacity: 1;
  margin: 0;
  background: #dce2ee;
}
@media (max-width: 767px) {
  #shop-slider .splide__pagination__page {
    width: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
@media (max-width: 767px) {
  #shop-slider .splide__pagination__page {
    height: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
#shop-slider .splide__pagination__page.is-active {
  margin: 0;
  transform: unset;
  opacity: 1;
  background: #1e2a5a;
}

.p-points {
  display: grid;
  grid-template-columns: 1fr;
}
.p-points__item {
  position: relative;
}
.p-points__item:not(:last-child):before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 1px;
  background: #eee;
  z-index: 1;
}
.p-points__item a {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.p-points__item a:before {
  content: "";
  position: absolute;
  bottom: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  width: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  height: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  background: #b8964d;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .p-points__item a:before {
    bottom: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
@media (max-width: 767px) {
  .p-points__item a:before {
    width: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .p-points__item a:before {
    height: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.p-points__item a:hover {
  cursor: pointer;
  opacity: 0.7;
}
.p-points__item a:hover:before {
  transform: translateX(-50%) rotate(90deg);
  bottom: clamp(2.8444444444px, calc(0.0037037037 * 100vw), 5.3333333333px);
}
@media (max-width: 767px) {
  .p-points__item a:hover:before {
    bottom: clamp(3.7333333333px, calc(4 / 375 * 100vw), 6.4px);
  }
}

.cta-button {
  width: clamp(227.5555555556px, calc(0.2962962963 * 100vw), 426.6666666667px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .cta-button {
    width: clamp(298.6666666667px, calc(320 / 375 * 100vw), 512px);
  }
}
.cta-button--01 {
  margin-top: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
  margin-bottom: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
}
@media (max-width: 767px) {
  .cta-button--01 {
    margin-top: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
@media (max-width: 767px) {
  .cta-button--01 {
    margin-bottom: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}

.logo-pc {
  width: clamp(128px, calc(0.1666666667 * 100vw), 240px);
  position: absolute;
  top: clamp(31.2888888889px, calc(0.0407407407 * 100vw), 58.6666666667px);
  left: clamp(31.2888888889px, calc(0.0407407407 * 100vw), 58.6666666667px);
}
@media (max-width: 767px) {
  .logo-pc {
    width: clamp(168px, calc(180 / 375 * 100vw), 288px);
  }
}
@media (max-width: 767px) {
  .logo-pc {
    top: clamp(41.0666666667px, calc(44 / 375 * 100vw), 70.4px);
  }
}
@media (max-width: 767px) {
  .logo-pc {
    left: clamp(41.0666666667px, calc(44 / 375 * 100vw), 70.4px);
  }
}

.image01-pc {
  width: clamp(170.6666666667px, calc(320 / 1440 * 100vw), 320px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .image01-pc {
    width: clamp(298.6666666667px, calc(320 / 375 * 100vw), 512px);
  }
}

.image02-pc {
  width: clamp(160px, calc(300 / 1440 * 100vw), 300px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .image02-pc {
    width: clamp(280px, calc(300 / 375 * 100vw), 480px);
  }
}

.cta-pc {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(8.5333333333px, calc(16 / 1440 * 100vw), 16px);
  width: clamp(192px, calc(360 / 1440 * 100vw), 360px);
  margin-inline: auto;
  padding-top: clamp(19.2px, calc(36 / 1440 * 100vw), 36px);
}
@media (max-width: 767px) {
  .cta-pc {
    gap: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .cta-pc {
    width: clamp(336px, calc(360 / 375 * 100vw), 576px);
  }
}
@media (max-width: 767px) {
  .cta-pc {
    padding-top: clamp(33.6px, calc(36 / 375 * 100vw), 57.6px);
  }
}

.cta-tel-pc {
  border-radius: 8px;
}

.cta-form-pc {
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  transition: all 0.3s;
}
.cta-form-pc:hover {
  transform: translateY(2px);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
  opacity: 1;
}

footer {
  height: clamp(57.6px, calc(0.075 * 100vw), 108px);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background: #1e2a5a;
}
@media (max-width: 767px) {
  footer {
    height: clamp(75.6px, calc(81 / 375 * 100vw), 129.6px);
  }
}
footer small {
  color: #fff;
  font-size: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
}
@media (max-width: 767px) {
  footer small {
    font-size: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}

.form-section {
  background: #EFF6F8;
  padding-bottom: clamp(28.4444444444px, calc(0.037037037 * 100vw), 53.3333333333px);
}
@media (max-width: 767px) {
  .form-section {
    padding-bottom: clamp(37.3333333333px, calc(40 / 375 * 100vw), 64px);
  }
}
.form-section #zip-error,
.form-section .error-message {
  margin-left: clamp(1.4222222222px, calc(0.0018518519 * 100vw), 2.6666666667px);
  margin-block: clamp(4.2666666667px, calc(0.0055555556 * 100vw), 8px);
  color: red;
  font-size: 0.9em;
}
@media (max-width: 767px) {
  .form-section #zip-error,
  .form-section .error-message {
    margin-left: clamp(1.8666666667px, calc(2 / 375 * 100vw), 3.2px);
  }
}
@media (max-width: 767px) {
  .form-section #zip-error,
  .form-section .error-message {
    margin-block: clamp(5.6px, calc(6 / 375 * 100vw), 9.6px);
  }
}
.form-section #zip-error {
  display: none;
}

.form-agree-container .error-message {
  text-align: center;
}

.privacy-policy-wrapper {
  background: #fff;
  overflow-y: scroll;
  padding-block: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  padding-inline: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  border: 1px solid #eee;
  height: clamp(99.5555555556px, calc(0.1296296296 * 100vw), 186.6666666667px);
  font-size: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
  font-weight: 400;
  line-height: 1.8333333333;
}
@media (max-width: 767px) {
  .privacy-policy-wrapper {
    padding-block: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .privacy-policy-wrapper {
    padding-inline: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .privacy-policy-wrapper {
    height: clamp(130.6666666667px, calc(140 / 375 * 100vw), 224px);
  }
}
@media (max-width: 767px) {
  .privacy-policy-wrapper {
    font-size: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
.privacy-policy-wrapper h2, .privacy-policy-wrapper h3, .privacy-policy-wrapper ol, .privacy-policy-wrapper li {
  font-size: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
}
@media (max-width: 767px) {
  .privacy-policy-wrapper h2, .privacy-policy-wrapper h3, .privacy-policy-wrapper ol, .privacy-policy-wrapper li {
    font-size: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
.privacy-policy-wrapper h2 {
  font-weight: 700;
  margin-bottom: clamp(2.8444444444px, calc(0.0037037037 * 100vw), 5.3333333333px);
}
@media (max-width: 767px) {
  .privacy-policy-wrapper h2 {
    margin-bottom: clamp(3.7333333333px, calc(4 / 375 * 100vw), 6.4px);
  }
}
.privacy-policy-wrapper h3 {
  margin-block: clamp(2.8444444444px, calc(0.0037037037 * 100vw), 5.3333333333px);
}
@media (max-width: 767px) {
  .privacy-policy-wrapper h3 {
    margin-block: clamp(3.7333333333px, calc(4 / 375 * 100vw), 6.4px);
  }
}
.privacy-policy-wrapper .privacy-contact {
  margin-top: clamp(17.0666666667px, calc(0.0222222222 * 100vw), 32px);
}
@media (max-width: 767px) {
  .privacy-policy-wrapper .privacy-contact {
    margin-top: clamp(22.4px, calc(24 / 375 * 100vw), 38.4px);
  }
}

.form-agree {
  margin-block: clamp(15.6444444444px, calc(0.0203703704 * 100vw), 29.3333333333px);
}
@media (max-width: 767px) {
  .form-agree {
    margin-block: clamp(20.5333333333px, calc(22 / 375 * 100vw), 35.2px);
  }
}
.form-agree label {
  display: flex;
  align-items: center;
  line-height: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  width: fit-content;
  margin-inline: auto;
  gap: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
}
@media (max-width: 767px) {
  .form-agree label {
    line-height: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .form-agree label {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .form-agree label {
    gap: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
.form-agree input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all 0.3s;
  width: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  height: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  background: url("../images/unchecked.png") no-repeat center center;
  background-size: contain;
}
@media (max-width: 767px) {
  .form-agree input[type=checkbox] {
    width: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .form-agree input[type=checkbox] {
    height: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.form-agree input[type=checkbox]:checked {
  background: url("../images/checked.png") no-repeat center center;
  background-size: contain;
}

.form-btn-area {
  width: clamp(213.3333333333px, calc(0.2777777778 * 100vw), 400px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .form-btn-area {
    width: clamp(280px, calc(300 / 375 * 100vw), 480px);
  }
}
.form-btn-area button:hover {
  cursor: pointer;
  opacity: 0.8;
}

.form-area {
  width: 90%;
  margin-inline: auto;
}
.form-area .form-inner {
  background: #fff;
  border-radius: 8px;
}
.form-area .privacy-note {
  padding-block: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  text-align: center;
  font-weight: 500;
  font-size: clamp(9.9555555556px, calc(0.012962963 * 100vw), 18.6666666667px);
  line-height: 1.6071428571;
}
@media (max-width: 767px) {
  .form-area .privacy-note {
    padding-block: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .form-area .privacy-note {
    font-size: clamp(13.0666666667px, calc(14 / 375 * 100vw), 22.4px);
  }
}
.form-area .form-group {
  padding-inline: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  padding-block: clamp(12.8px, calc(0.0166666667 * 100vw), 24px);
  font-weight: 500;
}
@media (max-width: 767px) {
  .form-area .form-group {
    padding-inline: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group {
    padding-block: clamp(16.8px, calc(18 / 375 * 100vw), 28.8px);
  }
}
.form-area .form-group:not(:last-child) {
  border-bottom: 1px solid #eee;
}
.form-area .form-group--address > *:not(:last-child) {
  margin-bottom: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
}
@media (max-width: 767px) {
  .form-area .form-group--address > *:not(:last-child) {
    margin-bottom: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
.form-area .form-group label {
  display: flex;
  align-items: center;
  gap: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
  line-height: 1;
  font-weight: 700;
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  margin-bottom: clamp(9.9555555556px, calc(0.012962963 * 100vw), 18.6666666667px);
}
@media (max-width: 767px) {
  .form-area .form-group label {
    gap: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group label {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group label {
    margin-bottom: clamp(13.0666666667px, calc(14 / 375 * 100vw), 22.4px);
  }
}
.form-area .form-group .required {
  width: fit-content;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background: #e20000;
  color: #fff;
  font-size: clamp(7.8222222222px, calc(0.0101851852 * 100vw), 14.6666666667px);
  font-weight: 400;
  border-radius: 20px;
  padding-inline: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
  padding-block: clamp(1.4222222222px, calc(0.0018518519 * 100vw), 2.6666666667px);
  height: clamp(12.8px, calc(0.0166666667 * 100vw), 24px);
  line-height: clamp(12.8px, calc(0.0166666667 * 100vw), 24px);
}
@media (max-width: 767px) {
  .form-area .form-group .required {
    font-size: clamp(10.2666666667px, calc(11 / 375 * 100vw), 17.6px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group .required {
    padding-inline: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group .required {
    padding-block: clamp(1.8666666667px, calc(2 / 375 * 100vw), 3.2px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group .required {
    height: clamp(16.8px, calc(18 / 375 * 100vw), 28.8px);
  }
}
@media (max-width: 767px) {
  .form-area .form-group .required {
    line-height: clamp(16.8px, calc(18 / 375 * 100vw), 28.8px);
  }
}
.form-area .form-group .form-label-wrapper {
  margin-bottom: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
}
@media (max-width: 767px) {
  .form-area .form-group .form-label-wrapper {
    margin-bottom: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
.form-area .form-group .form-label-wrapper label {
  margin-bottom: clamp(4.2666666667px, calc(0.0055555556 * 100vw), 8px);
}
@media (max-width: 767px) {
  .form-area .form-group .form-label-wrapper label {
    margin-bottom: clamp(5.6px, calc(6 / 375 * 100vw), 9.6px);
  }
}
.form-area .form-group .form-label-note {
  color: #888;
  font-size: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
  font-weight: 400;
}
@media (max-width: 767px) {
  .form-area .form-group .form-label-note {
    font-size: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
.form-area .form-group .radio-group {
  display: flex;
  align-items: center;
  gap: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
}
@media (max-width: 767px) {
  .form-area .form-group .radio-group {
    gap: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.form-area .form-group .radio-group label {
  font-weight: 500;
  line-height: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .form-area .form-group .radio-group label {
    line-height: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.form-area .form-group .zip-wrapper {
  position: relative;
}
.form-area .form-group .zip-wrapper:before {
  content: "〒";
  position: absolute;
  top: 50%;
  left: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
  transform: translateY(-50%);
  color: #333;
}
@media (max-width: 767px) {
  .form-area .form-group .zip-wrapper:before {
    left: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
.form-area .form-group .zip-wrapper input {
  padding-left: clamp(19.9111111111px, calc(0.0259259259 * 100vw), 37.3333333333px);
}
@media (max-width: 767px) {
  .form-area .form-group .zip-wrapper input {
    padding-left: clamp(26.1333333333px, calc(28 / 375 * 100vw), 44.8px);
  }
}
.form-area input,
.form-area textarea,
.form-area select,
.form-area button {
  appearance: none;
  border: none;
}
.form-area input[type=date]::-webkit-date-and-time-value {
  text-align: left;
}
.form-area input[type=text],
.form-area input[type=email],
.form-area input[type=date],
.form-area input[type=tel],
.form-area textarea,
.form-area select {
  border-radius: unset;
  width: 100%;
  padding-inline: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
  padding-right: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
  padding-block: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  min-height: clamp(29.8666666667px, calc(0.0388888889 * 100vw), 56px);
  border: 1px solid #eee;
  background: #fff;
  border-radius: 4px;
  color: #333;
  font-weight: 500;
}
@media (max-width: 767px) {
  .form-area input[type=text],
  .form-area input[type=email],
  .form-area input[type=date],
  .form-area input[type=tel],
  .form-area textarea,
  .form-area select {
    padding-inline: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
@media (max-width: 767px) {
  .form-area input[type=text],
  .form-area input[type=email],
  .form-area input[type=date],
  .form-area input[type=tel],
  .form-area textarea,
  .form-area select {
    padding-right: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
@media (max-width: 767px) {
  .form-area input[type=text],
  .form-area input[type=email],
  .form-area input[type=date],
  .form-area input[type=tel],
  .form-area textarea,
  .form-area select {
    padding-block: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
@media (max-width: 767px) {
  .form-area input[type=text],
  .form-area input[type=email],
  .form-area input[type=date],
  .form-area input[type=tel],
  .form-area textarea,
  .form-area select {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .form-area input[type=text],
  .form-area input[type=email],
  .form-area input[type=date],
  .form-area input[type=tel],
  .form-area textarea,
  .form-area select {
    min-height: clamp(39.2px, calc(42 / 375 * 100vw), 67.2px);
  }
}
.form-area input[type=text]::placeholder,
.form-area input[type=email]::placeholder,
.form-area input[type=date]::placeholder,
.form-area input[type=tel]::placeholder,
.form-area textarea::placeholder,
.form-area select::placeholder {
  color: #ddd;
}
.form-area input[type=text].flatpickr::placeholder {
  color: #333;
}
.form-area textarea {
  height: clamp(108.0888888889px, calc(0.1407407407 * 100vw), 202.6666666667px);
}
@media (max-width: 767px) {
  .form-area textarea {
    height: clamp(141.8666666667px, calc(152 / 375 * 100vw), 243.2px);
  }
}
@media screen and (max-width: 767px) {
  .form-area textarea {
    height: clamp(93.3333333333px, calc(100 / 375 * 100vw), 160px);
  }
}
.form-area input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all 0.3s;
  width: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  height: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  background: url("../images/radio-unchecked.png") no-repeat center center;
  background-size: contain;
}
@media (max-width: 767px) {
  .form-area input[type=radio] {
    width: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .form-area input[type=radio] {
    height: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.form-area input[type=radio]:checked {
  background: url("../images/radio-checked.png") no-repeat center center;
  background-size: contain;
}

.scroll-container {
  /* 画像が流れていく領域を隠す */
  width: 100%;
  overflow: hidden;
  /* 必要なら背景色を設定（任意） */
  background-color: #fff;
  /* position: relative; を使ってもよい */
}

.scroll-content {
  /* 横一列に並べるためflexを使用 */
  display: flex;
  /* 画像間の空白（任意で調整） */
  /* 文字の折り返しをしない（画像が横に連なる） */
  white-space: nowrap;
  /* アニメーションを適用 */
  animation: scroll-left 12s linear infinite;
  /* スムーズな動きを期待するための最適化 */
  will-change: transform;
}

/* 画像を縮小する場合などの調整用 */
.scroll-content {
  gap: 2%;
}
.scroll-content picture {
  /* 画像枠を幅42%に固定し、折り返さないようにする */
  width: 42%;
  flex-shrink: 0; /* 画像が縮まないようにする */
}
.scroll-content picture img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* スクロール（マルチループ）アニメーション */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    /*
      画像がひと回り分左へ行くように設定。
      今回は2セット並べたので、ちょうど半分(= -50%)で無限ループが繋がるイメージ。
      画像や個数によっては translateX(-100%) や
      長さに合わせた値へ調整が必要。
    */
    transform: translateX(-50%);
  }
}
/* 
  ユーザーの環境設定で「動き（アニメーション）を抑制」にしている場合には
  アニメーションをしないようにするとアクセシビリティが向上します。
*/
@media (prefers-reduced-motion: reduce) {
  .scroll-content {
    animation: none;
  }
}
.p-cta {
  background: #af8a35;
  padding-bottom: clamp(24.1777777778px, calc(0.0314814815 * 100vw), 45.3333333333px);
}
@media (max-width: 767px) {
  .p-cta {
    padding-bottom: clamp(31.7333333333px, calc(34 / 375 * 100vw), 54.4px);
  }
}
.p-cta__button {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 85%;
  margin-inline: auto;
  border-radius: 8px;
  transition: all 0.3s;
}
.p-cta__button picture, .p-cta__button img {
  transition: all 0.3s;
}
.p-cta__button:not(:last-child) {
  margin-bottom: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
}
@media (max-width: 767px) {
  .p-cta__button:not(:last-child) {
    margin-bottom: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
.p-cta__button:hover {
  opacity: 1;
}
.p-cta__button--tel {
  background: #fff;
}
.p-cta__button--tel:hover img {
  filter: brightness(1.15);
}
.p-cta__button--form {
  box-shadow: 0px 3px 7px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.3s;
}
.p-cta__button--form:hover {
  transform: translateY(2px);
  box-shadow: 0px 1px 7px 4px rgba(0, 0, 0, 0.3);
  opacity: 1;
}
.p-cta__button--form:hover img {
  filter: brightness(1.2);
}

#confirm-area {
  background: #EFF6F8;
  padding-bottom: clamp(35.5555555556px, calc(0.0462962963 * 100vw), 66.6666666667px);
}
@media (max-width: 767px) {
  #confirm-area {
    padding-bottom: clamp(46.6666666667px, calc(50 / 375 * 100vw), 80px);
  }
}

.confirm-container {
  width: 90%;
  margin-inline: auto;
  background: #fff;
  border-radius: 8px;
  margin-bottom: clamp(22.7555555556px, calc(0.0296296296 * 100vw), 42.6666666667px);
}
@media (max-width: 767px) {
  .confirm-container {
    margin-bottom: clamp(29.8666666667px, calc(32 / 375 * 100vw), 51.2px);
  }
}
.confirm-container .confirm-row {
  padding-block: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  padding-inline: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  border-bottom: 1px solid #eee;
}
@media (max-width: 767px) {
  .confirm-container .confirm-row {
    padding-block: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .confirm-container .confirm-row {
    padding-inline: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
.confirm-container .confirm-row:last-child {
  border-bottom: none;
}
.confirm-container .confirm-row .confirm-label {
  font-weight: 700;
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  margin-bottom: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
}
@media (max-width: 767px) {
  .confirm-container .confirm-row .confirm-label {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .confirm-container .confirm-row .confirm-label {
    margin-bottom: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
.confirm-container .confirm-row .confirm-value {
  font-weight: 500;
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
}
@media (max-width: 767px) {
  .confirm-container .confirm-row .confirm-value {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}

.p-confirm-button-area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  margin-inline: auto;
  gap: clamp(5.6888888889px, calc(0.0074074074 * 100vw), 10.6666666667px);
}
@media (max-width: 767px) {
  .p-confirm-button-area {
    gap: clamp(7.4666666667px, calc(8 / 375 * 100vw), 12.8px);
  }
}
.p-confirm-button-area form {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
}

.button-back,
.button-submit {
  height: clamp(42.6666666667px, calc(0.0555555556 * 100vw), 80px);
  transition: all 0.3s;
}
@media (max-width: 767px) {
  .button-back,
  .button-submit {
    height: clamp(56px, calc(60 / 375 * 100vw), 96px);
  }
}
.button-back picture, .button-back img,
.button-submit picture,
.button-submit img {
  height: 100%;
  width: auto;
}
.button-back:hover,
.button-submit:hover {
  cursor: pointer;
  opacity: 0.8;
}

pre {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background: #fff;
  padding: 40px;
}

.l-lp-thanks .sp-container picture, .l-lp-thanks .sp-container img {
  height: auto;
}

@media screen and (max-width: 767px) {
  body.l-lp-body {
    margin-bottom: clamp(46.2222222222px, calc(0.0601851852 * 100vw), 86.6666666667px);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  body.l-lp-body {
    margin-bottom: clamp(60.6666666667px, calc(65 / 375 * 100vw), 104px);
  }
}

@keyframes slideUpFadeIn {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sp-fixed-menu {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sp-fixed-menu {
    display: flex;
    opacity: 0;
    transform: translateY(100%);
    pointer-events: none;
  }
  .sp-fixed-menu.visible {
    pointer-events: auto;
    animation: slideUpFadeIn 0.5s forwards;
  }
}
.sp-fixed-menu__item {
  background: #fff;
  width: 100%;
}
.sp-fixed-menu__item picture {
  transition: all 0.3s;
}
.sp-fixed-menu__item:hover {
  cursor: pointer;
  opacity: 1;
}
.sp-fixed-menu__item:hover picture {
  opacity: 0.8;
}
.sp-fixed-menu__item--tel {
  width: 58.6666666667%;
}
.sp-fixed-menu__item--form {
  width: 41.3333333333%;
}

.l-lp-s .cta-button--01 {
  margin-top: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
}
@media (max-width: 767px) {
  .l-lp-s .cta-button--01 {
    margin-top: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}

.thanks-area {
  background: #EFF6F8;
  padding-bottom: clamp(35.5555555556px, calc(0.0462962963 * 100vw), 66.6666666667px);
}
@media (max-width: 767px) {
  .thanks-area {
    padding-bottom: clamp(46.6666666667px, calc(50 / 375 * 100vw), 80px);
  }
}

.thanks-container {
  width: 84%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
}
@media (max-width: 767px) {
  .thanks-container {
    gap: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
.thanks-container p {
  font-weight: 500;
  font-size: clamp(9.9555555556px, calc(0.012962963 * 100vw), 18.6666666667px);
  line-height: 1.9285714286;
  text-align: center;
}
@media (max-width: 767px) {
  .thanks-container p {
    font-size: clamp(13.0666666667px, calc(14 / 375 * 100vw), 22.4px);
  }
}

.thanks-contact-info {
  background: #fff;
  border-radius: 4px;
  padding-block: clamp(14.2222222222px, calc(0.0185185185 * 100vw), 26.6666666667px);
  padding-inline: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
}
@media (max-width: 767px) {
  .thanks-contact-info {
    padding-block: clamp(18.6666666667px, calc(20 / 375 * 100vw), 32px);
  }
}
@media (max-width: 767px) {
  .thanks-contact-info {
    padding-inline: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}

.thanks-contact-title {
  text-align: center;
  color: #1e2a5a;
  font-weight: 700;
  font-size: clamp(11.3777777778px, calc(0.0148148148 * 100vw), 21.3333333333px);
  margin-bottom: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
}
@media (max-width: 767px) {
  .thanks-contact-title {
    font-size: clamp(14.9333333333px, calc(16 / 375 * 100vw), 25.6px);
  }
}
@media (max-width: 767px) {
  .thanks-contact-title {
    margin-bottom: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}

.thanks-contact-content {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2.8444444444px, calc(0.0037037037 * 100vw), 5.3333333333px);
  position: relative;
  left: clamp(2.8444444444px, calc(0.0037037037 * 100vw), 5.3333333333px);
}
@media (max-width: 767px) {
  .thanks-contact-content {
    gap: clamp(3.7333333333px, calc(4 / 375 * 100vw), 6.4px);
  }
}
@media (max-width: 767px) {
  .thanks-contact-content {
    left: clamp(3.7333333333px, calc(4 / 375 * 100vw), 6.4px);
  }
}

.thanks-contact-item {
  display: grid;
  grid-template-columns: auto 1fr;
}

.thanks-contact-label {
  width: clamp(46.2222222222px, calc(0.0601851852 * 100vw), 86.6666666667px);
  color: #1e2a5a;
  font-weight: 700;
  font-size: clamp(9.2444444444px, calc(0.012037037 * 100vw), 17.3333333333px);
}
@media (max-width: 767px) {
  .thanks-contact-label {
    width: clamp(60.6666666667px, calc(65 / 375 * 100vw), 104px);
  }
}
@media (max-width: 767px) {
  .thanks-contact-label {
    font-size: clamp(12.1333333333px, calc(13 / 375 * 100vw), 20.8px);
  }
}

.thanks-contact-value {
  font-weight: 500;
  font-size: clamp(9.9555555556px, calc(0.012962963 * 100vw), 18.6666666667px);
}
@media (max-width: 767px) {
  .thanks-contact-value {
    font-size: clamp(13.0666666667px, calc(14 / 375 * 100vw), 22.4px);
  }
}
.thanks-contact-value a {
  transition: all 0.3s;
}
.thanks-contact-value a:hover {
  opacity: 0.7;
}

.flatpickr-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: clamp(7.1111111111px, calc(0.0092592593 * 100vw), 13.3333333333px);
}
@media (max-width: 767px) {
  .flatpickr-wrapper {
    margin-bottom: clamp(9.3333333333px, calc(10 / 375 * 100vw), 16px);
  }
}
.flatpickr-wrapper::after {
  content: "";
  position: absolute;
  right: clamp(9.2444444444px, calc(0.012037037 * 100vw), 17.3333333333px);
  top: 50%;
  transform: translateY(-50%);
  width: clamp(10.6666666667px, calc(0.0138888889 * 100vw), 20px);
  aspect-ratio: 10/11;
  background-image: url("../images/calendar-icon.webp");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media (max-width: 767px) {
  .flatpickr-wrapper::after {
    right: clamp(12.1333333333px, calc(13 / 375 * 100vw), 20.8px);
  }
}
@media (max-width: 767px) {
  .flatpickr-wrapper::after {
    width: clamp(14px, calc(15 / 375 * 100vw), 24px);
  }
}

.form-area select.time-select {
  background-image: url("../images/arrow-down.png");
  background-position: right 4.5% center;
  background-repeat: no-repeat;
  background-size: clamp(8.5333333333px, calc(0.0111111111 * 100vw), 16px);
}
@media (max-width: 767px) {
  .form-area select.time-select {
    background-size: clamp(11.2px, calc(12 / 375 * 100vw), 19.2px);
  }
}
.form-area select.time-select::-ms-expand {
  display: none;
}

.flatpickr-current-month {
  display: flex;
  justify-content: center;
  gap: 25px;
  position: relative;
}
.flatpickr-current-month:before {
  content: "年";
  position: absolute;
  top: 21px;
  left: 100px;
  transform: translateY(-50%);
}

.numInputWrapper {
  order: 1;
}

.flatpickr-monthDropdown-months {
  order: 2;
}

/*# sourceMappingURL=main.css.map */
