/*======================
========================

    common

========================
=======================*/
/* ブレイクポイント　960px 640px */

* {
    font-family: Noto Sans JP;
    box-sizing: border-box;
}

html {
    scroll-padding-top: 100px;
}

@media only screen and (max-width: 840px) {
    html {
        scroll-padding-top: 60px;
    }
}

img {
    width: 100%;
}

a {
    cursor: pointer;
}

video {
    width: 100%;
}
.sp_br {
    display: none;
}

@media only screen and (max-width: 640px) {
    .sp_br {
        display: block;
    }
}

@media only screen and (max-width: 640px) {
    .pc_br {
        display: none;
    }
}

/**
main {
    margin-top: -32px;
}
**/

/**
.common_wrap {
    padding: 0px 50px;
}
**/
@media only screen and (max-width: 1080px) {
    .common_wrap {
        padding: 0px 16px;
    }
}

.common_inner {
    max-width: 1440px;
    margin: 0 auto;
}

@media only screen and (max-width: 1080px) {
    .common_inner {
        width: 100%;
    }
}

.common_inner_2 {
    max-width: 1100px;
    margin: 0 auto;
}


.common_content_inner {
    padding: 0px 166px 0px 170px;
}

@media only screen and (max-width: 960px) {
    .common_content_inner {
        padding: 80px;
    }
}

@media only screen and (max-width: 640px) {
    .common_content_inner {
        padding: 0px;
    }
}

.common_title_wh {
    color:#FFF;
    display: flex;
    flex-direction: column;
}

.common_title_ja {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    line-height: 180%; /* 43.2px */
    letter-spacing: 1.2px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
    margin-left: 36px;
    margin-bottom: 24px;
}

@media only screen and (max-width: 640px) {
    .common_title_ja {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.8px;
        margin-left: 24px;
        margin-bottom: 4px;
    }
}

.common_title_ja:before {
    content: "";
    position: absolute;
    top: 12px;
    left: -24px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #028583;
    border-radius: 50%;
    width: 20px;
    height: 20px;
}

@media only screen and (max-width: 640px) {
    .common_title_ja:before {
        top: 6px;
        left: -16px;
        width: 16px;
        height: 16px;
    }
}

.common_title_en {
    font-family: Outfit;
    font-size: 80px;
    font-weight: 600;
    line-height: 100%; /* 80px */
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
}

@media only screen and (max-width: 640px) {
    .common_title_en {
        font-size: 52px;
    }

}

.common_title_bk {
    color: #282828;
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .common_title_bk {
        margin-bottom: 40px;
    }
}


.common_title_bk_ja {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    font-feature-settings: 'palt' on;
    line-height: 180%; /* 43.2px */
    letter-spacing: 1.2px;
    margin-left: 36px;
}

@media only screen and (max-width: 640px) {
    .common_title_bk_ja {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-left: 24px;
    }
}

.common_title_bk_ja:before {
    content: "";
    position: absolute;
    top: 12px;
    left: -24px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #028583;
    border-radius: 50%;
    width: 20px;
    height: 20px;
}

@media only screen and (max-width: 640px) {
    .common_title_bk_ja:before {
        top: 6px;
        left: -16px;
        width: 16px;
        height: 16px;
    }
}

.common_title_bk_en {
    font-family: Outfit;
    font-size: 80px;
    font-weight: 600;
    line-height: 100%;
    color: #008482;
}

@media only screen and (max-width: 640px) {
    .common_title_bk_en {
        font-size: 52px;
    }
}

/* recruit_complete（予約完了ページ）のタイトルを中央寄せ */
.contact_input_title_block .common_title_bk {
    align-items: center;
    text-align: center;
    gap: 60px;
    margin-bottom: 24px;
}

.contact_input_title_block .common_title_bk_en {
    font-size: 64px;
}

.contact_input_title_block .common_title_bk_ja {
    margin-left: 0;
}

.contact_input_title_block .common_title_bk_ja:before {
    display: none;
}

@media only screen and (max-width: 640px) {
    .contact_input_title_block .common_title_bk {
        gap: 8px;
        margin-bottom: 32px;
    }

    .contact_input_title_block .common_title_bk_en {
        font-size: 40px;
    }
}

.sp_common_arrow_forward {
    display: flex;
    align-items: center;
}

.sp_common_arrow_forward_inner {
    width: 24px;
    height: 24px;
    margin-left: 20px;
    border-radius: 50%;
    background-color: #28C86E;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sp_common_arrow_forward_img {
    width: 16px;
}

.news_detail_main_block .page_wrap {
    margin-top: 80px;
}

.news_detail_main_block .common_gray_btn_wrap {
    width: 212px;
    height: 80px;
    padding: 0px 24px 0px 36px;
}

.news_detail_main_block .page_list_1 .common_gray_btn_wrap {
    width: 228px;
    height: 64px;
    padding: 0px 16px 0px 36px;
}

.news_detail_main_block .common_gray_btn_icon_inner {
    padding: 8px;
    margin-left: 24px;
}

.news_detail_main_block .page_list_1 .common_gray_btn_icon_inner {
    padding: 12px;
    margin-left: 40px;
}

.news_detail_main_block .common_gray_btn_text {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}
/***===   button   ===***/

.join_cta {
    background-color: #282828;
    border-radius: 999px;
}

@media only screen and (max-width: 640px) {
    .join_cta {
        margin: 5px 0px;
    }
}

.join_cta_wrap {
    padding: 8px 20px 8px 32px;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .join_cta_wrap {
        padding: 4px 16px;
    }
}


.join_cta_text_box {
    color: #FFF;
}

.join_cta_text_ja {
    font-weight: 700;
    margin-bottom: 4px;
}

@media only screen and (max-width: 640px) {
    .join_cta_text_ja {
        font-size: 12px;
        font-weight: 700;
        margin-bottom: 4px;
    }
}

.join_cta_text_en {
    font-size: 15px;
    font-weight: 500;
}

@media only screen and (max-width: 640px) {
    .join_cta_text_en {
        font-size: 10px;
    }
}

.join_cta_icon {
    display: flex;
    align-items: center;
}

.join_cta_icon_inner {
    width: 24px;
    height: 24px;
    padding: 4px;
    margin-left: 20px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
}



.recruit_cta {
    background: linear-gradient(275.61deg, #28C86E 7.59%, #008482 94.21%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 999px;
}

@media only screen and (max-width: 640px) {
    .recruit_cta {
        margin: 5px 0px;
    }
}

.recruit_cta_wrap {
    padding: 8px 24px 8px 40px;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .recruit_cta_wrap {
        padding: 4px 16px;
    }
}


.recruit_cta_text_box {
    color: #FFF;
}

.recruit_cta_text_main {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 4px;
}

@media only screen and (max-width: 640px) {
    .recruit_cta_text_main {
        font-size: 12px;
        font-weight: 500;
        margin-bottom: 4px;
    }
}

.recruit_cta_text_sub {
    font-size: 14px;
    font-weight: 500;
}

@media only screen and (max-width: 640px) {
    .recruit_cta_text_sub {
        font-size: 10px;
    }
}

.recruit_cta_icon {
    display: flex;
    align-items: center;
}

.recruit_cta_icon_inner {
    width: 24px;
    height: 24px;
    padding: 4px;
    margin-left: 20px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
}



.common_white_btn {
    background-color: #fff;
    border-radius: 999px;
}

.common_white_btn_wrap {
    padding: 12px 12px 12px 40px;
    display: flex;
    align-items: center;
}

.common_white_btn_text {
    color: #282828;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 18px */
    letter-spacing: 0.9px;
    font-feature-settings: 'palt' on;
}

@media only screen and (max-width: 640px) {
    .common_white_btn_text {
        font-size: 16px;
        letter-spacing: 0.8px;
    }
}

.common_white_btn_icon {
    display: flex;
    align-items: center;
}

.common_white_btn_icon_inner {
    padding: 16px;
    margin-left: 40px;
    border-radius: 50%;
    background-color: #28C86E;
}

@media only screen and (max-width: 640px) {
    .common_white_btn_icon_inner {
        margin-left: 32px;
    }
}

.common_gray_btn {
    background-color: #F5F6F8;
    border-radius: 999px;
}

.common_black_btn {
    background-color: #282828;
    border-radius: 999px; 
}

.common_gray_btn_wrap ,.common_black_btn_wrap {
    padding: 12px 12px 12px 36px;
    display: flex;
    align-items: center;
}

.news_btn_block_inner .common_gray_btn_wrap {
    padding: 12px 12px 12px 36px;
    justify-content: space-around;
}

.common_gray_btn_text {
    color: #282828;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
}

@media only screen and (max-width: 640px) {
    .common_gray_btn_text ,.common_black_btn_text {
        font-size: 16px;
        letter-spacing: 0.8px;
    }
}

.common_black_btn_text {
    color: #ffffff; 
    font-weight: 700;
}

.common_gray_btn_icon ,.common_black_btn_icon {
    display: flex;
    align-items: center;
}

.common_gray_btn_icon_inner ,.common_black_btn_icon_inner {
    padding: 16px;
    margin-left: 32px;
    border-radius: 50%;
    background-color: #28C86E;
}

@media only screen and (max-width: 640px) {
    .common_gray_btn_icon_inner ,.common_black_btn_icon_inner {
        padding: 12px;
    }
}

.common_gray_btn_icon_img ,.common_black_btn_icon_img {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
}


.common_control_btn_icon {
    display: flex;
    align-items: center;
}

.common_control_btn_icon_inner {
    padding: 16px;
    border-radius: 50%;
    background-color: #fff;
}

@media only screen and (max-width: 640px) {
    .common_control_btn_icon_inner {
        padding: 12px;
    }
}

@media only screen and (max-width: 640px) {
    .common_control_btn_icon_img {
        width: 16px;
    }
}

.common_hiring_block {
    max-width: 1100px;
    height: 520px;
}

@media only screen and (max-width: 800px) {
    .common_hiring_block {
        width: 100%;
        height: 240px;
    }
}

.common_hiring_block_inner {
    height: 100%;
    padding: 312px 0px 0px 80px;
    background-image: linear-gradient(rgba(0,0,0,0.20),rgba(0,0,0,0.20)),url(../images/common/common_hiring.png);
    background-position: center center;
    background-size: cover;
    border-radius: 16px;
    border-radius: 16px;
    color: #FFF;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
    font-weight: 700;
    line-height: 100%;
}

@media only screen and (max-width: 800px) {
    .common_hiring_block_inner {
        padding: 120px 40px 32px 20px;
    }
}

.common_hiring_block_title {
    font-size: 80px;
    font-family: Outfit;
    margin-bottom: 48px;
}

@media only screen and (max-width: 800px) {
    .common_hiring_block_title {
        font-size: 40px;
        margin-bottom: 24px;
    }
}

.common_hiring_block_text {
    font-feature-settings: 'palt' on;
    font-size: 16px;
    letter-spacing: 0.64px;
}

@media only screen and (max-width: 800px) {
    .common_hiring_block_text {
        font-size: 14px;
        line-height: 150%; /* 21px */
        letter-spacing: 0.56px;
    }
}

.common_status_list {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}

@media only screen and (max-width: 800px) {
    .common_status_list {
        margin-bottom: 48px;
    }
}

.common_status_item {
    width: 100px;
    height: 100px;
    color: #008482;
    border: 1px solid #008482;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin-right: 32px;
}

@media only screen and (max-width: 640px) {
    .common_status_item {
        width: 80px;
        height: 80px;
        margin-right: 24px;
        font-size: 16px;
    }
}


.common_status_item:last-child {
    margin-right: 0px;
}

.common_status_item.active {
    background-color: #008482;
    color: #FFF;
    border: none;
}

.common_status_item_arrow {
    display: flex;
    align-items: center;
    margin-right: 32px;
}

@media only screen and (max-width: 640px) {
    .common_status_item_arrow {
        margin-right: 24px;
    }
}

.common_status_text {
    color: #282828;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 200%; /* 32px */
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .common_status_text {
        margin-bottom: 48px;
    }
}



.inquiry_type_box {
    position: relative;
}

.inquiry_type_box .common_form_text_box {
    align-items: center;
    padding: 24px;
    cursor: pointer;
    background-image: none;
    outline: none;
    appearance: none;
}

.inquiry_type_box::after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(../images/common/arrow_drop_down.svg);
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 28px;
    right: 24px;
}

.privacy_text {
    color: #282828;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
}

.policy_link {
    text-decoration-line: underline;
}

.policy_accept {
    background-image: url(../images/common/check_box.svg);
}

/***===   form   ===***/

.common_form_block_inner {
    width: 100%;
}

.common_form_text_box {
    display: flex;
    width: 100%;
    height: 80px;
    padding: 34px 24px;
    align-items: flex-start;
    border-radius: 8px;
    background: #F5F6F8;
    border: none;
    color: #6a6a6a;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
}

@media only screen and (max-width: 640px) {
    .common_form_text_box {
        height: 60px;
    }    
}

.common_form_box {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .common_form_box {
        margin-bottom: 32px;
    } 
}

.common_form_box_title {
    margin-bottom: 16px;
}

.common_form_box_title_text ,.common_form_box_title_text_no-mark {
    color: #282828;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}

.common_form_box_title_text::after {
    content: "*";
    color: #E12850;
}

.common_form_text_area {
    display: flex;
    width: 100%;
    height: 400px;
    padding: 34px 24px;
    align-items: flex-start;
    border-radius: 8px;
    background: #F5F6F8;
    color: #6a6a6a;
    border: none;
    resize: none;
}

@media only screen and (max-width: 640px) {
    .common_form_text_area {
        height: 240px;
    }
}

.common_form_text_box::placeholder ,.common_form_text_area::placeholder ,.common_form_birth_date::placeholder {
    color: #BEBEBE;
}

.common_form_privacy_box_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 64px 0px 0px 0px;
}

@media only screen and (max-width: 640px) {
    .common_form_privacy_box_inner {
        margin: 40px 0px;
    }
}

.common_form_inner {
    display: flex;
}

.common_form_birth_date {
    display: flex;
    width: 160px;
    height: 80px;
    padding: 24px;
    align-items: center;
    border-radius: 8px;
    appearance: none;
    border: none;
    color: #6a6a6a;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
    background: #f5f6f8 url(../images/recruit/form_arrow_circle.svg) no-repeat right 24px center / 24px auto;
    margin-right: 16px;
}

.common_form_birth_date:last-child {
    margin-right: 0px;
}

.wd_336 {
    width: 336px;
}

/***===   tag   ===***/
.news_content_tag {
    display: inline-block;
    border-radius: 999px;
    background: #CFE8E8;
}


.news_content_tagbox {
    display: flex;
    flex-direction: column;
    min-width: 200px;
    margin-right: 40px;
}

@media only screen and (max-width: 1100px) {
    .news_content_tagbox {
        min-width: 112px;
    }
}


@media only screen and (max-width: 640px) {
    .news_content_tagbox {
        width: 100%;
        margin-right: 0px;
    }
}


.news_content_tagbox_inner {
    display: flex;
    align-items: center;
}
@media only screen and (max-width: 1100px) {
    .news_content_tagbox_inner {
        display: block;
    }
}

@media only screen and (max-width: 640px) {
    .news_content_tagbox_inner {
        margin-bottom: 16px;
    }
}

.news_content_tag_wrap {
    padding: 4px 12px;
    display: flex;
    align-items: center;
}

.news_content_tag_inner {

}

.news_content_tag_text {
    color: #282828;
    font-size: 12px;
    font-weight: 700;
    line-height: 150%; /* 18px */
}

.common_article_title {
    border-bottom: 2px solid #028583;
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .common_article_title {
        margin-bottom: 32px;
    }
}

.common_article_title_text {
    color: #282828;
    font-size: 30px;
    font-weight: 700;
    line-height: 150%; /* 45px */
    margin-bottom: 24px;
}

@media only screen and (max-width: 640px) {
    .common_article_title_text {
        font-size: 24px;
        margin-bottom: 16px;
    }
}

.common_article_text {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    letter-spacing: 0.8px;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .common_article_text {
        margin-bottom: 32px;
        letter-spacing: 0px;
    }
}

@media only screen and (max-width: 640px) {
    .news_detail_main_block:last-child .share_block {
        padding-top: 16px;
    }
}

.common_article_image {
    height: 220px;
    background-position: 0% 5%;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 60px;
}

@media only screen and (max-width: 640px) {
    .common_article_image {
        height: 88px;
        margin-bottom: 40px;
    }
}

.common_article_list_block {
    padding: 24px 40px 40px 40px;
    border-radius: 30px;
    background: #F5F6F8;
    margin-bottom: 60px;
}

@media only screen and (max-width: 640px) {
    .common_article_list_block {
        padding: 8px 16px 24px 16px;
        margin-bottom: 40px;
    }
}

.common_article_item {
    padding: 16px 0px;
    border-bottom: 1px solid #dadada;
}

.common_article_item ,.common_article_item_text_icon {
    display: flex;
    align-items: center;
}

.common_article_item_text_icon {
    margin-right: 12px;
}


.common_article_item_text {
    color: var(--color-grey-800, #282828);


    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 16px;

    font-weight: 500;
    line-height: 200%; /* 32px */
    letter-spacing: 0.8px;
}

.common_article_title_h2 ,.common_article_title_h3 {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .common_article_title_h2 ,.common_article_title_h3 {
        margin-bottom: 32px;
    }
}

.common_article_title_h2_inner {
    display: flex;
    align-items: center;
}

.common_article_title_h2_bar {
    width: 8px;
    height: 40px;
    background: #028583;
    margin-right: 12px;
}

@media only screen and (max-width: 640px) {
    .common_article_title_h2_bar {
        width: 16px;
        height: 58px;
        margin-right: 4px;
    }

}

.common_article_title_h2_text ,.common_article_title_h3_text{
    color: #282828;
    font-size: 28px;
    font-weight: 700;
    line-height: 150%; /* 42px */
}

@media only screen and (max-width: 640px) {
    .common_article_title_h2_text ,.common_article_title_h3_text{
        font-size: 22px;
    }
}

.article_link {
    color: #28C86E;


    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 16px;

    font-weight: 700;
    line-height: 200%;
    letter-spacing: 0.8px;
    text-decoration-line: underline;
}

.news_detail_main_block .page_list {
    width: 100%;
    /**justify-content: space-between;**/
}

.news_detail_main_block .page_list_1 {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
}

.news_detail_main_block .page_list_2 {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

/* =====記事====================== */

.news_detail_editor_block h2 {
    margin-top: 60px;
    font-size: 28px;
    margin-bottom: 30px;
    border-bottom: none;
    padding-bottom: 0;
    padding-left: 25px;
    border-left: 10px solid #008482;
}

.news_detail_editor_block h3 {
    border-bottom: 2px solid #008482;
    padding-bottom: 5px;
    font-size: 24px;
    margin-top: 60px;
    margin-bottom: 30px;
}

.news_detail_editor_block h4 {
    font-size: 18px;
    margin-top: 60px;
    margin-bottom: 20px;
}

.news_detail_editor_block a {
    color: #00649E;
    text-decoration: underline;
    font-weight: 600;
}

.news_detail_editor_block p {
    font-size: 16px;
    line-height: 2;
    overflow-wrap:break-word;
    margin: 0 0 16px;
}



/***===   icon   ===***/
.common_arrow_icon {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .common_arrow_icon {
        justify-content: end;
    }
}

.common_arrow_icon_inner {
    width: 24px;
    height: 24px;
    padding: 4px;
    border-radius: 50%;
    background-color: #28C86E;
}


/***===   pagination   ===***/
.page_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 80px;
}


.page_list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.page_item_prev ,.page_item_next {
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    background: var(--color-grey-50, #F5F6F8);
}

@media only screen and (max-width: 640px) {
    .page_item_prev ,.page_item_next {
        width: 48px;
        height: 48px;
    }
}

.page_item_prev {
    margin-right: 20px;
}

.page_item_next {
    margin-left: 20px;
}

.page_item_prev a img ,.page_item_next a img{
    width: 32px;
    height: 32px;
}

@media only screen and (max-width: 640px) {
    .page_item_prev a img ,.page_item_next a img{
        width: 20px;
        height: 20px;
    }
}

.page_item {
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #28C86E;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}

@media only screen and (max-width: 640px) {
    .page_item {
        width: 40px;
        height: 40px;
    }
}

.page_list .dot {
    width: 64px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #282828;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}

.page_item.active {
    color: #282828;
    border-radius: 999px;
    background: #F5F6F8;
}

@media only screen and (max-width: 640px) {
    .page_item_sp_none ,.page_list .dot {
        display: none;
    }
}

.dot_sp {
    display: none;
}

@media only screen and (max-width: 640px) {
    .dot_sp {
        display: block;
        display: flex;
        width: 40px;
        height: 40px;
        justify-content: center;
        align-items: center;
        color: #282828;
        text-align: center;
        font-family: Outfit;
        font-size: 16px;
        font-weight: 700;
        line-height: 150%; /* 24px */
        font-feature-settings: 'palt' on;
    }
}

/***===   form   ===***/
.common_form_block .error-message {
    display: none;
    margin-top: 8px;
    width: 100%;
    font-family: 'Noto Sans JP';
    letter-spacing: 0;
    color: #FA505A;
    font-size: 12px;
}


/**===============================
    header
===============================**/



/***===   pc_header   ===***/
.pc_header {
    position: fixed;
    width: 100%;
    height: 100px;
    text-align: center;
    font-size: 16px;
    line-height: 150%;
    margin: 0px auto;
    background: var(--white, #FFF);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.04);
    z-index: 50;
}

@media only screen and (max-width: 840px) {
    .pc_header {
        display: none;
    }
}

.pc_header_logo {
    width: 180px;
    margin: 0px 80px 0 0;
}

@media only screen and (max-width: 1280px) {
    .pc_header_logo {
        width: 120px;
        margin: 0px 32px 0 0;
    }
}

.pc_header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 40px;
}

.pc_header_menu ,.pc_header_menu_list {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 1080px) {
    .pc_header_menu_list {
        display: none;
    }
}

.pc_header_menu_item {
    margin: 0 32px 0 0;
}

.pc_header_menu_item:last-child {
    margin: 0;
}

@media only screen and (max-width: 1360px) {
    .pc_header_menu_item {
        margin: 0 16px 0 0;
    } 
}

.pc_header_menu_item_ja {
    font-size: 16px;
    margin-bottom: 4px;
    color: #282828;
    font-weight: 700;
}

.pc_header_menu_item_en {
    color: #28C86E;
    font-size: 15px;
    font-weight: 500;
}


.pc_header_menu_item_ja .pc_header_menu_item_en {
    display: flex;
    justify-content: center;
}



/***===   sp_header   ===***/
.sp_header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0px;
}

.sp_header_logo {
    width:120px;
}

.sp_header_cta_block_inner {
    display: flex;
    text-align: center;
    align-items: center;
}

/***===   ハンバーガーメニュー   ===***/

.hb_menu_wrap {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    z-index: 1001;
    background-color: #FFF;
    padding: 30px 15px;
    height: calc(100vh - 60px);
    overflow-y: scroll;
}


.hb_menu_inner {
    padding: 0px 16px;
}

.hb_menu_list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid #F5F6F8;
    border-radius: 1px;
    padding: 24px 0px;
}




.hb_menu_list a:first-child {
    padding: 48px 0px 24px 0px;
}


.hb_menu_text {
    display: flex;
}

.sp_hb_menu_item_ja {
    color: #282828;
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
}

.sp_hb_menu_item_en {
    color: #28C86E;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
    margin-left: 16px;
    display: flex;
    flex-direction: column-reverse;
}

  .sp_header {
    display: none;
    width: 100%;
    height: 60px;
    background-color: #FFF;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
  }

  @media only screen and (max-width: 840px) {
    .sp_header {
      display: block;
    }
  }

  .sp_header .sp_header_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 60px;
    width: 100%;
  }

  .sp_header .sp_header_content .sp_header_logo {
    width: 130px;
  }

  .sp_header .sp_header_content .sp_header_logo img {
    width: 100%;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn {
    width: 48px;
    height: 40px;
    background-color: #229C9A;
    border-radius: 20px;
    position: relative;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    position: absolute;
    height: 1px;
    background-color: #FFF;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn span:nth-of-type(1n) {
    left: 12px;
    top: 16px;
    width: 24px;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn span:nth-of-type(2n) {
    left: 12px;
    top: 22px;
    width: 24px;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn.active span:nth-of-type(1n) {
    top: 13px;
    left: 12px;
    -webkit-transform: translateY(6px) rotate(-32deg);
    transform: translateY(6px) rotate(-32deg);
    width: 24px;
  }

  .sp_header .sp_header_content .sp_header_menu_btn_wrap .sp_header_menu_btn.active span:nth-of-type(2n) {
    top: 25px;
    left: 12px;
    -webkit-transform: translateY(-6px) rotate(32deg);
    transform: translateY(-6px) rotate(32deg);
    width: 24px;
  }

  .sp_header_menu {
    display: none;
    padding-top: 60px;
  }

  .sp_header_menu.active {
    display: block;
  }

  .sp_header_menu .sp_header_menu_inner {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    z-index: 1001;
    background-color: #FFF;
    padding: 30px 15px;
    height: calc(100vh - 60px);
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .sp_header_menu .sp_header_menu_inner::-webkit-scrollbar {
    display: none;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_menu_list {
    margin: 0 0 50px;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_menu_list .sp_header_menu_item .sp_header_menu_link {
    padding: 20px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #000;
    line-height: 1.5;
    border-bottom: 1px dashed #BEBEBE;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_menu_list .sp_header_menu_item .sp_header_menu_link img {
    display: block;
    width: 20px;
    margin: 0 10px 0 0;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_sns_title {
    text-align: center;
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #282828;
    line-height: 1.5;
    margin: 0 0 16px;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_sns_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_sns_list .sp_header_sns_item {
    margin: 0 10px;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_sns_list .sp_header_sns_item .sp_header_sns_link {
    display: block;
    width: 30px;
  }

  .sp_header_menu .sp_header_menu_inner .sp_header_sns_list .sp_header_sns_item .sp_header_sns_link img {
    width: 100%;
  }

/***===   recruit系ページのヘッダー切り替え   ===***/
/* header-recruit.php はメニュー項目名が長く840pxまで持たないため、
   body.recruit_page を付けて1180pxでSPヘッダーに切り替える。
   他ページのヘッダーは従来どおり840pxで切り替わる。 */
@media only screen and (max-width: 1180px) {
    .recruit_page .pc_header {
        display: none;
    }

    .recruit_page .sp_header {
        display: block;
    }

    /* .common_wrap の左右paddingは1080px以下で効くため、
       1081〜1180pxではヘッダーの左右余白がなくなる。ヘッダー内だけ補う。 */
    .recruit_page .sp_header .common_wrap {
        padding: 0px 16px;
    }

    .recruit_page .main_content {
        padding-top: 60px;
    }

    html:has(.recruit_page) {
        scroll-padding-top: 60px;
    }
}

.openbtn1 {
    position: relative;
    cursor: pointer;
    width: 50px;
    height:50px;
    border-radius: 5px;
    /**border: 1px solid #bebebe;**/
}


.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    width: 24px;
    height: 2px;
}

.openbtn1 span:nth-of-type(1) {
top:15px;
}

.openbtn1 span:nth-of-type(2) {
top:23px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 12px;
    left: 13px;
    transform: translateY(6px) rotate(-32deg);
    width: 24px;
}

.openbtn1.active span:nth-of-type(2) {
    top: 24px;
    left: 14px;
    transform: translateY(-6px) rotate(32deg);
    width: 24px;
}


.rotate {
    transform: rotate(180deg);
}



.hb_menu_btn {
    background-color: #28C86E;
    color: #FFF;
    border-radius: 50%;
    margin-left: 24px;
    width: 50px;
    height: 50px;
}

.hb_menu_btn .hb_menu_btn_bar span:nth-of-type(1n) {
    color: #FFF;
    left: 12px;
    top: 16px;
    width: 24px;
}

.hb_menu_btn .hb_menu_btn_bar span:nth-of-type(2n) {
    color: #FFF;
    left: 12px;
    top: 22px;
    width: 24px;
}

.hb_menu_text_box {
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 150%;
    padding: 24px 0px 0px 0px;
}

.hb_menu_text_box .hb_menu_text_open {
    display: block;
}

.hb_menu_text_box .hb_menu_text_close {
    display: none;
}

.hb_menu_text_box .hb_menu_text_close.open {
    display: block;
}

.hb_menu_text_box .hb_menu_text_open.close {
    display: none;
}

/*======================
========================

    top

========================
=======================*/
.main_content {
    padding-top: 100px;
}

@media only screen and (max-width: 640px) {
    .main_content {
        padding-top: 60px;
    }
}



/**===============================
    fv
===============================**/
.fv {
    background-color: #F5F6F8;
}

.fv_main_content_inner {
    padding: 40px 0px;
}

@media only screen and (max-width: 640px) {
    .fv_main_content_inner {
        padding: 24px 0px;
    }
}


.fv_main_content_inner_top {
    width: 100%;
    height: 318px;
    margin-bottom: 20px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.40);
}

@media only screen and (max-width: 640px) {
    .fv_main_content_inner_top {
        height: 180px;
        margin-bottom: 12px;
    }
}

.fv_main_content_inner_top_img img{
    width: 100%;
    height: 100px;
}

/* TOPのメインビジュアルのスライドここから */
/* スライドショーのコンテナ */
#sliders {
    width: 100%;
    height: 318px;
    /* コンテナの高さに合わせて調整 */
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.40);
}

@media only screen and (max-width: 640px) {
    #sliders {
        height: 180px;
    }
}

#sliders::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.48);
    z-index: 1;
}



/* スライドのアニメーション */
@keyframes slideImageTop {

    0%,
    100% {
        transform: translateX(-100%);
        opacity: 0;
    }

    10%,
    30% {
        transform: translateX(0);
        opacity: 1;
    }

    40%,
    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

/* スライドのコンテンツ */
#sliders .slide-left-to-right {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    animation: slideImageTop 12s infinite;
    /* 各コンテンツが4秒ごとに切り替わる */
    /* 初期状態では全てのコンテンツを非表示にする */
    transform: translateX(-100%);
    opacity: 0;
}

/* コンテンツの表示調整 */
#sliders .slide-left-to-right:nth-child(1) {
    /* 最初のコンテンツのみ初期状態で表示 */
    transform: translateX(0);
    opacity: 1;
    animation-delay: 0s;
    /* 最初のコンテンツ */
}

#sliders .slide-left-to-right:nth-child(2) {
    animation-delay: 4s;
    /* 2番目のコンテンツ */
}

#sliders .slide-left-to-right:nth-child(3) {
    animation-delay: 8s;
    /* 3番目のコンテンツ */
}

/* TOPのメインビジュアルのスライドここまで */

.fv_main_content_inner_bottom {
    display: flex;
    position: relative;
}

@media only screen and (max-width: 640px) {
    .fv_main_content_inner_bottom {
        display: block;
    }
}

.fv_main_content_inner_bottom_left ,.fv_main_content_inner_bottom_right {
    width: calc((100% - 20px)/2);
    height: 331px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.40);
}

@media only screen and (max-width: 640px) {
    .fv_main_content_inner_bottom_left ,.fv_main_content_inner_bottom_right {
        width: 100%;
        height: 180px;
    }
}

.fv_main_content_inner_bottom_left {
    margin-right: 20px;
    position: relative;
}

@media only screen and (max-width: 640px) {
    .fv_main_content_inner_bottom_left {
        margin-right: 0px;
        margin-bottom: 16px;
    }
}

.fv_main_content_inner_bottom_left::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.48);
    z-index: 1;
    border-radius: 20px;
}






/*--------左下のスライドを動かすここから -----*/
/* スライドショーのコンテナ */
.image-slideshow-left {
    width: 100%;
    height: 331px;
    /* コンテナの高さに合わせて調整 */
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.40);
}

@media only screen and (max-width: 640px) {
    .image-slideshow-left {
        height: 180px;
    }
}


/* スライドのアニメーション */
@keyframes slideImageLeft {

    0%,
    100% {
        transform: translateY(-100%);
        opacity: 0;
    }

    10%,
    30% {
        transform: translateY(0);
        opacity: 1;
    }

    40%,
    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}

/* 画像のスライド */
.image-slideshow-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    animation: slideImageLeft 12s infinite;
    /* 各画像が4秒ごとに切り替わる */
    /* 初期状態では全ての画像を非表示にする */
    transform: translateY(-100%);
    opacity: 0;
}

/* 画像の表示調整 */
.image-slideshow-left img:nth-child(1) {
    /* 最初の画像のみ初期状態で表示 */
    transform: translateY(0);
    opacity: 1;
    animation-delay: 0s;
    /* 最初の画像 */
}

.image-slideshow-left img:nth-child(2) {
    animation-delay: 4s;
    /* 2番目の画像 */
}

.image-slideshow-left img:nth-child(3) {
    animation-delay: 8s;
    /* 3番目の画像 */
}
/*----- 左下のスライドを動かすここまで ----*/

/*-----右がわのスライドを動かすここから --- */
/* スライドショーのコンテナ */
.image-slideshow-right {
    width: 100%;
    height: 331px;
    /* コンテナの高さに合わせて調整 */
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.40);
}

@media only screen and (max-width: 640px) {
    .image-slideshow-right {
        height: 180px;
    }
}

/* スライドのアニメーション */
@keyframes slideImageRight {

    0%,
    100% {
        transform: translateY(100%);
        opacity: 0;
    }

    10%,
    30% {
        transform: translateY(0);
        opacity: 1;
    }

    40%,
    100% {
        transform: translateY(-100%);
        opacity: 0;
    }
}

/* 画像のスライド */
.image-slideshow-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    animation: slideImageRight 12s infinite;
    /* 各画像が4秒ごとに切り替わる */
    /* 初期状態では全ての画像を非表示にする */
    transform: translateY(100%);
    opacity: 0;
}

/* 画像の表示調整 */
.image-slideshow-right img:nth-child(1) {
    /* 最初の画像のみ初期状態で表示 */
    transform: translateY(0);
    opacity: 1;
    animation-delay: 0s;
    /* 最初の画像 */
}

.image-slideshow-right img:nth-child(2) {
    animation-delay: 4s;
    /* 2番目の画像 */
}

.image-slideshow-right img:nth-child(3) {
    animation-delay: 8s;
    /* 3番目の画像 */
}

/*-----右側のスライドを動かすここまで ---*/


.fv_main_content_inner_bottom_right {
    position: relative;
}


.fv_main_content_inner_bottom_right::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.48);
    z-index: 1;
    border-radius: 20px;
}

.slide-left-to-right {
    position: relative;
}

.fv_main_text_box {
    position: absolute;
    z-index: 2;
}

@media only screen and (max-width: 640px) {
    .fv_main_text_box {
        top: -40px;
        left: -24px;
    }
}

.fv_main_text_inner {
    padding:120px 0px 40px 40px;
}

.fv_main_text {
    color: #FFF;
    font-feature-settings: 'palt' on;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
    font-family: Noto Sans JP;
    font-size: 64px;

    font-weight: 900;
    line-height: 150%; /* 96px */
    letter-spacing: 3.2px;
}

@media only screen and (max-width: 640px) {
    .fv_main_text {
        font-size: 32px;

        font-weight: 900;
        letter-spacing: 1.6px;
    }
}

.fv_sub_text_box {
    position: absolute;
    top: -58px;
    z-index: 2;
}

@media only screen and (max-width: 640px) {
    .fv_sub_text_box {
        top: 8px;
        left: 16px;
    }
}

.fv_sub_text_inner {
    padding:120px 0px 40px 40px;
}

@media only screen and (max-width: 640px) {
    .fv_sub_text_inner {
        padding: 0px;
    }
}

.fv_sub_text {
    color: #FFF;
    font-feature-settings: 'palt' on;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
    font-family: Noto Sans JP;
    font-size: 24px;

    font-weight: 900;
    line-height: 200%; /* 48px */
    letter-spacing: 1.2px;
}

@media only screen and (max-width: 640px) {
    .fv_sub_text {
        color: #FFF;
        font-size: 18px;
        letter-spacing: 0.9px;
    }
}

/**===============================
    technology
===============================**/

.technology {
    background-color: #FFF;
}

.technology .common_inner{
    margin: 0;
    position: relative;
}


@media only screen and (max-width: 1080px) {
    .technology .common_wrap {
        padding: 0px 16px 0px 0px;
    }

}


.common_inner .technology_inner {
    display: flex;
    margin: 0px auto;
    
}

.technology_bar {
    width: 96px;
    height: 100%;
    background-color: #028583;
    position: absolute;
    top:0px;
    left:0px;
}

@media only screen and (max-width: 960px) {
    .technology_bar {
        width: 64px;
    } 
}

@media only screen and (max-width: 640px) {
    .technology_bar {
        width: 16px;
    }
}

.technology_main_inner {
    padding: 104px 120px 80px 165px;
    width:100vw;
}

@media only screen and (max-width: 960px) {
    .technology_main_inner {
        padding: 104px 96px 80px 96px;
    }
    
}

@media only screen and (max-width: 640px) {
    .technology_main_inner {
        padding: 48px 10px 48px 26px;
    }
}

.technology_main_title_block {
    margin-bottom: 64px;
    color: #282828;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 48px;
    font-weight: 700;
    line-height: 150%; /* 72px */
    letter-spacing: 2.4px;
}

@media only screen and (max-width: 960px) {
    .technology_main_title_block {
        margin-bottom: 32px;
        font-size: 24px;
        line-height: 160%; /* 38.4px */
        letter-spacing: 1.2px;
    }
}

.technology_main_title_block .dot {
    position: relative;
    font-size: 54px;
    letter-spacing: 2.7px;
    margin: 0px -10px;
}

@media only screen and (max-width: 960px) {
    .technology_main_title_block .dot {
        font-size: 32px;
        line-height: 160%;
        letter-spacing: 1.6px;
        margin: 0px -4px;
    }
}

.technology_main_title_block .dot::after {
    content: "";
    position: absolute;
    top: -22px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    background-color: #28C86E;
    border-radius: 50%;
}

@media only screen and (max-width: 960px) {
    .technology_main_title_block .dot::after {
        top: -3px;
        width: 8px;
        height: 8px;
    }
}



.technology_main_desc_block_inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:24px;
}

@media only screen and (max-width: 640px) {
    .technology_main_desc_block_inner {
        display: block;
    }
}


.technology_main_desc_block_text {
    color: #282828;
    font-size: 20px;
    font-weight: 700;
    line-height: 200%; /* 40px */
    letter-spacing: 1px;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 960px) {
    .technology_main_desc_block_text {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 32px;
    }
}

.technology_main_desc_block_circle {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .technology_main_desc_block_circle {
        margin-left: 0px;
        justify-content: center;
    }
}

.technology_main_desc_block_circle_inner {
    color: #FFF;
    font-size: 24px;
    font-weight: 700;
    line-height: 150%; /* 36px */
    letter-spacing: 1.2px;
    display: flex;
}

@media only screen and (max-width: 960px) {
    .technology_main_desc_block_circle_inner {
        font-size: 22px;
        letter-spacing: 1.1px;
    }
}

@media only screen and (max-width: 640px) {
    .technology_main_desc_block_circle_inner {
        font-size: 20px;
        letter-spacing: 1px;
    }
}

.circle_professional ,.circle_technology {
    width: 200px;
    height: 200px;
    border-radius: 999px;
    border: 5px solid #FFF;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.10);
    display: flex;
    justify-content: center;
    align-items: center;
}

@media only screen and (max-width: 960px) {
    .circle_professional ,.circle_technology {
        width: 176px;
        height: 176px;
    } 
}

@media only screen and (max-width: 640px) {
    .circle_professional ,.circle_technology {
        width: 153px;
        height: 153px;
    }
}

.circle_professional {
    background-color: #28C86E;
}

.circle_technology {
    background-color: #008482;
    margin-left: 40px;
}

@media only screen and (max-width: 640px) {
    .circle_technology {
        margin-left: 30px;
    }
}


/**===============================
    about_us
===============================**/
    .about_us .common_wrap {
        padding: 0px;
    }

/**   このクラスをつけると動画は画面幅いっぱいに出来るが、載せている文字列の調整が必要
.about_us .common_wrap .common_inner {
    max-width: 0px;
    width: 100%;
    height: 100%;
}**/

.about_us_inner {
    height: 783px;
}

@media only screen and (max-width: 640px) {
    .about_us_inner {
        height: 433px;
    }
}

.video_wrap {
    width:100%;
    height: 100%;
    /* ビデオの位置調整のために指定 */
    position: relative;
    /* ビデオが画面からはみ出ないようにする */
    overflow: hidden;
    /* オーバーレイをかける場合は指定する */
    background: linear-gradient(rgba(0,0,0,0.48),rgba(0,0,0,0.48));
}

.video_wrap video {
    position: absolute;
    /* ビデオの真ん中が表示されるようにする */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    /* 後ろにずらして文字が隠れないようにする */
    z-index: -1;
    object-fit: cover;
}

/**
.video_wrap::after{
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.48);
    z-index: 0;
}
**/

.video_wrap .common_title_wh {
    position: absolute;
    left: 165px;
    top: 160px;
    z-index: 1;
}

@media only screen and (max-width: 960px) {
    .video_wrap .common_title_wh {
        left: 80px;
    }
}

@media only screen and (max-width: 640px) {
    .video_wrap .common_title_wh {
        left: 16px;
        top: 50px;
    }
}

.video_wrap .about_us_disc {
    position: absolute;
    left: 165px;
    top: 356px;
    z-index: 1;
}


@media only screen and (max-width: 960px) {
    .video_wrap .about_us_disc {
        left: 80px;
        
    }
}

@media only screen and (max-width: 640px) {
    .video_wrap .about_us_disc {
        left: 16px;
        top: 168px;
    }
}

.video_wrap .common_white_btn {
    position: absolute;
    left: 165px;
    top: 540px;
    z-index: 1;
}

@media only screen and (max-width: 960px) {
    .video_wrap .common_white_btn {
        left: 80px;
    }
}

@media only screen and (max-width: 640px) {
    .video_wrap .common_white_btn {
        left: 16px;
        top: 312px;
    }
}

.about_us_disc_inner {
    color: #FFF;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.12);
    font-size: 48px;
    font-weight: 700;
    line-height: 150%; /* 72px */
    letter-spacing: 2.4px;
}

@media only screen and (max-width: 640px) {
    .about_us_disc_inner {
        font-size: 24px;
        letter-spacing: 1.2px;
        font-feature-settings: 'palt' on;
    }
}


/**===============================
    our_services
===============================**/
.our_services {
    background-color: #F5F6F8;
}

.our_services .common_inner {
    padding: 80px 0px;
}

@media only screen and (max-width: 640px) {
    .our_services .common_inner {
        padding: 40px 0px;
    }
}

.service_main_content {
    margin:0 0 48px;
}

.our_services_content {
    margin-bottom: 24px;
}

@media only screen and (max-width: 640px) {
    .our_services_content {
        margin-bottom: 16px;
    }
}

.our_services_main_content_block {
    display: flex;
    position: relative;
}

.our_services_main_content_arrow_back {
    position: absolute;
    top: 260px;
    left: -81px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_arrow_back {
        top: 0px;
        left: 0px;
        bottom: -856px;
    }
}

.our_services_main_content {
    width: 1105px;
    height: 560px;
    background-color: #fff;
    border-radius: 40px;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.10);
}

@media only screen and (max-width: 640px) {
    .our_services_main_content {
        width: 100%;
        height: 100%;
    }
}

.our_services_main_content_inner {
    display: flex;
    justify-content: space-between;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_inner {
        height: 780px;
        flex-direction: column;
    }
}


.our_services_main_content_desc_block_inner {
    padding: 80px 0px 80px 72px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_inner {
        padding: 40px 20px 0px 20px;
    }
}

.our_services_main_content_desc_block_inner:last-child {
    padding: 64px 0px 80px 72px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_inner:last-child {
        padding: 40px 20px 0px 20px;
    }
}

.our_services_main_content_desc_block_title {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title {
        margin-bottom: 24px;
    }
}

.our_services_main_content_desc_block_title:last-child {
    margin-bottom: 32px;
}

.our_services_main_content_desc_block_title_inner{
    display: flex;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title_inner {
        display: none;
    }
}

.our_services_main_content_desc_block_title_inner_no-logo {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 30px;
    font-weight: 700;
    line-height: 150%; /* 45px */
    letter-spacing: 1.5px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title_inner_no-logo {
        font-size: 26px;
        letter-spacing: 1.3px;
    }

}

.our_services_main_content_desc_block_title_sp {
    display: none;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title_sp {
        display: flex;
    }
}

.our_services_main_content_desc_block_title_inner .title_logo {
    width: 74px;
    margin-right: 26px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title_sp .title_logo {
        width: 56px;
        margin: 0 24px 0 0;
    }
}

.our_services_main_content_desc_block_title_inner .title_text_block {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.title_text {
    color: var(--color-grey-800, #282828);
    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 30px;
    font-weight: 700;
    line-height: 150%; /* 45px */
    letter-spacing: 1.5px;

}

.title_desc .title_desc_text {
    color: var(--color-grey-800, #282828);
    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 1px;
}

@media only screen and (max-width: 640px) {
    .title_desc .title_desc_text {
        font-size: 24px;
    }
}

.our_services_main_content_desc_block_title_inner .title_logotext {
    width: 74px;
    margin-bottom: 8px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_title_sp .title_logotext {
        width: 80px;
        margin: 0 0 8px;
    }
}

.our_services_main_content_desc_block_desc_inner {
    color: #282828;
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_desc_inner {
        margin-bottom: 32px;
    }
}

.our_services_main_content_desc_block_desc_inner .main_desc {
    color: var(--color-grey-800, #282828);


    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 20px;

    font-weight: 700;
    line-height: 150%; /* 30px */
    letter-spacing: 1px;
    margin-bottom: 24px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_desc_inner .main_desc {

    }
}

.our_services_main_content_desc_block_desc_inner .sub_desc {
    width: 360px;
    color: var(--color-grey-800, #282828);


    font-feature-settings: 'palt' on;
    font-family: Noto Sans JP;
    font-size: 14px;

    font-weight: 500;
    line-height: 200%; /* 28px */
    letter-spacing: 0.7px;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_desc_inner .sub_desc {
        width: 310px;
    }
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_desc_block_btn {
        margin-bottom: 32px;
    }
}

.our_services_main_content_desc_block_btn_inner ,.about_company_address_btn {
    display: flex;
    justify-content: flex-start;
}


@media only screen and (max-width: 640px) {
    .our_services_main_content_img_block {
        display: none;
    }
}

.our_services_main_content_img_block_sp {
    display: none;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_img_block_sp {
        display: block;

    }
}


.our_services_main_content_img_block img {
    border-radius: 0px 40px 40px 0px;
}

.our_services_main_content_arrow_forward {
    position: absolute;
    top: 260px;
    right: -81px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media only screen and (max-width: 640px) {
    .our_services_main_content_arrow_forward {
        top: 0px;
        right: 0px;
        bottom: -856px;
    }
}

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

}

.our_services_marker {
    display: flex;
    justify-content: center;
}

.our_services_marker_inner {
    width: 40px;
    display: flex;
    justify-content: space-between;
}

.marker_dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #BEBEBE;
}

.our_services_marker_inner .green {
    background-color: #28C86E;
}

.slick-list {
    border-radius: 48px;
}


.slick-prev.slick-arrow {
    background-image: url(../images/common/arrow_prev.svg);
    background-size: cover;
    background-position: center center;
    position: absolute;
    top:50%;
    left: -84px;
    content: "";
    width: 64px;
    height: 64px;
    border: none;
    background-color: transparent;
    font-size: 0px;
}

@media only screen and (max-width: 960px) {
    .slick-prev.slick-arrow {
        left: -72px;
    }
}

@media only screen and (max-width: 640px) {
    .slick-prev.slick-arrow {
        width: 40px;
        height: 40px;
        top: 784px;
        left: 16px;
    }
}

.slick-next.slick-arrow {
    background-image: url(../images/common/arrow_next.svg);
    background-size: cover;
    background-position: center center;
    position: absolute;
    top:50%;
    right: -84px;
    content: "";
    width: 64px;
    height: 64px;
    border: none;
    background-color: transparent;
    font-size: 0px;
}

@media only screen and (max-width: 960px) {
    .slick-next.slick-arrow {
        right: -72px;
    }
}

@media only screen and (max-width: 640px) {
    .slick-next.slick-arrow {
        width: 40px;
        height: 40px;
        top: 790px;
        right: 16px;
    }
}


.slick-dots {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

@media only screen and (max-width: 640px) {
    .slick-dots {
        margin-top: 40px;
    }
}

.slick-dots li {
    margin-right: 8px;
}

.slick-dots li:last-child {
    margin-right: 0px;
}

.slick-dots button {
    width: 8px;
    height: 12px;
    border-radius: 50%;
    background-color: #bebebe;
    border: none;
    font-size: 0px;
}

@media only screen and (max-width: 640px) {
    .slick-dots button {
        height: 11px;
    }
}

.slick-active button {
    width: 8px;
    height: 12px;
    border-radius: 50%;
    background-color: #28C86E;
    border: none;
    font-size: 0px;
}

/**===============================
    news .
===============================**/
.news_inner {
    padding: 80px 0px 104px 0px;
}

@media only screen and (max-width: 640px) {
    .news_inner {
        padding: 48px 0px;
    }
}


a .news_content {
    margin-bottom: 16px;
}

a:last-child .news_content {
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    a:last-child .news_content {
        margin-bottom: 48px;
    }
}

.news_content_inner {
    display: flex;
    background-color: #F5F6F8;
    border-radius: 20px;
    padding: 24px 40px;
    position: relative;
}

@media only screen and (max-width: 640px) {
    .news_content_inner {
        display: block;
        justify-content: space-between;
        padding: 20px;
    }
}

.news_content_date {
    margin-right: 16px;
    color: #6C6C6C;
    font-family: Outfit;
    font-size: 14px;
    font-weight: 700;
    line-height: 150%; /* 21px */
}

@media only screen and (max-width: 1100px) {
    .news_content_date {
        margin-bottom: 8px;
    }
}

.news_content_img {
    min-width: 250px;
    height: 140px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 4px;
    margin-right: 40px;
}


@media only screen and (max-width: 1150px) {
    .news_content_img {
        min-width: 230px;
    }
}

@media only screen and (max-width: 1100px) {
    .news_content_img {
        min-width: 208px;
    }
}

@media only screen and (max-width: 640px) {
    .news_content_img {
        width: 100%;
        min-height: 183px;
        margin-right: 0px;
        margin-bottom: 16px;
    }
}


.news_content_textbox {
    /**width: 496px;**/
    display: flex;
    justify-content: space-between;
    overflow-wrap: break-word;

}

@media only screen and (max-width: 640px) {
    .news_content_textbox {
        width: 100%;
        display: block;
    }
}

.news_content_textbox .common_arrow_icon {
    position: absolute;
    bottom: 80px;
    right: 40px;
}

@media only screen and (max-width: 640px) {
    .news_content_textbox .common_arrow_icon {
        min-width: 230px;
        bottom: 16px;
        right: 16px;
    }
}


.news_content_text {
    /**max-width: 446px;**/
    font-size: 20px;
    font-weight: 700;
    line-height: 180%; /* 36px */
    text-decoration-line: underline;
    margin-right: 50px;
    overflow-wrap:anywhere;
}

@media only screen and (max-width: 640px) {
    .news_content_text {
        font-size: 18px;
        text-decoration-line: none;
        margin-right: 0px;
        margin-bottom: 16px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

.news_content_textbox .news_content_text  span {
    display: block;
    width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}


.news_btn_block_inner ,.contact_input_block_inner {
    display: flex;
    justify-content: center;
}


.news_content_inner_left {
    display: flex;
}

@media only screen and (max-width: 640px) {
    .news_content_inner_left {
        display: block;
    }
}

.news_content_inner_right {
    width: 100%;
}

/**===============================
    media_intro_top
===============================**/
.media_intro_top {
    background-color: #F5F6F8;
}

.media_intro_top_inner {
    padding: 80px 0px 104px 0px;
}

@media only screen and (max-width: 640px) {
    .media_intro_top_inner {
        padding: 48px 0px;
    }
}

.media_intro_top_block_inner {
    display: flex;
    gap: 24px;
}

@media only screen and (max-width: 1080px) {
    .media_intro_top_block_inner {
        flex-direction: column;
    }
}

.media_intro_top_card {
    flex: 1;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.media_intro_top_card:hover {
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.media_intro_top_card a {
    display: block;
    text-decoration: none;
    color: #282828;
    height: 100%;
}

.media_intro_top_card_inner {
    padding: 24px;
    position: relative;
}

.media_intro_top_card_title h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 16px;
    color: #282828;
}

.media_intro_top_card_img {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
}

.media_intro_top_card_img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

@media only screen and (max-width: 1080px) {
    .media_intro_top_card_img img {
        height: 240px;
    }
}

.media_intro_top_card_desc p {
    font-size: 14px;
    font-weight: 400;
    line-height: 180%;
    color: #6C6C6C;
    padding-bottom: 32px;
}

.media_intro_top_card_launch_icon {
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.media_intro_top_card_launch_icon_inner {
    width: 28px;
    height: 28px;
    background-color: #28C86E;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
}

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

/**===============================
    media_intro_service
===============================**/
.media_intro_service {
    background-color: #F5F6F8;
}

.media_intro_service_inner {
    padding: 80px 0px 104px 0px;
}

@media only screen and (max-width: 640px) {
    .media_intro_service_inner {
        padding: 48px 0px;
    }
}

.media_intro_service_block_inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.media_intro_service_card {
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.media_intro_service_card:hover {
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.media_intro_service_card a {
    display: block;
    text-decoration: none;
    color: #282828;
}

.media_intro_service_card_inner {
    display: flex;
    align-items: center;
    padding: 24px;
    position: relative;
    gap: 32px;
}

@media only screen and (max-width: 640px) {
    .media_intro_service_card_inner {
        flex-direction: column;
        gap: 16px;
    }
}

.media_intro_service_card_img {
    flex-shrink: 0;
    width: 260px;
    border-radius: 8px;
    overflow: hidden;
}

.media_intro_service_card_img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

@media only screen and (max-width: 640px) {
    .media_intro_service_card_img {
        width: 100%;
    }

    .media_intro_service_card_img img {
        height: 180px;
    }
}

.media_intro_service_card_content {
    flex: 1;
    padding-right: 48px;
}

@media only screen and (max-width: 640px) {
    .media_intro_service_card_content {
        padding-right: 0;
        padding-bottom: 32px;
    }
}

.media_intro_service_card_title h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 12px;
    color: #282828;
}

.media_intro_service_card_desc p {
    font-size: 14px;
    font-weight: 400;
    line-height: 180%;
    color: #6C6C6C;
}

.media_intro_service_card_launch_icon {
    position: absolute;
    bottom: 20px;
    right: 24px;
}

.media_intro_service_card_launch_icon_inner {
    width: 28px;
    height: 28px;
    background-color: #28C86E;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
}

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

/**===============================
    join_us
===============================**/
.join_us {
    background-color: #F5F6F8;
    padding: 80px 0px;
}



/**===============================
    footer
===============================**/
.pc_footer {
    background-image: linear-gradient(rgba(0,0,0,0.68),rgba(0,0,0,0.68)),url(../images/common/footer_background.png);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

@media only screen and (max-width: 640px) {
    .pc_footer {
        display: none;
    }
}

.pc_footer_bg_img .common_wrap .common_inner {
    padding: 0px 170px 0px 115px;
}

.pc_footer_inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 80px 170px 32px 165px;
    display: flex;
    flex-direction: column;
    justify-content:space-between;
}

.pc_footer_logo_img {
    width: 200px;
}

.pc_footer_menu_block {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    margin-bottom: 30px;
}

.pc_footer_menu_block_inner {
    margin-right: 20px;
    margin-bottom: 35px;
}

.pc_footer_menu_top {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    border-bottom: 1px solid #fff;
    padding-bottom: 16px;
    width: 200px;
}

.pc_footer_menu_bottom {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.pc_footer_menu_item {
    font-size: 14px;
    margin-top: 16px;
}

.pc_footer_bottom {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.pc_footer_bottom_block_inner {
    display: flex;
    justify-content: space-between;
}

.pc_footer_other_menu_list {
    display: flex;
}

.pc_footer_other_menu_item {
    margin-left: 24px;
}

.sp_footer {
    display: none;
}

@media only screen and (max-width: 640px) {
    .sp_footer {
        display: block;
        background-color: #282828;
    }
}

.sp_footer_inner {
    padding: 48px 0px 32px 0px;
}

.sp_footer_logo_block {
    margin-bottom: 8px;
}

.sp_footer_logo_img {
    width: 160px;
}

.sp_footer_top {
    margin-bottom: 32px;
}

.sp_footer_menu_top ,.sp_footer_menu_top_contact {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    padding: 24px 0px;
}

.sp_footer_menu_top_inner {
    display: flex;
    justify-content: space-between;
}

.sp_footer_menu_top_image {
    width: 24px;
    height: 24px;
}



.sp_footer_menu_bottom {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.sp_footer_menu_item {
    font-size: 14px;
    margin-bottom: 24px;
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.sp_footer_menu_block_inner {
    border-bottom: 1px solid #fff;
}

.sp_footer_bottom {
    color: #FFF;
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.sp_footer_bottom_block_inner {

}

.sp_footer_other_menu_list {
    display: flex;
    justify-content: space-around;
}

.sp_footer_other_menu_item {
    color: #FFF;
    text-align: right;
    font-feature-settings: 'palt' on;
    font-size: 13px;
    font-weight: 500;
    line-height: 150%; /* 19.5px */
}

.sp_footer_bottom_other_menu {
    margin-bottom: 48px;
}

.sp_footer_copyright {
    display: flex;
    justify-content: center;
    color: #FFF;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%; /* 18px */
}

/*======================
========================

    about_company

========================
=======================*/
.about_company_main ,.service_main ,.news_main ,.contact_input_main ,.recruit_input_main ,.about_mvv_main ,.recruit_main {
    margin: 80px 0px;
}

@media only screen and (max-width: 640px) {
    .about_company_main ,.service_main ,.news_main ,.contact_input_main ,.recruit_input_main {
        margin: 48px 0px;
    }
}

.about_common_menu_list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .about_common_menu_list {
        display: block;
        margin-bottom: 32px;
    }
}

.about_common_menu_item ,.about_common_menu_item_up {
    border-bottom: 2px solid #F5F6F8;
    border-radius: 1px;
}

.about_common_menu_item:hover,
.about_common_menu_item.select,
.about_common_menu_item_up:hover,
.about_common_menu_item_up.select {
  border-bottom: 2px solid #282828;
  background-image: none;
}

.about_common_menu_item_inner {
    width: 256px;
    padding: 24px 0px;
    display: flex;
    justify-content: space-between;
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}

@media only screen and (max-width: 640px) {
    .about_common_menu_item_inner {
        width: 100%;
    }
}

/**　上部メニュー用　**/
.about_common_menu_item_inner .about_common_menu_icon_img {
    margin: auto 0px;
    background-image: url(../images/about_company/arrow.svg);
}

.about_common_menu_item:hover .about_common_menu_item_inner .about_common_menu_icon_img ,.about_common_menu_item_select .about_common_menu_item_inner .about_common_menu_icon_img {
    background-image: url(../images/about_company/arrow_down.svg);
}

/** 下部メニュー用 **/
.about_common_menu_item_up:hover .about_common_menu_item_inner .about_common_menu_icon_img ,.about_common_menu_item_up_select .about_common_menu_item_inner .about_common_menu_icon_img {
    background-image: url(../images/about_company/arrow_up.svg);
}


.about_common_menu_icon_img {
    width: 12px;
    height: 12px;
}

.about_common_title {
    color: var(--color-grey-800, #282828);
    font-feature-settings: 'palt' on;/* Bold/40px */
    font-family: Noto Sans JP;
    font-size: 40px;
    font-weight: 700;
    line-height: 150%; /* 60px */
    letter-spacing: 2px;
    margin-bottom: 60px;
}

@media only screen and (max-width: 640px) {
    .about_common_title {
        font-size: 28px;
        margin-bottom: 32px;
    }
}


.about_company_address_block ,.about_company_desc_block_inner {
    display: flex;
}

@media only screen and (max-width: 640px) {
    .about_company_address_block ,.about_company_desc_block_inner {
        display: block;
    }
}

.about_company_address_left ,.about_company_desc_title {
    min-width: 320px;
    color:#282828;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .about_company_address_left {
        margin-bottom: 8px;
    }
}


@media only screen and (max-width: 640px) {
    .about_company_desc_title {
        margin-bottom: 8px;
    }
}

.about_company_address_right ,.about_company_desc_text{
    color: var(--color-grey-800, #282828);
    font-family: Noto Sans JP;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

.about_company_address_text ,.about_company_address_train ,.google_map_img ,.about_company_address_right {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .about_company_address_text ,.about_company_address_train ,.google_map_img ,.about_company_address_right {
        margin-bottom: 24px;
    }
}

.google_map_img {
    width: 640px;
    height: 320px;
}

@media only screen and (max-width: 640px) {
    .google_map_img {
        width: 100%;
        height: 200px;
    }
    .google_map_img iframe{
        width: 100%;
    }
}

.about_company_desc_block {
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .about_company_desc_block {
        margin-bottom: 40px;
    }
}

.about_company_desc_block_inner {
    padding: 40px 0px;
    border-top: 1px solid #dbdbdb;
}

@media only screen and (max-width: 640px) {
    .about_company_desc_block_inner {
        padding: 24px 0px;
    }
}

.about_company_desc_block_inner:last-child {
    border-bottom: 1px solid #dbdbdb;
}

/*======================
========================

    news

========================
=======================*/






.service_main_content .our_services_main_content {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .service_main_content .our_services_main_content {
        margin-bottom: 32px;
    }
}

.news_tag ,.news_tag_year {
    display: flex;
}

@media only screen and (max-width: 640px) {
    .news_tag ,.news_tag_year {
        display: block;
    }
}

.news_tag_block {
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .news_tag_block {
        margin-bottom: 36px;
    }
}

.news_tag {
    margin-bottom: 20px;
}

.news_tag_list_1 ,.news_tag_list_2{
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .news_tag_list_1 {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 640px) {
    .news_tag_list_2 {
        flex-wrap: wrap;

    }
}

.news_tag_title {
    display: flex;
    align-items: center;
    width: 80px;
    height: 12px;
    border-right: 1px solid #bebebe;
    color: #282828;
    font-size: 14px;
    font-weight: 700;
    line-height: 150%; /* 21px */
}

@media only screen and (max-width: 640px) {
    .news_tag_title {

    }

}

.news_tag_item {
    display: flex;
    padding: 12px 24px;
    align-items: flex-start;
    gap: 10px;
    margin-left: 20px;
    border-radius: 999px;
    border: 1px solid #282828;
    color: #282828;
    font-size: 12px;
    font-weight: 700;
    line-height: 150%; /* 18px */
}

@media only screen and (max-width: 640px) {
    .news_tag_item {
        margin-left: 0px;
        margin-right: 12px;
        padding: 8px 16px;
        margin-bottom: 12px;
    }
}

.news_tag_item.active {
    border: none;
    background: #CFE8E8;
}


/*======================
========================

    news_detail

========================
=======================*/

.news_detail_main_content_inner ,.contact_input_main_content_inner ,.recruit_input_main_content_inner {
    max-width: 900px;
    margin: 0px auto;
}

.news_detail_title {
    color: #282828;
    font-size: 40px;
    font-weight: 700;
    line-height: 150%; /* 60px */
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .news_detail_title {
        font-size: 28px;
        margin-bottom: 24px;
    }
}

.news_detail_main_block .news_content_date {
    color: #6C6C6C;
    font-family: Outfit;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
}

@media only screen and (max-width: 640px) {
    .news_detail_main_block .news_content_date {
        font-size: 16px;
    }
}

.news_detail_main_block .news_content_tagbox {
    width: 100%;
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .news_detail_main_block .news_content_tagbox {
        margin-bottom: 24px;
    }
}

.news_detail_main_block .news_content_tag_wrap {
    padding: 8px 24px;
}

.news_detail_main_block .news_content_tag_text {
    color: #282828;
    font-size: 16px;
    font-weight: 700;
    line-height: 150%; /* 24px */
}

@media only screen and (max-width: 640px) {
    .news_detail_main_block .news_content_tag_text {
        font-size: 14px;
    }
}

.share_block {
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .share_block {
        margin-bottom: 24px;
    }
}

.share_block_inner {
    display: flex;
    justify-content: flex-end;
}

.share_item_title {
    color: var(--color-grey-800, #282828);
    text-align: center;


    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 18px;

    font-weight: 500;
    line-height: 150%; /* 27px */
}

.share_list {
    display: flex;
    align-items: center;
}

.share_item {
    padding-left: 20px;
}

.share_item a img {
    width: 42px;
    height: 42px;
}

.news_detail_main_image {
    height: 504px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 4px;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .news_detail_main_image {
        height: 200px;
        margin-bottom: 40px;
    }
}

.contact_input_btn_block ,.contact_complete_btn_block ,.recruit_input_btn_block{
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}

.news_btn_block_inner {
    border: none;
    background: none;
    cursor: pointer;
} 


/*======================
========================

    policy

========================
=======================*/
.terms_page {
    background-color: #F9F9FA;
    padding: 72px 0 188px;
  }

  @media only screen and (max-width: 640px) {
    .terms_page {
      padding: 40px 0 50px;
    }
  }

  .privacy_page {
    background-color: #F9F9FA;
    padding: 72px 0 188px;
  }

  @media only screen and (max-width: 640px) {
    .privacy_page {
      padding: 40px 0 50px;
    }
  }

  .policy_block_wrap {
    margin: 0 0 50px;
  }

  @media only screen and (max-width: 640px) {
    .policy_block_wrap {
      margin: 0 0 40px;
    }
  }

  .policy_block_wrap .policy_block {
    margin: 0 0 40px;
  }

  @media only screen and (max-width: 640px) {
    .policy_block_wrap .policy_block {
      margin: 0 0 30px;
    }
  }

  .policy_block_wrap .policy_block:last-child {
    margin: 0 0 0;
  }

  .policy_block_wrap .policy_block .policy_block_title {
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 600;
    font-size: 24px;
    color: #000;
    line-height: 1.5;
    margin: 0 0 20px;
  }

  @media only screen and (max-width: 640px) {
    .policy_block_wrap .policy_block .policy_block_title {
      font-size: 20px;
    }
  }

  .policy_block_wrap .policy_block .policy_text {
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #000;
    line-height: 1.75;
  }

  .policy_block_wrap .policy_block .policy_list {
    padding: 0 0 0 20px;
    list-style: decimal;
  }

  .policy_block_wrap .policy_block .policy_list .policy_item {
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #000;
    line-height: 1.75;
    margin: 0 0 10px;
    list-style: none;
  }

  .policy_date {
    text-align: right;
    font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3","Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ","ＭＳ Ｐゴシック",sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #000;
    line-height: 1.5;
  }

  /*======================
========================

    about_message

========================
=======================*/

.about_message_main_block_inner {
    display: flex;
    color: #282828;
}

@media only screen and (max-width: 640px) {
    .about_message_main_block_inner {
        display: block;
    }    
}

.about_message_image_block {
    width: 480px;
}

@media only screen and (max-width: 640px) {
    .about_message_image_block {
        width: 100%;
    } 
}

.about_message_image {
    width: 400px;
    height: 520px;
    border-radius: 16px;
    background-image: url(../images/about_message/ceo_image.png);
    background-position: center 0%;
    background-size: 701px;
    margin-right: 80px;
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .about_message_image {
        width: 100%;
        height: 466px;
        margin-right: 0px;
        margin-bottom: 24px;
    } 
}

.about_message_ceo_desc {
    font-size: 18px;
    font-weight: 500;
    line-height: 200%; /* 36px */
    letter-spacing: 0.9px;
    margin-bottom: 8px;
}

@media only screen and (max-width: 640px) {
    .about_message_ceo_desc {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 0px;
    } 
}

.about_message_ceo_name {
    font-size: 24px;
    font-weight: 700;
    line-height: 200%; /* 48px */
    letter-spacing: 1.2px;
}

@media only screen and (max-width: 640px) {
    .about_message_ceo_name {
        margin-bottom: 32px;
    } 
}

.about_message_desc_block_title {
    font-feature-settings: 'palt' on;
    font-size: 30px;/*　デザイン上は36px、文章量に合わせて変更　*/
    font-weight: 700;
    line-height: 150%; /* 54px */
    letter-spacing: 1.8px;
    margin-bottom: 56px;
}

@media only screen and (max-width: 640px) {
    .about_message_desc_block_title {
        font-size: 26px;
        letter-spacing: 1.3px;
        margin-bottom: 24px;
    } 
}

.about_message_desc_block_text {
    margin-bottom: 80px;
    font-feature-settings: 'palt' on;
    font-size: 18px;
    font-weight: 400;
    line-height: 200%; /* 36px */
    letter-spacing: 0.9px;
}

@media only screen and (max-width: 640px) {
    .about_message_desc_block_text {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 40px;
    }
}

  /*======================
========================

    recruit

========================
=======================*/

.recruit_fv ,.team_composition ,.occupation ,.interview , .introduction_office_movie,.passed_exam ,.recruit_faq{
    margin-bottom: 120px;
}

@media only screen and (max-width: 640px) {
    .recruit_fv ,.occupation ,.interview ,.introduction_office_movie ,.passed_exam ,.recruit_faq{
        margin-bottom: 80px;
    }

}

.recruit_fv_main {
    background: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)),url(../images/recruit/recruit_fv.png);
    background-position: center 70%; 
    height: 520px;
}

@media only screen and (max-width: 640px) {
    .recruit_fv_main {
        height: 203px;  
        background-position: 35% 0%;
        background-size: cover; 
    } 
}

.recruit_fv_text {
    color: #FFF;
    font-feature-settings: 'palt' on;
    text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.10);
    font-size: 48px;
    font-weight: 700;
    line-height: 150%; /* 72px */
    letter-spacing: 2.4px;   
    max-width: 1100px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 1080px) {
    .recruit_fv_text {
        padding: 0 0 0 16px;
    }
}

@media only screen and (max-width: 640px) {
    .recruit_fv_text {
        font-size: 28px;
        letter-spacing: 1.4px;
    }
}

.occupation {
    color: #282828;
}

.recruit_common_title {
    font-size: 40px;
    font-weight: 700;
    line-height: 150%; /* 60px */
    letter-spacing: 2px;
    margin-bottom: 48px;
    border-left: 8px solid #008482;
    padding: 0 0 0 16px;
}

@media only screen and (max-width: 640px) {
    .recruit_common_title {
        font-size: 28px;
        letter-spacing: 1.4px;
        margin-bottom: 16px;
    }
}

.recruit_common_text {
    font-feature-settings: 'palt' on;
    font-size: 18px;
    font-weight: 400;
    line-height: 200%; /* 36px */
    letter-spacing: 0.9px;
    margin-bottom: 60px;
}

@media only screen and (max-width: 640px) {
    .recruit_common_text {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 24px;
    } 
}

.recruit_common_sub_title {
    font-size: 28px;
    font-weight: 700;
    line-height: 150%; /* 60px */
    letter-spacing: 2px;
    margin-bottom: 32px;    
}

@media only screen and (max-width: 640px) {
    .recruit_common_sub_title {
        font-size: 24px;
        margin-bottom: 24px;    
    } 
}

.recruit_team_composition_block {
    width: 100%;
    padding: 24px;
    border-radius: 6px; 
    background: #F5F6F8;
    margin: 0 0 60px 0;
}

@media only screen and (max-width: 640px) {
    .recruit_team_composition_block {
        padding:24px 20px;
        margin: 0 0 40px 0;
    }
}

.recruit_team_composition_block .recruit_team_composition_item {
    display: flex;
    align-items: center; 
    margin: 0 0 16px 0;
}

.recruit_team_composition_block .recruit_team_composition_item:last-child {
    margin:0;
}

@media only screen and (max-width: 640px) {
    .recruit_team_composition_block .recruit_team_composition_item {
        display: block;
    }    
}

.recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_team_name {
    width: 258px;
    border-radius: 3px;
    border: 1px solid #E5F8EC;
    background: #CFE8E8;
    margin: 0 24px 0 0;
    padding: 12px 16px;
}

@media only screen and (max-width: 640px) {
    .recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_team_name {
        margin: 0 0 4px 0;
    }
}

.recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_team_name .recruit_team_composition_item_team_name_text{
    color: #008482;
    font-family: "Hiragino Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%; /* 21.6px */
    letter-spacing: 0.72px;
}

.recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_detail {
    color: #282828;
    font-family: "Hiragino Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 19.2px */
    letter-spacing: 0.64px;    
}

@media only screen and (max-width: 640px) {
    .recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_detail {
        color: #282828;
        font-family: "Noto Sans JP";
        font-size: 15px;
        font-style: normal;
        font-weight: 400;
        line-height: 200%; /* 30px */
        letter-spacing: 0.6px;  
    }
     
}

.recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_detail::before {
    content: "…"
}

@media only screen and (max-width: 640px) {
    .recruit_team_composition_block .recruit_team_composition_item .recruit_team_composition_item_detail::before {
        display: none;
    }
}

.occupation_card_area {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 64px 0;
    cursor: pointer;
}

@media only screen and (max-width: 640px) {
    .occupation_card_area {
        display: block;
    }  
}

.occupation_card {
    width: 350px;
    border-radius: 8px;
    background-color: #F5F6F8;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 24px 40px 0;
}

.occupation_card:nth-of-type(3n) {
    margin: 0px 0px 40px 0px;
}

@media only screen and (max-width: 640px) {
    .occupation_card {
        width: 100%;
        margin: 0 0 16px 0;
    }

    .occupation_card:nth-of-type(3n) {
        margin: 0 0 16px 0;    
    }
}

.occupation_card_team_name_text {
    font-feature-settings: 'palt' on;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
    margin: 0 0 8px 0;
}

.occupation_card_detail_text {
    font-feature-settings: 'palt' on;
    font-size: 14px;
    font-weight: 600;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
    color: #6C6C6C;
}

.occupation_card_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.interview_card_area {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}

@media only screen and (max-width: 1080px) {
    .interview_card_area {
        display: block;
    }
}

.interview_card_area iframe {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    aspect-ratio: 560 / 315;
    margin-left: auto;
    margin-right: auto;
    border: 0;
}

.interview_card {
    width:340px;
    height:328px;
    margin: 0 24px 0 0;
    border-radius: 20px;
    background-color: #f5f6f8;
}

.interview_card:last-child {
    margin: 0 0 0 0; 
}

@media only screen and (max-width: 1080px) {
    .interview_card {
        width: 100%;
        margin-bottom: 16px;
    } 
}

.interview_card_top {
    width:100%;
    height:200px;
    background-position: center center;
    background-size: cover;
    border-radius: 20px 20px 0px 0px;
}

.interview_card_bottom {
    padding:  16px 16px 24px 16px;  
}

@media only screen and (max-width: 640px) {
    .interview_card_bottom {
        padding: 24px 16px;
    }
}

.interview_card_title {
    color: #282828;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    margin-bottom:16px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.interview_card_bottom_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.interview_card_date span {
    color: #6C6C6C;
    font-family: Outfit;
    font-size: 14px;
    font-weight: 700;
    line-height: 150%; /* 21px */
}

.interview_card_bottom_wrap {
    display: flex;
    justify-content: center;
}

.introduction_office_movie_wrap {
    display: flex;
    justify-content: center;
    gap: 24px;
}

@media only screen and (max-width: 640px) {
    .introduction_office_movie_wrap {
        flex-direction: column;
        gap: 24px;
    }
}

.introduction_office_movie_wrap iframe {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    max-width: 840px;
    height: auto;
    aspect-ratio: 560 / 315;
    border: 0;
}

.passed_exam_doc {
    max-width: 900px;
    margin: 0px auto;
}

.recruit_faq_block {
    background-color: #F5F6F8;
    color: #282828;
    border-radius: 8px;
    margin-bottom: 40px;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_block {
        margin-bottom: 24px;
    }
}

.recruit_faq_block:last-child {
    margin-bottom: 0px; 
}

.recruit_faq_question {    
    padding: 32px 40px;    
}

@media only screen and (max-width: 640px) {
    .recruit_faq_question {
        padding: 24px 20px;
    }
}

.recruit_faq_question_inner {
    display: flex;
    justify-content: space-between;
}

.recruit_faq_question_text {
    max-width: 904px;
    font-size: 20px;
    font-weight: 700;
    line-height: 200%; /* 40px */
    letter-spacing: 1px;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_question_text {
        font-feature-settings: 'palt' on;
        font-size: 18px;
        line-height: 150%; /* 27px */
        letter-spacing: 0.9px;
        width:calc(100% - 46px);
    }
}

.recruit_faq_question_left {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_question_left {
        width: calc(100% - 32px);
    }
}

.recruit_faq_question_icon {
    width: 32px;
    height: 32px;
    background-color: #ffffff;
    border: 1px solid #008482;
    border-radius: 50%;
    margin-right: 24px;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_question_icon {
        margin-right: 16px;
    }
}

.recruit_faq_question_icon_inner p {
    color: #008482;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 18px;
    font-weight: 700;
    line-height: 162%;
}

.recruit_faq_answer_icon ,.process_area_icon ,.about_mvv_action_box_title_block_icon {
    width: 32px;
    height: 32px;
    background-color: #008482;
    border-radius: 50%;
    margin-right: 24px;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_answer_icon

}

@media only screen and (max-width: 640px) {
    .recruit_faq_answer_icon {
        margin-right: 16px;
    }
}

.recruit_faq_question_right {
    display: flex;
    justify-content: end;
}

.recruit_faq_toggle {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_toggle {
        width: 16px;
    }
}

.recruit_faq_answer_inner {
    display: flex;
    
}

.recruit_faq_answer {
    padding: 0px 96px 32px 88px;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_answer {
        padding: 0px 20px 24px 20px;
    }
}

.recruit_faq_answer_desc {
    color: #282828;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    letter-spacing: 0.8px;
    width: 100%;
}

@media only screen and (max-width: 640px) {
    .recruit_faq_answer_desc {
        width: calc(100% - 24px);
        font-size: 14px;
        letter-spacing: 0.7px;
    }
}

.recruit_faq_answer_icon_inner p , .process_area_icon_inner p ,.about_mvv_action_box_title_block_icon_inner p {
    color: #ffffff;
    text-align: center;
    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 18px;
    font-weight: 600;
    line-height: 173%;
}

  /*======================
========================

    recruit_detail

========================
=======================*/


.recruit_detail_title_block {
    margin-top: 80px;
}

.recruit_detail_title {
    color:#282828;
    font-feature-settings: 'palt' on;
    font-size: 48px;
    font-weight: 700;
    line-height: 150%; /* 72px */
    letter-spacing: 2.4px;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_title {
        font-size: 30px;
        letter-spacing: 1.5px;
        margin-top: 40px;
    }
}

.recruit_detail_common_desc {
    padding: 32px 0px;
    border-bottom: 1px solid #dbdbdb;
}

.recruit_detail_common_desc_title {
    width: 320px;
    color: #282828;
    font-size: 24px;
    font-weight: 700;
    line-height: 150%; /* 36px */
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_title {
        font-size: 20px;
        margin-bottom: 8px;
    }    
}

.recruit_detail_common_desc_type2 {
    border-bottom: 1px solid #dbdbdb;
}

.recruit_detail_common_desc_type2 .recruit_detail_common_desc_inner .recruit_detail_common_desc_title ,.recruit_detail_common_desc_type3 .recruit_detail_common_desc_inner .recruit_detail_common_desc_title {
    padding: 32px 0px;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_type2 .recruit_detail_common_desc_inner .recruit_detail_common_desc_title {
        padding: 32px 0px 16px 0px;
        margin-bottom: 0px;
    }
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_type3 .recruit_detail_common_desc_inner .recruit_detail_common_desc_title {
        padding: 32px 0px 24px 0px;
    } 
}

.recruit_detail_common_desc_text {
    width: calc(100% - 320px);
    color: #282828;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text {
        width: 100%;
    }   
}

.recruit_detail_common_desc_text_block {
    margin: 0 0 16px;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text_block{
        margin: 0 0 24px;
    } 
}

.recruit_detail_common_desc_text_block_role_name {
    font-size: 16px;
    font-weight: 700;
}


.recruit_detail_common_desc_inner {
    display: flex;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_inner {
        display: block;
    }
}


.recruit_detail_common_desc_text_area {
    width: calc(100% - 320px);
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text_area {
        width: 100%;
    }
}

.recruit_detail_common_desc_text_area_box {
    width: 100%;
    border-bottom: 1px solid #dbdbdb;
    padding: 40px 0px;
    display: flex;
    align-items: center;    
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text_area_box {
        display: block;
        padding: 24px 0px 16px 0px;
    }
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text_area_box:first-child {
        padding: 0px 0px 16px 0px;
    } 
}

.recruit_detail_common_desc_text_area_box:last-child {
    border-bottom: 0px solid #fff;
}

.recruit_detail_common_desc_text_area_box_inner {
    display: flex;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_text_area_box_inner {
        display: block;
    } 
}

.recruit_detail_common_desc_detail_title {
    width: 230px;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_detail_title {
        margin-bottom: 8px;
    } 
}

.recruit_detail_common_desc_detail_text {
    width: calc(100% - 230px);
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_detail_text {
        width: 100%;
    }
}


.recruit_detail_common_desc_process_area_box {
    display: flex;
}

.recruit_detail_common_desc_process_area_box:first-child {
    padding: 40px 0px 0px 0px;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_process_area_box:first-child {
        padding: 0px;
    }
}

.process_area_box_icon .recruit_faq_answer_icon ,.process_area_box_icon .process_area_icon {
    margin-right: -17px;
}

.process_area_box_text_block { 
    color: #282828;
}

.process_area_box_title {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%; /* 30px */
    padding-left: 35px;
}

.process_area_box_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */   
    border-left: 3px solid #008482;
    padding: 24px 0px 40px 32px;
}

@media only screen and (max-width: 640px) {
    .process_area_box_text {
        padding: 8px 0px 32px 32px; 
    }    
}

.recruit_detail_common_desc_process_area_box:last-child .process_area_box_text_block .process_area_box_text {
    border-left: 0px solid #fff;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_process_area_box:last-child .process_area_box_text_block .process_area_box_text {
        padding: 24px 0px 0px 32px; 
    }    
}

.recruit_detail_btn_block {
    display: flex;
    justify-content: center;
    margin: 80px 0px;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_btn_block {
        margin: 48px 0px;
    }
}


/* recruit_detail_new */ 
.job_description, .ideal_candidate, .recruit_requirement, .entry_flow {
    margin: 0 0 120px 0;
}

/* recruit_detail_fv */

.recruit_detail_fv_main {
    background:linear-gradient(rgba(0,0,0,0.68),rgba(0,0,0,0.68)), url(../images/recruit/recruit_fv.png);
    background-position: center 50%; 
    background-size:cover ;
    height: 520px;
    margin: 0 0 80px 0;
}


@media only screen and (max-width: 640px) {
    .recruit_detail_fv_main {
        height: 400px;  
        background-position: center center;
        background-size: cover; 
    } 
}

.recruit_detail_fv_text_block {
    max-width: 1100px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media only screen and (max-width: 1080px) {
    .recruit_detail_fv_text_block {
        padding: 0 16px;
    }
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_text_block {
        font-size: 28px;
        letter-spacing: 1.4px;
    }
}

.recruit_detail_fv_team_name {
    color: #FFF;
    font-feature-settings: 'palt' on;
    text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.10);
    font-size: 48px;
    font-weight: 700;
    line-height: 150%; /* 72px */
    letter-spacing: 2.4px;   
    margin: 0 0 64px 0;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_team_name {
        font-size: 36px;
        margin: 0 0 24px 0;
    } 
}

.recruit_detail_fv_detail {
    color: #EBEBEB;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1.2px; 
    margin: 0 0 32px 0;   
    padding: 0 0 0 28px;
    position: relative;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_detail {
        font-size: 18px;
        margin: 0 0 24px 0;   
    } 
}

.recruit_detail_fv_detail::before {
    content: "";
    position: absolute;
    top: 14%;
    left: 0px;
    width: 20px;
    height: 20px;
    background:#28C86E;
    border-radius: 50%;
    margin: 0 8px 0 0;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_detail::before {
        width: 16px;
        height: 16px;
    }    
}

.recruit_detail_fv_menu_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_menu_list {
        display: block;
    }
}

.recruit_detail_fv_menu_item_text {
    color: #EBEBEB;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.8px;
}

.recruit_detail_fv_menu_item {
    margin: 0 42px 0 0;
}

@media only screen and (max-width:640px) {
    .recruit_detail_fv_menu_item {
        margin: 0 0 16px 0;
    }
    .recruit_detail_fv_menu_item:last-child {
        margin: 0 0 0 0;
    }  
}

.recruit_detail_fv_menu_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color:  #F5F6F8;
    font-feature-settings: 'palt' on;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.8px;
}

.recruit_detail_fv_menu_link img {
    width: 20px;
    margin: 0 8px 0 0;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_fv_menu_link img {
        width: 16px;
    } 
}

/* recruit_detail_common */
.recruit_detail_common_desc_title {
    color: #282828;
    width: 100%;
    font-family: "Noto Sans JP";
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    position: relative; 
    border-bottom:2px solid #028583 ;
    padding: 0 0 20px 0;
    margin: 0 0 40px 0;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_common_desc_title {
        font-size: 24px;
    }  
}

/* recruit_detail_job_description */

.recruit_detail_job_description_content_block_type1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; 
    margin: 0 0 80px 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type1 {
        display: block;
    } 
}

.recruit_detail_job_description_content_block_type1 .recruit_detail_job_description_img_type1 {
    width: 480px;
    margin: 0 40px 0 0;
}

@media only screen and (max-width:1080px) {
    .recruit_detail_job_description_content_block_type1 .recruit_detail_job_description_img_type1 {
        width: 360px;
        margin: 0 0 24px 0;
    }
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type1 .recruit_detail_job_description_img_type1 {
        width: 100%;
        margin: 0 0 24px 0;
    } 
}

.recruit_detail_job_description_content_block_type1 .recruit_detail_job_description_text_block_type1 {
    flex: 1;
}

.recruit_detail_job_description_content_block_type1 .recruit_detail_job_description_text_type1 {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

/* 画像とテキストを縦並びにするバリエーション */

.recruit_detail_job_description_content_block_type1.column {
    display: block;
}

.recruit_detail_job_description_content_block_type1.column .recruit_detail_job_description_img_type1 {
    width: 480px;
    max-width: 100%;
    margin: 0 auto 24px auto;
}

/* テキストブロック内で幅いっぱいに表示する画像 */

.recruit_detail_job_description_img_full {
    max-width: 800px;
    margin: 32px auto 0 auto;
}

.recruit_detail_job_description_img_full img {
    width: 100%;
    height: auto;
}

/* キャリアパスなどの小見出し付きリスト */

.recruit_detail_career_list {
    margin: 32px 0;
}

.recruit_detail_career_list .recruit_detail_career_item {
    margin: 0 0 24px 0;
}

.recruit_detail_career_list .recruit_detail_career_item:last-child {
    margin: 0;
}

.recruit_detail_career_list .recruit_detail_career_item_title {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 27px */
    margin: 0 0 8px 0;
}

.recruit_detail_career_list .recruit_detail_career_item_text {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

/* 3つの入口の画像を横並びにする */

.recruit_detail_entry_img_list {
    display: flex;
    gap: 24px;
    max-width: 800px;
    margin: 32px auto;
}

.recruit_detail_entry_img_list .recruit_detail_entry_img_item {
    flex: 1;
}

.recruit_detail_entry_img_list .recruit_detail_entry_img_item picture {
    display: block;
}

.recruit_detail_entry_img_list .recruit_detail_entry_img_item img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 640px) {
    /* SPは縦並び。画面幅いっぱいにせず左右に余白を持たせる */
    .recruit_detail_entry_img_list {
        display: block;
        padding: 0 16px;
    }

    .recruit_detail_entry_img_list .recruit_detail_entry_img_item {
        margin: 0 0 16px 0;
    }

    .recruit_detail_entry_img_list .recruit_detail_entry_img_item:last-child {
        margin: 0;
    }
}


/* recruit_detail_member_interview */

.recruit_detail_member_interview_block {
    padding:40px 24px;
    border-radius: 12px;
    border: 1px solid #F5F6F8;
    background: #FBFBFC;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_member_interview_block {
        padding:24px 24px;
    }  
}

.recruit_detail_member_interview_title {
    color: #282828;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
    margin: 0 0 42px 0;
}

.recruit_detail_member_interview_block .interview_card_area {
    margin: 0 0 0 0;
}


.recruit_detail_job_description_content_block_type2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start; 
    margin: 0 0 80px 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type2 { 
        display: block;
    } 
}

.recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_block {
    width: 300px;
    display: block;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_block {
        width: 100%;
        display: flex;
    }  
}

.recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_item {    
    margin: 0 0 24px 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_item.top {    
        width: calc(100% - 6px);
        margin: 0 6px 0px 0;
    } 

    .recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_item.bottom {
        width: calc(100% - 6px);  
        margin: 0 0px 0px 6px;
    } 
}


.recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_img_item img {
    width: 100%;
    border-radius: 9px;
}

.recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_text_block {
    flex: 1;
    margin: 0 80px 0 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_text_block {
        flex: 1;
        margin: 0 0 24px;
    }    
}

.recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_text {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 0 0 30px 0;
}

@media only screen and (max-width:840px)  {
    .recruit_detail_job_description_content_block_type2 .recruit_detail_job_description_text {    
        line-height: 200%;
        margin: 0 0 24px 0;
        letter-spacing: 0.8px;
    } 
}

/* recruit_detail_ideal_candidate */

.recruit_detail_ideal_candidate_content_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start; 
}

@media only screen and (max-width: 840px) {
    .recruit_detail_ideal_candidate_content_block { 
        display: block;
    } 
}

.recruit_detail_ideal_candidate_img_block {
    width: 300px;
    display: block;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_ideal_candidate_img_block {
        width: 100%;
        display: flex;
    }  
}

.recruit_detail_ideal_candidate_img_item {    
    margin: 0 0 24px 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_ideal_candidate_img_item.top {    
        width: calc(100% - 6px);
        margin: 0 6px 0px 0;
    } 

    .recruit_detail_ideal_candidate_img_item.bottom {
        width: calc(100% - 6px);  
        margin: 0 0px 0px 6px;
    } 
}


.recruit_detail_ideal_candidate_img_item img {
    width: 100%;
    border-radius: 9px;
}

.recruit_detail_ideal_candidate_text_block {
    flex: 1;
    margin: 0 80px 0 0;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_ideal_candidate_text_block {
        flex: 1;
        margin: 0 0 24px;
    }    
}

.recruit_detail_ideal_candidate_text {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 0 0 30px 0;
}

@media only screen and (max-width:840px)  {
    .recruit_detail_ideal_candidate_text {    
        line-height: 200%;
        margin: 0 0 24px 0;
        letter-spacing: 0.8px;
    } 
}

.recruit_detail_ideal_candidate_caution {
    color: #282828;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin: 0 0 30px 0;
}

@media only screen and (max-width:840px)  {
    .recruit_detail_ideal_candidate_caution {      
        line-height: 200%;
        margin: 0 0 24px 0;
        letter-spacing: 0.7px;
    } 
}

.recruit_detail_ideal_candidate_caution a {
    color: #008482;
    text-decoration: underline;
}


/* recruit_detail_requirement */

.recruit_detail_requirement_wrap {
    margin: 0 0 40px;
}


.recruit_detail_requirement_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: stretch;
    border-top: 1px solid #bebebe;
    width: 100%;
}

.recruit_detail_requirement_item:last-child {
    border-bottom: 1px solid #bebebe;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_requirement_item {
        display: block;
    }  
}

.recruit_detail_requirement_condition {
    padding: 24px 32px;
    width: 204px;
    background: #F5F6F8;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 840px) {
    .recruit_detail_requirement_condition {
        width: 100%;
        padding: 20px 24px;
    }  
}

.recruit_detail_requirement_condition_text {
    color: #282828; 
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
}

.recruit_detail_requirement_content {
    flex: 1;
    padding: 24px 32px;
    color: #282828; 
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; 
}

@media only screen and (max-width: 840px) {
    .recruit_detail_requirement_content {
        padding: 20px 24px;;
    } 
}

/* recruit_detail_cta */

.recruit_detail_cta_btn {
    margin: 80px 0px 40px 0px;
    display: flex;
    justify-content: center;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_cta_btn {
        display: none;
    }
}

.recruit_detail_cta_wrap {
    background: linear-gradient(275.61deg, #28C86E 7.59%, #008482 94.21%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 999px;
    padding: 24px 40px 24px 50px;
    display: flex;
    align-items: center;
}

.recruit_detail_cta_text_box {
    color: #FFF;
}

.recruit_detail_cta_text{
    font-size: 24px;
    font-weight: 500;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_cta_text_main {
        font-size: 12px;
        font-weight: 500;
        margin-bottom: 4px;
    }
}

.recruit_detail_cta_text_sub {
    font-size: 14px;
    font-weight: 500;
}

@media only screen and (max-width: 640px) {
    .recruit_detail_cta_text_sub {
        font-size: 10px;
    }
}

.recruit_detail_cta_icon {
    display: flex;
    align-items: center;
}

.recruit_detail_cta_icon_inner {
    width: 24px;
    height: 24px;
    padding: 4px;
    margin-left: 20px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
}

/* recruit_detail_fixed_cta */
.recruit_fixed_cta_btn {
    display: none;
    position: fixed;
    bottom: 40px;
    left: 0px;
    width: 100%;
    z-index: 50;
}

@media only screen and (max-width: 840px) {
    .recruit_fixed_cta_btn {
        display: flex;
        justify-content: center;
    }
}

.recruit_fixed_cta_wrap {
    background: linear-gradient(275.61deg, #28C86E 7.59%, #008482 94.21%);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 999px;
    padding: 24px 40px 24px 50px;
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 640px) {
    .recruit_fixed_cta_wrap {
        padding: 20px 40px 20px 50px;
    }    
}

.recruit_fixed_cta_text_box {
    color: #FFF;
}

.recruit_fixed_cta_text{
    font-size: 24px;
    font-weight: 500;
}

@media only screen and (max-width: 640px) {
    .recruit_fixed_cta_text {
        font-size: 20px;
        font-weight: 500;
        margin-bottom: 4px;
    }
}

.recruit_fixed_cta_icon {
    display: flex;
    align-items: center;
}

.recruit_fixed_cta_icon_inner {
    width: 24px;
    height: 24px;
    padding: 4px;
    margin-left: 20px;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
}




 /*======================
========================

    about_member

========================
=======================*/


.member_card_area {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 80px;
    column-gap: 40px;
    row-gap: 80px;
}

@media only screen and (max-width: 640px) {
    .member_card_area {
        column-gap: 0px;
        row-gap: 40px;
    }
}

.member_card {
    width: 340px;
    height: 332px;
}

@media only screen and (max-width: 640px) {
    .member_card {
        width: 100%;
    }
}

.member_card_top {
    width:100%;
    height:240px;
    background-position: center center;
    background-size: cover;
    border-radius: 20px;
    margin-bottom: 24px;
}

.member_card_bottom {
    display: flex;
    color: #282828;
}

.member_card_role {
    font-size: 14px;
    font-weight: 500;
    line-height: 150%; /* 21px */
}

.member_card_name_ja {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%; /* 30px */
}

.member_card_name_en span {
    color: #008482;
    font-feature-settings: 'palt' on;
    font-family: Outfit;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
}


/*======================
========================

    about_mvv

========================
=======================*/

.about_mvv_title_heading span {
    color: #008482;
    font-family: Outfit;
    font-size: 32px;
    font-weight: 600;
    line-height: 100%; /* 32px */
}

@media only screen and (max-width: 640px) {
    .about_mvv_title_heading span {
        font-size: 24px;
        margin: 0px 0px 16px 16px;
    }
}

@media only screen and (max-width: 640px) {
    .about_mvv_title_heading {
        margin-bottom: 8px;
    }
}

.about_mvv_title_text {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 40px;
    font-weight: 700;
    line-height: 150%; /* 60px */
    letter-spacing: 2px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_title_text {
        font-size: 20px;
        letter-spacing: 1px;
        margin-left: 16px;
    }
}

.about_mvv_title_back {
    width: calc(100% - 31%);
    height: 273px;
    background-color: #F5F6F8;
    border-radius: 0px 20px 20px 0px;
    margin-top: -208px;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_title_back {
        width: calc(100% - 16px);
        height: 137px;
        margin-top: -113px;
        margin-bottom: 48px;
    } 
}

.about_mvv_main_content .common_inner_2:first-child .about_mvv_title_wrap {
    margin-top: 160px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_main_content .common_inner_2:first-child .about_mvv_title_wrap {
        margin-top: 80px;
    } 
}

.about_mvv_main_text {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 18px;
    font-weight: 500;
    line-height: 200%; /* 36px */
    letter-spacing: 0.9px;
    margin-bottom: 56px;
    max-width: 620px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_main_text {
        font-size: 16px;
        letter-spacing: 0.8px;
        margin-bottom: 24px;
    } 
}

.about_mvv_bold_text {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 24px;
    font-weight: 700;
    line-height: 200%; /* 48px */
    letter-spacing: 1.2px;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_bold_text {
        font-size: 20px;
        letter-spacing: 1px;
        margin-bottom: 40px;
    } 
}

.about_image_wrap {
    display: flex;
}

.about_image_space {
    width: calc(100% - 39%);
    height: 160px;
}

@media only screen and (max-width: 640px) {
    .about_image_space {
        width: 16px;
    } 
}

.about_mvv_image {
    background-position: center center;
    background-size: cover;
    width: calc(100% - 61%);
    height: 360px;
    background-color: #F5F6F8;
    border-radius: 20px 0px 0px 20px;
    margin-top: -368px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_image {
        width: calc(100% - 16px);
        height: 240px;
        margin-top: 0px;
        margin-bottom: 100px;
    } 
}

.about_image_space_2 {
    width: calc(100% - 39%);
    height: 336px;
}

@media only screen and (max-width: 640px) {
    .about_image_space_2 {
        width: 16px;
        height: 217px;
    }
}

.about_mvv_image_2 {
    background-position: center center;
    background-size: cover;
    width: calc(100% - 61%);
    height: 360px;
    background-color: #F5F6F8;
    border-radius: 20px 0px 0px 20px;
    margin-top: -200px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_image_2 {
        width: calc(100% - 16px);
        height: 240px;
        margin-top: 8px;
        margin-bottom: 103px;
    }
}

.about_mvv_guidelines_wrap {
    display: flex;
    color: #282828;
    font-size: 18px;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
    margin: 24px 0px 16px 0px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_guidelines_wrap {
        display: block;
        margin: 0px 0px 8px 16px;
    } 
}

.about_mvv_guidelines_title {
    font-weight: 700;
    margin-right: 24px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_guidelines_title {
        font-size: 16px;
        letter-spacing: 0.8px;
    } 
}

.about_mvv_guidelines_text {
    font-feature-settings: 'palt' on;
    font-weight: 400;
}

@media only screen and (max-width: 640px) {
    .about_mvv_guidelines_text {
        font-size: 16px;
        letter-spacing: 0.8px;
    } 
}

.about_mvv_title_value_back {
    width: calc(100% - 31%);
    height: 321px;
    background-color: #F5F6F8;
    border-radius: 0px 20px 20px 0px;
    margin-top: -283px;
    margin-bottom: 80px; 
}

@media only screen and (max-width: 640px) {
    .about_mvv_title_value_back {
        width: calc(100% - 16px);
        height: 217px;
        margin-top: -200px;
        margin-bottom: 50px;
    }
}

.about_mvv_action_area {
    padding: 32px 40px;
    border-radius: 20px;
    background: #F5F6F8;
    margin-bottom: 100px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_action_area {
        padding: 24px 20px;
        margin-bottom: 40px;
    }
}

.about_mvv_action_area .about_mvv_guidelines_wrap {
    margin: 0px;
    margin-bottom: 32px;
}

.about_mvv_action_box {
    display: flex;
    align-items: center;
    padding: 24px;
    background-color: #ffffff;
    border-radius: 8px;
    margin-bottom: 24px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_action_box {
        display: block;
        padding: 16px;
    }
}

.about_mvv_action_box:last-child {
    margin-bottom: 0px;
}

.about_mvv_action_box_title_block {
    display: flex;
    align-items: center;
    width: 50%;
}

@media only screen and (max-width: 640px) {
    .about_mvv_action_box_title_block {
        width: 100%;
    }
}

.about_mvv_action_box_title_block_title {
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 24px;
    font-weight: 700;
    line-height: 150%; /* 36px */
    letter-spacing: 1.2px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_action_box_title_block_title {
        font-size: 18px;
        letter-spacing: 0.9px;
        margin-bottom: 8px;
        width: calc(100% - 16px);
    }
}

.about_mvv_action_box_desc_block {
    width: 50%;
    color: #282828;
    font-feature-settings: 'palt' on;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%; /* 24px */
    letter-spacing: 0.8px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_action_box_desc_block {
        width: 100%;
    }
}

.about_mvv_bottom_image_area {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_bottom_image_area {
        display: block;
        margin-bottom: 50px;
    } 
}

.about_mvv_bottom_image_first ,.about_mvv_bottom_image_second {
    background-position: center center;
    background-size: cover; 
    width: 530px;
    height: 320px;
    border-radius: 20px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_bottom_image_first {
        width: 100%;
        height: 204px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 640px) {
    .about_mvv_bottom_image_first_warp ,.about_mvv_bottom_image_second_wrap {
        display: flex;
    }
}

.about_mvv_bottom_image_second {
    margin-top: -60px;
}

@media only screen and (max-width: 640px) {
    .about_mvv_bottom_image_second {
        width: 100%;
        height: 204px;
        margin-top: 0px;
    }    
}

@media only screen and (max-width: 640px) {
    .about_mvv_bottom_image_space {
        content: "";
        width: 20px;
    }
}




.top_join_us_image {
    background-position: center center;
    background-size: cover;
    width: calc(100% / 2);
    height: 528px;
    background-color: #F5F6F8;
    border-radius: 20px 0px 0px 20px;
    margin-top: -368px;
}

@media only screen and (max-width: 640px) {
    .top_join_us_image {
        width: calc(100% - 16px);
        height: 240px;
        margin-top: 0px;
        margin-bottom: 100px;
    } 
}

/*======================
    fixed_banner
=======================*/

.fixed_cta_right {
    position: fixed;
    bottom: 20px; 
    right: 20px;
    z-index: 1000; 
}

.fixed_cta_right_image {
    position: relative;
    width: 300px; 
    height: 150px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); 
    border-radius: 8px; 
    overflow: hidden;
    transition: transform 0.3s ease;
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

@media only screen and (max-width: 1200px) {
    .fixed_cta_right {
        position: fixed;
        bottom: 50px; 
        right: 20px;
        z-index: 1000; 
    }
    .fixed_cta_right_image {
        width: 200px; 
        height: 100px;
    } 
}

.fixed_cta_right_image:hover {
    transform: scale(1.05); 
}

.fixed_cta_right_image img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block; 
}

.cta-close-btn {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 30px;
    height: 30px;
    background: rgba(128, 128, 128, 0.7);
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    line-height: 30px;
    text-align: center;
}

@media only screen and (max-width: 1200px) {
    .cta-close-btn {
        width: 25px;
        height: 25px;
        font-size: 14px;
        line-height: 25px;
    } 
}

/* Animation */
@keyframes floating-y {
    0% {
        transform: translateY(-3%);
    }
    100% {
        transform: translateY(3%);
    }
}
