body{
  font-family:'メイリオ', 'Meiryo', sans-serif;
}

header img{
width: 30%;
display: block;
padding: 10px 0;
padding-left: 10px;
}

.inner {
    width: 50%;
    margin: 0 auto;
  }

  img {
    width: 100%;
  }


.sp{
 display: none;
}

.visible{
	visibility:visible;
}

.hidden{
	visibility:hidden;
}

  .exCta {
    width: 50%;
    margin: 0 auto;
    position: fixed;
    bottom: 0;
    align-content: center;
    background: rgba(255, 255, 255, 0.8);
  }

  .exCtaBox {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2% 0;
  }

  .exCtaImg {
    width: 90%;
    display: block;
    margin: 0 auto;
  }

  .ctaBtn {
    display: block;
    margin: -40.2% auto 0;
    width: 100%;
    padding: 11% 0 30%;
  }

  .ctaBtn_a {
    display: block;
    margin: -40.2% auto 0;
    width: 100%;
    padding: 10% 0 16%;
  }

  .ctaBtn_b:nth-child(2n),
  .ctaBtn_b:nth-child(3n)   {
    padding: 10% 0 7%;
  }

  .ctaBtn_b {
    display: block;
    margin-top: -30%;
    margin: -25.2% auto 0;
    width: 100%;
    padding: 10% 0 3%;
}

  .ctaButton {
    width: 80%;
    display: block;
    margin: 0 auto;
  }

  .invisible {
    visibility: hidden;
  }

  .ex_button{
    width: 40%;
    margin: -23% auto 0px;
    display: block;
    padding-bottom: 20%;
  }

  main{
    line-height: 1.3em;
  }

  footer{
    padding: 50px 0;
    background: #3c3c3c;
  }

  .footer-list{
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
  }

  .footer-list li:nth-child(even){
    padding:0 10px;
  }

  footer p{
    text-align: center;
    color: #ffff;
  }


.footer-terms{
  text-align: center;
  color: #fff;
  width: 100%;
  display: block;
  text-decoration: underline;
  padding-bottom: 16px;
}


/* ==========================

  legal

========================== */

.sub h2{
color: #086d97;
font-size: 24px;
font-weight: bold;
margin: 1em 0;
line-height: 1.3em;
}

.sub h3{
  color: #086d97;
  font-size: 20px;
  font-weight: bold;
  margin: 1em 0;
  }

  .sub-list{
    margin: 1em;
  }

  .sub-list li:not(:last-child){
    margin-bottom: 0.8em;
  }

  .section-contents{
    background:#ebf9ff;
    padding-left: 1em;
    border-left: 3px solid #086d97;
    padding: 1em;
  }

  .section-contents:not(:last-child){
    margin-bottom: 10px;
  }

  .section-contents h4{
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 1em;
  }

  .section-contents p{
    padding-left: 1em;
  }


  .sub-inner {
    width: 50%;
    margin: 0 auto;
  }

.section-box:last-child{
  margin-bottom: 2em;
}

/* ==========================

  law

========================== */

.detail{
  padding: 1em 0;
  font-weight: bold;
  font-size: 18px;
}

.detail-box{
  padding: 1em 1em 0;
}

.detail-list{
  padding: 1em 1em 0;
}

/* ==========================

  form

========================== */

#form-wrap{
  padding: 3rem 0;
}

.form-table{
  width: 100%;
}

.form-tr{
  display: flex;
  flex-direction: column;
}

.form-tr:not(:last-child){
  margin-bottom: 20px;
}

.form-tr td{
  width: 100%;
  border: 1px solid black;
  padding: 10px;
  margin-top: 0.5em;
}

input[type="text"],
textarea
{
  width: 100%;
}


.required{
  background: #ef4f4f;
  padding: 1px 6px;
  color: #fff;
  margin-right: 0.5em;
}

.optional{
  background: #dcdcdc;
  padding: 1px 6px;
  color: #fff;
  margin-right: 0.5em;
}

.submit-btn,
.confirm-submit-btn,
.thanks-btn{
  width: 100%;
  background: #086d97;
  padding: 20px;
  text-align: center;
  margin-top: 2rem;
  color: #fff;
  border-radius: 30px;
}



input,
textarea {
  outline:none;
}




.check-content{
  flex-direction: column;
}

input[type="radio"] {
  appearance: radio;
  -webkit-appearance: radio;
  -moz-appearance: radio;
  display: inline-block;
  vertical-align: middle;
  margin: 0 4px 0 0;
}


.radio-list{
  border: none!important;
}

/* ==========================

  confirm

========================== */


.entry_form{
  padding: 3rem 0;
}

.confirm-table th{
  background: #ebf9ff;
  padding: 20px 10px;
}


.confirm-table{
  width: 100%;
}

.confirm-table tr {
  display: flex;
  flex-direction: column;
}

.confirm-table th{
  align-content: baseline;
  padding-left: 10px;
  width: 100%;
}

.confirm-table td{
  align-content: baseline;
  padding: 20px;
  width: 100%;
}

.confirm-back-btn{
  width: 100%;
  background:#e2e2e2;
  color: #fff;
  padding: 20px;
  text-align: center;
  margin-top: 1rem;
  color: #fff;
  border-radius: 30px;
}




/* ==========================

  thanks

========================== */


.thanks-box{
  padding: 1rem 0 3rem;
}


.thanks-btn{
  width: 100%;
  background: #086d97;
  padding: 20px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  display: block;
}





  @media (max-width: 1000px) {
    .inner {
      width: 100%;
    }

    .pc{
        display:  none;
    }

    
.sp{
    display: block;
   }

    .exCta {
      width: 100%;
    }

    .exCtaImg {
      width: 90%;
    }

    footer {
      padding: 40px 0;
    }

    .footer-list{
      flex-direction: column;
      align-items: center;
    }

    .footer-list li:nth-child(even) {
      padding: 10px 0;
  }

      /* ==========================

      legal

    ========================== */

    .sub-inner{
      width: 90%;
    }


}



  @media (max-width: 400px) {
    .exCtaImg {
      width: 90%;
    }
  }

  @media (max-width: 1000px) {
    .inner {
      width: 100%;
    }
  }


  /* ========================================

  qa

  ======================================== */

  .h2-title{
    text-align: center;
    font-weight: bold;
  }

  .h2-sub{
    text-align: center;
    font-size: 14px;
    color: #dd9424;
    font-weight: bold;
  }


  .faq .box:not(:first-child){
    padding-top: 1%;
  }

  .qa h3{
    color: #000000;
  }

  .qa ul{
    list-style: disc;
    padding-left: 20px;
    padding: 10px 10px 10px 30px;
  }


.faq{
  background:#eaeaea;
  width: 100%;
  padding: 8% 6%
}

.title{
  padding-bottom: 16px;
}

/*アコーディオン全体*/
.accordion-area{
  list-style: none;
  width: 96%;
  max-width: 1200px;
  margin:0 auto;
}


.accordion-area dl{
  margin: 2%;
}

.accordion-area dd {
margin-inline-start: 0;

}


.accordion-area{
  list-style: none;
  width: 100%;
/*    max-width: 900px; */
  margin:10px auto;
}


/*Ｑ:accordionTitle*/
.accordion-area dt {
  position: relative;
  cursor: pointer;
color: #fff;
  background: #086d97;
  transition: all .5s ease;
padding: 3% 8%;
padding-right: 12%;
text-align: left;
line-height: 130%;
  border-bottom: 1px solid rgba(255,255,255,0.5);
}




/*開く閉じるボタン*/
.accordion-area dt::after{
  position: absolute;
  content:'＋';
  font-size: 40px;
  width: 5%;
  height: 20px;
  top:50%;
  right: 30px;
display:block;
transform: translateY(-50%);
transition-duration: .6s;
  color: #fff;
}

.accordion-area dt.close::after{
  content:'－';}


/*Ａ：アコーディオンで現れるエリア*/
.accordion-area dd {
  position: relative;
  display: none;/*はじめは非表示*/
  padding: 3% 3% 3% 8% ;
  margin-inline-start: 0;
  text-align: left;
  border: 3px solid #ffff;
  background: #ffff;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}


@media (max-width:640px){
  .accordion-area dt{
    padding-right: 16%;
  }
}

.visible {
  display: block;
  /* その他の表示に関するスタイル */
}
.hidden {
  display: none;
}