@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap');


/* 全体 */
.sp-block{
  display: none;
}




/* ヘッダー */
#ss_header {
  padding-block: 30px;
}

#ss_header figure {
  margin-bottom: 0;
}

/* フォーム */

.ss_contents {
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 14px;
}

.navbar{
  padding-bottom: 45px;
}

.navbar-inner{
  background-color: #fff;

}


.navbar .brand {
  color: #103ea2;
  font-size: 68px;
  font-weight: 700;
}

.ss_subtitle{
  font-size: 27%;
  color: #103ea2;
  font-weight: 700;
}

.breadcrumb{
  padding: 0.5rem;
  font-size: 14px;
  margin-bottom: 30px;
}

.breadcrumb .ss_active{
  color: #103ea2;
  font-weight: 700;
}

.label-warning{
  color: #03a2dd;
  background-color: #fff;
  font-size: 1em;
  font-weight: 400;
}


.ss_form{
  font-size: 14px;
  font-weight: 400;
  padding-top: 50px;
  padding-bottom: 100px;
}

.ss_form table{
  margin-bottom: 0;
}

.ss_form table.table-hover tbody tr:hover>td,
.ss_form table.table-hover tbody tr:hover>th {
	background-color: transparent;
	box-shadow: none;
}

.ss_form table th,
.ss_form table td{
border: none;
transition: all .3s ease;
}

.ss_form table th{
  position: relative;
  font-weight: 500;
  vertical-align: top;
  padding: 1rem 3rem 1rem 0.5rem;
}

.ss_form table td{
  padding: 1rem 0.5rem;
}
 

.ss_form table th .ss_notnull {
  position: absolute;
  top: 1rem;
  right: 0.5rem;
  margin: 0;
}

.ss_form table input,
.ss_form table textarea,
.ss_form table select {
  border-radius: 0;
  border: 1px solid #dee3eb;
  padding: 0.375rem 1.5rem;
  font-size: 14px;
}

.ss_form table tr:not([data-item-name="zip1"]) input[type="text"],
.ss_form table select {
  min-height: 50px;
}

.ss_form table tr[data-item-name="zip1"] input[type="text"] {
  min-height: 50px;
} 

.ss_form table tr[data-item-name="zip1"] .ss_input {
  display: inline-flex;
  align-items: center;
}




.ss_form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}

.ss_form .ss_input label {
  display: inline-flex;
  margin: 0 20px 0 0;
  gap: 10px;
}


.ss_privacy{
  height: auto;
  border: none;
  font-size: 1em;
}

.ss_privacy a{
  color: #2b79fb;
}

.ss_privacy a:hover{
  color: #1357c8;
}

.privacy-bordered,
.privacy-bordered th {
  border: none;
}

.privacy-bordered dd{
  padding: 0.5rem 0rem;
}


.ss_leftComment {
  align-self: flex-start;
  vertical-align: top;
  margin-top: 0;
}

.ss_form table tr[data-item-name="zip1"] .ss_leftComment {
  align-self: center;
  vertical-align: middle;
}

.ss_rightComment{
  display: block;
  margin-top: 10px;
}

.ss_form table tr[data-item-name="zip1"] .ss_rightComment {
  display: inline;
  margin-top: 0;
  margin-left: 10px;
}


.ss_bottomComment {
  margin-top: 10px;
}



.ss_form_btn{
  margin-top: 50px;
}

.ss_rightComment + .ss_bottomComment {
  margin-top: 4px;
}


.btn.btn-next{
  background-color: #103ea2;
  border-color: #103ea2;
  border-radius: 999px;
  font-size: 16px;
    height: 70px;
    width: 100%;
}




.btn.btn-next:hover{
  background-color: #000;
  border-color: #000;
}


.ss_input .label-warning{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  line-height: 1;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  background-color: #ff4500;
  border-radius: 999px;
  width: 20px;
  height: 20px;

}


.ss_error_msg{
  margin-left: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #ff4500;
}




/* 確認ページ */

.sb_confirm_index .ss_form_btn{
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 20px;
}

.sb_confirm_index .ss_form_btn button[type="button"] {
  border-radius: 999px;
  font-size: 14px;
  border:1px solid #103ea2;
  color: #103ea2;
  background-color: #fff;
}
.sb_confirm_index .ss_form_btn button[type="button"]:hover{
  background-color: #000;
  border-color: #000;
  color: #fff;
}


/* 完了ページ */
.sb_complete_index .ss_contents > p {
  margin: 50px 0 0;
  text-align: center;
}

.sb_complete_index .ss_contents > p strong {
  display: block;
  color: #212529;
  font-size: 16px;
  line-height: 1.8;
}

.ss_complete_message {
  display: block;
  margin: 150px 0 40px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}




/* TOPに戻るボタン */
.ss_complete_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 300px;
  width: calc(100% - 30px);
  height: 70px;
  margin: 30px auto 0;
  color: #fff;
  background-color: #103ea2;
  border: 1px solid #103ea2;
  border-radius: 999px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}

.ss_complete_btn:hover {
  color: #fff;
  background-color: #000;
  border-color: #000;
  text-decoration: none;
}


/* フッター */
#ss_footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding-block: 30px;
  margin-top: 50px;
}



#ss_footer figure {
  margin-bottom: 0;
}


#ss_footer address {
  font-size:14px;
  text-align: left;
  margin-bottom: 0;

}

#ss_footer address  p{
  margin-bottom: 0;
}

#ss_footer address a{
  color: #212529;
  text-decoration: none;
}

#ss_footer address a:hover{
  opacity: 0.8;
}



@media screen and (max-width: 767px) {

  
  /* 全体 */
  .ss_contents, #ss_header, #ss_footer {
    width: 90%;
   }


/* フォーム */
   .ss_contents {
    font-size: 12px;
   }


   .navbar .brand {
    font-size: 34px;
  }
  
  .ss_subtitle{
    font-size: 16px;
  }



  .breadcrumb{
    font-size: 13px;
  }

   .ss_form{
    padding-top: 25px;
    padding-bottom: 35px;
   }

   .ss_form table tr{
    margin-bottom: 25px;
   }

   .ss_form table th {
    padding-right: 4rem;
  }

  .ss_form table th .ss_notnull {
    right: initial;
    margin-left: 20px;
    top: 0.2rem;

  }

  .ss_form table td{
    padding: 0.5rem 0rem 1rem;
  }

    .ss_form table tr:not([data-item-name="zip1"]) input[type="text"],
    .ss_form table select {
      min-height: 50px;
    }

  .ss_form table tr[data-item-name="zip1"] .ss_input {
    display: block;
  }

  .ss_form table tr[data-item-name="zip1"] .ss_rightComment{
    display: block;
    margin-top: 10px;
    margin-left: 0;
  }


  .ss_form_btn{
    max-width: 200px;
    margin-top: 0;
  }

  .btn.btn-next{
    font-size: 14px;
    height: 50px;
  }


  /* 確認ページ */

  .sb_confirm_index .ss_form_btn button[type="button"] {
    width: 40%;
  }


/* 完了ページ */

.ss_complete_message {
  margin: 80px 0 40px;
  font-size: 16px;
}


.ss_complete_btn{
  font-size: 13px;
  height: 50px;
  width: 100%;
  max-width: 200px;
}


  /* フッター */
  #ss_footer address{
    font-size: 13px;
  }

  .sp-block{
    display: block;
  }


}