@charset "UTF-8";

/* Reset & Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    color: #252525;
}

img {
    width: 100%;
    height: 100%;
}

a {
    text-decoration: none;
    color: inherit;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

a:hover {
    opacity: 0.8;
}

main {
    max-width: min(100vw, 750px);
    margin-left: auto;
    margin-right: auto;
}


.bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
}

.txt_orange {
    font-weight: 500;
    color: #ff9b28;
}

/* Character Reveal Animation */
/* Character Reveal Animation */
.reveal-text {
    opacity: 0;
    /* Hidden initially to prevent FOUC */
    display: inline-block;
    /* Restore original layout behavior */
}

.char {
    display: inline-block;
    opacity: 0;
    transform: translateY(min(2.667vw, 20px));
    transition: opacity 2.0s cubic-bezier(0.16, 1, 0.3, 1), transform 2.0s cubic-bezier(0.16, 1, 0.3, 1);
    min-width: 0.3em;
    /* prevent collapsing for spaces */
}

.char.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in {
    opacity: 0;
    transform: translateY(min(2.667vw, 20px));
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    -webkit-transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    -moz-transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    -ms-transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    -o-transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* 表示トリガー後 */
.fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}


.pc_fixed_btn_box {
    position: fixed;
    top: 50%;
    left: 50%;
    left: calc(50% + min(44vw, 550px));
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}

.pc_fixed_btn {
    display: grid;
    width: 90px;
}

.pc_fixed_btn:nth-child(n+2) {
    margin-top: min(3.6vw, 27px);
}

.sp_fixed_btn_box {
    display: none;
}

@media only screen and (max-width: 999px) {
    body {
        margin-bottom: min(19.733vw, 148px);
    }

    .pc_fixed_btn_box {
        display: none;
    }

    .sp_fixed_btn_box {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 50%;
        z-index: 4;
        max-width: min(100vw, 750px);
        width: 100%;
        padding: min(4vw, 30px) min(2.133vw, 16px);
        background-color: #fff;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);

        /* Fade-in transition */
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.5s ease;
    }

    .sp_fixed_btn_box.active {
        opacity: 1;
        pointer-events: auto;
    }

    .sp_fixed_btn {
        display: grid;
        width: 48%;
        height: auto;
    }
}

/* header */
header {
    max-width: min(100vw, 750px);
    height: min(15.733vw, 118px);
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.header_logo {
    display: grid;
    width: min(24.533vw, 184px);
    height: auto;
    padding-top: min(1.333vw, 10px);
    -o-object-fit: contain;
    object-fit: contain;
}


/* fv */
.fv {
    position: relative;
}

.fv_img {
    display: grid;
}

.fv_txt1 {
    position: absolute;
    top: min(2.8vw, 21px);
    left: min(5.867vw, 44px);
    font-size: min(5.333vw, 40px);
    line-height: min(7.821vw, 58.66px);
    color: #120600;
}

.fv_txt2 {
    position: absolute;
    top: min(24.533vw, 184px);
    left: 50%;
    width: 100%;
    font-size: min(10.045vw, 75.34px);
    text-align: center;
    color: #ffffff;
    font-weight: 500;
    transform: translateX(-50%);
}

.fv_txt_dots {
    position: relative;
}

.fv_txt_dots::before {
    position: absolute;
    top: max(-6.667vw, -50px);
    left: 0;
    content: '・・';
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(10.045vw, 75.34px);
    color: #ffffff;
    font-weight: 100;
}

.fv_txt3 {
    position: absolute;
    top: min(36.533vw, 274px);
    left: min(7.733vw, 58px);
    font-size: min(11.519vw, 86.39px);
    color: #ffffff;
    font-weight: 500;
}

.fv_txt_sm {
    font-size: min(10.267vw, 77px);
}

.fv_txt_orange {
    display: inline-block;
    margin-left: min(2.667vw, 20px);
    color: #ff9b28;
}

.fv_txt4 {
    position: absolute;
    top: min(52vw, 390px);
    left: 50%;
    width: 100%;
    font-size: min(9.401vw, 70.51px);
    color: #ffffff;
    font-weight: 500;
    text-align: center;
    transform: translateX(-50%);
}

.fv_txt5 {
    position: absolute;
    top: min(142.667vw, 1070px);
    left: min(12vw, 90px);
    font-size: min(4.475vw, 33.56px);
    line-height: min(7.096vw, 53.22px);
    text-align: center;
}

.fv_cta_btn1 {
    position: absolute;
    bottom: min(37.333vw, 280px);
    left: 50%;
    display: grid;
    width: min(88.667vw, 665px);
    box-shadow: min(1.067vw, 8px) min(1.467vw, 11px) min(1.067vw, 8px) rgba(67, 43, 23, 0.16);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    border-radius: min(2.667vw, 20px);
    -webkit-border-radius: min(2.667vw, 20px);
    -moz-border-radius: min(2.667vw, 20px);
    -ms-border-radius: min(2.667vw, 20px);
    -o-border-radius: min(2.667vw, 20px);
}

.fv_cta_btn2 {
    position: absolute;
    bottom: min(10.667vw, 80px);
    left: 50%;
    display: grid;
    width: min(88.667vw, 665px);
    box-shadow: min(1.067vw, 8px) min(1.467vw, 11px) min(1.067vw, 8px) rgba(67, 43, 23, 0.16);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    border-radius: min(2.667vw, 20px);
}

.fv_txt6 {
    position: absolute;
    bottom: min(2.667vw, 20px);
    left: 50%;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(2.4vw, 18px);
    font-weight: 500;
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

/* worries */
.worries {
    position: relative;
}

.worries_img {
    display: grid;
}

.worries_txt1 {
    position: absolute;
    top: min(17.333vw, 130px);
    left: min(8vw, 60px);
    font-size: min(4.8vw, 36px);
    line-height: min(7.333vw, 55px);
    color: #ffffff;
}

.worries_txt2 {
    position: absolute;
    top: min(32.667vw, 245px);
    left: min(6.667vw, 50px);
    font-size: min(7.467vw, 56px);
    line-height: min(11.351vw, 85.13px);
    color: #ffffff;
    font-weight: 500;
}

.worries_txt2 span {
    color: #fff600;
}

.worries_txt3,
.worries_txt4,
.worries_txt5,
.worries_txt6,
.worries_txt7,
.worries_txt8 {
    position: absolute;
    left: min(20vw, 150px);
    font-size: min(4.267vw, 32px);
    line-height: min(6.8vw, 51px);
}

.worries_txt3 {
    top: min(68.267vw, 512px);
}

.worries_txt4 {
    top: min(88.667vw, 665px);
}

.worries_txt5 {
    top: min(109.733vw, 823px);
}

.worries_txt5 .letter_space {
    margin-left: max(-2.667vw, -20px);
}

.worries_txt6 {
    top: min(129.6vw, 972px);
}

.worries_txt7 {
    top: min(150.133vw, 1126px);
}

.worries_txt8 {
    top: min(170.667vw, 1280px);
}

.worries_txt9 {
    position: absolute;
    bottom: min(13.333vw, 100px);
    left: 50%;
    width: 100%;
    font-size: min(4.533vw, 34px);
    line-height: min(8.16vw, 61.2px);
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

mark {
    background: linear-gradient(transparent 60%, #ffef64 60%);
}


/* look_over */
.look_over {
    background-color: #fefcf5;
    padding-top: min(4.933vw, 37px);
    padding-bottom: min(4.4vw, 33px);
}

.look_over_txt1 {
    font-size: min(4.8vw, 36px);
    text-align: center;
}

.look_over_speech_bubble {
    position: relative;
}

.look_over_speech_bubble_img {
    width: min(98vw, 735px);
    margin-left: min(1.467vw, 11px);
    margin-top: max(-15.333vw, -115px);
}

.look_over_speech_bubble_txt {
    position: absolute;
    top: min(10.667vw, 80px);
    left: min(10vw, 75px);
    font-size: min(7.467vw, 56px);
    line-height: min(11.351vw, 85.13px);
    color: #fff;
    font-weight: 500;
}

/* look_over_before */
.look_over_before {
    width: min(84vw, 630px);
    margin: min(7.067vw, 53px) auto 0;
}

.look_over_before_label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: min(7.333vw, 55px);
    background-color: #898989;
    border-radius: min(4.267vw, 32px);
    color: #fff;
    font-size: min(4.8vw, 36px);
    margin-bottom: min(3.067vw, 23px);
}

.look_over_before_row {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: min(3.067vw, 23px);
}

.look_over_before_box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(41.067vw, 308px);
    height: min(15.443vw, 115.82px);
    background-color: #57a9f6;
    border-radius: min(2.667vw, 20px);
}

.look_over_before_box p {
    color: #fff;
    font-size: min(3.733vw, 28px);
    line-height: min(6vw, 45px);
    text-align: center;
}

.look_over_before_circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(6vw, 45px);
    height: min(6vw, 45px);
    background-color: #898989;
    border-radius: 50%;
    box-sizing: content-box;
}

.look_over_before_circle span {
    font-size: min(4.8vw, 36px);
    color: #fff;
    padding-bottom: min(0.667vw, 5px);
}

.look_over_before_bottom {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: min(12.4vw, 93px);
    background-color: #2a88df;
    border-radius: min(2.667vw, 20px);
}

.look_over_before_bottom_txt {
    color: #fff;
    font-size: min(4.8vw, 36px);
}

.look_over_before_img {
    position: absolute;
    bottom: max(-0.133vw, -1px);
    right: min(5.467vw, 41px);
    display: grid;
    width: min(22.533vw, 169px);
}

.look_over_triangle {
    width: min(40.2vw, 301.5px);
    height: auto;
    margin: min(6vw, 45px) auto min(4.8vw, 36px);
}

/* look_over_after */
.look_over_after {
    width: min(84vw, 630px);
    margin: min(7.067vw, 53px) auto min(14vw, 105px);
}

.look_over_after_label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: min(7.333vw, 55px);
    background-color: #ff735c;
    border-radius: min(4.267vw, 32px);
    color: #fff;
    font-size: min(4.8vw, 36px);
    margin-bottom: min(3.067vw, 23px);
}

.look_over_after_row {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: min(3.067vw, 23px);
}

.look_over_after_box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(41.067vw, 308px);
    height: min(15.443vw, 115.82px);
    background-color: #ffb80e;
    border-radius: min(2.667vw, 20px);
}

.look_over_after_box p {
    color: #fff;
    font-size: min(3.733vw, 28px);
    line-height: min(6vw, 45px);
    text-align: center;
}

.look_over_after_circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(6vw, 45px);
    height: min(6vw, 45px);
    background-color: #ff735c;
    border-radius: 50%;
    box-sizing: content-box;
}

.look_over_after_circle span {
    font-size: min(4.8vw, 36px);
    color: #fff;
    padding-bottom: min(0.667vw, 5px);
}

.look_over_after_bottom {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: min(12.4vw, 93px);
    background-color: #ff8e18;
    border-radius: min(2.667vw, 20px);
}

.look_over_after_bottom_txt {
    color: #fff;
    font-size: min(4.8vw, 36px);
}

.look_over_after_img {
    position: absolute;
    bottom: max(-0.133vw, -1px);
    left: min(5.467vw, 41px);
    display: grid;
    width: min(22.533vw, 169px);
}

.look_over_txt2 {
    width: min(84.564vw, 634.23px);
    margin: 0 auto;
    font-size: min(4.267vw, 32px);
    line-height: min(6.4vw, 48px);
}

.look_over_txt2 .txt_orange {
    letter-spacing: max(-0.067vw, -0.5px);
}

/* reasons */
.reasons {
    position: relative;
    padding-bottom: min(6.667vw, 50px);
    background-color: #fef2cc;
    z-index: 1;
}

.reasons_speech_bubble {
    position: relative;
}

.reasons_speech_bubble::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: min(26.667vw, 200px);
    background-color: #fefcf5;
    z-index: -1;
}

.reasons_speech_bubble_img {
    width: 100%;
    padding-top: min(2.4vw, 18px);
}

.reasons_speech_bubble_txt {
    position: absolute;
    top: min(16vw, 120px);
    left: 0;
    width: 100%;
    font-size: min(7.467vw, 56px);
    line-height: min(10.267vw, 77px);
    text-align: center;
    color: #fff;
    font-weight: 500;
}

.reasons_speech_bubble_txt span {
    font-size: min(10.267vw, 77px);
    margin-right: max(-2vw, -15px);
}

.reasons_img {
    position: absolute;
    top: min(36vw, 270px);
    right: min(12.667vw, 95px);
    width: min(24.533vw, 184px);
    height: auto;
    z-index: 2;
}

.reasons_list {
    padding-top: min(15.467vw, 116px);
    background-color: #fef2cc;
}

.reasons_item {
    position: relative;
    z-index: 2;
    width: min(84vw, 630px);
    margin-left: auto;
    margin-right: auto;
    background-image: url(../img/grid.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    padding: min(8.667vw, 65px) 0 min(7.333vw, 55px);
    border-radius: min(2.667vw, 20px);
    -webkit-border-radius: min(2.667vw, 20px);
    -moz-border-radius: min(2.667vw, 20px);
    -ms-border-radius: min(2.667vw, 20px);
    -o-border-radius: min(2.667vw, 20px);
}

.reasons_item:nth-child(n+2) {
    margin-top: min(11.067vw, 83px);
}

.reasons_item_speech_bubble {
    position: absolute;
    top: max(-9.333vw, -70px);
    left: max(-2.667vw, -20px);
    width: min(24.133vw, 181px);
    height: auto;
}

.reasons_item_speech_bubble_txt {
    position: absolute;
    top: min(4.667vw, 35px);
    left: min(4vw, 30px);
    font-size: min(5.396vw, 40.47px);
    color: #fff;
}

.reasons_item_img {
    padding-left: min(4.267vw, 32px);
    padding-right: min(4.267vw, 32px);
}

.reasons_item_ttl {
    font-size: min(6vw, 45px);
    line-height: min(7.467vw, 56px);
    text-align: center;
    font-weight: 500;
    color: #ff9824;
    margin-bottom: min(1.6vw, 12px);
}

.reasons_item:nth-child(n+2) .reasons_item_ttl {
    margin-bottom: min(3.867vw, 29px);
}

.reasons_item_txt {
    font-size: min(4vw, 30px);
    line-height: min(6.8vw, 51px);
    padding-left: min(3.733vw, 28px);
    padding-right: min(3.733vw, 28px);
    margin-top: min(7.2vw, 54px);
}

/* why */
.why {
    position: relative;
}

.why_img {
    display: grid;
}

.why_txt1 {
    position: absolute;
    top: min(18.667vw, 140px);
    left: 0;
    font-size: min(7.467vw, 56px);
    line-height: min(11.351vw, 85.13px);
    text-align: center;
    font-weight: 500;
}

.why_txt2 {
    position: absolute;
    top: min(104vw, 780px);
    left: 50%;
    width: min(84.667vw, 635px);
    font-size: min(4.267vw, 32px);
    line-height: min(6.4vw, 48px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.why_txt3 {
    position: absolute;
    bottom: min(22.667vw, 170px);
    left: 50%;
    width: min(84.667vw, 635px);
    font-size: min(4.267vw, 32px);
    line-height: min(6.4vw, 48px);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.why_txt3 .letter_space {
    letter-spacing: max(-0.667vw, -5px);
}

.flow {
    padding-top: min(18.667vw, 140px);
    padding-bottom: min(18.667vw, 140px);
    background-image: url(../img/flow.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.flow_ttl {
    font-size: min(7.467vw, 56px);
    text-align: center;
    font-weight: 500;
    color: #fff;
    margin-bottom: min(11.067vw, 83px);
}

.flow_box {
    width: min(85.067vw, 638px);
    margin: 0 auto;
    padding: min(1.333vw, 10px) min(1.333vw, 10px) min(5.867vw, 44px);
    background-color: #fff;
    border-radius: min(2.667vw, 20px);
}

.flow_step_header {
    display: flex;
    align-items: center;
    justify-content: end;
    background-color: #fbc834;
    padding: min(2.667vw, 20px) 0 min(2.667vw, 20px) min(4.667vw, 35px);
    position: relative;
    overflow: hidden;
    border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -webkit-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -moz-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -ms-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -o-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
}

.flow_step_num {
    position: absolute;
    left: max(-4vw, -30px);
    padding-left: min(2.667vw, 20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(16.667vw, 125px);
    height: min(16.667vw, 125px);
    background-color: #fff;
    border-radius: 50%;
    color: #fec231;
    font-weight: 500;
    z-index: 2;
}

.flow_step_num_en {
    font-size: min(3.956vw, 29.67px);
    line-height: 1;
    padding-bottom: min(0.667vw, 5px);
    border-bottom: min(0.133vw, 1px) solid #fec231;
}

.flow_box2 .flow_step_header {
    justify-content: start;
    background-color: #ffaf2a;
}

.flow_box2 .flow_step_num {
    color: #ffaf2a;
}

.flow_box2 .flow_step_num_en {
    border-bottom: min(0.133vw, 1px) solid #ffaf2a;
}

.flow_box2 .flow_step_ttl {
    margin-left: min(10.667vw, 80px);
    margin-right: 0;
}

.flow_box3 .flow_step_header {
    background-color: #ffa227;
}

.flow_box3 .flow_step_num {
    color: #ffa227;
}

.flow_box3 .flow_step_num_en {
    border-bottom: min(0.133vw, 1px) solid #ffa227;
}

.flow_box3 .flow_step_ttl {
    margin-right: min(2vw, 15px);
}

.flow_step_num_jp {
    font-size: min(4.8vw, 36px);
    line-height: 1;
}

.flow_step_ttl {
    font-size: min(5.067vw, 38px);
    font-weight: 500;
    color: #fff;
    margin-right: min(7.067vw, 53px);
}

.flow_step_img {
    width: 100%;
    padding-left: min(2.667vw, 20px);
    padding-right: min(2.667vw, 20px);
    margin-top: min(4vw, 30px);
    margin-bottom: min(4vw, 30px);
    border-radius: min(2.667vw, 20px);
    overflow: hidden;
}

.flow_step_txt {
    font-size: min(4vw, 30px);
    line-height: min(6.267vw, 47px);
    padding-left: min(2.667vw, 20px);
    padding-right: min(2.667vw, 20px);
}

.flow_triangle {
    width: min(14vw, 105px);
    height: auto;
    margin: min(3.067vw, 23px) auto;
}

/* faq */
.faq {
    background-color: #fffaeb;
    padding-top: min(7.2vw, 54px);
    padding-bottom: min(9.333vw, 70px);
}

.faq_title {
    font-size: min(7.467vw, 56px);
    text-align: center;
    font-weight: 500;
    margin-bottom: min(6.667vw, 50px);
}

.faq_list {
    width: min(92vw, 690px);
    margin: 0 auto;
}

.faq_item:nth-child(n+2) {
    margin-top: min(2.933vw, 22px);
}

.faq_item:nth-child(3) .faq_q {
    padding: min(4vw, 30px) min(2.667vw, 20px);
}

.faq_q {
    background-color: #ff9924;
    color: #fff;
    padding: min(4vw, 30px);
    font-size: min(4.267vw, 32px);
    line-height: min(6.667vw, 50px);
    font-weight: 500;
    border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -webkit-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -moz-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -ms-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
    -o-border-radius: min(2.667vw, 20px) min(2.667vw, 20px) 0 0;
}

.faq_a {
    display: flex;
    background-color: #fff;
    padding: min(4.667vw, 35px) min(4vw, 30px) min(6vw, 45px);
    border-radius: 0 0 min(2.667vw, 20px) min(2.667vw, 20px);
    -webkit-border-radius: 0 0 min(2.667vw, 20px) min(2.667vw, 20px);
    -moz-border-radius: 0 0 min(2.667vw, 20px) min(2.667vw, 20px);
    -ms-border-radius: 0 0 min(2.667vw, 20px) min(2.667vw, 20px);
    -o-border-radius: 0 0 min(2.667vw, 20px) min(2.667vw, 20px);
}

.faq_a p {
    font-size: min(3.733vw, 28px);
    line-height: min(5.6vw, 42px);
}

.faq_a p:first-child {
    margin-right: min(2.267vw, 17px);
}

.faq_a .txt_orange {
    font-weight: 500;
}

/* faq_cta */
.faq_cta {
    position: relative;
    padding-top: min(8vw, 60px);
    text-align: center;
}

.faq_cta_txt1 {
    font-size: min(4.267vw, 32px);
    line-height: min(6.4vw, 48px);
}

.faq_cta_txt1 .txt_orange {
    color: #f2820c;
}

.faq_cta_img {
    width: min(96.267vw, 722px);
    margin: 0 auto min(8.533vw, 64px);
}

.faq_btn {
    display: grid;
    width: min(88.667vw, 665px);
    margin: 0 auto min(4vw, 30px);
    box-shadow: min(1.067vw, 8px) min(1.467vw, 11px) min(1.067vw, 8px) rgba(67, 43, 23, 0.16);
    border-radius: min(2.667vw, 20px);
}

.faq_note {
    font-size: min(2.4vw, 18px);
    font-weight: 500;
}

/* contact */
.contact {
    background-color: #fffaeb;
    padding-top: min(8.533vw, 64px);
    padding-bottom: min(4vw, 30px);
}

.contact_title {
    font-size: min(7.467vw, 56px);
    text-align: center;
    color: #333;
    margin-bottom: min(10.667vw, 80px);
    font-weight: 500;
}

.contact_form {
    width: min(84vw, 630px);
    margin: 0 auto;
}

.form_item {
    margin-bottom: min(4vw, 30px);
}

.form_label {
    display: block;
    font-size: min(3.467vw, 26px);
    font-weight: 500;
    margin-bottom: min(1.733vw, 13px);
    display: flex;
    align-items: center;
}

.form_label_req {
    background-color: #ff0000;
    color: #fff;
    font-size: min(2.133vw, 16px);
    line-height: 1;
    padding: min(0.533vw, 4px) min(0.8vw, 6px);
    margin-left: min(1.333vw, 10px);
}

.form_label_any {
    background-color: #939191;
    color: #fff;
    font-size: min(2.133vw, 16px);
    line-height: 1;
    padding: min(0.533vw, 4px) min(0.8vw, 6px);
    margin-left: min(1.333vw, 10px);
}

.form_input {
    width: 100%;
    height: min(9.333vw, 70px);
    border: min(0.267vw, 2px) solid #ff9924;
    border-radius: min(4vw, 30px);
    padding: min(3.2vw, 24px) min(4.4vw, 33px);
    font-size: min(3.467vw, 26px);
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
}

.form_input::-webkit-input-placeholder {
    color: #a9a9a9;
}

.form_input::-moz-placeholder {
    color: #a9a9a9;
}

.form_input:-ms-input-placeholder {
    color: #a9a9a9;
}

.form_input::-ms-input-placeholder {
    color: #a9a9a9;
}

.form_input::placeholder {
    color: #a9a9a9;
}

.form_textarea {
    width: 100%;
    height: min(20.667vw, 155px);
    border: min(0.267vw, 2px) solid #ff9924;
    background-color: #fff;
    padding: min(2.667vw, 20px);
    font-size: min(3.2vw, 24px);
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    border-radius: min(4.667vw, 35px);
    -webkit-border-radius: min(4.667vw, 35px);
    -moz-border-radius: min(4.667vw, 35px);
    -ms-border-radius: min(4.667vw, 35px);
    -o-border-radius: min(4.667vw, 35px);
}

.form_privacy {
    text-align: center;
    margin-bottom: min(5.333vw, 40px);
    padding-top: min(0.27vw, 2px);
}

.form_privacy_label {
    display: flex;
    align-items: center;
    justify-content: start;
    cursor: pointer;
}

.form_privacy_check {
    width: min(3.2vw, 24px);
    height: min(3.2vw, 24px);
    margin-right: min(1.333vw, 10px);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border: min(0.133vw, 1px) solid #252525;
    /* Grey border for unchecked state */
    position: relative;
    cursor: pointer;
    vertical-align: text-bottom;
}

/* .form_privacy_check:checked {
    background-color: #ff9924;
    border-color: #ff9924;
} */

.form_privacy_check:checked::after {
    content: '';
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    width: min(1.6vw, 12px);
    height: min(0.933vw, 7px);
    border-left: min(0.267vw, 2px) solid #252525;
    border-bottom: min(0.267vw, 2px) solid #252525;
}

.form_privacy_txt {
    font-size: min(2.667vw, 20px);
    font-weight: 500;
    display: flex;
    align-items: center;
}

.form_privacy_txt a {
    color: #1b64f8;
    text-decoration: underline;
}

.form_privacy_txt .form_label_req {
    margin-left: min(1.333vw, 10px);
}

.form_submit {
    text-align: center;
}

.form_submit_btn {
    border: none;
    background: none;
    cursor: pointer;
    width: 100%;
    padding: 0;
}

.form_submit_btn:hover {
    opacity: 0.8;
}

/* footer */
.footer {
    max-width: min(100vw, 750px);
    margin: 0 auto;
    background-color: #ff9824;
    padding: min(4vw, 30px) 0;
    text-align: center;
}

.footer_links {
    color: #fff;
    font-size: min(2.4vw, 18px);
    font-weight: 500;
}

.footer_links a {
    color: #fff;
    text-decoration: none;
    margin: 0 min(0.667vw, 5px);
}

.form_submit_btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.thanks_main {
    padding-top: min(10vw, 75px);
    background-color: #fffaeb;
}
.thanks_ttl {
    font-size: min(7.467vw, 56px);
    line-height: min(11.351vw, 85.13px);
    text-align: center;
    font-weight: 400;
    color: #ff9824;
}
.thanks_txt {
    font-size: min(4.267vw, 32px);
    line-height: min(9.733vw, 73px);
    text-align: center;
    margin-top: min(9.467vw, 71px);
    margin-bottom: min(5.2vw, 39px);
}