@media screen and (max-width: 768px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #1e1e1e;
  line-height: 1.5;
}

.ja {
  font-family: "Zen Old Mincho", serif;
}

img {
  vertical-align: top;
  width: 100%;
  height: auto;
}

.inner {
  max-width: clamp(375px, 100vw, 498.75px);
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(15px, 4vw, 19.95px);
}

.relative {
  position: relative;
}

.main {
  position: relative;
  overflow: hidden;
}

.main__bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.main__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.container {
  position: relative;
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.header {
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 500px;
  width: 100%;
  height: clamp(56px, 14.9333333333vw, 74.48px);
  background: #fff;
  -webkit-box-shadow: 0 0 clamp(6px, 1.6vw, 7.98px) 0 #e7cbd5;
          box-shadow: 0 0 clamp(6px, 1.6vw, 7.98px) 0 #e7cbd5;
  z-index: 10;
}

.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
}

.header__logo {
  width: clamp(126px, 33.6vw, 167.58px);
  padding-left: clamp(15px, 4vw, 19.95px);
}

.header__txt {
  font-size: clamp(9px, 2.4vw, 11.97px);
  font-weight: 500;
  color: #20356d;
}

.header__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: clamp(5px, 1.3333333333vw, 6.65px);
  width: clamp(56px, 14.9333333333vw, 74.48px);
  height: clamp(56px, 14.9333333333vw, 74.48px);
  background: #20356d;
  cursor: pointer;
}

.header__btn--icon {
  display: none;
}
.header__btn--icon.icon_open {
  width: clamp(24px, 6.4vw, 31.92px);
  height: clamp(15px, 4vw, 19.95px);
}
.header__btn--icon.icon_close {
  width: clamp(20px, 5.3333333333vw, 26.6px);
  height: clamp(20px, 5.3333333333vw, 26.6px);
}
.header__btn--icon.active {
  display: block;
}

.header__btn--txt {
  font-size: clamp(10px, 2.6666666667vw, 13.3px);
  text-align: center;
  line-height: 1;
  color: #fff;
}

.hm {
  display: none;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 500px;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9;
}

.hm__wrap {
  overflow-y: auto;
  height: 100%;
  padding-bottom: clamp(40px, 10.6666666667vw, 53.2px);
  padding-top: clamp(56px, 14.9333333333vw, 74.48px);
}

.hm__link {
  display: block;
  padding: clamp(15px, 4vw, 19.95px) clamp(25px, 6.6666666667vw, 33.25px);
  font-size: clamp(17px, 4.5333333333vw, 22.61px);
  font-weight: 500;
  border-bottom: 1px solid #e6e6e6;
  color: #000;
}

.hmBtns {
  margin-top: clamp(30px, 8vw, 39.9px);
}

.hmBtn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(325px, 86.6666666667vw, 432.25px);
  height: clamp(80px, 21.3333333333vw, 106.4px);
  margin: clamp(15px, 4vw, 19.95px) auto 0;
  border-radius: clamp(4px, 1.0666666667vw, 5.32px);
  color: #fff;
}

.hmLine {
  gap: clamp(6px, 1.6vw, 7.98px);
  background: -webkit-gradient(linear, left bottom, left top, from(#3b7f1e), to(#5bd72c));
  background: -webkit-linear-gradient(bottom, #3b7f1e 0%, #5bd72c 100%);
  background: linear-gradient(0deg, #3b7f1e 0%, #5bd72c 100%);
}

.hmWeb {
  gap: clamp(6px, 1.6vw, 7.98px);
  background: -webkit-gradient(linear, left bottom, left top, from(#3b7f1e), to(#5bd72c));
  background: -webkit-linear-gradient(bottom, #3b7f1e 0%, #5bd72c 100%);
  background: linear-gradient(0deg, #3b7f1e 0%, #5bd72c 100%);
}

.hmLine__icon {
  width: clamp(24px, 6.4vw, 31.92px);
  height: clamp(23px, 6.1333333333vw, 30.59px);
}

.hmLine__txt {
  padding-bottom: clamp(5px, 1.3333333333vw, 6.65px);
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  font-weight: 500;
  color: #fff;
}

.hmTel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  background: -webkit-gradient(linear, left bottom, left top, from(#434a84), to(#6973ca));
  background: -webkit-linear-gradient(bottom, #434a84 0%, #6973ca 100%);
  background: linear-gradient(0deg, #434a84 0%, #6973ca 100%);
}

.hmTel__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(5px, 1.3333333333vw, 6.65px);
}

.hmTel__icon {
  width: clamp(24px, 6.4vw, 31.92px);
  height: clamp(24px, 6.4vw, 31.92px);
}

.hmTel__num {
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.hmTel__txt {
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  text-align: center;
}

.footer {
  position: relative;
  max-width: 500px;
  width: 100%;
  margin: 0 auto clamp(70px, 18.6666666667vw, 93.1px);
  padding-top: clamp(30px, 8vw, 39.9px);
  padding-bottom: clamp(30px, 8vw, 39.9px);
  background: #0c1f5a;
}

.footer__logo {
  width: clamp(160px, 42.6666666667vw, 212.8px);
  margin: 0 auto;
}

.footer__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(6px, 1.6vw, 7.98px);
}
.footer__tel p {
  font-size: clamp(29px, 7.7333333333vw, 38.57px);
  font-weight: 600;
  letter-spacing: 0.066em;
  color: #fff;
}
.footer__tel a {
  color: #fff;
  text-decoration: none;
}

.footer__tel--icon {
  width: clamp(17px, 4.5333333333vw, 22.61px);
  height: clamp(30px, 8vw, 39.9px);
}

.footer__sub {
  font-size: clamp(13px, 3.4666666667vw, 17.29px);
  font-weight: 600;
  text-align: center;
  color: #fff;
}

.ftBnr {
  position: fixed;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 500px;
  width: 100%;
  height: clamp(70px, 18.6666666667vw, 93.1px);
  padding: clamp(7px, 1.8666666667vw, 9.31px);
  background: #fff;
  z-index: 5;
  opacity: 0;
  transition: all 0.4s;
}

.ftBnr.active {
  opacity: 1;
}

.ftBnr__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(6px, 1.6vw, 7.98px);
}

.ftBnr__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  width: clamp(175px, 46.6666666667vw, 232.75px);
  height: clamp(57px, 15.2vw, 75.81px);
  border-radius: clamp(4px, 1.0666666667vw, 5.32px);
  color: #fff;
}

.ftBnr__tel {
  background: -webkit-gradient(linear, left bottom, left top, from(#434a84), to(#6973ca));
  background: -webkit-linear-gradient(bottom, #434a84 0%, #6973ca 100%);
  background: linear-gradient(0deg, #434a84 0%, #6973ca 100%);
}

.ftBnr__tel--head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(2px, 0.5333333333vw, 2.66px);
}

.ftBnr__tel--icon {
  width: clamp(16px, 4.2666666667vw, 21.28px);
  height: clamp(16px, 4.2666666667vw, 21.28px);
}

.ftBnr__tel--num {
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.4;
  font-weight: 500;
  color: #fff;
}

.ftBnr__tel--txt {
  font-size: clamp(12px, 3.2vw, 15.96px);
  line-height: 1.2;
  text-align: center;
  color: #fff;
}

.ftBnr__line {
  gap: clamp(2px, 0.5333333333vw, 2.66px);
  width: calc((100% - clamp(175px, 46.6666666667vw, 232.75px) - clamp(12px, 3.2vw, 15.96px)) / 2);
  background: -webkit-gradient(linear, left bottom, left top, from(#3b7f1e), to(#5bd72c));
  background: -webkit-linear-gradient(bottom, #3b7f1e 0%, #5bd72c 100%);
  background: linear-gradient(0deg, #3b7f1e 0%, #5bd72c 100%);
}

.ftBnr__web {
  gap: clamp(2px, 0.5333333333vw, 2.66px);
  width: calc((100% - clamp(175px, 46.6666666667vw, 232.75px) - clamp(12px, 3.2vw, 15.96px)) / 2);
  background: -webkit-gradient(linear, left top, left top, from(#00c300), to(#128500));
  background: -webkit-linear-gradient(top, #00c300 0%, #128500 100%);
  background: linear-gradient(top, #00c300 0%, #128500 100%);
}

.ftBnr__line--icon {
  width: clamp(24px, 6.4vw, 31.92px);
  height: clamp(23px, 6.1333333333vw, 30.59px);
}

.ftBnr__line--txt {
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
}

.hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .hover:hover {
    opacity: 0.6;
  }
}

.hover-w {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
}
@media (any-hover: hover) {
  .hover-w::before {
    content: "";
    background: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
  }
  .hover-w:hover {
    opacity: 1;
  }
  .hover-w:hover::before {
    opacity: 0.25;
  }
}

.mv {
  position: relative;
  padding-top: clamp(58px, 14.8vw, 74.48px);
  z-index: 5;
}

.kp {
  position: relative;
}

.kpMain {
  position: relative;
  padding-top: clamp(12px, 3.2vw, 15.96px);
}

.kpTtl {
  width: clamp(325px, 86.6666666667vw, 432.25px);
  margin: clamp(5px, 1.3333333333vw, 6.65px) auto 0;
}

.kpImg {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.it {
  position: relative;
  padding-top: clamp(33px, 8.8vw, 43.89px);
  padding-bottom: clamp(50px, 13.3333333333vw, 66.5px);
}

.itTop {
  width: clamp(230px, 61.3333333333vw, 305.9px);
  padding-left: clamp(25px, 6.6666666667vw, 33.25px);
}

.itBox {
  position: relative;
  margin-top: clamp(15px, 4vw, 19.95px);
  padding-top: clamp(54px, 14.4vw, 71.82px);
  padding-bottom: clamp(50px, 13.3333333333vw, 66.5px);
}

.itBox__bg {
  position: absolute;
  top: 0;
  left: clamp(5px, 1.3333333333vw, 6.65px);
}

.itBox__text {
  position: relative;
  margin: clamp(13px, 3.4666666667vw, 17.29px) auto 0;
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  letter-spacing: -0.01em;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
}
.itBox__text .line {
  text-decoration: underline;
}
.itBox__text .box {
  padding: 0 clamp(8px, 2.1333333333vw, 10.64px);
  display: inline;
  letter-spacing: 0.04em;
  color: #fff;
  background: #1e1e1e;
}
.itBox__text .box span {
  color: #fffd48;
}

.itSub {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(180px, 48vw, 239.4px);
  height: clamp(30px, 8vw, 39.9px);
  margin: 0 auto;
  border-radius: clamp(21px, 5.6vw, 27.93px);
  font-size: clamp(15px, 4vw, 19.95px);
  font-weight: 500;
  background: #fff;
}
.itSub::after {
  content: "";
  width: clamp(2px, 0.5333333333vw, 2.66px);
  height: clamp(15px, 4vw, 19.95px);
  position: absolute;
  bottom: calc(clamp(15px, 4vw, 19.95px) * -1);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #fff;
}

.itTtl {
  position: relative;
  margin-top: clamp(15px, 4vw, 19.95px);
  font-size: clamp(64px, 17.0666666667vw, 85.12px);
  letter-spacing: -0.16em;
  text-align: center;
  color: #fffd48;
}
.itTtl .sm {
  font-size: clamp(59px, 15.7333333333vw, 78.47px);
}
.itTtl .dot {
  font-size: clamp(40px, 10.6666666667vw, 53.2px);
  letter-spacing: -0.5em;
}

.itRead {
  position: relative;
  font-size: clamp(18px, 4.8vw, 23.94px);
  font-weight: 600;
  text-align: center;
  color: #fff;
}

.itImgs {
  position: relative;
}

.itf {
  position: relative;
  padding-top: clamp(50px, 13.3333333333vw, 66.5px);
  padding-bottom: clamp(70px, 18.6666666667vw, 93.1px);
}

.itf_icon {
  position: absolute;
  top: calc(clamp(18px, 4.8vw, 23.94px) * -1);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(2px, 0.5333333333vw, 2.66px);
  height: clamp(35px, 9.3333333333vw, 46.55px);
  border-left: clamp(2px, 0.5333333333vw, 2.66px) dashed #fff;
}

.itf__text {
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
}

.reco {
  margin-top: calc(clamp(40px, 10.6666666667vw, 53.2px) * -1);
}

.how {
  position: relative;
  margin-top: calc(clamp(25px, 6.6666666667vw, 33.25px) * -1);
  z-index: 1;
}

.sug {
  position: relative;
  margin-top: calc(clamp(45px, 12vw, 59.85px) * -1);
  padding-top: clamp(65px, 17.3333333333vw, 86.45px);
  padding-bottom: clamp(40px, 10.6666666667vw, 53.2px);
}

.sugSub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(190px, 50.6666666667vw, 252.7px);
  height: clamp(34px, 9.0666666667vw, 45.22px);
  margin: 0 auto;
  border-radius: clamp(18px, 4.8vw, 23.94px);
  font-size: clamp(18px, 4.8vw, 23.94px);
  font-weight: 600;
  border: clamp(1px, 0.2666666667vw, 1.33px) solid #ff939f;
  color: #fff;
  background: #e96168;
}

.sugLogo {
  margin: clamp(17px, 4.5333333333vw, 22.61px) auto 0;
  width: clamp(160px, 42.6666666667vw, 212.8px);
  height: clamp(38px, 10.1333333333vw, 50.54px);
}

.sugTop {
  margin-top: clamp(9px, 2.4vw, 11.97px);
  margin-bottom: clamp(12px, 3.2vw, 15.96px);
  font-size: clamp(40px, 10.6666666667vw, 53.2px);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}
.sugTop span {
  font-size: clamp(33px, 8.8vw, 43.89px);
}

.sugBox {
  position: relative;
  padding: clamp(5px, 1.3333333333vw, 6.65px);
  background: #fff;
}

.sugBox__bg {
  position: absolute;
  width: calc(100% - clamp(10px, 2.6666666667vw, 13.3px));
  height: calc(100% - clamp(10px, 2.6666666667vw, 13.3px));
}
.sugBox__bg img {
  height: 100%;
}

.sugBox__wrap {
  position: relative;
  padding: clamp(20px, 5.3333333333vw, 26.6px);
}

.sugBox__txt {
  margin-top: clamp(6px, 1.6vw, 7.98px);
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  line-height: 1.57;
}
.sugBox__txt span {
  background: #fcf908;
}

.cs {
  position: relative;
}

.csSub {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.csSub span {
  font-size: clamp(17px, 4.5333333333vw, 22.61px);
}
.csSub::after {
  content: "";
  position: absolute;
  width: clamp(30px, 8vw, 39.9px);
  bottom: clamp(12px, 3.2vw, 15.96px);
  right: calc(clamp(25px, 6.6666666667vw, 33.25px) * -1);
  -webkit-transform: rotate(-65deg);
          transform: rotate(-65deg);
  height: clamp(1.5px, 0.4vw, 1.995px);
  background: #3d3d3d;
}
.csSub::before {
  content: "";
  position: absolute;
  width: clamp(30px, 8vw, 39.9px);
  height: clamp(1.5px, 0.4vw, 1.995px);
  bottom: clamp(12px, 3.2vw, 15.96px);
  left: calc(clamp(25px, 6.6666666667vw, 33.25px) * -1);
  -webkit-transform: rotate(65deg);
          transform: rotate(65deg);
  background: #3d3d3d;
}

.csTop {
  margin: clamp(20px, 5.3333333333vw, 26.6px) 0 clamp(15px, 4vw, 19.95px);
}

.csTop__left {
  border-top: clamp(1px, 0.2666666667vw, 1.33px) solid #ea6065;
  border-bottom: clamp(1px, 0.2666666667vw, 1.33px) solid #ea6065;
  font-size: clamp(32px, 8.5333333333vw, 42.56px);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ea6065;
}

.csTop__right {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(32px, 8.5333333333vw, 42.56px);
  letter-spacing: 0.05em;
  color: #fff;
  background: #ea6065;
}

.csTop__read {
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  color: #f85e65;
}

.csItms {
  width: min(89.3vw, 92%);
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: min(58.2vw, 297px);
}

.csItm {
  position: relative;
  overflow: hidden;
  margin-top: min(8vw, 20px);
}

.twentytwenty-handle {
  background-color: #ea6065;
  top: 50%;
  bottom: unset;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.csTb {
  width: 100%;
  margin-top: clamp(40px, 10.6666666667vw, 53.2px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
}
.csTb table {
  width: 100%;
}
.csTb th {
  border: clamp(1px, 0.2666666667vw, 1.33px) solid #5b5b5b;
  padding: clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(11px, 2.9333333333vw, 14.63px);
  font-weight: 500;
  letter-spacing: 0.05em;
  vertical-align: middle;
  white-space: nowrap;
  background: #fceaea;
}
.csTb td {
  border: clamp(1px, 0.2666666667vw, 1.33px) solid #5b5b5b;
  padding: clamp(12px, 3.2vw, 15.96px) clamp(15px, 4vw, 19.95px);
  font-size: clamp(12px, 3.2vw, 15.96px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.36;
  background: #fff;
}

.rs {
  position: relative;
  overflow: hidden;
  padding-top: clamp(45px, 12vw, 59.85px);
  padding-bottom: clamp(40px, 10.6666666667vw, 53.2px);
}

.rsTop {
  position: relative;
}

.rsTop__sub {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(27px, 7.2vw, 35.91px);
  font-weight: 500;
  color: #f67c67;
}
.rsTop__sub::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(clamp(60px, 16vw, 79.8px) * -1);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(50px, 13.3333333333vw, 66.5px);
  height: clamp(1.5px, 0.4vw, 1.995px);
  background: #f58c7a;
}
.rsTop__sub::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(clamp(60px, 16vw, 79.8px) * -1);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(50px, 13.3333333333vw, 66.5px);
  height: clamp(1.5px, 0.4vw, 1.995px);
  background: #f58c7a;
}

.rsTop__ttl {
  position: relative;
  font-size: clamp(33px, 8.8vw, 43.89px);
  font-weight: 500;
  text-align: center;
}
.rsTop__ttl span {
  font-size: clamp(44px, 11.7333333333vw, 58.52px);
}

.rsTop__icon {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: calc(clamp(30px, 8vw, 39.9px) * -1);
  width: clamp(285px, 76vw, 379.05px);
  height: clamp(65px, 17.3333333333vw, 86.45px);
}

.rsItms {
  padding-left: clamp(25px, 6.6666666667vw, 33.25px);
}

.rsItm {
  position: relative;
  margin-top: clamp(25px, 6.6666666667vw, 33.25px);
  font-size: clamp(15px, 4vw, 19.95px);
  padding-left: clamp(20px, 5.3333333333vw, 26.6px);
  line-height: 1.6;
  font-weight: 600;
}
.rsItm::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(5px, 1.3333333333vw, 6.65px);
  height: clamp(35px, 9.3333333333vw, 46.55px);
  background: -webkit-gradient(linear, left bottom, left top, from(#f58b7a), color-stop(50%, #f58f7a));
  background: -webkit-linear-gradient(bottom, #f58b7a 0%, #f58f7a 50% #f5b77a 100%);
  background: linear-gradient(0deg, #f58b7a 0%, #f58f7a 50% #f5b77a 100%);
}

.rsItm__line {
  width: clamp(200px, 53.3333333333vw, 266px);
  margin-top: clamp(20px, 5.3333333333vw, 26.6px);
  border-bottom: clamp(2px, 0.5333333333vw, 2.66px) dashed #fff;
}

.rsBox {
  position: relative;
  margin: clamp(50px, 13.3333333333vw, 66.5px) clamp(10px, 2.6666666667vw, 13.3px) 0;
  padding: clamp(4px, 1.0666666667vw, 5.32px);
  border-radius: clamp(23px, 6.1333333333vw, 30.59px);
  -webkit-box-shadow: 0 0 clamp(6px, 1.6vw, 7.98px) 0 #bcdef2;
          box-shadow: 0 0 clamp(6px, 1.6vw, 7.98px) 0 #bcdef2;
  background: #fff;
}

.rsBox__wrap {
  padding: clamp(22px, 5.8666666667vw, 29.26px) clamp(18px, 4.8vw, 23.94px);
  border-radius: clamp(23px, 6.1333333333vw, 30.59px);
  border: clamp(0.5px, 0.1333333333vw, 0.665px) solid #e1e1e1;
}

.rsBox__img {
  position: absolute;
  top: clamp(12px, 3.2vw, 15.96px);
  right: calc(clamp(25px, 6.6666666667vw, 33.25px) * -1);
  width: clamp(160px, 42.6666666667vw, 212.8px);
}

.rsBox__sub {
  font-family: "Kosugi Maru", sans-serif;
  font-size: clamp(10px, 2.6666666667vw, 13.3px);
  letter-spacing: 0.05em;
}

.rsBox__ttl {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
  margin-bottom: clamp(17px, 4.5333333333vw, 22.61px);
}

.rsBox__text {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  line-height: 1.57;
  font-weight: 500;
}
.rsBox__text span {
  background: #fec9c0;
}

.rsTable {
  margin-top: clamp(25px, 6.6666666667vw, 33.25px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
}

.rs__msg {
  margin-top: clamp(30px, 8vw, 39.9px);
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  line-height: 1.6;
  text-align: center;
}
.rs__msg span {
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px) clamp(3px, 0.8vw, 3.99px);
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(#f58b7a), color-stop(50%, #f58f7a), to(#f5b77a));
  background: -webkit-linear-gradient(bottom, #f58b7a 0%, #f58f7a 50%, #f5b77a 100%);
  background: linear-gradient(0deg, #f58b7a 0%, #f58f7a 50%, #f5b77a 100%);
}

.rsMv {
  position: relative;
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.rsMv__main {
  position: absolute;
  top: clamp(30px, 8vw, 39.9px);
  left: clamp(15px, 4vw, 19.95px);
  width: clamp(297px, 79.2vw, 395.01px);
  height: clamp(167px, 44.5333333333vw, 222.11px);
}
.rsMv__main video {
  position: relative;
  width: 100%;
}

.rsMv__icon {
  position: absolute;
  bottom: clamp(40px, 10.6666666667vw, 53.2px);
  width: clamp(105px, 28vw, 139.65px);
  height: clamp(35px, 9.3333333333vw, 46.55px);
}

.pt {
  position: relative;
  overflow: hidden;
}

.ptWrap {
  position: relative;
  padding-bottom: clamp(85px, 22.6666666667vw, 113.05px);
}

.ptDeco {
  top: clamp(30px, 8vw, 39.9px);
}

.ptBoxs {
  max-width: clamp(375px, 100vw, 498.75px);
  margin: 0 auto;
}

.ptBox {
  width: clamp(350px, 93.3333333333vw, 465.5px);
  margin-top: clamp(40px, 10.6666666667vw, 53.2px);
  border-radius: 0 clamp(30px, 8vw, 39.9px) clamp(30px, 8vw, 39.9px) 0;
  -webkit-box-shadow: 0 0 clamp(9px, 2.4vw, 11.97px) 0 rgba(244, 136, 114, 0.55);
          box-shadow: 0 0 clamp(9px, 2.4vw, 11.97px) 0 rgba(244, 136, 114, 0.55);
}

.ptBox__wrap {
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(15px, 4vw, 19.95px) clamp(30px, 8vw, 39.9px) clamp(15px, 4vw, 19.95px);
  background: url(../img/main/ptBox-left.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.ptBox__head {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 2.6666666667vw, 13.3px);
  margin-bottom: clamp(20px, 5.3333333333vw, 26.6px);
}

.ptBox__icon {
  width: clamp(88px, 23.4666666667vw, 117.04px);
  height: clamp(88px, 23.4666666667vw, 117.04px);
}

.ptBox__ttl {
  width: calc(100% - clamp(98px, 26.1333333333vw, 130.34px));
  font-size: clamp(26px, 6.9333333333vw, 34.58px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.01em;
}

.ptBox__img {
  width: clamp(340px, 90.6666666667vw, 452.2px);
  margin-left: clamp(20px, 5.3333333333vw, 26.6px);
}

.ptBox__sub {
  margin: clamp(13px, 3.4666666667vw, 17.29px) auto clamp(10px, 2.6666666667vw, 13.3px);
  padding-left: clamp(12px, 3.2vw, 15.96px);
  font-size: clamp(17px, 4.5333333333vw, 22.61px);
  font-weight: 600;
  letter-spacing: -0.07em;
}
.ptBox__sub + .ptBox__txt {
  margin: 0 auto;
}

.ptBox__txt {
  width: clamp(290px, 77.3333333333vw, 385.7px);
  margin: clamp(20px, 5.3333333333vw, 26.6px) auto 0;
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  line-height: 1.42;
}

.ptBox.reverse {
  margin-left: auto;
  border-radius: clamp(30px, 8vw, 39.9px) 0 0 clamp(30px, 8vw, 39.9px);
}
.ptBox.reverse .ptBox__wrap {
  background: url(../img/main/ptBox-right.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.ptBox.reverse .ptBox__img {
  margin-left: calc(clamp(40px, 10.6666666667vw, 53.2px) * -1);
}

.dr {
  position: relative;
  margin-top: calc(clamp(50px, 13.3333333333vw, 66.5px) * -1);
  padding-top: clamp(85px, 22.6666666667vw, 113.05px);
  padding-bottom: clamp(40px, 10.6666666667vw, 53.2px);
}

.drWrap {
  position: relative;
  padding: 0 clamp(25px, 6.6666666667vw, 33.25px);
}

.drTop {
  width: clamp(255px, 68vw, 339.15px);
  margin: 0 auto;
}

.drTop__txt {
  margin-top: clamp(16px, 4.2666666667vw, 21.28px);
  padding: clamp(12px, 3.2vw, 15.96px);
  font-size: clamp(12px, 3.2vw, 15.96px);
  line-height: 1.58;
  font-weight: 600;
  letter-spacing: 0.025em;
  background: rgba(255, 255, 255, 0.81);
}
.drTop__txt span {
  display: inline-block;
  margin-bottom: clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-weight: 600;
}

.drFlex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: clamp(18px, 4.8vw, 23.94px);
  gap: clamp(10px, 2.6666666667vw, 13.3px);
  color: #fff;
}

.drImg {
  width: 42%;
}

.drMeta {
  width: calc(58% - clamp(10px, 2.6666666667vw, 13.3px));
  padding-bottom: clamp(5px, 1.3333333333vw, 6.65px);
}

.drTtls {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(13px, 3.4666666667vw, 17.29px);
  padding-bottom: clamp(7px, 1.8666666667vw, 9.31px);
  border-bottom: clamp(1px, 0.2666666667vw, 1.33px) solid #fff;
}
.drTtls.dr02 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  padding-left: 10px;
}
.drTtls.dr02 .drTtl__en {
  margin-top: -10px;
  padding-left: 5px;
}

.drTtl {
  font-size: clamp(24px, 6.4vw, 31.92px);
}

.drTtl__en {
  padding-top: clamp(3px, 0.8vw, 3.99px);
  font-size: clamp(12px, 3.2vw, 15.96px);
}

.drMeta__txt {
  margin-top: clamp(13px, 3.4666666667vw, 17.29px);
  font-size: clamp(12px, 3.2vw, 15.96px);
  line-height: 1.6;
}
.drMeta__txt span {
  letter-spacing: -0.1em;
}

.drJob {
  margin-top: clamp(15px, 4vw, 19.95px);
}

.drJob__ttl {
  height: clamp(30px, 8vw, 39.9px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(15px, 4vw, 19.95px);
  color: #fff;
  background: #0c1f5a;
}

.drJob__box {
  padding: clamp(10px, 2.6666666667vw, 13.3px) clamp(15px, 4vw, 19.95px);
  background: #fff;
}

.drJob__txts {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(14px, 3.7333333333vw, 18.62px);
  margin-top: clamp(3px, 0.8vw, 3.99px);
}

.drJob__time {
  width: clamp(55px, 14.6666666667vw, 73.15px);
  font-size: clamp(11px, 2.9333333333vw, 14.63px);
  font-weight: 500;
  text-align: right;
  letter-spacing: 0.035em;
}

.drJob__txt {
  width: calc(100% - clamp(55px, 14.6666666667vw, 73.15px) - clamp(14px, 3.7333333333vw, 18.62px));
  font-size: clamp(11px, 2.9333333333vw, 14.63px);
  font-weight: 500;
}

.drRead {
  position: relative;
  margin-top: clamp(30px, 8vw, 39.9px);
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(15px, 4vw, 19.95px) clamp(15px, 4vw, 19.95px);
  border-radius: clamp(10px, 2.6666666667vw, 13.3px);
  background: rgba(255, 255, 255, 0.84);
}

.drRead__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: calc(clamp(11px, 2.9333333333vw, 14.63px) * -1);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(205px, 54.6666666667vw, 272.65px);
  height: clamp(22px, 5.8666666667vw, 29.26px);
  border-radius: clamp(11px, 2.9333333333vw, 14.63px);
  font-size: clamp(13px, 3.4666666667vw, 17.29px);
  font-weight: 500;
  color: #fff;
  background: #0c1f5a;
}

.drRead__txt {
  font-size: clamp(11px, 2.9333333333vw, 14.63px);
  font-weight: 500;
  line-height: 1.7;
}

.flow {
  position: relative;
  padding-top: clamp(50px, 13.3333333333vw, 66.5px);
  padding-bottom: clamp(70px, 18.6666666667vw, 93.1px);
}

.flowTop {
  position: relative;
  padding-top: clamp(2px, 0.5333333333vw, 2.66px);
  padding-bottom: clamp(2px, 0.5333333333vw, 2.66px);
  border-top: clamp(2px, 0.5333333333vw, 2.66px) solid #f58b78;
  border-bottom: clamp(2px, 0.5333333333vw, 2.66px) solid #f58b78;
  text-align: center;
  color: #f58b78;
}

.flowTop__wrap {
  padding-top: clamp(15px, 4vw, 19.95px);
  padding-bottom: clamp(15px, 4vw, 19.95px);
  border-top: clamp(1px, 0.2666666667vw, 1.33px) solid #f58b78;
  border-bottom: clamp(1px, 0.2666666667vw, 1.33px) solid #f58b78;
}

.flowTop__sub {
  position: absolute;
  top: calc(clamp(13px, 3.4666666667vw, 17.29px) * -1);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(175px, 46.6666666667vw, 232.75px);
  height: clamp(26px, 6.9333333333vw, 34.58px);
  border: clamp(1px, 0.2666666667vw, 1.33px) solid #f58b78;
  border-radius: clamp(13px, 3.4666666667vw, 17.29px);
  font-size: clamp(17px, 4.5333333333vw, 22.61px);
  letter-spacing: 0.091em;
  background: #fff;
}

.flowTop__ttl {
  font-size: clamp(35px, 9.3333333333vw, 46.55px);
  letter-spacing: 0.063em;
}

.flowTop__read {
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-weight: 600;
  letter-spacing: 0.091em;
}

.flowItms {
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
}

.flowItm {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: clamp(30px, 8vw, 39.9px);
  gap: clamp(8px, 2.1333333333vw, 10.64px);
}

.flowItm__icon {
  position: relative;
  width: clamp(107px, 28.5333333333vw, 142.31px);
}
.flowItm__icon::after {
  content: "";
  background: url(../img/main/flow_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: clamp(8px, 2.1333333333vw, 10.64px);
  height: clamp(25px, 6.6666666667vw, 33.25px);
  position: absolute;
  bottom: calc(clamp(35px, 9.3333333333vw, 46.55px) * -1);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.flowItm__icon.icon_last::after {
  display: none;
}

.flowItm__cont {
  width: calc(100% - clamp(115px, 30.6666666667vw, 152.95px));
  padding-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.flowItm__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: clamp(30px, 8vw, 39.9px);
  margin-bottom: clamp(2px, 0.5333333333vw, 2.66px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  font-weight: 600;
  letter-spacing: -0.07em;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(#f67c66), to(#f58d7a));
  background: -webkit-linear-gradient(bottom, #f67c66 0%, #f58d7a 100%);
  background: linear-gradient(0deg, #f67c66 0%, #f58d7a 100%);
}

.flowItm__txt {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  line-height: 1.42;
}

.faq {
  position: relative;
  padding-top: clamp(30px, 8vw, 39.9px);
  padding-bottom: clamp(30px, 8vw, 39.9px);
}

.faqTop {
  padding-top: clamp(20px, 5.3333333333vw, 26.6px);
  padding-bottom: clamp(20px, 5.3333333333vw, 26.6px);
  border-top: clamp(2px, 0.5333333333vw, 2.66px) dashed #fff;
  border-bottom: clamp(2px, 0.5333333333vw, 2.66px) dashed #fff;
  text-align: center;
  color: #fff;
}

.faqTop__ttl {
  font-size: clamp(40px, 10.6666666667vw, 53.2px);
  font-weight: 500;
  letter-spacing: 0.043em;
}

.faqTop__sub {
  font-size: clamp(18px, 4.8vw, 23.94px);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.faqItm {
  margin-top: clamp(25px, 6.6666666667vw, 33.25px);
}

.faqBox {
  margin-top: clamp(20px, 5.3333333333vw, 26.6px);
  padding: clamp(20px, 5.3333333333vw, 26.6px);
  border-radius: clamp(15px, 4vw, 19.95px) 0 clamp(15px, 4vw, 19.95px) 0;
  background: #fff;
}

.faqBox__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(8px, 2.1333333333vw, 10.64px);
  padding-bottom: clamp(15px, 4vw, 19.95px);
  border-bottom: clamp(1px, 0.2666666667vw, 1.33px) dashed #f57b65;
}

.faq__icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(37px, 9.8666666667vw, 49.21px);
  height: clamp(37px, 9.8666666667vw, 49.21px);
  padding-bottom: clamp(5px, 1.3333333333vw, 6.65px);
  padding-right: clamp(1px, 0.2666666667vw, 1.33px);
  border-radius: 50%;
  font-size: clamp(27px, 7.2vw, 35.91px);
  line-height: 1;
  font-weight: 500;
  color: #fff;
  background: #ed6f56;
}

.faq__ttl {
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.3;
  font-weight: 600;
  color: #f4684f;
}

.faq__txt {
  margin-top: clamp(18px, 4.8vw, 23.94px);
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  line-height: 1.7;
}

.ac {
  position: relative;
  padding-top: clamp(40px, 10.6666666667vw, 53.2px);
  padding-bottom: clamp(50px, 13.3333333333vw, 66.5px);
}

.acTop__title {
  font-size: clamp(35px, 9.3333333333vw, 46.55px);
  letter-spacing: 0.063em;
  text-align: center;
}

.acTop__sub {
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-weight: 500;
  text-align: center;
}

.ac__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(270px, 72vw, 359.1px);
  height: clamp(30px, 8vw, 39.9px);
  margin: clamp(35px, 9.3333333333vw, 46.55px) auto;
  font-size: clamp(20px, 5.3333333333vw, 26.6px);
  font-weight: 600;
  letter-spacing: 0.05em;
  border: clamp(1px, 0.2666666667vw, 1.33px) solid #1e1e1e;
}

.ac__map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 69%;
}
.ac__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ac__map--read {
  margin-top: clamp(5px, 1.3333333333vw, 6.65px);
  font-size: clamp(13px, 3.4666666667vw, 17.29px);
  font-weight: 600;
  letter-spacing: 0.025;
}

.acTl {
  margin-top: clamp(45px, 12vw, 59.85px);
  padding-left: clamp(10px, 2.6666666667vw, 13.3px);
}

.acTl__itm {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(20px, 5.3333333333vw, 26.6px);
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.acTl__ttl {
  width: clamp(55px, 14.6666666667vw, 73.15px);
  font-size: clamp(13px, 3.4666666667vw, 17.29px);
  font-weight: 500;
  text-align: right;
}

.acTl__txt {
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  padding-left: clamp(15px, 4vw, 19.95px);
  border-left: clamp(1px, 0.2666666667vw, 1.33px) solid #1e1e1e;
}

.acBtn__read {
  margin-top: clamp(50px, 13.3333333333vw, 66.5px);
  font-size: clamp(15px, 4vw, 19.95px);
  letter-spacing: 0.025em;
  text-align: center;
}

.acBtn {
  position: relative;
  overflow: hidden;
  display: block;
  width: clamp(300px, 80vw, 399px);
  margin: clamp(15px, 4vw, 19.95px) auto 0;
  border-radius: clamp(12px, 3.2vw, 15.96px);
  -webkit-box-shadow: 0 clamp(1px, 0.2666666667vw, 1.33px) clamp(3px, 0.8vw, 3.99px) 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 clamp(1px, 0.2666666667vw, 1.33px) clamp(3px, 0.8vw, 3.99px) 0 rgba(0, 0, 0, 0.16);
}

.acBtn.web {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.campaign {
  position: relative;
}
.campaign.bg_none .camp__bg {
  display: none;
}
.campaign .btn {
  display: block;
  position: absolute;
  bottom: clamp(62px, 33.3vw, 83px);
  left: 0;
  right: 0;
  margin: 0 auto;
  width: clamp(295px, 78.6vw, 78.6%);
  animation: bound 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
.campaign.campaign01 .btn {
  bottom: clamp(40px, 13.3vw, 68px);
}
.campaign.campaign02 .btn {
  bottom: clamp(40px, 13.3vw, 68px);
}
.campaign.campaign03 .btn {
  bottom: clamp(10px, 14.3vw, 25px);
}

.camp__bg {
  position: absolute;
  top: calc(clamp(55px, 14.6666666667vw, 73.15px) * -1);
  left: 0;
  width: 100%;
  height: clamp(60px, 16vw, 79.8px);
}
.camp__bg img {
  height: 100%;
}

.campTop {
  padding-bottom: clamp(5px, 1.3333333333vw, 6.65px);
  border-bottom: clamp(2px, 0.5333333333vw, 2.66px) dashed #fff;
  font-size: clamp(24px, 6.4vw, 31.92px);
  font-size: clamp(24px, 6.4vw, 31.92px);
  font-weight: 500;
  text-align: center;
  color: #fff;
}
.campTop span {
  color: #f9ff02;
}

.campBox {
  margin-top: clamp(25px, 6.6666666667vw, 33.25px);
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(16px, 4.2666666667vw, 21.28px);
  border-radius: clamp(5px, 1.3333333333vw, 6.65px);
  background: #fff;
}

.campBtn {
  position: relative;
  overflow: hidden;
  display: block;
  margin-top: clamp(17px, 4.5333333333vw, 22.61px);
  border-radius: clamp(12px, 3.2vw, 15.96px);
  -webkit-box-shadow: 0 clamp(1px, 0.2666666667vw, 1.33px) clamp(3px, 0.8vw, 3.99px) 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 clamp(1px, 0.2666666667vw, 1.33px) clamp(3px, 0.8vw, 3.99px) 0 rgba(0, 0, 0, 0.16);
}

.campBtn.web {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}

.form {
  position: relative;
  padding-bottom: clamp(50px, 13.3333333333vw, 66.5px);
  background: #fff;
}

.formTop {
  position: relative;
  padding: clamp(46px, 12.2666666667vw, 61.18px) 0;
}

.formBg {
  position: absolute;
  top: 0;
  left: 0;
}
.formBg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.formTop__ttl {
  position: relative;
  font-size: clamp(26px, 6.9333333333vw, 34.58px);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
}

.formTabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-top: clamp(40px, 10.6666666667vw, 53.2px);
}

.formTab {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: clamp(50px, 13.3333333333vw, 66.5px);
  border: 1px solid #dddddd;
  border-left: none;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-weight: 500;
  color: #999aa0;
  background: #f6f6f6;
}
.formTab:first-child {
  border-left: 1px solid #dddddd;
}
.formTab.active {
  color: #fff;
  background: #f18581;
}
.formTab.active::after {
  content: "";
  position: absolute;
  bottom: clamp(-7px, -1.8666666667vw, -9.31px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #f18581 transparent transparent transparent;
  border-width: clamp(9px, 2.4vw, 11.97px) clamp(8px, 2.1333333333vw, 10.64px) clamp(0px, 0vw, 0px) clamp(8px, 2.1333333333vw, 10.64px);
}

.formMain {
  margin-top: clamp(36px, 9.6vw, 47.88px);
}

.formBox {
  margin-bottom: clamp(40px, 10.6666666667vw, 53.2px);
}

.formTtl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(7px, 1.8666666667vw, 9.31px);
  margin-bottom: clamp(20px, 5.3333333333vw, 26.6px);
  padding: clamp(17px, 4.5333333333vw, 22.61px) clamp(10px, 2.6666666667vw, 13.3px);
  border-top: 1px solid #ffe7e3;
  border-bottom: 1px solid #ffe7e3;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-weight: 50;
  background: #fff6f5;
}
.formTtl .must {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(40px, 10.6666666667vw, 53.2px);
  height: clamp(21px, 5.6vw, 27.93px);
  margin-top: clamp(2px, 0.5333333333vw, 2.66px);
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  color: #fff;
  background: #f87e79;
}
.formTtl p {
  width: calc(100% - clamp(47px, 12.5333333333vw, 62.51px));
}

.formInp__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 2.6666666667vw, 13.3px);
}

.formInp {
  width: 100%;
}
.formInp input {
  width: 100%;
  height: clamp(48px, 12.8vw, 63.84px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #cecece;
  border-radius: clamp(5px, 1.3333333333vw, 6.65px);
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
}
.formInp input::-webkit-input-placeholder {
  color: #adadad;
}
.formInp input::-moz-placeholder {
  color: #adadad;
}
.formInp input:-ms-input-placeholder {
  color: #adadad;
}
.formInp input::-ms-input-placeholder {
  color: #adadad;
}
.formInp input::placeholder {
  color: #adadad;
}
.formInp textarea {
  width: 100%;
  height: clamp(150px, 40vw, 199.5px);
  padding: clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #cecece;
  border-radius: clamp(5px, 1.3333333333vw, 6.65px);
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
}
.formInp textarea::-webkit-input-placeholder {
  color: #adadad;
}
.formInp textarea::-moz-placeholder {
  color: #adadad;
}
.formInp textarea:-ms-input-placeholder {
  color: #adadad;
}
.formInp textarea::-ms-input-placeholder {
  color: #adadad;
}
.formInp textarea::placeholder {
  color: #adadad;
}

.formRadio__inp {
  margin-top: clamp(24px, 6.4vw, 31.92px);
}
.formRadio__inp label {
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
}
.formRadio__inp input[type=radio] {
  position: relative;
  width: clamp(20px, 5.3333333333vw, 26.6px);
  height: clamp(20px, 5.3333333333vw, 26.6px);
  border: clamp(1.5px, 0.4vw, 1.995px) solid #adadad;
  border-radius: 50%;
  vertical-align: clamp(-2px, -0.5333333333vw, -2.66px);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.formRadio__inp input[type=radio]:checked:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: clamp(9px, 2.4vw, 11.97px);
  height: clamp(9px, 2.4vw, 11.97px);
  border-radius: 50%;
  background: #fd5851;
}

.formRadio__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(70px, 18.6666666667vw, 93.1px);
  margin-top: clamp(24px, 6.4vw, 31.92px);
}
.formRadio__flex .formRadio__inp {
  margin-top: 0;
}

.formSelect {
  position: relative;
  width: clamp(173px, 46.1333333333vw, 230.09px);
  height: clamp(43px, 11.4666666667vw, 57.19px);
}
.formSelect::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(12px, 3.2vw, 15.96px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #3c3c3c transparent transparent transparent;
  border-width: clamp(5px, 1.3333333333vw, 6.65px) clamp(4.5px, 1.2vw, 5.985px) clamp(0px, 0vw, 0px) clamp(4.5px, 1.2vw, 5.985px);
}
.formSelect select {
  width: clamp(173px, 46.1333333333vw, 230.09px);
  height: clamp(43px, 11.4666666667vw, 57.19px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #e9e9e9;
  border-radius: clamp(4px, 1.0666666667vw, 5.32px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  font-family: "Shippori Mincho B1", serif;
  -webkit-appearance: none;
  /* Safari/Chrome */
  -moz-appearance: none;
  /* Firefox */
  appearance: none;
  background: #fff;
  color: #adadad;
}

.formDate__ttl {
  margin-top: clamp(18px, 4.8vw, 23.94px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
}
.formDate__ttl span {
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  color: #EA6065;
}
.formDate__ttl .any {
  color: #1e1e1e;
}

.formDate__pick {
  position: relative;
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}
.formDate__pick::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(20px, 5.3333333333vw, 26.6px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(22px, 5.8666666667vw, 29.26px);
  height: clamp(25px, 6.6666666667vw, 33.25px);
  background: url(../img/icon_calendar.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.formDate__select {
  position: relative;
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
}
.formDate__select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(25px, 6.6666666667vw, 33.25px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(13px, 3.4666666667vw, 17.29px);
  height: clamp(7px, 1.8666666667vw, 9.31px);
  background: url(../img/icon_select_arrow.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.formDate__select select {
  width: 100%;
  height: clamp(48px, 12.8vw, 63.84px);
  padding: 0 clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #cecece;
  border-radius: clamp(5px, 1.3333333333vw, 6.65px);
  font-family: "Shippori Mincho B1", serif;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  color: #adadad;
  -webkit-appearance: none;
  /* Safari/Chrome */
  -moz-appearance: none;
  /* Firefox */
  appearance: none;
  background: #fff;
}

.formBox__txt {
  padding-left: clamp(15px, 4vw, 19.95px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.75;
}
.formBox__txt span {
  color: #E45A99;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #f7f273));
  background: -webkit-linear-gradient(transparent 50%, #f7f273 50%);
  background: linear-gradient(transparent 50%, #f7f273 50%);
}

.formNote {
  margin-top: clamp(40px, 10.6666666667vw, 53.2px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.875;
}

.formAgree {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(30px, 8vw, 39.9px) auto 0;
}
.formAgree input[type=checkbox] {
  position: relative;
  width: clamp(16px, 4.2666666667vw, 21.28px);
  height: clamp(16px, 4.2666666667vw, 21.28px);
  border: 1px solid #dddddd;
  vertical-align: clamp(-3px, -0.8vw, -3.99px);
}

.formPolicy {
  margin-top: clamp(30px, 8vw, 39.9px);
  border: 1px solid #cecece;
}

.formPolicy__hd {
  padding: clamp(10px, 2.6666666667vw, 13.3px) 0;
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  text-align: center;
  background: #cecece;
}

.formPolicy__box {
  position: relative;
  overflow-y: scroll;
  height: clamp(150px, 40vw, 199.5px);
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.875;
}

.formBtn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(325px, 86.6666666667vw, 432.25px);
  height: clamp(60px, 16vw, 79.8px);
  margin: clamp(40px, 10.6666666667vw, 53.2px) auto 0;
  border: none;
  border-radius: clamp(4px, 1.0666666667vw, 5.32px);
  font-family: "Zen Old Mincho", serif;
  font-size: clamp(17px, 4.5333333333vw, 22.61px);
  font-weight: 500;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(#0c1f5a), to(#2b458b));
  background: -webkit-linear-gradient(bottom, #0c1f5a 0%, #2b458b 100%);
  background: linear-gradient(0deg, #0c1f5a 0%, #2b458b 100%);
}
.formBtn::after {
  content: "";
  position: absolute;
  width: clamp(6px, 1.6vw, 7.98px);
  height: clamp(6px, 1.6vw, 7.98px);
  border-right: clamp(1.5px, 0.4vw, 1.995px) solid #fff;
  border-bottom: clamp(1.5px, 0.4vw, 1.995px) solid #fff;
  top: 50%;
  right: clamp(14px, 3.7333333333vw, 18.62px);
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.formBtn:disabled {
  -webkit-filter: brightness(0.7);
          filter: brightness(0.7);
  cursor: not-allowed;
}
.formBtn.prev {
  margin: clamp(20px, 5.3333333333vw, 26.6px) auto 0;
  background: -webkit-gradient(linear, left bottom, left top, from(#adadad), to(#cecece));
  background: -webkit-linear-gradient(bottom, #adadad 0%, #cecece 100%);
  background: linear-gradient(0deg, #adadad 0%, #cecece 100%);
}
.formBtn.prev::after {
  right: unset;
  left: clamp(14px, 3.7333333333vw, 18.62px);
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}

.confirm {
  padding-top: clamp(55px, 14.6666666667vw, 73.15px);
}

.confirm__ttl {
  margin-top: clamp(46px, 12.2666666667vw, 61.18px);
  font-size: clamp(22px, 5.8666666667vw, 29.26px);
  text-align: center;
}

.confirm__read {
  margin-top: clamp(30px, 8vw, 39.9px);
  font-size: clamp(16px, 4.2666666667vw, 21.28px);
  line-height: 1.875;
}

.confirm_tb {
  width: 100%;
  margin-top: clamp(30px, 8vw, 39.9px);
}
.confirm_tb th {
  width: clamp(150px, 40vw, 199.5px);
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #cecece;
  border-right: none;
  font-size: clamp(14px, 3.7333333333vw, 18.62px);
  font-weight: 500;
  text-align: left;
  background: #fef6f5;
}
.confirm_tb td {
  width: clamp(210px, 56vw, 279.3px);
  padding: clamp(20px, 5.3333333333vw, 26.6px) clamp(25px, 6.6666666667vw, 33.25px) clamp(20px, 5.3333333333vw, 26.6px) clamp(10px, 2.6666666667vw, 13.3px);
  border: 1px solid #cecece;
  border-left: none;
  font-size: clamp(15px, 4vw, 19.95px);
  line-height: 1.86;
}

.thanks__read {
  margin-top: clamp(30px, 8vw, 39.9px);
  font-size: clamp(15px, 4vw, 19.95px);
  line-height: 2;
  text-align: center;
}
.thanks__read span {
  color: #ce5b3e;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(40%, rgba(255, 255, 0, 0.41)));
  background: -webkit-linear-gradient(transparent 50%, rgba(255, 255, 0, 0.41) 40%);
  background: linear-gradient(transparent 50%, rgba(255, 255, 0, 0.41) 40%);
}

.error__message {
  margin-top: clamp(10px, 2.6666666667vw, 13.3px);
  font-size: clamp(12px, 3.2vw, 15.96px);
  color: red;
}
.error__message.ta-c {
  text-align: center;
}/*# sourceMappingURL=style.css.map */

.reason {
  position: relative;
}

.reason__img {
  position: absolute;
  left: 0;
  bottom: clamp(30px, 12vw, 80px);
  overflow-x: scroll;
  overflow-y: none;
  width: 100%;
  padding-left: clamp(20px, 5.3vw, 20px);
}
.reason__img .sp-scroll {
  width: clamp(30px, 124vw, 624px);
}
.reason__img .sp-scroll img {
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.jikkan {
  position: relative;
}
.jikkan video {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(30px, 4vw, 90px);
  width: 90.6%;
  margin: 0 auto;
}

.access {
  position: relative;
}
.access .btn {
  position: absolute;
  left: clamp(50px, 26.7vw, 131px);
  bottom: clamp(100px, 57vw, 285px);
  display: block;
  width: clamp(100px, 38.3vw, 195px);
}


@keyframes bound {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-10px);
    }
}