.faq {
    counter-reset: faqNum;
}

.faqText::before {
    counter-increment: faqNum;
    content: "Q" counter(faqNum)".";
}

span.strong {
    color: #ff0000;
    font-weight: bold;
}

details {
    border: 1px solid #aaa;
    border-radius: 10px;
    margin: 0 auto;
    margin-top: 5px;
    margin-bottom: 5px;
    width: 100%;
    max-width: 700px;
}

details .details-content-wrapper {
    background-color: #ffffff;
    border-radius: 0px 0px 10px 10px;
    padding: 1rem 1rem 1rem 2rem;
    overflow: hidden;
}

details summary {
    background-color: #ffffff;
    border-radius: 10px;
    display: block;
    cursor: pointer;
    position: relative;
    padding: 0.5rem 0.5rem 0.5rem 36px;
}

details summary:hover {
    background-color: #eaf0f9;
    /* ホバー時の背景色 */
    border-radius: 10px;
}

details summary::-webkit-details-marker {
    display: none;
}

details summary::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto 0;
    width: 10px;
    height: 10px;
    border-top: 3px solid orange;
    border-right: 3px solid orange;
    transform: rotate(45deg);
}

details[open] summary {
    border-bottom: 1px solid #aaa;
}

details[open] summary::before {
    transform: rotate(45deg);
    /* 開いた状態では90度回転 */
}

.guidevideolink{
    margin: auto;
    padding: 5px 40px;
    width: 100% !important;
    max-width: 600px !important;
    box-sizing: border-box;
}

.title_faq h1{
    margin: 5px auto;
    width: 100%;
    max-width: 700px;
    text-align: left;
}

.faq_btn_area{
    padding: 2px 20px 20px;
    text-align: center;
    box-sizing: border-box;
}

#maincontents{
    margin: 40px auto;
}
.faq_area{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}