@charset "UTF-8";
/* 色 */
/* ステータス */
/* ブレークポイント */
/* 可変サイズ */
/* サイズ */
/* 余白 */
/* 角丸 */
/* 変数ファイル */
/* -----------------------------------------------------------
    ページ固有パーツ
----------------------------------------------------------- */
.form-cont-box {
  margin: 0 auto;
}

.form-cont-box__inner {
  padding: min(8vw, 40px) min(4vw, 20px) min(12vw, 60px);
}

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

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

.form-cont-box__item-title {
  margin-bottom: min(2.67vw, 13px);
}

.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: #ffffff;
  padding: min(0.53vw, 2px) min(2.13vw, 10px);
}
.form-cont-box__item-title--req:after {
  margin-left: min(1.33vw, 6px);
}

.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: #ffffff;
  padding: min(0.53vw, 2px) min(2.13vw, 10px);
}

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

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

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

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

.form-cont-box__input-list {
  display: flex;
}
.form-cont-box__input-list li:nth-child(n+2) {
  margin-left: min(8vw, 40px);
}

.form-cont-box__input-text {
  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__item-text--02 {
  font-size: min(3.73vw, 18px);
  margin-bottom: 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__modal-btn {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

.form-cont-box__reset-btn {
  display: none;
  width: min(6.4vw, 32px);
  height: min(6.4vw, 32px);
  top: 50%;
  right: min(1.87vw, 9px);
  transform: translateY(-50%);
  z-index: 2;
}
.js-select .form-cont-box__reset-btn {
  display: block;
}
.form-cont-box__reset-btn.c-close-icon::before, .form-cont-box__reset-btn.c-close-icon::after {
  width: min(4vw, 20px);
  height: 3px;
}

.form-cont-box__btn-list {
  display: flex;
  flex-wrap: wrap;
}
.form-cont-box__btn-list li {
  width: 32.3%;
}
.form-cont-box__btn-list li:not(:nth-child(3n+1)) {
  margin-left: 1.5%;
}
.form-cont-box__btn-list li:nth-child(n+4) {
  margin-top: min(2.67vw, 13px);
}

.form-cont-box__search-list {
  margin-top: min(4vw, 20px);
}
.form-cont-box__search-list li:nth-child(n+2) {
  margin-top: min(2.67vw, 13px);
}

.form-upload-btn {
  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: #D50000;
  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: #D50000;
  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: #FFE8E8;
  border: 1px solid #D50000;
}
.form-cont-box__input-wrap .parsley-success { /*正常な内容を入力した際のテキストボックス*/
  color: #333;
  background-color: unset;
  border: solid 1px #CCC;
}

.form-cont-box__input-wrap--textarea { /*テキストエリア*/ }
.form-cont-box__input-wrap--textarea .parsley-errors-list { /*エラーメッセージの吹き出し*/
  top: auto;
  bottom: clamp(-13px, -2.67vw, 0px);
}

.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--age { /*年齢のテキストボックス*/
  position: static;
}

.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;
}

/* カレンダー */
/* カレンダー表示ボタン */
.ui-datepicker-trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  cursor: pointer;
}

/* 全体 */
.ui-datepicker {
  width: 300px;
  padding: 10px;
  z-index: 99 !important;
}

/* ヘッダー */
.ui-datepicker .ui-datepicker-header {
  padding: 5px 0;
}

/* 年月テキスト */
.ui-datepicker-title {
  font-size: 16px;
  font-weight: bold;
}

/* 矢印ボタン（丸アイコン） */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  width: 36px;
  height: 36px;
}

/* 曜日 */
.ui-datepicker th {
  font-size: 16px;
  padding: 6px 0;
}

/* 日付セル */
.ui-datepicker td a {
  font-size: 16px;
  text-align: center;
  padding: 6px 0;
}

/* 本日 */
.ui-datepicker .ui-state-highlight {
  border: 1px solid #c5dbec;
  background: #dfeffc url(../image/common/datepicker/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x;
}

/* 選択日 */
.ui-datepicker .ui-state-active {
  border: 1px solid #fad42e;
  background: #fbec88;
}

/* 無効日（31日外） */
.ui-datepicker .ui-state-disabled span {
  font-size: 16px;
  text-align: center;
  padding: 6px 0;
}

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