@charset "UTF-8";
/* =====================================
	faq
===================================== */

#wrapper{
    background-image: url("../img/common/bg02.png"), url("../img/common/bg03.png");
    background-repeat: no-repeat, no-repeat;
    background-position: top -217px left, top 2343px right;
}

main{
    width: 100%;
    padding: 162px 50px 206px;
    position: relative;
}

main::before{
    content: "";
    background: url("../img/faq/illust01.png") no-repeat center;
    background-size: contain;
    width: 532px;
    height: 564px;
    position: absolute;
    top: 125px;
    left: 50%;
    transform: translateX(-820px);
}

main::after{
    content: "";
    background: url("../img/faq/illust02.png") no-repeat center;
    background-size: contain;
    width: 871px;
    height: 412px;
    position: absolute;
    top: 114px;
    left: 50%;
    transform: translateX(130px);
}

main .ttl h1{
    font-size: 7.625rem;
    font-weight: 250;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    display: table;
    width: 100%;
    max-width: 496px;
    margin: 0 auto 48px;
    padding-bottom: 38px;
    background: url("../img/faq/huki01.svg") no-repeat center bottom;
    position: relative;
    z-index: 3;
}

main .ttl h1 small{
    font-size: 2.5rem;
    font-weight: normal;
    display: block;
    color: #232323;
    margin-top: -3px;
}

main .faq{
    width: 100%;
    max-width: 1000px;
    margin: 80px auto 0;
    position: relative;
    z-index: 5;
}

main .faq01{
    margin: 52px auto 0;
}

main .faq h2{
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #5ac0c9;
    width: 360px;
    padding: 12px 0 14px;
    border-radius: 20px 0 20px 0;
    margin: 0 auto;
    display: table;
}

main .faq > dl{
    margin-top: 26px;
}

main .faq > dl > div + div{
    margin-top: 30px;
}

main .faq > dl > div{
    width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 5px;
}

main .faq > dl > div > dt{
    width: 100%;
    min-height: 90px;
    background-image: linear-gradient(90deg, rgba(230, 196, 185, .5), rgba(232, 185, 221, .5) 25%, rgba(226, 195, 255, .5) 50%, rgba(185, 212, 254, .5) 75%, rgba(187, 226, 238, .5));
    border-radius: 20px;
    padding: 15px 108px 15px 42px;
    display: flex;
    gap: 22px;
    align-items: center;
    font-size: 2.2rem;
    line-height: 1.4091;
    position: relative;
    cursor: pointer;
}

main .faq > dl > div > dt strong{
    font-size: 3.3rem;
    font-weight: normal;
    color: #5ac0c9;
}

main .faq > dl > div > dt .arrow{
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    display: inline-block;
    width: 46.4px;
    height: 25.2px;
    transition: 0.3s all ease;
}

main .faq > dl > div > dt.active .arrow{
    transform: translateY(-50%) rotate(180deg);
}

main .faq > dl > div > dt .arrow::before,
main .faq > dl > div > dt .arrow::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 2.5px);
    width: 5px;
    height: 34px;
    background-color: #232323;
    transform-origin: 50% calc(100% - 2.5px);
}

main .faq > dl > div > dt .arrow::before{
    transform: rotate(45deg);
}

main .faq > dl > div > dt .arrow::after{
    transform: rotate(-45deg);
}

main .faq > dl > div > dd{
    width: 100%;
    padding: 26px 42px 35px;
    font-size: 1.6rem;
    line-height: 1.625;
    gap: 22px;
    display: none;
}

main .faq > dl > div > dd > strong{
    font-size: 3.3rem;
    font-weight: normal;
    line-height: 1;
    color: #ef90b9;
}

main .faq > dl > div > dd > div{
    width: 100%;
}

main .faq > dl > div > dd dl{
    display: flex;
}

main .faq > dl > div > dd dl div{
    width: 33.33%;
}

main .faq > dl > div > dd dl div dt{
    font-weight: bold;
}



@media screen and (max-width:768px){

#wrapper{
    background-image: url("../img/common/bg02.png"), url("../img/common/bg03.png");
    background-repeat: no-repeat, no-repeat;
    background-position: top -28.933vw left, top 312.4vw right;
}

main{
    padding: 30vw 0 27.467vw;
}

main::before{
    width: 35.4665vw;
    height: 37.6vw;
    top: 24vw;
    transform: translateX(-68vw);
}

main::after{
    width: 75.254184vw;
    height: 35.596584vw;
    top: 16vw;
    transform: translateX(8vw);
}

main .ttl h1{
    font-size: 12.2vw;
    line-height: 0.6;
    max-width: 86.979167vw;
    margin: 0 auto 6.8vw;
    padding-bottom: 8vw;
    background: url("../img/faq/huki01.svg") no-repeat center bottom;
    background-size: auto 2.4vw;
}

main .ttl h1 small{
    font-size: 5vw;
    line-height: 1;
    margin-top: 3vw;
}

main .faq{
    max-width: 86.979167vw;
    margin: 10.67vw auto 0;
}

main .faq01{
    margin: 6.933vw auto 0;
}

main .faq h2{
    font-size: 4.4vw;
    width: 100%;
    padding: 1.6vw 0 1.867vw;
    border-radius: 2.67vw 0 2.67vw 0;
}

main .faq > dl{
    margin-top: 3.467vw;
}

main .faq > dl > div + div{
    margin-top: 4vw;
}

main .faq > dl > div{
    border-radius: 2.67vw;
    padding: 0.67vw;
}

main .faq > dl > div > dt{
    min-height: 12vw;
    border-radius: 2.67vw;
    padding: 2vw 14.4vw 2vw 4vw;
    gap: 2.933vw;
    font-size: 4.4vw;
}

main .faq > dl > div > dt strong{
    font-size: 6.6vw;
    margin-top: -0.4em;
}

main .faq > dl > div > dt .arrow{
    right: 4vw;
    width: 6.1867vw;
    height: 3.36vw;
}

main .faq > dl > div > dt .arrow::before,
main .faq > dl > div > dt .arrow::after{
    left: calc(50% - 0.33vw);
    width: 0.67vw;
    height: 4.533vw;
    transform-origin: 50% calc(100% - 0.33vw);
}

main .faq > dl > div > dd{
    padding: 3.467vw 4vw 4.67vw;
    font-size: 3.2vw;
    gap: 2.933vw;
}

main .faq > dl > div > dd > strong{
    font-size: 6.6vw;
    margin-top: -0.2em;
}

main .faq > dl > div > dd dl div{
    width: 50%;
    padding-right: 7%;
}

}