@charset "utf-8";
@media (min-width:751px) {
  html {
    scroll-padding-top: var(--header);
  }
}
@media (max-width:750px) {
  html {
    scroll-padding-top: var(--header);
  }
}
header {
  background-color: #fff;
}
.img{font-size:0;}
picture{display:block;}
body{font-family: var(--noto_sans);font-weight: normal;}

.sec_wrap{
  width:100%;
  padding:120px 0;
  background-color:#f7f8f8;
}
h2{
  font-size:38px;
  color:#10326a;
  margin-bottom:31px;
  text-align: center;
  font-family: 'FOT-筑紫オールド明朝 Pro R','TsukuOldMinPro-R';
  letter-spacing: 0.06em;
}
.f_txt{
  font-size:18px;
  line-height:2.129;
  text-align: center;
  letter-spacing: 0.07em;
  margin-bottom:58px;
}
.f_txt .cap{
  font-size:13px;
  display:block;
  letter-spacing: 0.02em;
  margin-top:6px;
}
.f_txt .cap a{
  font-size:inherit;
  color:inherit;
  pointer-events: none;
}
.p_img{
  width:400px;
  margin:0 auto 90px;
}

@media screen and (max-width: 768px) {
  .sec_wrap{
    padding:8.267% 0 8%;
  }
  h2{
    font-size:5.867vw;
    margin-bottom:8.667vw;
    letter-spacing: 0;
  }
  .f_txt{
    width:82.667%;
    margin:0 auto 5.6vw;
    text-align: left;
    font-size:2.933vw;
    line-height:2;
    letter-spacing: -0.02em;
  }
  .f_txt .cap{
    font-size:2.667vw;
    letter-spacing: -0.02em;
    margin-top:0;
  }
  .f_txt .cap a{
    pointer-events: auto;
  }
  .p_img{
    width:64.267%;
    margin:0 auto 8vw;
  }
}

.form_wrap{
  width:960px;
  margin:0 auto;
}
.form_wrap .table_wrap{
  width:100%;
  background-color:#fff;
  padding:80px;
  box-sizing: border-box;
  text-align: left;
}
.form_wrap .formTable tr.hidden{
  display: none;
}
.form_wrap .formTable tr{
  font-size:18px;
  line-height:1;
}
.form_wrap .formTable th{
  font-size:inherit;
  font-weight: normal;
  display:flex;
  align-items: center;
  margin-bottom:18px;
}
.form_wrap .formTable th .required{
  font-size:14px;
  line-height:1;
  color:#fff;
  background-color:#f00;
  padding:3px 5px 5px;
  box-sizing:border-box;
  border-radius: 7px;
  margin-left:10px;
  position: relative;
  top:1px;
}
.form_wrap .formTable td{
  width:800px;
  font-size:inherit;
  margin-bottom:50px;
  display:block;
  letter-spacing: 0.02em;
  position: relative;
}
.form_wrap .formTable tr:last-child td{
  margin-bottom:0;
}
.form_wrap .formTable td .cap{
  font-size:14px;
  display:block;
  margin-top:11px;
  letter-spacing: -0.02em;
}
.form_wrap input,
.form_wrap select{
  margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form_wrap .formTable td input[type="text"],
.form_wrap .formTable td select,
.form_wrap .formTable td textarea,
.form_wrap .formTable td input[type="tel"]{
  background-color:#f7f8f8;
  width:100%;
  height:60px;
  font-size:inherit;
  box-sizing: border-box;
  padding:0 20px;
  position: relative;
}
.form_wrap .formTable td textarea{
  min-height:160px;
  padding:20px;
  line-height:1.5;
}
.form_wrap .formTable td.zip input[type="text"]{
  width:78px;
}
.form_wrap .formTable td.zip input[type="text"].zip2{
  width:88px;
}
.form_wrap .formTable td.zip span{
  font-size:18px;
  border:1px solid #aaa;
  margin-left: 10px;
  height: auto;
  line-height: 1;
  cursor: pointer;
  display: inline-block;
  box-sizing: border-box;
  padding: 20px 22px;
  position: relative;
  top: 3px;
  letter-spacing: -0.02em;
}
.form_wrap .formTable td.zip span:hover{
  opacity: .8;
  transition-duration: .3s;
}
.form_wrap input::placeholder,
.form_wrap select{
  color: #d2d2d2;
}
.form_wrap .formTable td select:invalid{
  color:#d2d2d2;
}
.form_wrap .formTable td.select_wrap::after{
  content:'';
  display:block;
  position: absolute;
  top:50%;
  right:30px;
  transform: translate(0,-50%);
  background: #b3b8ba;
  height: calc(tan(60deg) * 16px / 2);
  width: 11px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.form_wrap .formTable td.radio_wrap{
  display:flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top:8px;
}
.form_wrap .radio_wrap .ri_wrap{
  font-size:inherit;
}
.form_wrap .radio_wrap .ri_wrap:nth-child(n+2){
  margin-left:30px;
}
.form_wrap label{
  font-size:inherit;
  letter-spacing: -0.02em;
}
label {
  position: relative;
  cursor: pointer;
  padding-left: 21px;
}
label.pp_label {
  padding-left: 25px;
}
label::before,
label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
label::before {
  border: 1px solid #000;
  border-radius: 50%;
  width: 17px;
  height: 17px;
  left: 0;
}
input:checked + label::before {
  border: 1px solid #10326a;
}
label::after {
  background-color: #10326a;
  border-radius: 50%;
  opacity: 0;
  width: 11px;
  height: 11px;
  left: 3px;
}
input:checked + label::after {
  opacity: 1;
}
.form_wrap input[type="radio"],
.form_wrap input[type="checkbox"]{
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}
.form_bottom_wrap{
  width:100%;
  text-align: center;
  padding-top:110px;
}
.form_bottom_wrap .pp_wrap{
  width:100%;
  line-height: 1;
  display:block;
}
label.pp_label::before,
label.pp_label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
label.pp_label::before {
  border: 1px solid #00488d;
  border-radius: 0;
}
input:checked + label.pp_label::before {
  border: 1px solid #00488d;
}
label.pp_label::after {
  background-color:rgba(255,255,255,0);
  border-radius: 0;
  top: 6px;
  left: 5px;
  transform: rotate(40deg);
  width: 7px;
  height: 12px;
  border-right: 2px solid #00488d;
  border-bottom: 2px solid #00488d;
}
.form_bottom_wrap .pp_wrap label{
  font-size:18px;
  line-height:1;
}
.form_bottom_wrap .pp_wrap label a{
  display:inline-block;
  color:#00488d;
  font-size:inherit;
  text-decoration: underline;
  text-decoration-color: #00488d;
}
.form_wrap .submit_wrap{
  width:460px;
  margin:60px auto;
  position: relative;
}
.form_wrap .submit_wrap::after{
  content:'';
  display:block;
  position: absolute;
  top:50%;
  right:26px;
  transform: translate(0,-50%);
  width:35px;
  height:35px;
  background: url("../img/common/circle_arrow_wh2.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  pointer-events: none;
}
.form_wrap input[type="submit"]{
  width:100%;
  display:block;
  background-color:#10326a;
  position: relative;
  font-size:22px;
  color:#fff;
  padding: 27px 0 31px;
  line-height: 1;
  cursor: pointer;
  transition-duration: .3s;
  text-align: center;
}
.form_wrap .off input[type="submit"]{
  pointer-events: none;
  opacity:.5;
}
.form_wrap input[type="reset"]{
  font-size:18px;
  line-height:1;
  color:#00488d;
  text-align: center;
  cursor: pointer;
}
.form_wrap input[type="submit"]:hover,
.form_wrap input[type="reset"]:hover{
  opacity:.8;
  transition-duration: .3s;
}

@media screen and (max-width: 768px) {
  .form_wrap{
    width:100%;
  }
  .form_wrap .table_wrap{
    padding:13.333vw 8% 16vw;
  }
  .form_wrap .formTable tr{
    font-size:3.2vw;
  }
  .form_wrap .formTable th{
    margin-bottom:4vw;
  }
  .form_wrap .formTable th .required{
    font-size:2.667vw;
    padding:0.533vw 1.333vw 1.2vw;
    border-radius: 1.067vw;
    margin-left:3.6vw;
    position: relative;
    top:0.267vw;
  }
  .form_wrap .formTable td{
    width:100%;
    margin-bottom:5.733vw;
  }
  .form_wrap .formTable tr:last-child td{
    margin-bottom:0;
  }
  .form_wrap .formTable td .cap{
    font-size:2.667vw;
    margin-top:2.667vw;
    margin-bottom:8.267vw;
  }
  .form_wrap .formTable td input[type="text"],
  .form_wrap .formTable td select,
  .form_wrap .formTable td textarea,
  .form_wrap .formTable td input[type="tel"]{
    height:auto;
    padding: 4.524% 4.444% 4.762%;
  }
  .form_wrap .formTable td textarea{
    min-height:79.333vw;
    padding: 4.524% 4.444% 4.762%;
  }
  .form_wrap .formTable td.zip input[type="text"]{
    width:17.46%;
  }
  .form_wrap .formTable td.zip input[type="text"].zip2{
    width:20.635%;
  }
  .form_wrap .formTable td.zip span{
    display:inline-block;
    width:49.206%;
    font-size:3.2vw;
    margin-left: auto;
    padding: 5% 0 5.079%;
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
  }
  .form_wrap .formTable td.select_wrap::after{
    right:5.238%;
    height: calc(tan(60deg) * 2.533vw / 2);
    width: 1.867vw;
  }
  .form_wrap .formTable td.radio_wrap{
    margin-top:0.667vw;
    margin-bottom:8.267vw;
  }
  .form_wrap .radio_wrap .ri_wrap:nth-child(n+2){
    margin-left:5.333vw;
  }
  label {
    padding-left: 16px;
  }
  label.pp_label {
    padding-left: 4.667%;
  }
  label::before {
    width: 14px;
    height: 14px;
    top: 11px;
  }
  label::after {
    width: 10px;
    height: 10px;
    left: 2px;
    top: 11px;
  }
  .form_bottom_wrap{
    padding-top:8.4vw;
  }
  label.pp_label::before {
    width:11px;
    height:11px;
  }
  label.pp_label::after {
    top: 22%;
    left: 2px;
    width: 6px;
    height: 9px;
  }
  .form_bottom_wrap .pp_wrap label{
    font-size:3.2vw;
  }
  .form_wrap .submit_wrap{
    width: 84%;
    margin: 7.6vw auto 6.667vw;
  }
  .form_wrap .submit_wrap::after{
    right:5.556%;
    width:6.4vw;
    height:6.4vw;
    background: url("../img/common/circle_arrow_wh2.svg");
    background-repeat: no-repeat;
    background-size: 100%;
  }
  .form_wrap input[type="submit"]{
    font-size:3.2vw;
    padding:5.067vw 0 5.067vw;
  }
  .form_wrap input[type="reset"]{
    font-size:3.2vw;
    line-height: 1.2;
  }
}


/*　確認画面　*/

.error_messe{
  font-size: 18px;
  line-height: 1.667;
  text-align: center;
  letter-spacing: -0.02em;
  color:#f00;
}
.history_wrap{
  width:460px;
  margin:50px auto 0;
  position:relative;
}
.history_wrap::after{
  content:'';
  display:block;
  position: absolute;
  top:50%;
  left:26px;
  transform: translate(0,-50%) scale(-1, 1);
  width: 35px;
  height: 35px;
  background: url("../img/common/circle_arrow_wh2.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  pointer-events: none;
}
input[type="button"]{
  width:100%;
  position: relative;
  background-color:#bbb;
  font-size:22px;
  color:#fff;
  padding: 27px 0 31px;
  line-height: 1;
  display:block;
  text-align: center;
  cursor: pointer;
}
.history_wrap input[type="button"]:hover{
  opacity:.8;
  transition-duration: .3s;
}
.btn_wrap{
  display:flex;
  justify-content: space-between;
  margin-top:82px;
}
.form_wrap .table_wrap.confirm_table{
  padding:100px 80px 115px;
}
.form_wrap .confirm_table .formTable tr{
  width:100%;
  display:flex;
  align-items: flex-start;
}
.form_wrap .confirm_table .formTable tr:nth-child(n+2){
  margin-top:30px;
}
.form_wrap .confirm_table .formTable tr th{
  width:230px;
  line-height:1.5;
  margin-bottom:0;
}
.form_wrap .confirm_table .formTable tr td{
  width:570px;
  line-height:1.5;
  margin-bottom:0;
}
.btn_wrap .history_wrap,
.btn_wrap .submit_wrap{
  margin:0;
}

@media screen and (max-width: 768px) {
  .error_messe{
    font-size: 3.2vw;
    line-height: 2;
    letter-spacing: -0.02em;
  }
  .history_wrap{
    width:84%;
    margin:8vw auto 0;
  }
  .history_wrap::after{
    left:5.556%;
    width:6.4vw;
    height:6.4vw;
    background: url("../img/common/circle_arrow_wh2.svg");
    background-repeat: no-repeat;
    background-size: 100%;
  }
  input[type="button"]{
    font-size:3.2vw;
    padding:5.067vw 0 5.067vw;
  }
  .form_wrap .confirm_table .formTable tr:nth-child(n+2){
    margin-top:4.667vw;
  }
  .form_wrap .confirm_table .formTable tr th{
    width:39.683%;
  }
  .form_wrap .confirm_table .formTable tr td{
    width:60.317%;
  }
  .form_wrap .table_wrap.confirm_table{
    padding: 13.333vw 8% 16vw;
  }
  .btn_wrap{
    width:84%;
    display:flex;
    flex-wrap: wrap;
    margin:8vw auto 0;
  }
  .btn_wrap .history_wrap,
  .btn_wrap .submit_wrap{
    width:100%;
    order:2;
  }
  .btn_wrap .submit_wrap{
    order:1;
    margin-bottom:2.667vw;
  }
}

/*  thanks  */

.sec_thanks{
  padding:115px 0 175px;
}
.sec_thanks h2 {
  margin-bottom: 47px;
}
.sec_thanks .p_img{
  margin:0 auto 59px;
}
.thanks_wrap{
  width:960px;
  margin:0 auto;
  background-color:#fff;
  text-align: center;
  padding:73px 0 100px;
}
.thanks_wrap .t_txt{
  font-size:18px;
  line-height:2.129;
  margin-bottom:45px;
}
.thanks_wrap .btn{
  width:460px;
  margin:0 auto;
}
.thanks_wrap .btn a{
  display:block;
  background-color:#10326a;
  position: relative;
  font-size:22px;
  color:#fff;
  padding: 27px 0 31px;
}
.thanks_wrap .btn a::after{
  content:'';
  display:block;
  position: absolute;
  top:50%;
  right:26px;
  transform: translate(0,-50%);
  width:35px;
  height:35px;
  background: url("../img/common/circle_arrow_wh2.svg");
  background-repeat: no-repeat;
  background-size: 100%;
}
  
@media screen and (max-width: 768px) {
  .sec_thanks{
    padding:7.067vw 0 0;
    border-bottom:1px solid #ccc;
  }
  .sec_thanks h2 {
    margin-bottom: 6vw;
  }
  .sec_thanks .p_img{
    margin:0 auto 7.867vw;
  }
  .thanks_wrap{
    width:100%;
    padding:8vw 0 12vw;
  }
  .thanks_wrap .t_txt{
    font-size:2.933vw;
    line-height:2.091;
    margin-bottom:6.667vw;
  }
  .thanks_wrap .btn{
    width:84%;
  }
  .thanks_wrap .btn a{
    font-size:3.2vw;
    padding:5.067vw 0 5.067vw;
  }
  .thanks_wrap .btn a::after{
    right:5.556%;
    width:6.4vw;
    height:6.4vw;
    background: url("../img/common/circle_arrow_wh2.svg");
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.formError .formErrorArrowBottom {
  top: -6px;
}
.formError .formErrorArrowBottom div{
  box-sizing: content-box;
}
.formError .formErrorContent {
  background: #e30000;
  min-width: 120px;
  font-size: 12px;
  border: 2px solid #f7f8f8;
  box-shadow: 0 0 0 #000;
  -moz-box-shadow: 0 0 0 #000;
  -webkit-box-shadow: 0 0 0 #000;
  -o-box-shadow: 0 0 0 #000;
  padding: 10px 10px 10px 10px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  top:-10px;
  box-sizing: content-box;
}

@media screen and (max-width: 768px) {
  .formError .formErrorArrowBottom {
    top: 24px;
  }
  .formError .formErrorContent {
    font-size: 2.667vw;
    padding: 4px 10px 6px 10px;
    top:20px;
  }
}

