.pc_LL_display {
    display: none;
}

@media screen and (max-width: 1600px) {
    .pc_LL_display {
        display: block;
    }
}

.pc_L_display {
    display: none;
}

@media screen and (max-width: 1400px) {
    .pc_L_display {
        display: block;
    }
}

.pc_M_display {
    display: none;
}

@media screen and (max-width: 1200px) {
    .pc_M_display {
        display: block;
    }
}

.pc_S_display {
    display: none;
}

@media screen and (max-width: 1000px) {
    .pc_S_display {
        display: block;
    }
}

.tab_display {
    display: none;
}

@media screen and (max-width: 800px) {
    .tab_display {
        display: block;
    }
}

.sp_LL_display {
    display: none;
}

@media screen and (max-width: 600px) {
    .sp_LL_display {
        display: block;
    }
}

.sp_L_display {
    display: none;
}

@media screen and (max-width: 460px) {
    .sp_L_display {
        display: block;
    }
}

.sp_ML_display {
    display: none;
}

@media screen and (max-width: 400px) {
    .sp_ML_display {
        display: block;
    }
}

.sp_M_display {
    display: none;
}

@media screen and (max-width: 375px) {
    .sp_M_display {
        display: block;
    }
}

.sp_S_display {
    display: none;
}

@media screen and (max-width: 350px) {
    .sp_S_display {
        display: block;
    }
}

body {
    width: 100%;
    overflow-x: hidden;
    font-family: "Noto Sans JP", serif;
    color: #333335;
}

img {
    display: block;
    width: 100%;
}

a {
    text-decoration: none;
}

.fadein {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s;
}

.scrollin {
    opacity: 1;
    transform: translateY(0);
}

.animation_shiny-ocher {
    background: #CAB363;
    background: linear-gradient(-45deg, #CAB363 50%, #e4d8af 60%, #CAB363 70%);
    background-size: 600% 100%;
    animation: shine 20s infinite;
    animation-delay: 0s;
    animation-timing-function: linear;
}

.animation_shiny-green {
    background: #06C755;
    background: linear-gradient(-45deg, #06C755 50%, #3af988 60%, #06C755 70%);
    background-size: 600% 100%;
    animation: shine 20s infinite;
    animation-delay: 0s;
    animation-timing-function: linear;
}

@keyframes shine {
    0% {
        background-position-x: 400%;
    }
    50% {
        background-position-x: 0%;
    }
    100% {
        background-position-x: -400%;
    }
}


/*--------------- header ---------------*/

.header_wrapper {
    padding: 8px 4vw;
}

.logo_img {
    width: auto;
    height: 30px;
}

@media screen and (max-width: 600px) {
    .header_txt {
        font-size: 18px;
    }
}


/*--------------- fv ---------------*/

.fv {
    height: max(51.5vw, 515px);
    width: 100%;
    background-image: url(../img/fv_bg.webp);
    background-size: 100%;
    background-repeat: no-repeat;
    padding-top: 18vw;
    padding-left: 7.8vw;
    position: relative;
}

.fv_main {
    position: absolute;
    bottom: max(4vw, 20px);
}

@media screen and (max-width: 1000px) {
    .fv {
        background-size: cover;
        background-position: 42% 50%;
        padding-top: 100px;
    }
}

@media screen and (max-width: 700px) {
    .fv {
        height: 600px;
        padding-left: 0vw;
    }
}

.fv_main h2 {
    color: #FFF;
    font-size: max(2.4vw, 32px);
    font-weight: 700;
    margin-bottom: max(3.0vw, 35px);
}

@media screen and (max-width: 700px) {
    .fv_main {
        width: 100%;
        top: max(1vw, 10px);
        bottom: 0
    }
    .fv_btn {
        display: flex;
        justify-content: space-evenly;
		    margin-top: 20em;
    }
    .fv_main h2 {
        font-size: 28px;
        text-align: center;
        background-color: rgba(51, 51, 53, 0.72);
    }
}

.fv_btn_a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max(17vw, 180px);
    height: max(4.4vw, 48px);
    border-radius: max(0.4vw, 8px);
    transition: all 0.3s;
}

.fv_btn_a:nth-child(1) {
    background-color: #CAB363;
    margin-bottom: max(1.8vw, 18px);
}

.fv_btn_a:nth-child(2) {
    background-color: #06C755;
}

.fv_btn_a:hover {
    opacity: 0.8;
}

.fv_btn_a img {
    width: max(2.7vw, 27px);
}

.fv_btn_a span {
    font-size: max(1.5vw, 17px);
    color: #FFF;
    font-weight: 700;
}

.fv_btn_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: max(0.4vw, 4px);
}

.fv_txt {
    position: absolute;
    background-color: rgba(51, 51, 53, 0.72);
    width: max(45.8vw, 458px);
    bottom: max(1vw, 10px);
    right: 0;
    padding: 0.8vw 2.4vw;
}

@media screen and (max-width: 1000px) {
    .fv_txt {
        padding: 8px 24px;
    }
}

@media screen and (max-width: 700px) {
    .fv_txt {
        width: 100%;
    }
}

.fv_txt_item {
    margin-bottom: max(0.8vw, 8px);
}

.fv_txt_item span {
    display: block;
}

.fv_txt_item span:nth-child(1) {
    font-weight: 600;
    color: #CAB363;
    font-size: 20px;
}

@media screen and (max-width: 1400px) {
    .fv_txt_item span:nth-child(1) {
        font-size: 18px;
    }
}

@media screen and (max-width: 600px) {
    .fv_txt_item span:nth-child(1) {
        font-size: 17px;
    }
}

.fv_txt_item span:nth-child(2) {
    font-weight: 400;
    color: #FFF;
    font-size: 16px;
}

.fv_btn_a span {
    font-size: max(1.5vw, 15px);
    font-weight: 600;
}

@media screen and (max-width: 1400px) {
    .fv_txt_item span:nth-child(2) {
        font-size: 15px;
    }
}


/*--------------- cta ---------------*/

.cta_heading {
    background-color: #CAB363;
    padding: 24px 0;
    position: relative;
    margin-bottom: max(5vw, 50px);
}

@media screen and (max-width: 600px) {
    .cta_heading {
        padding: 16px 0;
    }
}

.cta_heading::after {
    content: "";
    position: absolute;
    bottom: -15.6px;
    left: 50%;
    transform: translateX(-50%);
    width: 46px;
    height: 16px;
    background-color: #CAB363;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cta_heading h3 {
    color: #FFF;
    font-weight: 700;
    font-size: max(1.6vw, 22px);
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

@media screen and (max-width: 600px) {
    .cta_heading h3 {
        font-size: 20px;
        text-align: center;
        line-height: 1.4;
    }
}

.cta_bubble {
    padding: 8px 24px;
    background-color: #FFF;
    border-radius: 4px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 20px;
    position: relative;
}

@media screen and (max-width: 600px) {
    .cta_bubble {
        padding: 6px 24px;
        margin: 0 auto 12px;
    }
}

.cta_bubble::after {
    content: "";
    position: absolute;
    bottom: -9.9px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 10px;
    background-color: #FFF;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.cta_bubble span {
    font-weight: 700;
    color: #CAB363;
    font-size: max(1.4vw, 18px);
}

@media screen and (max-width: 600px) {
    .cta_bubble span {
        font-size: 17px;
        text-align: center;
        line-height: 1.4;
    }
}


/*----- form -----*/

#contact_form,
#contact_form_bottom {
    width: max(50vw, 500px);
    margin: 0 auto;
    border: 5px solid #CAB363;
    padding: max(4vw, 40px) 0;
}

@media screen and (max-width: 600px) {
    #contact_form,
    #contact_form_bottom {
        width: 94%;
    }
}

#form_page_1,
#form_page_bottom_1 {
    display: none;
}

#form_page_1.show,
#form_page_bottom_1.show {
    display: block;
    animation: fadeIn 0.5s ease forwards;
}

#form_page_1 .form_step_item:nth-child(1) .form_step_txt,
#form_page_bottom_1 .form_step_item:nth-child(1) .form_step_txt {
    color: #CAB363;
}

#form_page_1 .form_step_item:nth-child(1) .form_step_circle,
#form_page_bottom_1 .form_step_item:nth-child(1) .form_step_circle {
    background-color: #CAB363;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#form_page_2,
#form_page_bottom_2 {
    display: none;
}

#form_page_2.show,
#form_page_bottom_2.show {
    display: block;
    animation: fadeIn 0.5s ease forwards;
}

#form_page_2 .form_step_item:nth-child(1) .form_step_txt,
#form_page_bottom_2 .form_step_item:nth-child(1) .form_step_txt {
    color: #CAB363;
}

#form_page_2 .form_step_item:nth-child(1) .form_step_circle,
#form_page_bottom_2 .form_step_item:nth-child(1) .form_step_circle {
    background-color: #CAB363;
}

#form_page_2 .form_step_item:nth-child(1) .form_step_circle::after,
#form_page_bottom_2 .form_step_item:nth-child(1) .form_step_circle::after {
    background-color: #CAB363;
}

#form_page_2 .form_step_item:nth-child(2) .form_step_txt,
#form_page_bottom_2 .form_step_item:nth-child(2) .form_step_txt {
    color: #CAB363;
}

#form_page_2 .form_step_item:nth-child(2) .form_step_circle,
#form_page_bottom_2 .form_step_item:nth-child(2) .form_step_circle {
    background-color: #CAB363;
}

#form_page_3,
#form_page_bottom_3 {
    display: none;
}

#form_page_3.show,
#form_page_bottom_3.show {
    display: block;
    animation: fadeIn 0.5s ease forwards;
}

#form_page_3 .form_step_item:nth-child(1) .form_step_txt,
#form_page_3 .form_step_item:nth-child(2) .form_step_txt,
#form_page_bottom_3 .form_step_item:nth-child(1) .form_step_txt,
#form_page_bottom_3 .form_step_item:nth-child(2) .form_step_txt {
    color: #CAB363;
}

#form_page_3 .form_step_item:nth-child(1) .form_step_circle,
#form_page_3 .form_step_item:nth-child(2) .form_step_circle,
#form_page_bottom_3 .form_step_item:nth-child(1) .form_step_circle,
#form_page_bottom_3 .form_step_item:nth-child(2) .form_step_circle {
    background-color: #CAB363;
}

#form_page_3 .form_step_item:nth-child(1) .form_step_circle::after,
#form_page_3 .form_step_item:nth-child(2) .form_step_circle::after,
#form_page_bottom_3 .form_step_item:nth-child(1) .form_step_circle::after,
#form_page_bottom_3 .form_step_item:nth-child(2) .form_step_circle::after {
    background-color: #CAB363;
}

#form_page_3 .form_step_item:nth-child(3) .form_step_txt,
#form_page_bottom_3 .form_step_item:nth-child(3) .form_step_txt {
    color: #CAB363;
}

#form_page_3 .form_step_item:nth-child(3) .form_step_circle,
#form_page_bottom_3 .form_step_item:nth-child(3) .form_step_circle {
    background-color: #CAB363;
}

#form_page_4,
#form_page_bottom_4 {
    display: none;
}

#form_page_4.show,
#form_page_bottom_4.show {
    display: block;
    animation: fadeIn 0.5s ease forwards;
}

#form_page_4 .form_step_item .form_step_txt,
#form_page_bottom_4 .form_step_item .form_step_txt {
    color: #CAB363;
}

#form_page_4 .form_step_item .form_step_circle,
#form_page_bottom_4 .form_step_item .form_step_circle {
    background-color: #CAB363;
}

#form_page_4 .form_step_item .form_step_circle::after,
#form_page_bottom_4 .form_step_item .form_step_circle::after {
    background-color: #CAB363;
}

.form_step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: max(6vw, 60px);
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto max(4.2vw, 42px);
}

@media screen and (max-width: 600px) {
    .form_step {
        gap: 16px;
    }
}

.form_step_item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form_step_txt {
    font-size: 18px;
    font-weight: 700;
    color: #E4D9B1;
}

@media screen and (max-width: 600px) {
    .form_step_txt {
        font-size: 15px;
    }
}

.form_step_circle {
    display: block;
    width: max(1.8vw, 18px);
    height: max(1.8vw, 18px);
    border-radius: 100%;
    background-color: #E4D9B1;
    position: relative;
}

.form_step_circle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: max(1.78vw, 17.8px);
    transform: translateY(-50%);
    width: 9vw;
    height: 2px;
    background-color: #E4D9B1;
}

@media screen and (max-width: 1200px) {
    .form_step_circle::after {
        width: max(10vw, 100px);
    }
}

@media screen and (max-width: 600px) {
    .form_step_circle::after {
        width: 60px;
    }
}

.form_step_item:last-child .form_step_circle::after {
    display: none;
}

.form_list {
    width: max(34vw, 340px);
    margin: 0 auto;
}

@media screen and (max-width: 460px) {
    .form_list {
        width: 280px;
    }
}

@media screen and (max-width: 350px) {
    .form_list {
        width: 240px;
    }
}

.form_title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: max(1.2vw, 12px);
    margin-bottom: max(3.6vw, 36px);
}

@media screen and (max-width: 600px) {
    .form_title {
        gap: 8px;
        margin-bottom: 20px;
    }
}

.form_list {
    margin-bottom: max(3.6vw, 36px);
}

.form_title p {
    font-size: max(1.4vw, 17px);
    font-weight: 700;
    width: -moz-fit-content;
    width: fit-content;
}

.form_required_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: max(1.2vw, 14px);
    font-weight: 700;
    color: #FFF;
    width: max(4.6vw, 46px);
    height: max(2vw, 20px);
    background-color: #D91F44;
    border-radius: max(0.4vw, 4px);
}

.form_any_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: max(1.2vw, 14px);
    font-weight: 700;
    color: #FFF;
    width: max(4.6vw, 46px);
    height: max(2vw, 20px);
    background-color: #AAA6A6;
    border-radius: max(0.4vw, 4px);
}

.form_input textarea {
    width: 100%;
    border: 1px solid #AAA6A6;
    background-color: rgba(213, 213, 213, 0.69);
    padding: 8px;
    font-size: max(1.4vw, 16px);
}

.form_input .form_input_textarea {
    pointer-events: none;
    background-color: #D5D5D5;
}

.form_input .form_input_textarea.active {
    pointer-events: auto;
    background-color: rgba(213, 213, 213, 0.69);
}

.form_input_item {
    display: flex;
    flex-direction: column;
    margin-bottom: max(1.2vw, 12px);
}

.form_input_item:last-child {
    margin-bottom: 0;
}

.form_input_item span {
    display: block;
    font-size: max(1.4vw, 16px);
    font-weight: 700;
    margin-bottom: 6px;
}

.form_input_item input {
    padding: 8px;
    font-size: max(1.4vw, 16px);
    background-color: rgba(213, 213, 213, 0.69);
    line-height: 1.4;
    width: 100%;
}

.form_btn {
    position: relative;
    width: 100%;
}

.form_btn_prev {
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 4vw;
    transform: translateY(-50%);
    border-bottom: 1.6px solid #CAB363;
    transition: all 0.3s;
}

@media screen and (max-width: 375px) {
    .form_btn_prev {
        left: 3vw;
    }
}

.form_btn_prev:hover {
    opacity: 0.6;
}

.form_btn_prev span {
    color: #CAB363;
}

.form_btn_next {
    width: 220px;
    height: 60px;
    border-radius: 4px;
    position: relative;
    z-index: 1;
    cursor: pointer;
    margin: 0 auto;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    color: #FFF;
    font-weight: 700;
}

@media screen and (max-width: 1400px) {
    .form_btn_next {
        font-size: 18px;
    }
}

@media screen and (max-width: 600px) {
    .form_btn_next {
        width: 180px;
        height: 52px;
        font-size: 17px;
    }
}

@media screen and (max-width: 375px) {
    .form_btn_next {
        width: 150px;
        font-size: 16px;
    }
}

.form_btn_next::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 4px;
    left: 0;
    background-color: #9C0826;
    border-radius: 4px;
    z-index: -1;
}

.form_btn_next:hover {
    top: 4px;
}

.form_btn_next:hover::after {
    top: 0;
}

.form_btn_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #D91F44;
    border-radius: 4px;
    cursor: pointer;
}

.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
    width: 16px !important;
    height: 16px !important;
}

.wpcf7-list-item {
    width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wpcf7-list-item .ui-checkboxradio-label {
    text-align: left !important;
    width: 100% !important;
    padding: 1.4vw 2vw !important;
    border-radius: 0 !important;
    background: #FFF !important;
    color: #333335 !important;
}

@media screen and (max-width: 1000px) {
    .wpcf7-list-item .ui-checkboxradio-label {
        padding: 14px 20px !important;
    }
}

.wpcf7-list-item .ui-checkboxradio-checked.ui-state-active {
    background: #CAB363 !important;
}

.ui-checkboxradio-checked.ui-state-active .ui-icon-background {
    background-color: #CAB363 !important;
    border: 4px solid #FFF !important;
}

.ui-state-active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid #CAB363 !important;
    box-shadow: none !important;
}

.wpcf7 br {
    display: none !important;
}

.wpcf7-list-item-label {
    font-size: 24px;
}

@media screen and (max-width: 1400px) {
    .wpcf7-list-item-label {
        font-size: 20px;
    }
}

@media screen and (max-width: 600px) {
    .wpcf7-list-item-label {
        font-size: 18px;
    }
}


/*--------------- video ---------------*/

.video {
    padding: 8vw 0;
}

@media screen and (max-width: 1000px) {
    .video {
        padding: 80px 0;
    }
}

.video_wrapper {
    position: relative;
    width: 70vw;
    margin: 0 auto;
}

@media screen and (max-width: 460px) {
    .video_wrapper {
        width: 88%;
    }
}

.swiper-slide {
    padding: 0 2.4vw;
}

.swiper_content {
    position: relative;
}

.swiper-button-prev {
    position: absolute;
    display: block !important;
}

.swiper-button-prev::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -24px !important;
    width: max(2.8vw, 30px) !important;
    height: max(2.8vw, 30px) !important;
    background-image: url(../img/prev_btn.webp);
    background-size: 100% 100% !important;
    background-repeat: no-repeat;
}

@media screen and (max-width: 800px) {
    .swiper-button-prev::after {
        left: -32px !important;
    }
}

@media screen and (max-width: 460px) {
    .swiper-button-prev::after {
        left: -20px !important;
    }
}

.swiper-button-next {
    position: absolute;
    display: block !important;
}

.swiper-button-next::after {
    content: "" !important;
    position: absolute !important;
    right: -24px !important;
    display: block !important;
    width: max(2.8vw, 30px) !important;
    height: max(2.8vw, 30px) !important;
    background-image: url(../img/next_btn.webp);
    background-size: 100% 100% !important;
    background-repeat: no-repeat;
}

@media screen and (max-width: 800px) {
    .swiper-button-next::after {
        right: -32px !important;
    }
}

@media screen and (max-width: 460px) {
    .swiper-button-next::after {
        right: -20px !important;
    }
}

.slick-prev,
.slick-next {
    width: 30px !important;
    height: 30px !important;
}

.slick-prev:before,
.slick-next:before {
    font-size: 30px !important;
    color: #CAB363 !important;
}

.swiper-slide iframe {
    width: 100%;
}


/*--------------- message ---------------*/

.message {
    padding: 8vw 0;
    background-color: #F4F4F6;
}

@media screen and (max-width: 1000px) {
    .message {
        padding: 80px 0;
    }
}

.message_heading {
    margin-bottom: max(4vw, 40px);
}

.message_heading h3 {
    font-size: max(2.4vw, 28px);
    font-weight: 700;
    border-bottom: 2.6px solid #C1052B;
    color: #C1052B;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 2px;
}

.message_heading span {
    display: block;
    font-family: "Noto Serif JP", serif;
    font-size: max(1.3vw, 16px);
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

.message_wrapper {
    width: 70vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 28vw 1fr;
    align-items: center;
    gap: max(4vw, 40px);
}

@media screen and (max-width: 1400px) {
    .message_wrapper {
        width: 78vw;
    }
}

@media screen and (max-width: 1200px) {
    .message_wrapper {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    .message_wrapper {
        width: 92%;
    }
}

@media screen and (max-width: 1200px) {
    .message_wrapper img {
        max-width: 480px;
        margin: 0 auto;
    }
}

.message_txt span {
    display: block;
    font-size: max(1.6vw, 18px);
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1.6vw;
    font-weight: 700;
}

@media screen and (max-width: 1000px) {
    .message_txt span {
        margin: 0 auto 16px;
    }
}

@media screen and (max-width: 600px) {
    .message_txt span {
        text-align: center;
        line-height: 1.6;
    }
}

.message_txt p {
    font-size: max(1.3vw, 16px);
    line-height: 1.8;
}

@media screen and (max-width: 600px) {
    .message_txt p {
        text-align: justify;
    }
}


/*--------------- benefit ---------------*/

.benefit {
    padding: 8vw 0;
}

@media screen and (max-width: 1000px) {
    .benefit {
        padding: 80px 0;
    }
}

.benefit_heading {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto max(4vw, 40px);
}

.benefit_heading h3 {
    font-size: max(2vw, 22px);
    color: #CAB363;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 700;
}

.benefit_wrapper {
    width: 70vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 28vw;
    align-items: center;
    gap: max(4vw, 40px);
}

@media screen and (max-width: 1400px) {
    .benefit_wrapper {
        width: 78vw;
    }
}

@media screen and (max-width: 1200px) {
    .benefit_wrapper {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    .benefit_wrapper {
        width: 92%;
    }
}

@media screen and (max-width: 1200px) {
    .benefit_wrapper img {
        max-width: 480px;
        margin: 0 auto;
        order: -2;
    }
}

.benefit_txt span {
    display: block;
    font-size: max(1.6vw, 18px);
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1.6vw;
    font-weight: 700;
}

@media screen and (max-width: 1000px) {
    .benefit_txt span {
        margin: 0 auto 16px;
    }
}

@media screen and (max-width: 600px) {
    .benefit_txt span {
        text-align: center;
        line-height: 1.6;
    }
}

.benefit_txt p {
    font-size: max(1.3vw, 16px);
    line-height: 1.8;
}

@media screen and (max-width: 600px) {
    .benefit_txt p {
        text-align: justify;
    }
}


/*--------------- recruit ---------------*/

.recruit {
    padding: 8vw 0;
    background-color: #F4F4F6;
}

@media screen and (max-width: 1000px) {
    .recruit {
        padding: 80px 0;
    }
}

.recruit_heading {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto max(4vw, 40px);
}

.recruit_heading h3 {
    font-size: max(2vw, 22px);
    color: #C1052B;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 700;
}

.recruit_wrapper {
    width: 70vw;
    margin: 0 auto;
}

@media screen and (max-width: 1400px) {
    .recruit_wrapper {
        width: 78vw;
    }
}

@media screen and (max-width: 600px) {
    .recruit_wrapper {
        width: 92%;
    }
}

.recruit_title {
    padding: 24px 12px;
    border-top: 1.6px solid #ccc;
    border-bottom: 1.6px solid #ccc;
}

.recruit_title h4 {
    font-weight: 700;
    font-size: 24px;
}

@media screen and (max-width: 1400px) {
    .recruit_title h4 {
        font-size: 20px;
    }
}

@media screen and (max-width: 1000px) {
    .recruit_title h4 {
        font-size: 18px;
    }
}

.recruit_list {
    margin-bottom: 40px;
}

.recruit_item {
    display: grid;
    grid-template-columns: 240px 1fr;
    align-items: center;
    padding: 32px 12px;
    border-bottom: 1.6px solid #ccc;
}

@media screen and (max-width: 1000px) {
    .recruit_item {
        grid-template-columns: 1fr;
    }
}

.recruit_item_title {
    font-weight: 700;
    line-height: 1.5;
}

@media screen and (max-width: 1000px) {
    .recruit_item_title {
        margin-bottom: 16px;
    }
}

.recruit_item_txt {
    line-height: 1.5;
}

.recruit_item_txt .bold_txt {
    font-weight: 700;
}

.recruit_item_txt .border_txt {
    border-bottom: 1.6px solid #333;
}

.recruit_item_txt a {
    -webkit-text-decoration: 1.6px solid #333;
    text-decoration: 1.6px solid #333;
    transition: all 0.3s;
    cursor: pointer;
}

.recruit_item_txt a:hover {
    opacity: 0.6;
}

.recruit_bottom {
    display: block;
    color: #fff;
    background-color: #C1052B;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 700;
    font-size: 22px;
    padding: 12px 28px 14px;
    margin: 0 auto;
    transition: all 0.3s;
}

.recruit_bottom:hover {
    opacity: 0.6;
}


/*--------------- low ---------------*/

.low_wrapper {
    text-align: center;
    padding: 4.2vw 0;
    border-top: 1.6px solid #AAA6A6;
}

@media screen and (max-width: 1000px) {
    .low_wrapper {
        padding: 42px 0;
    }
}

.low_wrapper a {
    font-size: 16px;
    text-decoration: underline;
    transition: all 0.3s;
}

@media screen and (max-width: 600px) {
    .low_wrapper a {
        font-size: 14px;
    }
}

.low_wrapper a:hover {
    opacity: 0.6;
}


/*--------------- footer ---------------*/

.footer_wrapper {
    justify-items: center;
    padding: 1.8vw 0;
    border-top: 1.6px solid #AAA6A6;
}

@media screen and (max-width: 1000px) {
    .footer_wrapper {
        padding: 18px 0;
    }
}

.footer_wrapper small {
    font-size: 16px;
}

@media screen and (max-width: 600px) {
    .footer_wrapper small {
        font-size: 14px;
    }
}


/*--------------- thanks ---------------*/

.thanks_wrapper {
    padding: 6vw 0;
}

@media screen and (max-width: 1000px) {
    .thanks_wrapper {
        padding: 60px 0;
    }
}

.thanks h3 {
    font-size: max(2vw, 26px);
    font-weight: 700;
    color: #CAB363;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 4vw;
}

@media screen and (max-width: 1000px) {
    .thanks h3 {
        margin: 0 auto 40px;
    }
}

@media screen and (max-width: 600px) {
    .thanks h3 {
        font-size: 24px;
    }
}

.thanks p {
    font-size: max(1.4vw, 16px);
    font-weight: 400;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 6.4vw;
    text-align: center;
    line-height: 2;
}

@media screen and (max-width: 1000px) {
    .thanks p {
        margin: 0 auto 64px;
    }
}

.thanks a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: max(1.4vw, 16px);
    border-bottom: 1.6px solid #CAB363;
    color: #CAB363;
    margin: 0 auto;
    transition: all 0.3s;
}

.thanks a:hover {
    opacity: 0.6;
}


/*# sourceMappingURL=index.css.map */
