html, body {
    font-size: 10px !important;
}

@media screen and (max-width:999px) {
    html, body {
        font-size: 1.3vw !important;
    }
}


/**********************************
渡辺変更
***********************************/

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

    header.l-header,
    main.l-main {
        zoom: 0.7;
        /* scaleだと謎に間に隙間で、、、渡辺は消せなかったので の代わりに zoom を使う */
    }
}

/**********************************
渡辺変更
***********************************/

div.l-wrap {
    min-height: 100vh;
    background-color: #faf6f0;
    padding: .5rem 0 0;
}


header.l-header {
    width: 100%;
    max-width: 100rem;
    height: 6.7rem;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    display: none;
}

@media screen and (max-width:999px) {
    header.l-header {
        height: auto;
        padding: 1rem 0;
    }
}

header.l-header img {
    width: auto;
    height: 5rem;
}

@media screen and (max-width:999px) {
    header.l-header img {
        width: 36.8%;
        height: auto;
        display: none;
    }
}

main.l-main {
    width: 100%;
    max-width: 100rem;
    min-height: calc(100vh - 8.2rem);
    background-color: #fff;
    box-shadow: 0 0 .6rem 0 rgba(81, 40, 3, 0.3);
    margin: 0 auto;
}

main.l-main h1 {
    margin: 0 0 2.8rem;
}


main.l-main h1 img.debt_pc {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    /* 画像のはみ出し防止 */
}



/**********************************
渡辺変更＿クロムでは問題ないがサファリの際にイメージが欠けるのでこれ丸ごと追加
***********************************/
.thanks h1 img {
    display: block;
    /* Safari で inline 隙間を消す */
    width: 100%;
    /* 親(main.l-main)幅に合わせる */
    height: auto;
    margin: 0 auto;
    /* 念のため中央寄せ */
    object-fit: contain;
    /* 比率保持で全体を収める */
    max-width: 100%;
    /* Safari が余白を加算しないように */
}

/**********************************
渡辺変更＿クロムでは問題ないがサファリの際にイメージが欠けるのでこれ丸ごと追加
***********************************/





main.l-main h1 img.debt_sp {
    display: none;
}

@media screen and (max-width:999px) {
    main.l-main h1 img.debt_pc {
        display: none;
    }

    main.l-main h1 img.debt_sp {
        width: 100%;
        display: block;
    }
}

.number_list {
    display: flex;
    gap: 1.4rem;
    justify-content: center;
    margin: 0 0 2rem;
}

.number_list li {
    width: 9.4rem;
    height: 4.3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid .4rem #c1c1c1;
    border-radius: 1rem;
    padding: 0 0 .4rem;
}

.number_list span {
    height: 2.4rem;
    color: #c1c1c1;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 2.4rem;
}

.number_list li.active {
    background-color: #f58621;
    border: solid .4rem #f58621;
}

.number_list li.active span {
    color: #fff;
}

.number_list+p {
    color: #333;
    font-size: 2.3rem;
    text-align: center;
    margin: 0 0 3.7rem;
}

@media screen and (max-width:999px) {
    .number_list+p {
        width: 92.8%;
        font-size: 2.6rem;
        text-align: left;
        margin: 0 auto 3.7rem;
    }
}

.section_wrap {
    width: 88rem;
    display: none;
    padding: 0 0 7.3rem;
    margin: 0 auto;
}

@media screen and (max-width:999px) {
    .section_wrap {
        width: 92.8%;
    }
}

.section_wrap.active {
    display: block;
}

.section_wrap h2 {
    width: 81.5rem;
    color: #333;
    font-size: 2.4rem;
    font-weight: 600;
    padding: 0 0 3.4rem;
    margin: 0 auto 4.4rem;
    position: relative;
}

@media screen and (max-width:999px) {
    .section_wrap h2 {
        width: 100%;
        font-size: 2.8rem;
    }
}

.section_wrap h2::after {
    content: "";
    width: 100%;
    height: .5rem;
    background-image: radial-gradient(#D7D7D7 2px, transparent 2px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: .5rem .5rem;
    position: absolute;
    bottom: -0.5rem;
    left: 0;
}

@media screen and (max-width:999px) {
    .section_wrap h2::after {
        height: 1rem;
        background-image: radial-gradient(#D7D7D7 1.6px, transparent 2px);
        background-size: 1rem 1rem;
        bottom: -1rem;
    }
}

.section_wrap h2 span {
    width: 6.9rem;
    display: inline-flex;
    justify-content: center;
    background-color: #f58621;
    border-radius: 1.1rem;
    color: #fff;
    font-weight: 600;
    margin: 0 1.4rem 0 0;
}

@media screen and (max-width:999px) {
    .section_wrap h2 span {
        width: 7.8rem;
    }
}

.question_wrap {
    max-width: 81.5rem;
    margin: 0 auto 4.8rem;
}

.question_wrap ul.question_list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.question_wrap .question_list li {
    position: relative;
}

.question_wrap .question_list li::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #a8a8a8;
    border-radius: 1rem;
    position: absolute;
    bottom: -.8rem;
    left: 0;
}

.question_wrap .question_list li label {
    width: 100%;
    height: 8.2rem;
    display: block;
    background-color: #c1c1c1;
    border-radius: 1rem;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 8.2rem;
    text-align: center;
    position: relative;
    z-index: 10;
}

.question_wrap .question_list li input[type="radio"] {
    display: none;
}

.question_wrap .question_list li label:has(input[type="radio"]:checked) {
    background-color: #f58621;
}

.question_wrap .question_list li:has(label input[type="radio"]:checked)::after {
    background-color: #db6914;
}

button.nextBtn:disabled {
    background-image: linear-gradient(0deg, #c3c3c3, #ededed);
    box-shadow: 0 .6rem 0 0 rgba(117, 117, 117, 1);
    color: #333;
}

button.nextBtn {
    width: 35.5rem;
    height: 7.3rem;
    display: block;
    background-image: linear-gradient(0deg, #eb3524, #ee5447);
    border: none;
    border-radius: 5rem;
    box-shadow: 0 6px 0 0 rgba(158, 24, 12, 1);
    color: #fff;
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: .16em;
    margin: 0 auto;
    z-index: 20;
}

@media screen and (max-width:999px) {
    button.nextBtn {
        font-size: 2.6rem;
    }
}


@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) h2 {
        margin: 0 auto;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap {
    max-width: 88.7rem;
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl {
    display: flex;
    border-bottom: solid .2rem #ddd;
    align-items: center;
    padding: 2.6rem 0;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl {
        width: 87%;
        margin: 0 auto;
        flex-direction: column;
        padding: 4rem 0;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl dt {
    width: 28.2rem;
    height: 5rem;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    font-size: 2.2rem;
    align-items: center;
    font-weight: bold;
    padding: 0 2rem 0 0;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl dt {
        width: 100%;
        justify-content: center;
        font-size: 2.6rem;
        text-align: center;
        padding: 0;
        margin: 0 0 4.2rem;
        position: relative;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl dd {
    width: calc(100% - 28.2rem);
    border-left: solid .2rem #dddddd;
    padding: 0 0 0 2.2rem;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl dd {
        width: 100%;
        border-left: 0;
        padding: 0;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl dd input,
.section_wrap:nth-last-of-type(1) .question_wrap>dl dd textarea {
    width: 100%;
}

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

    .section_wrap:nth-last-of-type(1) .question_wrap>dl dd input,
    .section_wrap:nth-last-of-type(1) .question_wrap>dl dd textarea {
        font-size: 2.6rem;
    }

    .section_wrap:nth-last-of-type(1) .question_wrap>dl dd input {
        height: 7rem;
        line-height: 7rem;
        padding: 0 1rem;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl.required dt {
    position: relative;
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl dt::before {
    content: "任意";
    width: 3.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #999;
    border-radius: .5rem;
    color: #fff;
    font-size: 1.2rem;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl dt::before {
        width: 6.1rem;
        height: 3.8rem;
        font-size: 1.8rem;
        position: absolute;
        transform: translateY(-50%);
        top: 50%;
        right: 0;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl.required dt::before {
    content: "必須";
    background-color: #df2514;
    color: #fff;
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl:nth-last-of-type(1) {
    margin: 0 0 3rem;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl:nth-last-of-type(1) {
        margin: 0 auto;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap>dl:nth-last-of-type(1)+p label {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: .5rem;
    font-size: 2.2rem;
    font-weight: bold;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap>dl:nth-last-of-type(1)+p label {
        font-size: 2.6rem;
        padding: 5rem 0 0;
    }
}

.section_wrap:nth-last-of-type(1) .question_wrap .privacy {
    width: 100%;
    height: 20rem;
    border: solid .2rem #ddd;
    font-size: 2.2rem;
    padding: 2.3rem 2.7rem 1rem;
    margin: 2.4rem 0 0;
    overflow: scroll;
}

@media screen and (max-width:999px) {
    .section_wrap:nth-last-of-type(1) .question_wrap .privacy {
        width: 87%;
        font-size: 2.4rem;
        margin: 4rem auto 0;
    }
}

.section_wrap:nth-last-of-type(1) .privacy h3,
.section_wrap:nth-last-of-type(1) .privacy h4 {
    font-weight: 700;
    margin: 0 0 .5rem;
}

.section_wrap:nth-last-of-type(1) .privacy h4+p {
    margin: 0 0 1rem;
}

.section_wrap:nth-last-of-type(1) .privacy dl {
    margin: 0 0 1rem;
}

.section_wrap:nth-last-of-type(1) .privacy dl dt {
    font-weight: 700;
}

.section_wrap:nth-last-of-type(1) button.nextBtn {
    letter-spacing: .12em;
}



.thanks h2 {
    color: #f58621;
    font-size: 4.2rem;
    text-align: center;
    font-weight: 500;
}

@media screen and (max-width:999px) {
    .thanks h2 {
        font-size: 3.9rem;
    }
}

.thanks h2+p {
    width: 83.9rem;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.7;
    margin: 0 auto 10.6rem;
}

@media screen and (max-width:999px) {
    .thanks h2+p {
        width: 89%;
        margin: 0 auto 7.7rem;
    }
}

.back_btn a {
    width: 35.5rem;
    height: 7.3rem;
    display: block;
    background-image: linear-gradient(0deg, #eb3524, #ee5447);
    border: none;
    border-radius: 5rem;
    box-shadow: 0 .6rem 0 0 rgba(158, 24, 12, 1);
    color: #fff;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 7.3rem;
    text-align: center;
    letter-spacing: .16em;
    margin: 0 auto;
    z-index: 20;
}