@charset "utf-8";

/* CSS Document */

main {
    padding-bottom: 20vw;
}

#faq-top h2 {
    color: #604116;
    font-size: 7vw;
    text-align: center;
    margin: 1em 0;
}

#faq-top ul.flex {
    align-items: center;
}

#faq-top ul.flex li {
    width: 48.5%;
}

#faq-top ul.flex li.arrow {
    display: block;
    width: 0;
    border-top: 4vw solid #cbc9ba;
    border-left: 4vw solid transparent;
    border-right: 4vw solid transparent;
    border-bottom: 0;
    margin: 2vw 0;
}

#faq-top ul.flex li.flex {
    width: 100%;
    justify-content: space-between;
    flex-direction: row;
}

#faq-top ul.flex li.flex a {
    width: 48.5%;
}

#faq-article {
    margin-top: 15vw;
}

article {
    background: #f9f2e9;
    border-radius: 2vw;
    padding: 2vw 3vw;
    margin-top: 5vw;
}

article .acd {
    display: none;
}

article h2 {
    font-size: 5vw;
    position: relative;
    padding: 4vw 0;
}

#faq-article .wrap article:first-of-type h2 {
    color: #c66;
}

#faq-article .wrap article:nth-of-type(2) h2 {
    color: #96c;
}

#faq-article .wrap article:nth-of-type(3) h2 {
    color: #39c;
}

#faq-article .wrap article:nth-of-type(4) h2 {
    color: #696;
}

#faq-article .wrap article:nth-of-type(5) h2 {
    color: #c96;
}

#faq-article .wrap article:nth-of-type(6) h2 {
    color: #966;
}

#faq-article .wrap article:last-of-type h2 {
    color: #3d6f88;
}

article h2 i {
    color: #af9a7f;
    font-size: 4vw;
    position: absolute;
    right: 3vw;
    top: 50%;
    transform: translateY(-50%);
}
article .acd>dl:nth-of-type(n+2) {
    margin-top: 2.5em;
}
article .acd>dl>dt {
    margin-top: 1em;
    padding-left: 1.75em;
    background: top left / 1.25em auto no-repeat url(../img/icon-q.jpg);
    color: #d43434;
}

article .acd>dl>dd {
    margin-top: 1em;
    padding-left: 1.75em;
    background: top left / 1.25em auto no-repeat url(../img/icon-a.jpg);
}

article .acd>dl>dd .blue {
    font-weight: bold;
    color: #1473d5;
}

#faq1 a,
#faq3 a,
#faq7 a {
    word-break: break-all;
    text-decoration: underline;
    color: #3165ae;
}

blockquote.bq {
    background: #fff;
    width: calc(100% - 2em);
    padding: 0.5em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
}

blockquote.bq h3,
blockquote.bq h4 {
    color: #c20000;
}

blockquote.bq_bk1 h4 {
    font-weight: normal;
}

blockquote.bq_bk1 span.blue,
blockquote.bq_bk3 h4 {
    display: block;
    margin-top: 0.5em;
    color: #1473d5;
    font-weight: bold;
}
blockquote.bq_bk3 dd li {
    text-indent: -0.5em;
    margin-left: 0.5em;
}
blockquote.bq_bk2 span.blue {
    color: #1473d5;
    font-weight: bold;
}

blockquote.bq_bk2 h4 {
    font-weight: normal;
}
blockquote.bq_bk2 dl:first-of-type p {
    padding: 0.5em 0;
}

blockquote.bq:not(.bq_bk2) dl:nth-of-type(n+2) h3,
blockquote.bq:not(.bq_bk2).bq dl:nth-of-type(n+2) h3 {
    margin-top: 0.75em;
    border-top: 1px solid #000;
    padding-top:0.75em;
}
blockquote.bq_bk3 dd > div:last-of-type li::before {
    content:"\30FB"
}
@media screen and (min-width: 768px) {
    main {
        padding-bottom: 120px;
    }
    #info-flow {
        margin-top: 60px;
    }

    #info-flow .pc-flow {
        max-width: 960px;
        margin: 30px auto;
        background: bottom no-repeat url(../../img/info/flow_btm.gif), #E6E4D5;
        padding: 0 0 38px 0;
    }

    #info-flow .pc-flow .flex {
        justify-content: space-between;
    }

    #info-flow .pc-flow .lft {
        width: calc(100% * 230 / 960);
        padding-left: calc(100% * 30 / 960);
    }

    #info-flow .pc-flow .rgt {
        width: calc(100% * 730 / 960);
        text-align: right;
        padding-left: calc(100% * 13 / 960);
    }

    #faq-top h2 {
        margin: 0;
    }

    #faq-top h2 img {
        display: block;
    }

    #faq-top .faq-area {
        margin-top: 30px;
    }

    #faq-top ul.flex {
        justify-content: space-between;
    }

    #faq-top ul.flex li.flex {
        flex-direction: column;
    }

    #faq-top ul.flex li,
    #faq-top ul.flex li.flex {
        width: 18.6%;
        max-width: 176px;
    }

    #faq-top ul.flex li a,
    #faq-top ul.flex li.flex a {
        width: 100%;
    }

    #faq-top ul.flex li.arrow {
        border-right: 0;
        border-left: 10px solid #cbc9ba;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
    }

    article {
        background: #F9F8F3;
        padding: 30px;
        margin-top: 30px;
    }

    #faq-article {
        margin-top: 30px;
    }

    article h2 {
        font-size: 28px;
        text-align: center;
        padding: 10px 0 35px;
    }

    article h2 .fas {
        display: none;
    }

    article .acd {
        display: block !important;
    }

    article .acd .img {
        float: right;
        margin-left: 20px;
        margin-bottom: 20px;
    }

    article .acd>dl>dt {
        background: top left / 36px auto no-repeat url(../img/icon-q.png);
        font-size: 16px;
        padding: 0.5em 0 0.5em 60px;
    }

    article .acd>dl>dd {
        background: top left / 36px auto no-repeat url(../img/icon-a.png);
        padding: 0.5em 0 0.5em 60px;
        line-height: 32px;
    }

    article .acd>dl>dd .blue {
        font-size: 20px;
        line-height: 32px;
    }

    blockquote.bq {
        width: calc(100% - 60px);
        margin-left: auto;
        margin-right: 0;
        padding: 25px 40px 20px 40px;
    }

    blockquote.bq_bk1 {
        background: url(../../img/info/img_09.gif) right top no-repeat #E6E4D5;
    }

    blockquote.bq_bk2 {
        background: url(../../img/info/img_10.gif) right top no-repeat #E6E4D5;
    }

    blockquote.bq_bk3 {
        background: url(../../img/info/img_11.gif) right top no-repeat #E6E4D5;
    }

    blockquote.bq h3 {
        font-weight: bold;
        border-bottom: 0;
        color: #d43434;
        font-size: 20px;
    }

    blockquote.bq_bk1 p {
        line-height: 2em;
        margin-top: 5px;
    }

    blockquote.bq_bk1 span.blue,
    blockquote.bq_bk3 h4 {
        font-size: 16px;
    }

    blockquote.bq:not(.bq_bk2) dl:nth-of-type(n+2) h3, blockquote.bq:not(.bq_bk2).bq dl:nth-of-type(n+2) h3 {
        margin-top: 0;
        border-top: 0;
        padding-top: 0;
    }

    blockquote.bq h4 {
        color: #d43434;
        font-size: 16px;
    }

    blockquote.bq h4.merit {
        padding: 5px 0 0 20px;
        color: #1473d5;
        font-weight: bold;
    }

    blockquote.bq_bk1 span.blue,
    blockquote.bq_bk3 h4 {
        margin-top: 0;
    }

    blockquote.bq p strong,
    blockquote.bq ul li strong {
        color: #1473d5;
    }

    blockquote.bq ul {
        list-style-type: disc;
        line-height: 1.8em;
    }

    blockquote.bq dl {
        display: flex;
    }

    blockquote.bq dl dt {
        color: #1473d5;
        font-weight: bold;
        background: none;
        padding: 0;
    }

    blockquote.bq dl dd {
        flex: 1;
        background: none;
        padding: 0;
    }

    blockquote.bq_bk1 dd {
        margin-left: 40px;
    }

    blockquote.bq_bk3 h3 {
        width: 5em;
    }

    blockquote.bq_bk3 h4 {
        color: #1473d5;
        width: 6em;
    }

    blockquote.bq_bk3 dd li {
        text-indent: 0;
        margin-left: 1.5em;
    }

    blockquote.bq dl:nth-of-type(n+2),
    blockquote.bq .right:nth-of-type(n+2) {
        padding-top: 10px;
    }
    blockquote.bq_bk2 dt {
        width: 120px;
    }
    blockquote.bq_bk2 dd {
        flex: 1;
    }
    blockquote.bq_bk2 dl:last-of-type dd {
        margin-left: 1.5em;
    }
    blockquote.bq_bk3 dd > div:last-of-type li::before {
        content:none;
    }
}

@media screen and (min-width: 1024px) {
    blockquote.bq_bk1 span.blue {
        display: inline-block;
        margin-right: 1em;
    }

    blockquote.bq_bk3 dd .right {
        display: flex;
    }

    blockquote.bq_bk3 dd ul {
        flex: 1;
    }
}