@charset "utf-8";

/* faq_area ==========*/
#faq_area{padding: 50px 0;}
.faq_category{max-width: 930px; margin: 0 auto; justify-content: center;}
.faq_category > div{width: calc(100% / 3); padding: 0 15px; margin: 10px 0; position: relative;}
.faq_category > div::before{content: ""; width: 16px; height: 16px; border-radius: 50%; display: block; border: 1px solid #999; position: absolute; top: 13px; left: 20px;}
.faq_category > div.on::before{background: #3284c7;}
.faq_category > div > span{display: block; color: #3284c7; font-size: 16px; font-weight: 500; padding: 10px 5px 10px 30px; border-bottom: 1px solid #3284c7; position: relative;}
.faq_category > div > span:hover{opacity: 0.7; cursor: pointer;}
.faq_category > div.on > span::before{content: ""; width: 8px; height: 8px; background: #fff; border-radius: 50%; display: block; position: absolute; top: 18px; left: 10px;}

    
.faq_list{margin-top: 50px;}
.faq_box{border: 2px solid #3284c7; border-radius: 10px;}
.faq_box + .faq_box{margin-top: 30px;}

.box_Q{padding: 20px 30px; position: relative;}
.box_Q:hover{opacity: 0.7; cursor: pointer;}
.box_Q h2{position: relative; padding: 0 25px 0 50px; font-size: 20px; font-weight: 500;}
.box_Q h2::before{content: "Q"; font-family: 'Anton', sans-serif; font-size: 25px; line-height: 1;
    background: #3284c7; color: #fff; text-align: center; padding-top: 6px; box-sizing: border-box;
    width: 35px; height: 35px; border-radius: 50%; display: block;
    position: absolute; top: 50%; left: 0; transform: translateY(-50%);}

.box_Q .faq_number{font-size: 13px; color: #fff; background: #3284c7; border-radius: 3px; padding: 4px 15px; display: inline-block; position: absolute; top: 0; left: 0;}
.box_Q .faq_number b{font-family: 'Anton', sans-serif; font-size: 20px; font-weight: 400; line-height: 1; vertical-align: bottom; margin-left: 3px;}
.box_Q .icon{display: block; width: 20px; height: 20px; border-radius: 50%; background: #3284c7;
    position: absolute; top: 25px; right: 30px;}
.box_Q .icon::before{content: ""; display: block; width: 2px; height: 10px; background: #fff;
    position: absolute; top: 50%; left: 0; right: 0; margin: auto; transform: translateY(-50%);}
.box_Q .icon::after{content: ""; display: block; width: 10px; height: 2px; background: #fff;
    position: absolute; top: 50%; left: 0; right: 0; margin: auto; transform: translateY(-50%);}
.box_Q.open .icon::before{opacity: 0;}


.box_A{display: none; border-top: 1px solid #d4dbe1; margin: 0 30px; padding: 0 0 20px;}
.box_A h3{font-size: 22px; font-weight: 700; color: #3284c7; padding: 20px 0 20px 50px; position: relative;}
.box_A h3::before{content: "A"; font-family: 'Anton', sans-serif; font-size: 25px; font-weight: normal; line-height: 1;
    background: #3284c7; color: #fff; text-align: center; padding-top: 6px; box-sizing: border-box;
    width: 35px; height: 35px; border-radius: 50%; display: block;
    position: absolute; top: 50%; left: 0; transform: translateY(-50%);}

.box_A p{line-height: 2;}

@media screen and (max-width: 640px){
    #faq_area{padding: 30px 0 35px;}
    .faq_category{margin-left: -10px; margin-right: -10px;}
    .faq_category > div{width: calc(100% / 2); padding: 0 5px;}
    .faq_category > div > span{font-size: 13px; padding: 6px 0 6px 20px;}
    .faq_category > div::before{width: 14px; height: 14px; top: 7px; left: 5px;}
    .faq_category > div.on > span::before{top: 12px; left: 5px; width: 6px; height: 6px;}

    .faq_box + .faq_box{margin-top: 15px;}
    .box_Q{padding: 10px 15px 10px;}
    .box_Q h2{padding: 32px 0 0 0; font-size: 14px;}
    .box_Q h2::before{font-size: 20px; width: 28px; height: 28px; padding-top: 4px; left: 0;
        top: 0; transform: translateY(0);}
    .box_Q .faq_number{font-size: 10px; padding: 4px 10px;}
    .box_Q .faq_number b{font-size: 15px; vertical-align: top;}
    .box_Q .icon{top: 15px ; right: 15px;}

    .box_A{margin: 0 15px;}
    .box_A h3{font-size: 16px; padding: 12px 0 12px 35px;}
    .box_A h3::before{}
    .box_A h3::before{font-size: 20px; width: 28px; height: 28px; padding-top: 4px; left: 0;}
    
}