/*=======================================================
catalog
=======================================================*/

/* +++++++++++++++++++++++++++++++++++++++++ sec1 */
/* common.cssに設定 */

/* +++++++++++++++++++++++++++++++++++++++++ sec2 */

#sec2 .faq {
    margin-bottom: 0;
}

#sec2 .faq .content-wrap {
    padding: 128px 40px 0 40px;
}

#sec2 .faq .content-wrap .inner-content {
    max-width: 800px;
}

#sec2 .faq .content-wrap .inner-content p{
    margin-bottom: 1rem;
}

@media (max-width:767px) {
    #sec2 .faq .content-wrap {
        padding: 90px 20px 0 20px;
    }
}

/*****/


/* +++++++++++++++++++++++++++++++++++++++++ アコーディオン */

.accordion-item {
    margin-bottom: 50px;
    padding: 0 !important;
}

@media (max-width:767px) {
    .accordion-item {
        margin-bottom: 30px;
        padding: 0 !important;
    }
}

/*****/


/* 見出しボタン（アコーディオントリガー） */
.accordion-trigger {
    width: 100%;
    appearance: none;
    border: 0;
    background: #7E7977;
    /* var(--card) */
    color: #F0EEED;
    padding: 16px 56px 16px 20px;
    margin-bottom: 0px;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-align: center;
    position: relative;
    cursor: pointer;
    transition: background 260ms ease;
    /*font*/
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-size: 18px;
    font-weight: 500;
    /* Mediumに相当 */
    letter-spacing: 0.05em;
    /* 50 ＝ 0.05em程度 */
    line-height: 30px;
}

.accordion-trigger:hover,
.accordion-trigger:focus-visible {
    opacity: 0.8;
    outline: none;
}

.accordion-trigger span {
    display: inline-block;
    padding-left: 2em;
}

@media (max-width:767px) {
    .accordion-trigger {
        font-size: 16px;
        padding: 13px 56px 13px 20px;
    }
}

/*****/



/* 右端の矢印（画像版） */
.accordion-trigger::after {
    content: "";
    position: absolute;
    right: 26px;
    top: 50%;
    width: 16px;
    height: 16px;
    background: url("../images/common/icon_arrow_WD.svg") no-repeat center center;
    background-size: auto;
    transform: translateY(-50%) rotate(0deg);
    /* 初期は回転なし */
    transition: transform 260ms ease;
}

.accordion-trigger[aria-expanded="true"]::after {
    transform: translateY(-50%) rotate(180deg);
    /* 開いたときに回転 */
}

/* パネル本体（アニメーション用に高度なheight制御） */
.accordion-panel {
    overflow: hidden;
    height: 0;
    transition: height 260ms ease;
    will-change: height;
}

.accordion-panel.open {
    /* JSでheightを指定。ここには不要 */
}

/* パネル内コンテンツ */
.panel-inner {
    padding: 0 24px;
}

.accordion-panel.open .panel-inner {
    padding: 50px 24px 50px 24px!important;
}

@media (max-width:767px) {
    .accordion-panel.open .panel-inner {
        padding: 40px 8px;
    }
}

/*****/

/* Q&Aレイアウト */
.qa {
    margin: 0 0 70px 0;
}

.qa dt {
    margin: 0 0 1em 0;
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 30px;
    text-indent: 0;
    display: flex;
}

.qa dt span {
    display: inline-block;
    margin-left: 0.5em;
}

.qa dt::before {
    content: "Q. ";
    font-family: 'Trirong', serif;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 30px;
    text-indent: 0;
}

@media (max-width:767px) {
    .qa {
        margin: 0 0 50px 0;
    }

    .qa dt {
        line-height: 25.6px;
    }

    .qa dt::before {
        font-size: 20px;
    }
}

/*****/

.qa dd {
    margin: 0 0 0 32px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-indent: 0;
}

@media (max-width:767px) {
    .qa dd {
        margin: 0 0 0 28px;
    }
}

/*****/

/* Closeボタン */
.close {
    text-align: center;
}

.panel-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 115px;
    height: 48px;
    margin-top: -12px;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #2E2B2A;
    background: #fff;
    cursor: pointer;
    font-family: 'REM', sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 17px;
    text-indent: 0;
    transition: 0.3s ease-in-out;

    /* 背景画像 */
    background-image: url(../images/common/icon_arrow_BU.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 23px) center;
}

.panel-close:hover {
    background: #2E2B2A;
    color: #F0EEED;
    background-image: url(../images/common/icon_arrow_WU.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 23px) center;
}

.panel-close span {
    margin-left: -22px;
}