@charset "UTF-8";
/* === 共通：iOSの独自UIを外す（角丸/影/グレー背景など） === */
input,
select,
textarea,
button {
  -webkit-appearance: none; /* iOS独自の外観を無効化 */
  -moz-appearance: none;
       appearance: none;
  border-radius: 0; /* 角丸リセット */
  background: #fff; /* グレーっぽさを避ける */
  box-shadow: none;
}

/* select は特に強めに（iOSのグレー/角丸を打ち消し） */
select {
  background: #fff none; /* グレー背景/グラデ無効 */
  border-radius: 0;
}

/* iOSで select の▼が消えるのは仕様。必要なら後述の「矢印を足す」を利用 */
/* === 型別の細かいリセット === */
/* 検索ボックスの×アイコンや角丸を消す */
input[type=search] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
  outline-offset: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* number の矢印（スピンボタン）消し */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* iOSオートフィルの黄背景を無効化（必要なら） */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: inherit;
}

/* フォーカス時の青縁などを統一（必要なら） */
input:focus,
select:focus,
textarea:focus {
  outline: none;
  box-shadow: none;
}

/* iOSの文字サイズ自動拡大を抑制（必要なら） */
html {
  -webkit-text-size-adjust: 100%;
}

.entry-header {
  padding-top: 80px;
  text-align: center;
}
.entry-header .content .engtitle {
  position: relative;
  font-size: 4.2rem;
  color: #000000;
  display: inline-block;
  padding-bottom: 8px;
}
.entry-header .content .engtitle::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  background-color: #0486d0;
}

.entry-step {
  padding-top: 40px;
}
.entry-step .content .steps {
  display: flex;
}
.entry-step .content .steps .item {
  font-weight: bold;
  color: #7A828F;
  font-size: 1.6rem;
  width: 33.3%;
  height: 50px;
  line-height: 50px;
  padding: 0 10px 0px 20px;
  position: relative;
  background-color: #f6f6f6;
  text-align: center;
}
.entry-step .content .steps .item.this {
  color: #fff;
  background-color: #0486d0;
}
.entry-step .content .steps .item::after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
  border-top: 25px solid #f6f6f6;
  border-bottom: 25px solid #f6f6f6;
  border-right: 1px solid #f6f6f6;
  top: 0px;
  right: -1px;
}

.entry-form {
  padding-top: 64px;
  padding-bottom: 80px;
}
.entry-form .c-heading {
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.entry-form .c-heading::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  height: 2px;
  width: 100%;
  background-color: #0486D0;
}
.entry-form .c-heading h2 {
  position: relative;
  z-index: 2;
  display: inline-block;
  background-color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  padding: 0 17px;
}
.entry-form .topdesc {
  margin-bottom: 40px;
  text-align: center;
}
.entry-form .mw-cotainer .heading {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 24px;
  margin-bottom: 12px;
}
.entry-form .mw-cotainer .heading .require {
  margin-left: 8px;
  background-color: #0486d0;
  display: inline-block;
  padding: 2.4px 8px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
}
.entry-form .mw-cotainer .form-row {
  display: flex;
}
.entry-form .mw-cotainer .form-row--2 {
  justify-content: space-between;
}
.entry-form .mw-cotainer .form-row--2 .form-item {
  width: 48.75%;
}
.entry-form .mw-cotainer .fieldouter {
  font-size: 1.6rem;
  font-weight: 700;
  /* inputは視覚的に隠す */
  /* デフォルトの丸 */
  /* ✅チェックされたらlabel自体をスタイル変更（:has） */
  /* フォーカス可視 */
}
.entry-form .mw-cotainer .fieldouter .fieldgroup {
  display: flex;
  gap: 16px;
}
.entry-form .mw-cotainer .fieldouter input, .entry-form .mw-cotainer .fieldouter select, .entry-form .mw-cotainer .fieldouter textarea {
  border: solid 1px #000;
  border-radius: 0 !important;
}
.entry-form .mw-cotainer .fieldouter input::-moz-placeholder, .entry-form .mw-cotainer .fieldouter select::-moz-placeholder, .entry-form .mw-cotainer .fieldouter textarea::-moz-placeholder {
  color: #9f9f9f;
}
.entry-form .mw-cotainer .fieldouter input::placeholder, .entry-form .mw-cotainer .fieldouter select::placeholder, .entry-form .mw-cotainer .fieldouter textarea::placeholder {
  color: #9f9f9f;
}
.entry-form .mw-cotainer .fieldouter input, .entry-form .mw-cotainer .fieldouter select {
  height: 48px;
  font-size: 1.6rem;
}
.entry-form .mw-cotainer .fieldouter input, .entry-form .mw-cotainer .fieldouter textarea {
  padding: 12px;
  font-size: 1.6rem;
}
.entry-form .mw-cotainer .fieldouter select {
  padding: 0 8px;
  font-size: 1.6rem;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field {
  position: relative;
  margin-bottom: 12px;
  display: inline-block;
  margin-right: 16px;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field label {
  display: inline-flex;
  align-items: center;
  gap: 16px 8px;
  cursor: pointer;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field label > input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 50%;
  background: #fff;
  transition: all 0.2s;
}
.entry-form .mw-cotainer .fieldouter .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field label:has(> input[type=radio]:checked)::before {
  border-color: #0486d0;
  box-shadow: inset 0 0 0 5px #0486d0;
}
.entry-form .mw-cotainer .fieldouter .mwform-radio-field label:has(> input[type=radio]:focus-visible)::before {
  outline: 2px solid #0486d0;
  outline-offset: 2px;
}
.entry-form .mw-cotainer .fieldouter input[name=your-name] {
  width: 100%;
}
.entry-form .mw-cotainer .fieldouter input[name=your-kana] {
  width: 100%;
}
.entry-form .mw-cotainer .fieldouter select[name=your-birth_y] {
  width: 100px;
  text-align: center;
}
.entry-form .mw-cotainer .fieldouter select[name=your-birth_m] {
  width: 64px;
  text-align: center;
}
.entry-form .mw-cotainer .fieldouter select[name=your-birth_d] {
  width: 64px;
  text-align: center;
}
.entry-form .mw-cotainer .fieldouter .unit {
  margin-left: 4px;
  font-size: 1.25rem;
}
.entry-form .mw-cotainer .fieldouter input[name=your-email], .entry-form .mw-cotainer .fieldouter input[name=your-email_c] {
  width: 100%;
}
.entry-form .mw-cotainer .fieldouter input[name=your-tel] {
  width: 100%;
}
.entry-form .mw-cotainer .fieldouter select[name=your-location] {
  width: 35%;
}
.entry-form .mw-cotainer .fieldouter textarea[name=your-content] {
  width: 100%;
  height: 200px;
}
.entry-form .mw-cotainer .fieldouter select[name=your-priority] {
  width: 60%;
}
.entry-form .mw-cotainer .privacy {
  margin-top: 40px;
  text-align: center;
  font-size: 1.6rem;
  /* 1) ベース配置 */
  /* 2) inputは視覚的に隠す（クリック範囲はlabel全体） */
  /* 3) □（背景は白のまま、全塗りしない） */
  /* 4) ✓（ボーダー2本で描く。初期は非表示） */
  /* 5) hover/focus（□だけ反応。全塗りしない） */
  /* 6) ✅チェック時：□は白のまま、✓だけ出す＋枠色を強調 */
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field {
  position: relative;
  margin-right: 16px;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.6rem;
  cursor: pointer;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label > input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 10px;
  width: 12px;
  height: 6px;
  border-left: 2px solid #0486d0;
  border-bottom: 2px solid #0486d0;
  transform: rotate(-45deg) scale(0.8);
  transform-origin: left bottom;
  opacity: 0;
  transition: transform 0.18s ease, opacity 0.18s ease;
  pointer-events: none;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label:hover::before {
  border-color: #0486d0;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label:has(> input[type=checkbox]:focus-visible)::before {
  outline: 2px solid #0486d0;
  outline-offset: 2px;
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label:has(> input[type=checkbox]:checked)::before {
  border-color: #0486d0;
  box-shadow: 0 0 0 2px rgba(4, 134, 208, 0.12);
}
.entry-form .mw-cotainer .privacy .mwform-checkbox-field label:has(> input[type=checkbox]:checked)::after {
  opacity: 1;
  transform: rotate(-45deg) scale(1);
}
.entry-form .mw-cotainer .btn-area {
  margin-top: 40px;
  text-align: center;
}
.entry-form .mw-cotainer .btn-area button, .entry-form .mw-cotainer .btn-area input[type=submit], .entry-form .mw-cotainer .btn-area a {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 210px;
  height: 34px;
  font-size: 1.6rem;
  background-color: #0486d0;
  border: #0486d0 1px solid;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .entry-header {
    padding-top: 80px;
  }
  .entry-header .content .engtitle {
    font-size: 2.8rem;
  }
  .entry-header .content .engtitle::after {
    height: 5px;
  }
  .entry-step {
    padding-top: 40px;
  }
  .entry-step .content .steps .item {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #7A828F;
    font-size: 1.1rem;
    height: 50px;
    line-height: 1.3;
    padding: 0 10px 0px 10px;
  }
  .entry-form {
    padding-top: 24px;
    padding-bottom: 80px;
  }
  .entry-form .c-heading {
    margin-bottom: 16px;
  }
  .entry-form .c-heading::before {
    height: 2px;
    width: 100%;
    background-color: #0486D0;
  }
  .entry-form .c-heading h2 {
    font-size: 1.9rem;
    padding: 0 12px;
  }
  .entry-form .topdesc {
    margin-bottom: 24px;
    text-align: center;
  }
  .entry-form .mw-cotainer .heading {
    font-size: 1.4rem;
    margin-top: 16px;
    margin-bottom: 8px;
  }
  .entry-form .mw-cotainer .heading .require {
    margin-left: 8px;
    padding: 2.4px 4px;
    font-size: 1.25rem;
  }
  .entry-form .mw-cotainer .form-row {
    display: block;
  }
  .entry-form .mw-cotainer .form-row--2 .form-item {
    width: 100%;
  }
  .entry-form .mw-cotainer .fieldouter {
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .fieldouter .fieldgroup {
    gap: 8px;
  }
  .entry-form .mw-cotainer .fieldouter input, .entry-form .mw-cotainer .fieldouter select {
    height: 40px;
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .fieldouter input, .entry-form .mw-cotainer .fieldouter textarea {
    padding: 8px;
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .fieldouter select {
    padding: 0 8px;
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .fieldouter .mwform-radio-field {
    margin-right: 8px;
  }
  .entry-form .mw-cotainer .fieldouter .mwform-radio-field label {
    gap: 8px;
  }
  .entry-form .mw-cotainer .fieldouter select[name=your-location] {
    width: 80%;
  }
  .entry-form .mw-cotainer .fieldouter textarea[name=your-content] {
    width: 100%;
    height: 200px;
  }
  .entry-form .mw-cotainer .fieldouter select[name=your-priority] {
    width: 80%;
  }
  .entry-form .mw-cotainer .privacy {
    margin-top: 24px;
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .privacy .mwform-checkbox-field label {
    font-size: 1.4rem;
  }
  .entry-form .mw-cotainer .btn-area {
    margin-top: 40px;
  }
  .entry-form .mw-cotainer .btn-area button, .entry-form .mw-cotainer .btn-area input[type=submit] {
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    width: 210px;
    height: 34px;
    font-size: 1.4rem;
  }
}/*# sourceMappingURL=entry.css.map */