@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap');

body {
    font-family: 'Manrope', 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #292929;
}

.mb50 {
    margin-bottom: 50px !important;
}


.img_block {
    text-align: center;
    margin-bottom: 20px;
}

.btn_block {
    max-width: 400px;
    margin: 0 auto;
}

.section_block01 .section_block01_inner {
    padding: 0 100px 80px !important;
}

.fv {
    margin: 40px auto;
}

.basic_btn01 {
    height: 67px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.basic_btn01:hover {
    opacity: .8;
    transform: translateY(3px);
    transition: .3s;
    box-shadow: none;
}

@media only screen and (max-width: 768px) {
    .section_block01 .section_block01_inner {
        width: 95%;
        margin: 0 auto;
        padding: 0 0 40px 0 !important;
    }

    .fv {
        margin: 10px auto 20px;
    }
}

.step_block {
    margin-bottom: 50px;
}

.step_contents {
    background-color: #fff;
    margin-bottom: 30px;
    box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.15);
}

.step_contents h4 {
    background-color: #000;
    font-weight: bold;
    color: #fff;
    padding: 15px 20px 15px 8em;
    font-size: 120%;
    letter-spacing: 0.1em;
    position: relative;
}

.step_contents h4 span.step {
    background-color: #B51919;
    padding: 15px 30px 15px;
    margin-right: 20px;
    color: #fff;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
}

.step_ttl span.period {
    border: 1px solid #fff;
    padding: 0 2%;
    border-radius: 0;
    font-size: 80%;
    margin-left: 10px;
    font-weight: 400;
    position: absolute;
    right: 20px;
}

.step_contents p {
    padding: 30px;
}

.triangle {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid black;
    margin: 0 auto 30px;
}


@media only screen and (max-width: 768px) {
    .step_contents {
        margin-bottom: 5%;
    }

    .step_contents h4 {
        padding: 13% 5% 3%;
    }

    .step_contents h4 span.step {
        padding: 7px 30px;
        width: 100%;
        text-align: center;
    }

    .step_ttl span.period {
        color: #fff;
        top: 8px;
        border: 1px solid #fff;
    }

    .step_contents p {
        padding: 5%;
    }


}

.qa_block dl .answer {
    margin-bottom: 0 !important;
}