@charset "UTF-8";
@media screen and (min-width: 768px),print {
#qa { padding-bottom: 60px; }
#qa .faq-lead {font-size: 16px;line-height: 1.88;font-weight: 400;letter-spacing: 0.8px;margin: 48px auto 40px;text-align: center;color: #333333;}
#qa .faq-list { width: 900px; margin: 0 auto; }
#qa .faq-empty {font-size: 16px;line-height: 1.88;text-align: center;margin: 40px auto 60px;color: #333333;}

.faq-list .faq-item {background: #fff;border: #D6D5CF 1px solid;margin-bottom: 16px;position: relative;}
.faq-list .faq-q {display: flex;align-items: flex-start;padding: 24px 56px 24px 24px;position: relative;cursor: pointer;transition: background-color 0.3s;}
.faq-list .faq-q:hover { background: #F9F8F4; }
.faq-list .faq-q-text {font-size: 17px;line-height: 1.65;font-weight: 700;letter-spacing: 0.85px;color: #333333;padding-top: 4px;}
.faq-list .faq-badge {font-family: "Montserrat", sans-serif;font-size: 16px;font-weight: 600;line-height: 34px;width: 34px;height: 34px;min-width: 34px;margin-right: 16px;text-align: center;color: #fff;border-radius: 50%;background: #159785;}
.faq-list .faq-a__inner .faq-badge { background: #9C998C; }
.faq-list .faq-toggle {display: block;width: 16px;height: 16px;position: absolute;top: 32px;right: 24px;}
.faq-list .faq-toggle::before, .faq-list .faq-toggle::after {content: "";display: block;background: #159785;position: absolute;top: 50%;left: 50%;transition: transform 0.3s;}
.faq-list .faq-toggle::before {width: 16px;height: 2px;transform: translate(-50%, -50%);}
.faq-list .faq-toggle::after {width: 2px;height: 16px;transform: translate(-50%, -50%);}
.faq-list .faq-item.is-open .faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-list .faq-a {display: none;border-top: #D6D5CF 1px dashed;background: #F9F8F4;}
.faq-list .faq-a__inner {display: flex;align-items: flex-start;padding: 24px;}
.faq-list .faq-a-text {font-size: 16px;line-height: 1.88;font-weight: 400;letter-spacing: 0.8px;color: #333333;min-width: 0;padding-top: 3px;}
.faq-list .faq-a-text p { margin-bottom: 1em; }
.faq-list .faq-a-text p:last-child { margin-bottom: 0; }
.faq-list .faq-a-text a { color: #159785; text-decoration: underline; }
.faq-list .faq-a-text img { max-width: 100%; height: auto; }
}

@media screen and (max-width: 767px) {
#qa { padding: 0 4vw 8vw; }
#qa .faq-lead {font-size: 3.86vw;line-height: 1.88;font-weight: 400;letter-spacing: 0.1vw;margin: 6vw auto 6vw;text-align: left;color: #333333;}
#qa .faq-list { width: 100%; margin: 0 auto; }
#qa .faq-empty {font-size: 3.86vw;line-height: 1.88;text-align: center;margin: 8vw auto;color: #333333;}

.faq-list .faq-item {background: #fff;border: #D6D5CF 1px solid;margin-bottom: 3vw;position: relative;}
.faq-list .faq-q {display: flex;align-items: flex-start;padding: 4vw 10vw 4vw 4vw;position: relative;cursor: pointer;}
.faq-list .faq-q-text {font-size: 3.86vw;line-height: 1.6;font-weight: 700;letter-spacing: 0.1vw;color: #333333;padding-top: 0.8vw;}
.faq-list .faq-badge {font-family: "Montserrat", sans-serif;font-size: 3.62vw;font-weight: 600;line-height: 7.24vw;width: 7.24vw;height: 7.24vw;min-width: 7.24vw;margin-right: 3vw;text-align: center;color: #fff;border-radius: 50%;background: #159785;}
.faq-list .faq-a__inner .faq-badge { background: #9C998C; }
.faq-list .faq-toggle {display: block;width: 3.62vw;height: 3.62vw;position: absolute;top: 5.5vw;right: 4vw;}
.faq-list .faq-toggle::before, .faq-list .faq-toggle::after {content: "";display: block;background: #159785;position: absolute;top: 50%;left: 50%;transition: transform 0.3s;}
.faq-list .faq-toggle::before {width: 3.62vw;height: 0.48vw;transform: translate(-50%, -50%);}
.faq-list .faq-toggle::after {width: 0.48vw;height: 3.62vw;transform: translate(-50%, -50%);}
.faq-list .faq-item.is-open .faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-list .faq-a {display: none;border-top: #D6D5CF 1px dashed;background: #F9F8F4;}
.faq-list .faq-a__inner {display: flex;align-items: flex-start;padding: 4vw;}
.faq-list .faq-a-text {font-size: 3.62vw;line-height: 1.88;font-weight: 400;letter-spacing: 0.1vw;color: #333333;min-width: 0;padding-top: 0.5vw;}
.faq-list .faq-a-text p { margin-bottom: 1em; }
.faq-list .faq-a-text p:last-child { margin-bottom: 0; }
.faq-list .faq-a-text a { color: #159785; text-decoration: underline; }
.faq-list .faq-a-text img { max-width: 100%; height: auto; }
}
