/*                 mv                    */
.sab .mv_img {
 width: min(88.2rem, calc(882vw / 13.66));
}

/*                 contact_top                    */

.contact_top ul {
 width: min(45.2rem, calc(452vw / 13.66));
 margin: 0 auto min(5rem, calc(50vw / 13.66));
 display: flex;
 justify-content: space-between;
 position: relative;
 z-index: 1;
}
.contact_top ul::before {
 content: "";
 width: 100%;
 height: min(0.2rem, calc(2vw / 13.66));
 background-color: #005db1;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 z-index: -1;
}
.contact_top li {
 font-size: 1.6rem;
 font-weight: 700;
 color: #99bee0;
 border-radius: 50%;
 box-sizing: border-box;
 border: #99bee0 solid min(0.1rem, calc(1vw / 13.66));
 width: min(11rem, calc(110vw / 13.66));
 height: min(11rem, calc(110vw / 13.66));
 display: flex;
 align-items: center;
 background-color: #fff;
 justify-content: center;
}
.contact_top li.active {
 background-color: #005db1;
 border-color: #fff;
 color: #fff;
}
.contact_top p {
 font-size: 1.6rem;
 font-weight: 400;
}

/*                 contact_form                    */

.contact_form_inner {
 width: min(108rem, calc(1080vw / 13.66));
 margin: min(10rem, calc(100vw / 13.66)) auto min(12rem, calc(120vw / 13.66));
}
.form_note_txt {
 text-align: left;
 font-size: 1.6rem;
 margin-bottom: min(12rem, calc(120vw / 13.66));
}
.form_note_txt span {
 font-size: 1.6rem;
 display: inline-block;
 color: #fff;
 background-color: #005db1;
 border-radius: min(0.2rem, calc(2vw / 13.66));
 padding: 0 min(0.8rem, calc(8vw / 13.66));
 margin: 0 min(0.8rem, calc(8vw / 13.66));
 line-height: 1.6;
}

.form_item {
 margin-bottom: min(8rem, calc(80vw / 13.66));
 text-align: left;
}
.form_item:last-of-type {
 margin-bottom: 0;
}
.form_item_ttl {
 font-size: 2.4rem;
 font-weight: 700;
 margin-bottom: min(3.5rem, calc(35vw / 13.66));
}

.form_item_box {
 display: flex;
 align-items: center;
 border-top: min(0.1rem, calc(1vw / 13.66)) solid #333333;
 border-bottom: min(0.1rem, calc(1vw / 13.66)) solid #333333;
 padding: min(3rem, calc(30vw / 13.66)) 0;
 font-size: 1.6rem;
    font-weight: 500;
    position: relative;
}
.form_item_box + .form_item_box {
 border-top: none;
}
.form_item_box_ttl {
 width: min(33rem, calc(330vw / 13.66));
 font-size: 1.8rem;
 font-weight: 700;
}
.form_item_box_ttl span {
 font-size: 1.6rem;
 color: #fff;
 background-color: #005db1;
 padding: 0 min(1rem, calc(10vw / 13.66));
 border-radius: min(0.2rem, calc(2vw / 13.66));
 font-weight: 400;
 margin-left: min(1.5rem, calc(15vw / 13.66));
}
.form_item_flex {
 width: min(62.5rem, calc(625vw / 13.66));
 display: flex;
 flex-wrap: wrap;
 gap: min(1rem, calc(10vw / 13.66)) min(4rem, calc(40vw / 13.66));
 font-size: 1.6rem;
    font-weight: 500;
    position: relative;
}

.form_item_box dd.form_item_flex {
 flex-direction: column;
}
.form_item_flex label ,
.form_info_check label {
 display: flex;
 align-items: center;
 position: relative;
}
.form_info_check label {
 justify-content: center;
}
.mwform-radio-field-text,
.mwform-checkbox-field-text{
 font-size: 1.6rem;
 font-weight: 500;
 gap: 0 min(0.5rem, calc(5vw / 13.66));
 cursor: pointer;

}
.checkbox > span {
 width: min(1.8rem, calc(18vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 border: #333 solid min(0.2rem, calc(2vw / 13.66));
 box-sizing: border-box;
 border-radius: min(0.2rem, calc(2vw / 13.66));
 pointer-events: none;
 position: relative;
}
.radio > span {
 width: min(1.8rem, calc(18vw / 13.66));
 height: min(1.8rem, calc(18vw / 13.66));
 border: #333 solid min(0.2rem, calc(2vw / 13.66));
 box-sizing: border-box;
 pointer-events: none;
 border-radius: 50%;
 position: relative;

}
.checkbox > span::after {
 width: min(1.4rem, calc(14vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 content: "";
 background: url(../images/contact/check.svg) no-repeat;
 background-size: cover;
 position: absolute;
 opacity: 0;
 top: 50%;
 transform: translateY(-50%);
 left: 0;
 right: 0;
 margin: 0 auto;
}
.radio > span::after {
 content: '';
  width: min(1.2rem, calc(12vw / 13.66));
  height: min(1.2rem, calc(12vw / 13.66));
  background-color: #005db1;
  border-radius: 50%;
  position: absolute;
  opacity: 0;
  top: 50%;
 transform: translateY(-50%);
  left: 0;
 right: 0;
 margin: 0 auto;
}
.checkbox:has(input[type="checkbox"]:checked) span {
 background-color: #005db1;
}
.checkbox:has(input[type="checkbox"]:checked) span::after {
 opacity: 1;
}
.radio:has(input[type="radio"]:checked) span::after {
 opacity: 1;
}

.form_item input,
.form_item textarea,
.form_item select,
.form_item dd {
 font-size: 1.6rem;
 font-weight: 500;
 color: #333;
  font-family: YakuHanJP, "Zen Kaku Gothic Antique", sans-serif;
}

::placeholder {
 color: #b3b3b3;
}
.form_item input[type="text"],
.form_item input[type="email"],
.form_item select {
 width: min(62.5rem, calc(625vw / 13.66));
 box-sizing: border-box;
 border: #b3b3b3 solid min(0.1rem, calc(1vw / 13.66));
 border-radius: min(0.6rem, calc(6vw / 13.66));
 padding: min(1.5rem, calc(15vw / 13.66)) min(2.5rem, calc(25vw / 13.66));

}
.checkbox input[type="checkbox"] ,
.radio input[type="radio"] {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 margin: 0;
 appearance: none;
 cursor: pointer;
 opacity: 0;
}
.form_item textarea {
 width: min(62.5rem, calc(625vw / 13.66));
 box-sizing: border-box;
 border: #b3b3b3 solid min(0.1rem, calc(1vw / 13.66));
 resize: none;
 border-radius: min(0.6rem, calc(6vw / 13.66));
 padding: min(1.5rem, calc(15vw / 13.66)) min(2.5rem, calc(25vw / 13.66));
 height: min(19rem, calc(190vw / 13.66));
}
.form_item_flex textarea {
 height: min(13rem, calc(130vw / 13.66));
}
.form_user .form_item_box:nth-of-type(3) .form_item_flex {
 width: min(64rem, calc(640vw / 13.66));
}
.form_user .form_item_box:nth-of-type(3) .form_item_flex > label{
 margin-top: min(2rem, calc(20vw / 13.66));
 flex-direction: column;
 align-items: flex-start;
}
.form_user .form_item_box:nth-of-type(5) .form_item_flex > label,
.form_user .form_item_box:nth-of-type(6) .form_item_flex > label{
 flex-direction: column;
 align-items: flex-start;
}
.label_txt {
 font-size: 1.5rem;
 font-weight: 500;
}
.label_txt input {
 margin-top: min(1rem, calc(10vw / 13.66));
}
.form_user .form_item_box:nth-of-type(7) .form_item_flex {
 align-items: center;
}
.form_user .form_item_box:nth-of-type(7) dd.form_item_flex {
 align-items: flex-start;
}
.form_user .form_item_box:nth-of-type(7) input {
 width: min(28rem, calc(280vw / 13.66));
}
.form_user .form_item_box:nth-of-type(7) a {
 font-size: 1.5rem;
 font-weight: 500;
 color: #333333;
 text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
 .form_user .form_item_box:nth-of-type(7) a:where(:any-link, :enabled, summary):hover {
  text-decoration: none;
 }
}
.form_user .form_item_box:nth-of-type(8) .form_item_flex {
 width: min(28rem, calc(280vw / 13.66));
 position: relative;
}
.form_user .form_item_box:nth-of-type(8) dd.form_item_flex {
 width: min(62.5rem, calc(625vw / 13.66));
}
.form_user .form_item_box:nth-of-type(8) .form_item_flex::after {
 content: "";
 width: min(2rem, calc(20vw / 13.66));
 height: min(1rem, calc(10vw / 13.66));
 background: url(../images/contact/arrow.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%) ;
 right: min(2rem, calc(20vw / 13.66));
 pointer-events: none;
 z-index: 1;
}
.form_user .form_item_box:nth-of-type(8) dd.form_item_flex::after {
content: none;
}
.form_user .form_item_box:nth-of-type(8) select {
 appearance: none;
 color: #b3b3b3;
}

.mwform-tel-field {
 display: flex;
 gap: 0 min(1.5rem, calc(15vw / 13.66));
 align-items: center;
}

.form_user .form_item_box:nth-of-type(11) input {
 width: min(17rem, calc(170vw / 13.66));
}


.form_info {
 text-align: justify;
}
.form_info_ttl {
 font-size: 2.4rem;
 font-weight: 700;
}
.form_info_txt {
font-size: 1.6rem;
font-weight: 400;
margin-top:  min(2rem, calc(20vw / 13.66));
}
.form_info_item {
 height: min(28.8rem, calc(288vw / 13.66));
 overflow-y: scroll;
 box-sizing: border-box;
 border: #005db1 solid  min(.1rem, calc(1vw / 13.66));
 border-radius: min(1.2rem, calc(12vw / 13.66));
 padding:  min(3rem, calc(30vw / 13.66))  min(4rem, calc(40vw / 13.66));
 margin:  min(4.5rem, calc(45vw / 13.66)) 0 min(3rem, calc(30vw / 13.66));
}
.form_info_item_ttl {
 font-size: 1.8rem;
 font-weight: 700;
}
.form_info_item_txt {
 font-size: 1.6rem;
 font-weight: 400;
 margin-top:  min(2rem, calc(20vw / 13.66));
}
.form_info_item dl {
 display: flex;
 flex-direction: column;
 gap: min(1rem, calc(10vw / 13.66)) 0;
 margin-top: min(3rem, calc(30vw / 13.66));
}
.form_info_item dt {
 font-size: 1.6rem;
 font-weight: 700;
}
.form_info_item dd {
 font-size: 1.6rem;
 font-weight: 400;
 padding-left: 2em;
}
.form_info_item a {
 color: #333333;
 pointer-events: none;
}
.form_info_item dd p + p {
 margin-top: min(1rem, calc(10vw / 13.66));
}
.form_info_check  {
 text-align: center;
}
.form_info_check .checkbox{
 display: inline-flex;
 justify-content: center;
 margin-bottom:  min(4rem, calc(40vw / 13.66));
}

.form_btn button,
.form_btn a,
.back_btn input{
 width: min(38.5rem, calc(385vw / 13.66));
 background-color: #005bab;
 box-sizing: border-box;
 padding: min(2.1rem, calc(21vw / 13.66)) min(3rem, calc(30vw / 13.66));
 text-align: left;
 color: #fff;
 border: #005bab solid min(.1rem, calc(1vw / 13.66)) ;
 border-radius: min(3.4rem, calc(34vw / 13.66)) ;
 font-weight: 700;
 font-size: 1.6rem;
 margin: min(5rem, calc(50vw / 13.66)) auto 0;
 position: relative;
 transition: .4s;
 cursor: pointer;
 display: block;
}
.form_btn button:disabled {
 background-color: #b3b3b3;
border: #b3b3b3;
cursor: auto;
}
.form_btn button::before  ,
.form_btn a::before  ,
.back_btn::before   {
 content: '';
 width: min(3.6rem, calc(36vw / 13.66));
 height: min(3.6rem, calc(36vw / 13.66));
 background: url(../images/common/arrow_icon_02.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.6rem, calc(16vw / 13.66));
}
.form_btn button:disabled::before {
 background: url(../images/common/arrow_icon_03.svg) no-repeat;
 background-size: cover;
}
.confirm .form_btn button:first-of-type::before {
 background: url(../images/common/arrow_icon.svg) no-repeat;
 background-size: cover;
}
.form_btn button:after ,
.form_btn  a:after ,
.confirm .form_btn button:first-of-type:after {
 content: "";
 width: min(3.6rem, calc(36vw / 13.66));
 height: min(3.6rem, calc(36vw / 13.66));
 background: url(../images/common/arrow_icon.svg) no-repeat;
 background-size: cover;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: min(1.6rem, calc(16vw / 13.66));
 transition: 0.4s;
 opacity: 0;
}
.confirm .form_btn button:first-of-type:after  {
 background: url(../images/common/arrow_icon_03.svg) no-repeat;
 background-size: cover;
}

@media (hover: hover) and (pointer: fine) {
 .form_btn button:where(:any-link, :enabled, summary):hover ,
 .form_btn a:where(:any-link, :enabled, summary):hover {
  background-color: #fff;
  color: #005bab;
 }
 .form_btn button:where(:any-link, :enabled, summary):hover::after ,
 .form_btn a:where(:any-link, :enabled, summary):hover::after {
  opacity: 1;
 }
}

.confirm .form_btn {
 width:  min(59rem, calc(590vw / 13.66));
 display: flex;
 justify-content: space-between;
 margin: 0 auto;
 margin-top: min(5rem, calc(50vw / 13.66));

}
.confirm .form_btn button {
  width:  min(28rem, calc(280vw / 13.66));
  margin-top: 0;
}

.form_btn_flex .back_btn  {
position: relative;
}
.confirm .form_btn button:first-of-type {
 background-color: #fff;
 color: #005db1;
}
.confirm .form_btn button:first-of-type:hover{
 background-color: #005db1;
 color: #fff;
 }
.confirm .label_txt.supp_txt,
.confirm .label_txt .supp_txt,
.confirm  .form_user .form_item_box:nth-of-type(7) a,
.confirm .form_info_check{
 display: none;
 }
 .confirm .form_user .form_item_box:nth-of-type(8) .form_item_flex::after {
  content: none;
 }
 .confirm .form_user .form_item_box:nth-of-type(3) .form_item_flex > label {
  margin: 0;
 }

 @media (hover: hover) and (pointer: fine) {
 .confirm .form_btn button:where(:any-link, :enabled, summary):hover::after {
  opacity: 1;
 }
}




@media screen and (max-width: 767px) {
 /*                 mv                    */
.sab .mv_img {
 width:100%;
}

/*                 contact_top                    */

.contact_top ul {
 width:31.5rem;
 margin: 0 auto 3.5rem;
}
.contact_top ul::before {
 height: .2rem;
}
.contact_top li {
 font-size: 1.3rem;
 border: #99bee0 solid .1rem;
 width: 8rem;
 height: 8rem;
}
.contact_top p {
 width: 31.5rem;
 margin: 0 auto;
 text-align: justify;
 font-size: 1.3rem;
}

/*                 contact_form                    */

.contact_form_inner {
 width: 31.5rem;
 margin: 2.5rem auto 8rem;
}
.form_note_txt {
 text-align: left;
 font-size: 1.3rem;
 margin-bottom: 8rem;
}
.form_note_txt span {
 font-size: 1.3rem;
 border-radius:.2rem;
 padding: 0 .5rem;
 margin: 0 .5rem;
}

.form_item {
 margin-bottom: 3.5rem;
}
.form_item_ttl {
 font-size: 1.7rem;
 margin-bottom:1rem;
}

.form_item_box {
 flex-direction: column;
 border-top:.1rem solid #333333;
 border-bottom:.1rem solid #333333;
 padding:1.5rem 0 3rem;
 gap: 1rem 0;
 align-items: flex-start;
}

.form_item_box_ttl {
 width:100%;
 font-size: 1.6rem;
}
.form_item_box_ttl span {
 font-size: 1.3rem;
 padding: 0 1rem;
 border-radius: .2rem;
 margin-left: 1rem;
}
.form_item_flex {
 width: 100%;
 flex-direction: column;
 gap: .5rem 0;
}
.radio,
.checkbox {
 gap: 0 .5rem;
 font-size: 1.3rem;
 align-items: baseline;
}
.checkbox > span {
 width:1.5rem;
 height:1.5rem;
 border: #333 solid .1rem;
 border-radius: .2rem;
 top: .3rem;

}
.radio > span {
 width:1.5rem;
 height:1.5rem;
 border: #333 solid .1rem;
}
.checkbox > span::after {
 width: 1rem;
 height:.7rem;
}
.radio > span::after {
  width: 1.1rem;
  height: 1.1rem;
}
.form_item input[type="text"],
.form_item input[type="email"],
.form_item select {
 width: 100%;
 border: #b3b3b3 solid .1rem;
 border-radius: .2rem;
 padding: 1rem 1.5rem;
}

.form_item textarea {
 width:100%;
 border: #b3b3b3 solid .1rem;
 border-radius:.2rem;
 padding: 1rem 1.5rem;
 height:15rem;
}
.form_item_flex textarea {
 height:15rem;
}
.form_user .form_item_box:nth-of-type(3) .form_item_flex {
 width: 100%;
}
.form_user .form_item_box:nth-of-type(3) .form_item_flex > label {
 margin-top:1rem;
}
.label_txt {
 font-size: 1.3rem;
}
.label_txt input {
 margin-top: .5rem;
}
.form_user .form_item_box:nth-of-type(7) .form_item_flex {
 align-items: flex-start;
}
.form_user .form_item_box:nth-of-type(7) input {
 width: 10rem;
}
.form_user .form_item_box:nth-of-type(7) a {
 font-size: 1.3rem;
}

.form_user .form_item_box:nth-of-type(8) .form_item_flex {
 width: 15rem;
 text-align: left;
}
.form_user .form_item_box:nth-of-type(8) dd.form_item_flex {
 width:100%;
}

.form_user .form_item_box:nth-of-type(8) .form_item_flex::after {
 width: 1.2rem;
 height:.7rem;
 right: 1rem;
}

.form_user .form_item_box:nth-of-type(11)  .form_item_flex{
 gap: 0 .5rem;
 align-items: center;
 flex-direction: row;
}
.form_user .form_item_box:nth-of-type(11) input {
 width:7.5rem;
}

.form_info_ttl {
 font-size: 1.7rem;
}
.form_info_txt {
font-size: 1.3rem;
margin-top: 1rem;
}
.form_info_item {
  height: 28.8rem;
 border: #005db1 solid .1rem;
 border-radius: 1.2rem;
 padding:  1.5rem  2rem;
 margin: 2.5rem 0 ;
}
.form_info_item_ttl {
 font-size: 1.7rem;
}
.form_info_item_txt {
 font-size: 1.3rem;
 margin-top:  1rem;
}
.form_info_item dl {
 gap:  0;
 margin-top: 1rem;
}
.form_info_item dt {
 font-size: 1.3rem;
}
.form_info_item dd {
 font-size: 1.3rem;
}
.form_info_item dd p + p {
 margin-top: .5rem;
}
.form_info_check .checkbox{
 margin-bottom:  2.5rem;
}

.form_btn button,
.form_btn a,
.back_btn input{
 width: 100%;
 padding:2.4rem 2rem;
 border: #005bab solid .1rem ;
 border-radius: 3.4rem;
 font-size: 1.3rem;
 margin: 3.5rem auto 0;
}
.form_btn button::before,
.form_btn a::before,
.back_btn::before {
 width: 3rem;
 height: 3rem;
 right:1.5rem;
}
.form_btn button:after ,
.form_btn  a:after ,
.confirm .form_btn button:first-of-type:after {
 width: 3rem;
 height: 3rem;
 right:1.5rem;
}

.confirm .form_btn {
  width:  100%;
 flex-direction: column;
 margin-top:5rem;
 gap: 2rem 0;

}
.confirm .form_btn button {
 width:  100%;
}


}


.g-recaptcha > div {
    margin: 0 auto;
   }


 .thanks {
  margin-bottom: min(12rem, calc(120vw / 13.66));
 }
 .thanks .form_btn a{
  margin: min(5rem, calc(50vw / 13.66)) auto 0;
  padding: min(1.7rem, calc(17vw / 13.66)) min(3rem, calc(30vw / 13.66));
 }

 @media screen and (max-width: 767px) {
  .thanks {
   margin-bottom: 8rem;
  }
  .thanks .form_btn a{
   width: 31.5rem;
   margin: 3.5rem auto 0;
   padding: 2.1rem 2rem;
  }
 }


 .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
 }


 .error {
  font-size: 1.6rem !important;
  color: #B70000 !important;
  font-weight: 500;
  position: absolute;
  bottom:  max(-2.1rem, calc(-21vw / 13.66)) ;
  left: 0;
  line-height: 1;
 }
 .form_info_check .error {
  position: static;
  margin-top: min(.5rem, calc(5vw / 13.66));
 }


 @media screen and (max-width: 767px) {
   .error {
    font-size: 1.2rem !important;
    bottom:  -2rem ;
   }
    .form_info_check .error {
  margin-top:.5rem;
 }
  }
