@charset "UTF-8";
/* 色 */
/* 余白、フォントサイズ用 */
/* 変数ファイル */
/* -----------------------------------------------------------
    ページ固有パーツ
----------------------------------------------------------- */
.form-cont-box {
  margin: min(8vw, 40px) auto min(12vw, 60px);
}

.form-cont-box__title {
  background: #013B90;
  color: #FFF;
  font-size: min(5.33vw, 26px);
  font-weight: bold;
  text-align: center;
  padding: min(2.67vw, 13px) min(1.33vw, 6px);
  border-radius: min(3.2vw, 16px) min(3.2vw, 16px) 0 0;
}

.form-cont-box__inner {
  background: #FFF;
  padding: min(4vw, 20px) min(4vw, 20px) min(12vw, 60px);
  border-radius: 0 0 min(3.2vw, 16px) min(3.2vw, 16px);
}

.form-cont-box__item + .form-cont-box__item {
  margin-top: min(8vw, 40px);
}

.form-cont-box__item-title--req {
  margin-bottom: min(2.67vw, 13px);
}
.form-cont-box__item-title--req:after {
  content: "必須";
  display: inline-block;
  background: #D50000;
  color: #FFF;
  margin-left: min(1.33vw, 6px);
  padding: min(0.53vw, 2px) min(2.13vw, 10px);
}

.form-cont-box__item-title--req02 {
  margin-bottom: min(2.67vw, 13px);
}
.form-cont-box__item-title--req02:after {
  content: "必須";
  display: inline-block;
  background: #D50000;
  color: #FFF;
  padding: min(0.53vw, 2px) min(2.13vw, 10px);
}

.form-cont-box__item-3col {
  position: relative;
  display: flex;
  align-items: center;
}

.form-cont-box__input-box--wfull {
  width: 100%;
}

.form-cont-box__input-box--w01 {
  width: min(26.67vw, 133px);
}

.form-cont-box__input-list li:nth-child(n+2) {
  margin-top: min(1.33vw, 6px);
}

.form-cont-box__input-zip-hyphen {
  display: inline-block;
  padding: 0 min(1.33vw, 6px);
}

.form-cont-box__item-sub-title {
  margin-bottom: min(1.33vw, 6px);
}
.form-cont-box__input-wrap + .form-cont-box__item-sub-title {
  margin-top: min(2.67vw, 13px);
}

.form-cont-box__item-text {
  font-size: min(3.73vw, 18px);
  padding-left: 1em;
  text-indent: -1em;
  margin-top: min(1.33vw, 6px);
}

.form-cont-box__terms-box {
  margin-bottom: min(4vw, 20px);
  padding: min(2.67vw, 13px);
  border: solid 1px #CCC;
  height: min(66.67vw, 333px);
  overflow-y: scroll;
}

.form-cont-box__list dt {
  margin-bottom: min(2.67vw, 13px);
}
.form-cont-box__list dd {
  margin-left: 1em;
}
.form-cont-box__list dd + dt {
  margin-top: min(8vw, 40px);
}

.form-cont-box__list .form-cont-box__list-img {
  width: 100%;
  margin-left: 0;
}
.form-cont-box__list .form-cont-box__list-img + .form-cont-box__list-img {
  margin-top: min(2.67vw, 13px);
}

.form-cont-box__text {
  font-weight: bold;
  text-align: center;
}

.form-upload-btn {
  width: 100%;
  cursor: pointer;
}

.form-upload-img {
  position: relative;
  width: min(66.67vw, 333px);
  margin: min(8vw, 40px) auto 0;
  z-index: 1;
}

.form-upload-img__del {
  display: block;
  position: absolute;
  top: clamp(-27px, -5.33vw, 0px);
  right: clamp(-27px, -5.33vw, 0px);
  width: min(10.67vw, 53px);
  height: min(10.67vw, 53px);
  z-index: 2;
  cursor: pointer;
}

/* バリデーション */
.form-cont-box__input-wrap {
  position: relative;
}
.form-cont-box__input-wrap .parsley-errors-list { /*エラーメッセージの吹き出し*/
  background: #B94A48;
  position: absolute;
  top: min(9.33vw, 46px); /*40px-5px=35px*/
  left: min(2.67vw, 13px);
  margin: 0;
  padding: min(2.13vw, 10px);
  color: #FFF;
  font-size: min(3.73vw, 18px);
  transition: unset;
  z-index: 10;
}
.form-cont-box__input-wrap .parsley-errors-list > li:not(:last-child) {
  margin-bottom: min(2.67vw, 13px);
}
.form-cont-box__input-wrap .parsley-errors-list:after {
  content: "";
  background: #B94A48;
  position: absolute;
  width: min(5.33vw, 26px);
  height: min(2.67vw, 13px);
  top: clamp(-12px, -2.4vw, 0px); /*-9px*/
  left: 0;
  margin-left: min(1.33vw, 6px);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
.form-cont-box__input-wrap .parsley-error { /*エラー時のチェックボックス*/ }
.form-cont-box__input-wrap .parsley-error input[type=checkbox] + label:before {
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}
.form-cont-box__input-wrap .parsley-success { /*正常な内容を入力した際のテキストボックス*/
  color: #333;
  background-color: #FFF;
  border: solid 1px #CCC;
}

.form-cont-box__input-wrap--radio { /*ラジオボタン*/ }
.form-cont-box__input-wrap--radio .parsley-errors-list { /*エラーメッセージの吹き出し*/
  top: auto;
  bottom: clamp(-40px, -8vw, 0px); /*-40px+5px=-30px*/
  left: clamp(-5px, -1.07vw, 0px); /*-4px*/
}

.form-cont-box__input-wrap--zip1 { /*1つ目の郵便番号のテキストボックス*/
  position: static;
}

.form-cont-box__input-wrap--zip2 { /*2つ目の郵便番号のテキストボックス*/
  position: static;
}
.form-cont-box__input-wrap--zip2 .parsley-errors-list { /*エラーメッセージの吹き出し*/
  top: auto;
  bottom: min(9.33vw, 46px); /*40px-5px=35px*/
  left: min(30.93vw, 155px); /*-100px+16px+10px=116px*/
}
.form-cont-box__input-wrap--zip2 .parsley-errors-list:after {
  top: auto;
  bottom: clamp(-12px, -2.4vw, 0px); /*-9px*/
  left: 0;
  margin-left: min(1.33vw, 6px);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.form-cont-box__input-wrap--agree { /*規約同意のチェックボックス*/ }
.form-cont-box__input-wrap--agree .parsley-errors-list { /*エラーメッセージの吹き出し*/
  min-width: min(7em + 10.67vw, 7em + 53px); /*7em+40px*/
  top: auto;
  bottom: clamp(-48px, -9.6vw, 0px); /*-26px-10px=-36px*/
  left: 50%;
  transform: translate(-50%, 0);
}
.form-cont-box__input-wrap--agree .parsley-errors-list:after {
  left: 50%;
  margin-left: 0;
  transform: translate(-50%, 0);
}
.form-cont-box__input-wrap--agree .parsley-success {
  background-color: none;
  border: none;
}
.form-cont-box__input-wrap--agree label {
  justify-content: center;
}

@media screen and (min-width: 501px) {
  /* ===========================================================
      タブレット縦
  =========================================================== */
}
@media screen and (min-width: 769px) {
  /* ===========================================================
      タブレット横、PC
  =========================================================== */
}