/**
 * #.# よくあるご質問
 *
 * アーカイブ、記事個別ページに適用するCSS。
 */

/* タイトル サイズ調整 */
.faq-category-wrapper h2 {
    margin: 40px 0 !important;
    font-size: 26px !important;
}

/* ---------- 見出し ---------- */
h3 {
    width: 100%;
    margin-bottom: 30px !important;
    padding-bottom: 8px;
    position: relative;
    text-align: center;
    font-size: 20px;
    font-weight: 700;   
}
h2.title-underline-blue{
    text-align: left !important;
}
h2.title-underline-blue::after {
	width: 205px !important;
}
h3::after {
    content: "";
    width: 80px;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 40px);
    display: block;
    background: #17C1B0;
}

@media screen and (max-width:959px){
    
    .faq-category-wrapper h2 {
        margin: 30px 0 !important;
        font-size: 18px !important;
    }
    h3 {
        margin-bottom: 20px !important;
        font-size: 18px !important;
    }
    h2.title-underline-blue::after {
        width: 150px !important;
    }
}

/* ---------- カテゴリ ---------- */
.faq-category-wrapper {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 30px 0;
}
.faq-category-wrapper > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	justify-content: flex-start;
    margin-top:30px;
}
.faq-category-wrapper ul li {
	width: 100%;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
}
.faq-category-wrapper ul li a {
    padding: 10px 0 10px 50px;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
}

@media screen and (max-width:959px){
    .faq-category-wrapper {
        width: 95%;
        padding: 10px 0 0;
    }
    .faq-category-wrapper p {
        margin: 0 20px;
    }
    .faq-category-wrapper ul li a {
        padding: 5px 0 5px 40px;
        font-size: 16px;
        font-weight: 500;
        cursor: pointer;
    }
}
@media screen and (max-width:634px){
    .faq-category-wrapper p {
        margin: 0 10px;
    }
    .faq-category-wrapper > ul {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 20px;
        gap: 6px;
        width: 95%;
    }
    .faq-category-wrapper ul li {
        width: 100%;
        margin: 0 auto;
        position: relative;
        display: flex;
        align-items: center;
        padding: 10px;
        background: #F9F9F9;
    }    
    .faq-category-wrapper ul li a {
        padding: 0 0 0 15px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
    }
}

/* アイコン ----- 丸のなかに右矢印 */
.circle-arrow::before {
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    top: calc(50% - 12px);
    left: 10px !important;
    border-radius: 50%;
    background: #17C1B0;
}
.circle-arrow::after {
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    left: 17px !important;
    border: 0;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg);
}
@media screen and (max-width:959px){
    .circle-arrow::before {
        content: "";
        width: 20px;
        height: 20px;
        position: absolute;
        top: calc(50% - 10px);
        left: 0px !important;
        border-radius: 50%;
        background: #17C1B0;
    }
    .circle-arrow::after {
        content: "";
        width: 6px;
        height: 6px;
        position: absolute;
        top: calc(50% - 3px);
        left: 6px !important;
        border: 0;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        transform: rotate(45deg);
    }
}
@media screen and (max-width:634px){
    .circle-arrow::before {
        display: none;
    }
    .circle-arrow::after {
        content: "";
        width: 8px;
        height: 8px;
        position: absolute;
        top: calc(50% - 5px);
        border: 0;
        left: 10px !important;
        border-top: 2px solid #17C1B0;
        border-right: 2px solid #17C1B0;
        transform: rotate(135deg);
    }
}

/* ---------- 質問レイアウト ---------- */
.faq-list {
    margin-bottom: 60px !important;
}

.faq-list-question {
    background: #F5F5F5;
}

.faq-list-answer {
    border-right: 3px solid #F5F5F5;
    border-left: 3px solid #F5F5F5;
    border-bottom: 3px solid #F5F5F5;
    background: none !important;
}

@media screen and (max-width:768px){
    .faq-list {
        margin-bottom: 40px !important;
    }
}

html {
    scroll-padding-top: 185px;
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2.5px #17C1B0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #17C1B0;
    border-right: 3px solid #17C1B0;
    transform: translateY(20%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
    .pagetop:hover, .pagetop:hover .pagetop__arrow {
        border-color: #fff;
        background: #17C1B0;
    }
}