@charset "UTF-8";
/* -------------------------------------
mv
------------------------------------- */
#mv {
  height: 325px;
  margin-bottom: 52px;
  position: relative;
  /* background: url(../imgs/form/main.jpg) no-repeat center / cover; */
  background-color: #f9f066;
}
#mv #title {
  width: 55.6%;
  max-width: 695px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%);
}
#mv .deco {
  position: absolute;
}
#mv .l1 {
  width: 23.51%;
  max-width: 268px;
  bottom: 0;
  right: calc(51% + 357px);
  transform: translateY(18%);
}
#mv .r1 {
  width: 25.35%;
  max-width: 289px;
  bottom: 0;
  left: calc(50% + 357px);
  transform: translateY(11%);
}

article {
  padding-bottom: 120px;
}
/* -------------------------------------
form
------------------------------------- */
#form .sttl {
  font-size: min(5.83vw, 36px);
  line-height: 1.75;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
  padding-left: 0.2em;
  margin-bottom: 30px;
  background: #ed7980;
  border: 1px solid #d26664;
}
#form .sttl + p {
  font-size: min(3.33vw, 18px);
  text-align: center;
}
.fombk {
  padding-top: 63px;
}
.fombk * {
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.fombk .fttl {
  font-size: min(5.63vw, 27px);
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.2em;
  color: #d26664;
  padding-bottom: 9px;
  margin-bottom: 32px;
  border-bottom: 2px solid #d26664;
}
.fombk .fttl span {
  padding: 3px 0 3px 20px;
  border-left: 5px solid #d26664;
}
.fombk > dl dt {
  font-weight: 600;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.fombk > dl dt .must {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.fombk > dl dt .must:after {
  content: "必須";
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 19px;
  margin-left: 12px;
  background: #e94709;
  border-radius: 999px;
}
.fombk > dl dt .sml {
  font-size: min(3.13vw, 15px);
  font-weight: 500;
  margin-left: 12px;
}
.fombk > dl dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}
.fombk > dl dd > span {
  padding: 5px 0;
}

.fombk input,
.fombk textarea,
.fombk select {
  font-size: min(3.75vw, 18px);
  letter-spacing: 0;
  padding: 14px 20px;
  width: 100%;
  max-width: 535px;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  box-sizing: border-box;
}
.fombk .lrg {
  width: 100%;
  max-width: 946px;
}
.fombk .grade {
  max-width: 154px;
  margin-right: 0.5em;
}
.fombk .number {
  max-width: 139px;
  margin: 0 0.5em;
}
.fombk .date {
  max-width: 362px;
  margin-right: 0.5em;
  background: url(../imgs/form/date.svg) no-repeat center right 20px/ 30px;
}
.fombk .time {
  width: 20.53vw;
  max-width: 78px;
  margin: 0 0.5em;
  padding: 14px 12px;
}
textarea {
  height: 140px;
}

::placeholder {
  color: #cccccc;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
}
#ppblk {
  font-size: clamp(11px, 2.07vw, 13px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  padding: 15px 0 15px 20px;
  margin-bottom: 28px;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
#ppblk .inner {
  height: 108px;
  padding-right: 20px;
  overflow: scroll;
}
#ppblk p {
  margin-bottom: 17px;
}
#ppblk ol li {
  margin-bottom: 17px;
}
.fombk .ppck {
  scale: 1.2;
  accent-color: #d26664;
  cursor: pointer;
  width: auto;
  max-width: initial;
}

.mwform-checkbox-field-text {
  cursor: pointer;
}
.fombk .btnblk {
  text-align: center;
  display: flex;
  justify-content: space-around;
  margin-top: 55px;
}
.fombk input.btn {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 338px;
  background: #f15a24;
  padding: 15px;
  border-radius: 999px;
  transition: 0.3s;
  cursor: pointer;
}

.fombk input.btn:hover {
  opacity: 0.7;
}
.mttl {
  text-align: center;
  margin-bottom: 20px;
}
.mttl + p {
  text-align: center;
}

@media screen and (max-width: 1250px) {
  #mv .l1 {
    right: 79.5%;
  }
  #mv .r1 {
    left: 78.5%;
  }
}
@media screen and (max-width: 768px) {
  article {
    padding-bottom: 16%;
  }
}
@media screen and (max-width: 640px) {
  #mv #title {
    width: 30%;
  }
  #mv #title .pc {
    display: none;
  }
  #mv #title .sp {
    display: block;
  }
  #mv {
    height: 50.78vw;
    margin-bottom: 8%;
  }
  #mv .l1 {
    right: 72.5%;
  }

  #mv .r1 {
    left: 71.5%;
  }
}
@media screen and (max-width: 500px) {
}
@media screen and (max-width: 480px) {
  .fombk {
    padding-top: 14%;
  }
}
@media screen and (max-width: 400px) {
}
