@charset "UTF-8";
body {
  background-color: #fff;
}

#container {
  width: 414px;
  margin: 0 auto;
  overflow: hidden;
  background-image: url(../images03/bg_top.png), url(../images03/bg_bottom.png);
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center bottom;
  background-size: 100% auto, 100% auto;
  background-color: #fff;
  min-height: 680px;
}
@media screen and (max-width: 414px) {
  #container {
    width: 100%;
    min-height: 164.3vw;
  }
}

.wrap01 {
  width: 320px;
  margin: 0 auto;
  padding: 50px 0 250px;
}
@media screen and (max-width: 414px) {
  .wrap01 {
    width: 77.3vw;
    padding: 12.1vw 0 60.4vw;
  }
}

h2 {
  text-align: center;
  color: #231815;
  margin-bottom: 60px;
}
@media screen and (max-width: 414px) {
  h2 {
    margin-bottom: 14.5vw;
  }
}
h2 span {
  display: block;
}
h2 .t01 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (max-width: 414px) {
  h2 .t01 {
    font-size: 5.8vw;
    margin-bottom: 2.4vw;
  }
}
h2 .t02 {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 414px) {
  h2 .t02 {
    font-size: 4.3vw;
  }
}

.form_box + .form_box {
  margin-top: 35px;
}
@media screen and (max-width: 414px) {
  .form_box + .form_box {
    margin-top: 8.5vw;
  }
}
.form_box .f_txt01 {
  font-size: 15px;
  font-weight: bold;
  color: #231815;
}
@media screen and (max-width: 414px) {
  .form_box .f_txt01 {
    font-size: 3.6vw;
  }
}
.form_box .f_txt01 .require {
  font-size: 13px;
  line-height: 1.2em;
  padding: 0.1em 0.8em 0.3em;
  color: #fff;
  background-color: #b00000;
  margin-left: 0.5em;
}
@media screen and (max-width: 414px) {
  .form_box .f_txt01 .require {
    font-size: 3.1vw;
  }
}
.form_box .input01 {
  margin-top: 10px;
}
.form_box .input01 label {
  font-size: 13px;
  line-height: 35px;
  color: #231815;
}
@media screen and (max-width: 414px) {
  .form_box .input01 {
    margin-top: 2.4vw;
    font-size: 3.1vw;
    line-height: 8.5vw;
  }
}
.form_box .input01 input {
  display: inline-block;
  width: 100%;
  font-size: 15px;
  line-height: 35px;
  height: 35px;
  padding: 0.2em 0.5em;
  background-color: #fff;
  border: 1px solid #231815;
}
@media screen and (max-width: 414px) {
  .form_box .input01 input {
    font-size: 3.6vw;
    line-height: 8.5vw;
    height: 8.5vw;
  }
}
.form_box .sub_txt_list {
  margin-top: 8px;
}
@media screen and (max-width: 414px) {
  .form_box .sub_txt_list {
    margin-top: 1.9vw;
  }
}
.form_box .sub_txt_list li {
  font-size: 11px;
  color: #231815;
  line-height: 1.2em;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 414px) {
  .form_box .sub_txt_list li {
    font-size: 2.7vw;
  }
}
.form_box .sub_txt_list li + li {
  margin-top: 0.5em;
}
.form_box .link01 {
  font-size: 13px;
  text-align: right;
  margin-top: 10px;
}
@media screen and (max-width: 414px) {
  .form_box .link01 {
    margin-top: 2.4vw;
    font-size: 3.1vw;
  }
}
.form_box .link01 a {
  color: #00abee;
  text-decoration: underline;
}
@media screen and (max-width: 414px) {
  .form_box .link01.visible_pc {
    display: none;
  }
}
.form_box .link01.visible_sp {
  display: none;
}
@media screen and (max-width: 414px) {
  .form_box .link01.visible_sp {
    display: block;
  }
}
.form_box .input_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.form_box .input_box .input01 {
  width: 48.1%;
  display: flex;
  flex-wrap: wrap;
}
.form_box .input_box .input01 input {
  width: 123px;
  margin-left: 5px;
}
@media screen and (max-width: 414px) {
  .form_box .input_box .input01 input {
    width: 29.7vw;
    margin-left: 1.2vw;
  }
}

.btn_box {
  margin-top: 45px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 414px) {
  .btn_box {
    margin-top: 10.9vw;
  }
}
.btn_box .btn01 {
  width: 148px;
}
@media screen and (max-width: 414px) {
  .btn_box .btn01 {
    width: 35.7vw;
  }
}
.btn_box .btn01 input {
  width: 100%;
  height: 48px;
  border: none;
  font-size: 15px;
  font-weight: bold;
  line-height: 48px;
  background-image: url(../images03/bg_submit.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  color: #231815;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color-scheme: light;
}
@media screen and (max-width: 414px) {
  .btn_box .btn01 input {
    height: 11.6vw;
    font-size: 3.6vw;
    line-height: 11.6vw;
  }
}
.btn_box .btn02 {
  width: 148px;
}
@media screen and (max-width: 414px) {
  .btn_box .btn02 {
    width: 35.7vw;
  }
}
.btn_box .btn02 button {
  width: 100%;
  height: 48px;
  border: 1px solid #fff;
  border-color: #231815;
  font-size: 15px;
  font-weight: bold;
  line-height: 48px;
  color: #fff;
  color: #231815;
  background-image: url(../images03/bg_back_white.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  cursor: pointer;
}
@media screen and (max-width: 414px) {
  .btn_box .btn02 button {
    height: 11.6vw;
    font-size: 3.6vw;
    line-height: 11.6vw;
  }
}
.btn_box .btn01 + .btn02,
.btn_box .btn02 + .btn01 {
  margin-left: 24px;
}
@media screen and (max-width: 414px) {
  .btn_box .btn01 + .btn02,
  .btn_box .btn02 + .btn01 {
    margin-left: 5.8vw;
  }
}

.thanks_box {
  margin-top: 120px;
}
@media screen and (max-width: 414px) {
  .thanks_box {
    margin-top: 29vw;
  }
}
.thanks_box .txt01 {
  width: 110%;
  margin-left: -5%;
  margin-right: -5%;
  font-size: 22px;
  color: #231815;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 414px) {
  .thanks_box .txt01 {
    font-size: 5.3vw;
  }
}
.thanks_box .kakunin {
  margin-top: 60px;
}
@media screen and (max-width: 414px) {
  .thanks_box .kakunin {
    margin-top: 14.5vw;
  }
}
.thanks_box .kakunin .txt02 {
  font-size: 18px;
  color: #231815;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #fff;
  padding: 0.5em 0;
}
@media screen and (max-width: 414px) {
  .thanks_box .kakunin .txt02 {
    font-size: 4.3vw;
  }
}
.thanks_box .kakunin .txt03 {
  font-size: 14px;
  color: #231815;
  text-align: justify;
  margin-top: 0.8em;
}
@media screen and (max-width: 414px) {
  .thanks_box .kakunin .txt03 {
    font-size: 3.4vw;
  }
}
.thanks_box .kakunin .txt04 {
  font-size: 14px;
  color: #231815;
  margin-top: 1em;
}
@media screen and (max-width: 414px) {
  .thanks_box .kakunin .txt04 {
    font-size: 3.4vw;
  }
}
.thanks_box .kakunin .txt04 a {
  text-decoration: underline;
  color: #fff;
  color: #231815;
}

.back_top_top {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}
@media screen and (max-width: 414px) {
  .back_top_top {
    margin-top: 14.5vw;
  }
}
.back_top_top a {
  display: block;
  width: 100%;
  height: 48px;
  border: 1px solid #fff;
  border-color: #231815;
  font-size: 15px;
  font-weight: bold;
  line-height: 48px;
  color: #231815;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width: 414px) {
  .back_top_top a {
    height: 11.6vw;
    font-size: 3.6vw;
    line-height: 11.6vw;
  }
}

footer {
  width: 414px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (max-width: 414px) {
  footer {
    width: 100%;
  }
}
footer .wrap01 {
  width: 354px;
  margin: 0 auto;
}
@media screen and (max-width: 990px) {
  footer .wrap01 {
    padding: 10px 0 97px;
  }
}
@media screen and (max-width: 414px) {
  footer .wrap01 {
    width: 85.5vw;
    padding: 2.4vw 0 23.4vw;
  }
}
footer .wrap01 p {
  font-size: 10px;
  color: #fff;
  color: #231815;
}
@media screen and (max-width: 414px) {
  footer .wrap01 p {
    font-size: 2.4vw;
  }
}

.animate,
.animate2,
.animate3 {
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out;
  transform: translateY(0);
}

.animate.deactive,
.animate2.deactive,
.animate3.deactive {
  opacity: 0;
  transition: 0s;
  transform: translateY(30px);
}

.error-message {
  color: #c00 !important;
  font-size: 13px !important;
  margin-top: 5px;
}
@media screen and (max-width: 414px) {
  .error-message {
    font-size: 3.1vw !important;
    margin-top: 1.2vw;
  }
}

.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 414px;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}
@media screen and (max-width: 414px) {
  .modal {
    width: 100%;
  }
}

.modal-content {
  background-color: white;
  margin: 15% auto;
  padding: 20px;
  width: 90%;
  border-radius: 5px;
}
@media screen and (max-width: 414px) {
  .modal-content {
    padding: 4.8vw;
    border-radius: 1.2vw;
  }
}
.modal-content h2 {
  font-size: 18px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 414px) {
  .modal-content h2 {
    font-size: 4.3vw;
    margin-bottom: 4.8vw;
  }
}
.modal-content #modalContent div {
  font-size: 15px;
  color: #000;
  margin-bottom: 10px;
}
@media screen and (max-width: 414px) {
  .modal-content #modalContent div {
    font-size: 3.6vw;
    margin-bottom: 2.4vw;
  }
}
.modal-content .button-group {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 414px) {
  .modal-content .button-group {
    margin-top: 4.8vw;
  }
}
.modal-content .button-group #modalCancel {
  width: 118px;
  height: 38px;
  border: 1px solid #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 36px;
  color: #fff;
  color: #231815;
  background-image: url(../images03/bg_back_white.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  cursor: pointer;
}
@media screen and (max-width: 414px) {
  .modal-content .button-group #modalCancel {
    width: 28.5vw;
    height: 9.2vw;
    font-size: 3.6vw;
    line-height: 9.2vw;
  }
}
.modal-content .button-group #modalSubmit {
  width: 118px;
  height: 38px;
  margin-left: 20px;
  border: none;
  font-size: 15px;
  font-weight: bold;
  line-height: 38px;
  background-image: url(../images03/bg_submit.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  cursor: pointer;
  color: #231815;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color-scheme: light;
}
@media screen and (max-width: 414px) {
  .modal-content .button-group #modalSubmit {
    width: 28.5vw;
    height: 9.2vw;
    font-size: 3.6vw;
    line-height: 9.2vw;
    margin-left: 4.8vw;
  }
}

/* ローディングポップアップのスタイル */
.loading-content {
  text-align: center;
  padding: 30px;
}

.loader {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 15px auto;
  border: 4px solid #f3f3f3;
  border-radius: 50%;
  border-top: 4px solid #b00000;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.campain_modal_content h2 {
  color: #000;
}

.policy_box .f_txt01.policy_txt01 {
  font-size: 13px;
}
@media screen and (max-width: 414px) {
  .policy_box .f_txt01.policy_txt01 {
    font-size: 3.14vw;
  }
}

.policy_box .f_txt01 .require {
  margin-left: 0;
}

.policy_box .f_txt01.policy_txt02 {
  margin-top: 10px;
}
@media screen and (max-width: 414px) {
  .policy_box .f_txt01.policy_txt02 {
    margin-top: 2.41545vw;
  }
}

.policy_box .policy_link {
  display: block;
  margin-top: 10px;
}
@media screen and (max-width: 414px) {
  .policy_box .policy_link {
    margin-top: 2.41545vw;
  }
}

.policy_box .policy_link a {
  color: #231815;
  font-size: 13px;
  text-decoration: underline;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 414px) {
  .policy_box .policy_link a {
    font-size: 3.14vw;
  }
}

input[type=radio] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  margin-right: 5px;
}
@media screen and (max-width: 414px) {
  input[type=radio] {
    width: 3.8647vw;
    height: 3.8647vw;
    margin-right: 1.2077vw;
  }
}

label[for=policy] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  align-items: center;
}

.entry-mail-caution {
  margin-top: 20px;
  border: 1px solid red;
  border-radius: 12px;
  padding: 16px 12px;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution {
    margin-top: 4.8309vw;
    border-radius: 2.89855vw;
    padding: 3.8647vw 2.8985vw;
  }
}

.entry-mail-caution-title {
  color: red;
  text-align: center;
  display: flex;
  justify-content: center;
  font-size: 15px;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution-title {
    font-size: 3.62318vw;
  }
}

.entry-mail-caution-title span {
  width: 26px;
  margin-right: 5px;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution-title span {
    width: 6.2801vw;
    margin-right: 1.2077vw;
  }
}

.entry-mail-caution-text {
  color: #231815;
  text-align: center;
  font-size: 14px;
  letter-spacing: -0.1em;
  margin-top: 10px;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution-text {
    font-size: 3.3816vw;
    margin-top: 2.415vw;
  }
}

.entry-mail-caution-list {
  margin-top: 5px;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution-list {
    margin-top: 1.2077vw;
  }
}

.entry-mail-caution-list li {
  color: #231815;
  font-size: 13px;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 414px) {
  .entry-mail-caution-list li {
    font-size: 3.14vw;
  }
}

.entry-mail-caution-list li span {
  color: red;
}/*# sourceMappingURL=style03.css.map */