@charset "UTF-8";
/* 2026-11-05 高崎宿泊キャンペーン第2弾 申し込みフォーム（page-entry.php だけが読む）
   すべて .p-form__parent.is-e2 の下に閉じる。style.css（共通）は触らない。
   単位は共通と同じ rem（SP: 375px=3.75rem / PC: 1456px=14.56rem） */

/* ---------- 見出しの＜第２弾＞ ---------- */
.is-e2 .c-page-header span .e2-round {
  display: block;
  font-style: normal;
  color: #D0FF00;
}
@media screen and (min-width: 768px) {
  .is-e2 .c-page-header span {
    font-size: 0.3rem;
    line-height: 0.4rem;
  }
  .is-e2 #contact-form .l-desc {
    font-size: 0.2rem;
    line-height: 0.32rem;
  }
}

/* ---------- 【必須】の印（デザイン案：項目名の前に黄緑） ---------- */
.is-e2 .p-form__item--required dt::after {
  content: none;
  display: none;
}
.is-e2 .p-form__item--required dt::before {
  content: "【必須】";
  color: #D0FF00;
  font-weight: 700;
  letter-spacing: 0;
  flex: none;
  margin-right: 0.02rem;
}
.is-e2 .p-form__item dt {
  flex-wrap: wrap;
}
.is-e2 .p-form__item dt small {
  white-space: normal;
  margin-left: 0.04rem;
}
@media screen and (min-width: 768px) {
  .is-e2 .p-form__item--required dt {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .is-e2 .p-form__item dt {
    display: block;
  }
  .is-e2 .p-form__item dt * {
    white-space: normal;
  }
  .is-e2 .p-form__item dt small {
    display: block;
  }

  .is-e2 .p-form__item dt small {
    flex-basis: 100%;
    margin-left: 0;
  }
}

/* ---------- 欄の幅 ---------- */
@media screen and (min-width: 768px) {
  .is-e2 .p-form__item dd.p-form__item--short {
    max-width: 3.2rem;
  }
  .is-e2 .p-form__item dd.p-form__item--half > .wpcf7-form-control-wrap:only-child {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .is-e2 .p-form__item dd.p-form__item--short {
    max-width: 2.2rem;
  }
  .is-e2 .p-form__item dd.p-form__item--half > .wpcf7-form-control-wrap:only-child {
    width: 100%;
  }
}

/* ---------- 丸ボタン（性別・検討度合い・同行者の有無）を横並びに ---------- */
.is-e2 .p-form__item--radio dd .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.06rem 0.24rem;
}
.is-e2 .p-form__item--radio dd .wpcf7-list-item {
  margin-right: 0;
}
.is-e2 .p-form__item--radio dd label {
  cursor: pointer;
}

/* ---------- 複数選択（きっかけ・魅力）は2列 ---------- */
.is-e2 #came-from .wpcf7-checkbox,
.is-e2 #charm .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.06rem 0.16rem;
}
.is-e2 #came-from .wpcf7-list-item,
.is-e2 #charm .wpcf7-list-item {
  margin-right: 0;
}
.is-e2 #came-from .wpcf7-list-item label,
.is-e2 #charm .wpcf7-list-item label {
  cursor: pointer;
  align-items: flex-start;
}
.is-e2 #came-from .wpcf7-list-item label::before,
.is-e2 #charm .wpcf7-list-item label::before {
  margin-top: 0.05rem;
  margin-top: calc((1lh - 0.14rem) / 2);
}
@media screen and (max-width: 767px) {
  .is-e2 #came-from .wpcf7-checkbox,
  .is-e2 #charm .wpcf7-checkbox {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- 宿泊応募情報 ---------- */
.is-e2 .e2-lead {
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.14rem;
  line-height: 0.24rem;
  font-weight: 500;
  text-align: center;
  margin-top: -0.04rem;
}
@media screen and (min-width: 768px) {
  .is-e2 .e2-lead {
    font-size: 0.16rem;
    line-height: 0.28rem;
    margin-top: -0.1rem;
  }
}
.is-e2 .e2-sub {
  display: block;
  flex: none;
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.14rem;
  line-height: 0.2rem;
  font-weight: 500;
}
.is-e2 .e2-note {
  display: block;
  margin-bottom: 0.06rem;
  font-size: 0.13rem;
  line-height: 0.2rem;
  font-weight: 500;
}
.is-e2 .e2-hotel dd {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.is-e2 .e2-hotel__row {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.is-e2 .e2-hotel select {
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .is-e2 .e2-hotel dd {
    max-width: 4.6rem;
  }
}

/* 同行者「あり」の時だけ出す欄 */
.is-e2 .e2-cond,
.is-e2 .e2-child {
  display: none;
}
.is-e2 .e2-cond.is-open {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-left: 0.12rem;
  border-left: 0.02rem solid rgba(208, 255, 0, 0.6);
}
.is-e2 .e2-child.is-open {
  display: flex;
}
@media screen and (min-width: 768px) {
  .is-e2 .e2-cond.is-open {
    gap: 0.35rem;
    padding-left: 0.2rem;
  }
}

/* 男性［ ］名　女性［ ］名 */
.is-e2 .p-form__item dd.e2-count {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.08rem 0.12rem;
}
.is-e2 .e2-count__box {
  display: inline-flex;
  align-items: center;
  gap: 0.06rem;
}
.is-e2 .e2-count__box .wpcf7-form-control-wrap {
  display: block;
  width: 0.9rem;
}
.is-e2 .e2-count__box input[type=text] {
  text-align: right;
}
.is-e2 .e2-count__box i {
  font-style: normal;
  font-size: 0.14rem;
  line-height: 0.2rem;
}
@media screen and (min-width: 768px) {
  .is-e2 .p-form__item dd.e2-count {
    gap: 0.1rem 0.2rem;
  }
  .is-e2 .e2-count__box .wpcf7-form-control-wrap {
    width: 1.1rem;
  }
}

/* お子様N人目：年齢・性別の2行 */
.is-e2 .e2-child dd {
  gap: 0.1rem;
}
.is-e2 .e2-child__row {
  display: flex;
  align-items: center;
  gap: 0.16rem;
}
.is-e2 .e2-child__row .e2-sub {
  width: 0.4rem;
}

/* 性別（どちらか1つ）：四角ではなく丸で見せる */
.is-e2 .wpcf7-exclusive-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.06rem 0.24rem;
}
.is-e2 .wpcf7-exclusive-checkbox .wpcf7-list-item {
  margin-right: 0;
}
.is-e2 .wpcf7-exclusive-checkbox .wpcf7-list-item label {
  align-items: center;
  cursor: pointer;
}
.is-e2 .p-form .wpcf7-exclusive-checkbox .wpcf7-list-item label:has(input[type=checkbox])::before {
  margin-top: 0;
  width: 0.16rem;
  height: 0.16rem;
  border-radius: 100%;
  box-sizing: border-box;
  background-image: none;
  background-color: white;
  transition: 0.3s;
}
.is-e2 .p-form .wpcf7-exclusive-checkbox .wpcf7-list-item label:has(input[type=checkbox]:checked)::before {
  background-image: none;
  background-color: #1827FB;
  border-width: 0.05rem;
}

/* ---------- 確認事項（【1】〜【5】） ---------- */
.is-e2 .e2-check {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.is-e2 .e2-check h3 {
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.16rem;
  line-height: 0.24rem;
  font-weight: 700;
  color: #F25A7B;
}
.is-e2 .e2-check ul {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding-left: 0.12rem;
}
.is-e2 .e2-check li {
  position: relative;
  padding-left: 1em;
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.14rem;
  line-height: 0.24rem;
  font-weight: 700;
}
.is-e2 .e2-check li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #F25A7B;
}
.is-e2 .e2-check dl {
  padding-left: 0.12rem;
}
.is-e2 .e2-check dl dd {
  position: relative;
}
@media screen and (min-width: 768px) {
  .is-e2 .e2-check li {
    font-size: 0.15rem;
  }
  .is-e2 .e2-check ul,
  .is-e2 .e2-check dl {
    padding-left: 0.2rem;
  }
}

/* 応募規約：条の見出し */
.is-e2 .p-form__policy--content b {
  display: inline-block;
  font-weight: 700;
  margin-top: 0.12rem;
}
.is-e2 .p-form__policy--content b:first-child {
  margin-top: 0;
}

/* ---------- 確認画面 ---------- */
.is-e2 .e2-confirm-hotel dd {
  display: flex;
  flex-direction: column;
  gap: 0.04rem;
}
.is-e2 .e2-confirm-hotel dd span {
  display: block;
}
.is-e2 .e2-confirm-hotel dd span:empty {
  display: none;
}
.is-e2 .e2-confirm-hotel dd span::before {
  display: inline-block;
  min-width: 4.5em;
  color: #D0FF00;
  font-weight: 700;
}
.is-e2 .e2-confirm-hotel dd span:nth-child(1)::before {
  content: "第1希望";
}
.is-e2 .e2-confirm-hotel dd span:nth-child(2)::before {
  content: "第2希望";
}
.is-e2 .e2-confirm-hotel dd span:nth-child(3)::before {
  content: "第3希望";
}
.is-e2 .p-form__confirm--item[data-e2-cond="companion"] {
  display: none;
}
.is-e2 .p-form__confirm--item[data-e2-cond="companion"].is-open {
  display: flex;
}

/* スマホ：男性［ ］名　女性［ ］名 を1行に収める（上の共通指定より後に置く） */
@media screen and (max-width: 767px) {
  .is-e2 .p-form__item dd.e2-count {
    flex-wrap: nowrap;
    gap: 0.06rem;
  }
  .is-e2 .p-form__item dd.e2-count .e2-count__box .wpcf7-form-control-wrap {
    width: 0.62rem;
  }
}
.is-e2 .e2-count__box + .e2-sub {
  margin-left: 0.1rem;
}

/* ---------- 2026-11-06 選択欄の矢印：欄の内側（右端から少し内）に置く ---------- */
.is-e2 .p-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.14rem center;
  background-size: 0.12rem 0.08rem;
  padding-right: 0.38rem;
  text-overflow: ellipsis;
  cursor: pointer;
}
.is-e2 .p-form select::-ms-expand {
  display: none;
}

/* ---------- 2026-11-06 チェック欄：四角の中心を文字の1行目の中心にそろえる ---------- */
.is-e2 .p-form .wpcf7-list-item label:has(input[type=checkbox])::before {
  margin-top: 0.1rem;
  margin-top: calc((1lh - 0.14rem) / 2);
}

/* ---------- 2026-11-06 必須の欄が空の時：ほんのり赤く ---------- */
.is-e2 .p-form__first input.wpcf7-not-valid,
.is-e2 .p-form__first select.wpcf7-not-valid,
.is-e2 .p-form__first textarea.wpcf7-not-valid {
  background-color: #FFEEF1;
  border-color: #F25A7B;
  box-shadow: 0 0 0 0.01rem #F25A7B;
}
.is-e2 .p-form__first .wpcf7-radio.wpcf7-not-valid,
.is-e2 .p-form__first .wpcf7-checkbox.wpcf7-not-valid,
.is-e2 .p-form__first .p-form__file.fm-ng {
  background-color: rgba(242, 90, 123, 0.18);
  outline: 0.02rem solid #F25A7B;
  outline-offset: 0;
  border-radius: 0.06rem;
  padding: 0.06rem 0.08rem;
  margin: -0.06rem -0.08rem;
}
.is-e2 .p-form__first .wpcf7-checkbox.wpcf7-not-valid .wpcf7-list-item label:has(input[type=checkbox])::before {
  border-color: #F25A7B;
  background-color: #FFEEF1;
}
.is-e2 .p-form__first .fm-tip {
  position: static;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0.08rem 0 0;
  padding: 0.02rem 0.08rem;
  border-radius: 0.04rem;
  background: #FFEEF1;
  color: #D6264E;
  font-size: 0.12rem;
  line-height: 0.18rem;
  font-weight: 700;
  white-space: normal;
  transform: none;
}
.is-e2 .p-form__first .fm-summary {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 0.16rem;
  padding: 0.08rem 0.14rem;
  border-radius: 0.06rem;
  background: #FFEEF1;
  color: #D6264E;
  font-size: 0.13rem;
  line-height: 0.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .is-e2 .p-form__first .fm-tip {
    font-size: 0.14rem;
    line-height: 0.2rem;
  }
  .is-e2 .p-form__first .fm-summary {
    font-size: 0.15rem;
    line-height: 0.24rem;
  }
}
/* 一番下の「応募規約に同意する」：共通の案内（宙に浮く配置）をやめ、チェック欄の下に置く */
.is-e2 .p-form #entry-bottom .fm-tip {
  position: static;
  transform: none;
  margin: 0.08rem auto 0;
  text-align: center;
}
.is-e2 .p-form #entry-bottom .wpcf7-form-control-wrap.fm-ng {
  display: block;
}

/* ---------- 2026-11-06 郵便番号の案内（.is-e2 の下に閉じる） ---------- */
.is-e2 .js-zip-code {
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
}
.is-e2 .e2-zip-hint {
  display: block;
  margin-top: 0.06rem;
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.12rem;
  line-height: 0.18rem;
  font-weight: 500;
  color: #FF8CA0;
}
.is-e2 .e2-zip-hint[hidden] {
  display: none;
}
.is-e2 dd.p-form__item--half:has(> .e2-zip-hint:not([hidden])) {
  flex-wrap: wrap;
  row-gap: 0.06rem;
}
@media screen and (max-width: 767px) {
  .is-e2 dd.p-form__item--half:has(> .e2-zip-hint:not([hidden])) > .wpcf7-form-control-wrap {
    flex: 1 1 0;
    min-width: 0;
  }
}
.is-e2 dd.p-form__item--half > .e2-zip-hint {
  flex: 0 0 100%;
  margin-top: 0;
}

/* ---------- 2026-11-06 完了画面（.e2-complete の下に閉じる・page-entry__complete.php だけが使う） ---------- */
.e2-complete .c-page-header span .e2-round {
  display: block;
  font-style: normal;
  color: #D0FF00;
}
.e2-complete .e2-top {
  position: relative;
  display: block;
  width: 1.9rem;
  height: 2.46rem;
  margin: 0.2rem auto 0;
  text-decoration: none;
}
.e2-complete .e2-top img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.e2-complete .e2-top span {
  position: absolute;
  left: 50%;
  top: 48%; /* 申込SPのデザイン(7b0eba05)どおりシャツの上。レポート完了(report2.css)は惑星の上の72%のまま */
  transform: translate(-50%, -50%);
  font-family: "M PLUS 1p", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", serif;
  font-size: 0.2rem;
  line-height: 1;
  font-weight: 700;
  color: #1827BD;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .e2-complete .e2-top span {
    font-size: 0.22rem;
  }
}
