@charset "utf-8";
/*===============================================
 *
 *	FAQ
 *
===============================================*/

/*===============================================
 *	アンカーリンク
===============================================*/
.anc_box{
  margin-bottom: 60px;
}
.anc_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
  gap: 20px;
}
.anc_list li {
  flex: 0 0 calc(25% - 15px);
  border: #0081cc 2px solid;
  text-align: center;
  position: relative;
  font-size: clamp(17px, 1.8vw, 18px);
  font-weight: bold;
}
.anc_list li::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-bottom: solid 3px #0081cc;
  border-right: solid 3px #0081cc;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin: auto;
}
.anc_list li a {
  color: var(--site-secondary);
  display: block;
  padding: 10px;
}
.anc_list li a:hover {
  background: #d6eefc;
}

@media only screen and (max-width: 568px) {
  .anc_box{
    margin-top: 20px;
    margin-bottom: 40px;
  }
  .anc_list {
    gap: 10px;
  }
  .anc_list li {
    flex: 0 0 calc(50% - 5px);
    text-align: left;
  }
  .anc_list li::after {
    border-bottom: solid 2px #0081cc;
    border-right: solid 2px #0081cc;
    right: 10px;
  }
}
/*===============================================
 *	コンテンツ
===============================================*/
.sec_faq{
  padding: 0 0 80px;
}
.sec_faq .ttl_colorbar {
  background: #0081cc;
  border-radius: 60px;
  font-size: min(2.5vw, 32px);
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  margin-bottom: 40px;
}
.sec_faq dt {
  background: #f0f8fc;
  color: #0081cc;
  font-size: min(1.8vw, 24px);
  font-weight: 600;
  margin-bottom: 1em;
  padding: 1em;
  border-radius: 8px;
}
.sec_faq dt::before,
.sec_faq dd::before {
    margin-right: .4em;
}
.sec_faq dt::before {
    content: "Q.";
}
.sec_faq dd {
    margin: 0 0 2.5em;
}

.sec_faq #faq_02, .sec_faq #faq_03 {
  margin-top: 80px;
}

@media only screen and (max-width: 960px) {
  .sec_faq .ttl_colorbar {
    margin-bottom: 4vw;
  }
  .sec_faq #faq_02, .sec_faq #faq_03, .sec_faq #faq_04, .sec_faq #faq_05 {
    margin-top: 6vw;
  }
}
@media only screen and (max-width: 568px) {
  .sec_faq .ttl_colorbar {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .sec_faq dt {
    font-size: 17px;
  }
  .sec_faq #faq_02, .sec_faq #faq_03, .sec_faq #faq_04, .sec_faq #faq_05 {
    margin-top: 40px;
  }
  .sec_faq dd:last-of-type {
    margin-bottom: 0;
  }
}
/*===============================================
 *	警告
 ===============================================*/
.attention_faq_box{
  border: #004791 4px solid;
  border-radius: 10px;
  margin-top: 60px;
}
.sec_faq .attention_faq_box:first-of-type{
  margin: 60px 0 0;
}
.attention_faq_box .ttl_attention_faq{
  display: flex;
  font-size: 2rem;
  grid-gap: 0 .5em;
  margin: 0 auto;
  padding: .3em 0;
  background-color: #004791;
  position: relative;
  justify-content: center;
  align-items: center;
}
.ttl_attention_faq::before {
    content: "";
    background: url(../img/faq/icon_exclamation.svg) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 51px;
    height: 51px;
}
.attention_faq_box .txt_contents{
  padding: 25px 40px 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.attention_faq_box .txt_box{
  width: 75%;
}
@media only screen and (max-width: 960px) {
  .attention_faq_box .ttl_attention_faq {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 568px) {
  .sec_faq {
    padding: 0 0 50px;
  }
  .sec_faq .attention_faq_box:first-of-type{
    margin: 30px 0 0;
  }
  .attention_faq_box{
    margin-top: 40px;
  }
  .attention_faq_box .ttl_attention_faq {
    font-size: 1.25rem;
  }
  .ttl_attention_faq::before {
    width: 41px;
    height: 41px;
  }
  .attention_faq_box .txt_contents{
    padding: 20px;
  }
  .attention_faq_box .txt_box{
    width: 100%;
  }
  .attention_faq_box .txt_contents figure{
    margin: 20px auto 0;
  }
}