@charset "UTF-8";
body {
  color: #fff;
  background-color: #fff;
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
  max-width: 600px;
  margin-inline: auto;
}

@media (any-hover: hover) {
  .option-label:hover {
    background-color: #e00018;
  }
}
.fv-second {
  background-color: #c0e0f0;
  position: relative;
  height: min(50vw, 300px);
  padding: min(6vw, 36px);
  padding-top: min(5vw, 30px);
}

.fv-second__text-first {
  width: min(34.25vw, 205.5px);
}

.fv-second__text-first img {
  width: 100%;
}

.fv-second__text-second {
  width: min(41.5vw, 249px);
  margin-top: min(1.25vw, 7.5px);
  padding-left: min(1vw, 6px);
}

.fv-second__text-second img {
  width: 100%;
}

.fv-second__text-third {
  margin-top: min(1vw, 6px);
  width: min(37.75vw, 226.5px);
}

.fv-second__text-third img {
  width: 100%;
}

.fv-second__text-logo {
  position: absolute;
  top: min(2vw, 12px);
  right: min(2vw, 12px);
  width: min(20vw, 120px);
  height: min(20vw, 120px);
  background-color: #2078c0;
  padding: min(0.75vw, 4.5px) min(1.25vw, 7.5px) min(1vw, 6px);
  display: grid;
  place-items: center;
}

.fv-second__text-logo img {
  width: 100%;
}

.fv-second__img {
  width: min(38vw, 228px);
  position: absolute;
  bottom: 0;
  right: min(16vw, 96px);
}

.fv-second__img img {
  width: 100%;
}

.content {
  background-color: #203868;
}

.content__inner {
  padding: min(8vw, 48px);
}

.content__step-text {
  font-size: min(2.6vw, 15.6px);
  line-height: 1.2;
  letter-spacing: 0.2em;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  text-align: center;
}

.content__step-wrapper {
  margin-top: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: min(2vw, 12px);
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 100%;
  padding-bottom: 24px;
  border-bottom: 1px solid #fff;
  position: relative;
}

.content__step-background {
  position: absolute;
  left: 0;
  height: min(11vw, 66px);
  background-color: #fff;
  border-radius: 40px;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
  z-index: 0;
}

/* ステップ数に応じて幅を調整 */
.content__step-wrapper[data-active-step="1"] .content__step-background {
  width: min(24vw, 144px);
}

.content__step-wrapper[data-active-step="2"] .content__step-background {
  width: min(36.5vw, 219px);
}

.content__step-wrapper[data-active-step="3"] .content__step-background {
  width: min(48.5vw, 291px);
}

.content__step-wrapper[data-active-step="4"] .content__step-background {
  width: min(60.5vw, 363px);
}

.content__step-wrapper[data-active-step="5"] .content__step-background {
  width: min(72.5vw, 435px);
}

.content__step-wrapper[data-active-step="6"] .content__step-background {
  width: min(84.5vw, 507px);
}

.content__step-number {
  position: relative;
  z-index: 1;
}

.content__step-first__text {
  font-size: min(2.6vw, 15.6px);
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 400;
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #282828;
  position: absolute;
  left: min(4.5vw, 27px);
  z-index: 1;
}

.content__step-number {
  font-size: min(3vw, 18px);
  line-height: 1.2;
  letter-spacing: 0.16em;
  font-weight: 300;
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  width: min(10vw, 60px);
  height: min(10vw, 60px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.content__step-number.active {
  background-color: #2078c0;
  border: none;
}

.content__step-number[data-step="1"] {
  margin-right: min(0.5vw, 3px);
}

.content__step[aria-current] {
  font-weight: bold;
}

.form-step {
  display: none;
}

.form-step.active {
  display: block;
}

.form-step[data-step="5"] .form-step__question-main {
  margin-top: 20px;
}

.form-step[data-step="5"] .form-group {
  gap: 7px;
}

.form-step[data-step="5"] .type-input {
  gap: 13px;
}

.form-step[data-step="6"] .form-group {
  gap: 7px;
}

.form-step[data-step="6"] .type-input {
  gap: 13px;
}

.form-step[data-step="6"] .form-step__buttons {
  margin-top: 18px;
}

.form-step__question-top {
  margin-top: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.form-step__question-number {
  font-family: "Noto Sans JP", "Times New Roman", "Times", serif;
  font-size: min(6vw, 36px);
  line-height: 1.44;
  letter-spacing: 0.02em;
  font-weight: 400;
}

.form-step__question-text {
  margin-top: 4px;
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: min(3.6vw, 21.6px);
  line-height: 1.6;
  letter-spacing: 0.16em;
  font-weight: 300;
}

.form-step__question-top__right {
  width: min(16vw, 96px);
}

.form-step__question-top__right img {
  width: 100%;
}

.form-step__question-main {
  margin-top: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(2vw, 12px);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.option-label {
  width: min(41vw, 246px);
  height: min(14vw, 84px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 40px;
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
  font-size: min(3.4vw, 20.4px);
  line-height: 1.2;
  letter-spacing: 0.0397058824em;
  cursor: pointer;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
}

.option-label.active {
  background-color: #e00018;
}

.option-label.small {
  font-size: min(3vw, 18px);
}

.option-radio {
  display: none;
}

.form-step__buttons {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 8px;
}

.form-step__nav-button {
  width: min(32vw, 192px);
  height: min(12vw, 72px);
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 12px;
  border-radius: 40px;
  color: #282828;
  font-size: min(3.4vw, 20.4px);
  line-height: 1.2;
  letter-spacing: 0.0397058824em;
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
}

.form-step__nav-button.back-button {
  background-color: #203868;
  border: 1px solid #fff;
  color: #fff;
  width: min(22vw, 132px);
}

.form-step__nav-button.submit-button {
  background-color: #008cff;
  color: #fff;
  width: min(40vw, 240px);
}

.form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
}

.form-label {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300px;
  font-size: min(2.6vw, 15.6px);
  line-height: 1.28;
  letter-spacing: 0.0798076923em;
}

.form-step__question-main.type-input {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: normal;
  -ms-flex-align: normal;
  align-items: normal;
  gap: 16px;
}

.form-input,
.form-select {
  width: 100%;
  height: min(14vw, 84px);
  border-radius: 40px;
  background-color: #fff;
  font-size: min(3.4vw, 20.4px);
  line-height: 1.2;
  letter-spacing: 0.0397058824em;
  font-weight: 300;
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  border: none;
}

.form-input::-webkit-input-placeholder,
.form-select::-webkit-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::-moz-placeholder,
.form-select::-moz-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input:-ms-input-placeholder,
.form-select:-ms-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::-ms-input-placeholder,
.form-select::-ms-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::-webkit-input-placeholder,
.form-select::-webkit-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::-moz-placeholder,
.form-select::-moz-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input:-ms-input-placeholder,
.form-select:-ms-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::-ms-input-placeholder,
.form-select::-ms-input-placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input::placeholder,
.form-select::placeholder {
  color: rgba(40, 40, 40, 0.4);
}

.form-input {
  padding: 23px 24px;
  color: #282828;
}

.form-select {
  padding-inline: 24px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("../img/arrow_down.svg");
  background-repeat: no-repeat;
  background-position: right 23px center;
  background-size: min(1vw, 6px);
  padding-right: 7px;
}

/* セレクトボックスのオプション設定 */
select option {
  color: #282828 !important; /* 通常の選択肢は濃い色 */
}

select option:first-child {
  color: rgba(40, 40, 40, 0.4) !important; /* 「選択してください」だけ薄い色 */
}

input:focus,
select:focus {
  outline: none;
}

.privacy-notice {
  text-align: center;
  margin-top: 10px;
}

.privacy-notice p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.8vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.0803571429em;
}

.privacy-notice a {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.8vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.0803571429em;
  text-decoration: underline;
  color: #40a8ff;
}

.footer {
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #282828;
  padding: 24px 16px;
}

.footer__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}

.footer__links a {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.6vw, 15.6px);
  line-height: 1.28;
  letter-spacing: 0.0596153846em;
}

.copylight {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.6vw, 15.6px);
  line-height: 1.28;
  letter-spacing: 0.04em;
}

.copylight .span-text1 {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-weight: 300;
  letter-spacing: 0.0201923077em;
}

.copylight .span-text2 {
  letter-spacing: 0.0798076923em;
}

.thanks-page {
  color: #282828;
}

.thanks-content__inner {
  padding: min(8.75vw, 52.5px) min(8vw, 48px);
}

.thanks-content__title {
  font-family: "Noto Sans JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
  font-size: min(3.6vw, 21.6px);
  line-height: 1.6;
  letter-spacing: 0.1597222222em;
}

.thanks-content__text {
  margin-top: 14px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.8vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.0803571429em;
}

.thanks-content__documents {
  margin-top: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

.thanks-content__document1,
.thanks-content__document2 {
  border: 1px solid #c8c8c8;
  border-radius: 8px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: min(13.75vw, 82.5px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.thanks-content__document1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.thanks-content__document2,
.document__top,
.document__bottom {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(3vw, 18px);
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.document__top {
  font-size: min(2.6vw, 15.6px);
  letter-spacing: 0.0798076923em;
}

.thanks-content__request {
  margin-top: 22px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.8vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.0803571429em;
}

.a-mail {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 300;
  font-size: min(2.8vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.0803571429em;
  color: #2078c0;
  text-decoration: underline;
}
