@charset "utf-8";

html {
    font-feature-settings: "palt";
    scroll-behavior: smooth;
}

@media screen and (max-width: 1440px) {
    html {
        font-size: 14px;
    }
}

@media screen and (max-width: 800px) {
    html {
        font-size: 13px;
    }
}

body {
    font-size: 1.16rem;
    font-weight: 500;
    letter-spacing: .13em;
    line-height: 1.8em;
    margin-left: auto;
    margin-right: auto;
    color: #333333;
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

main {
    background: linear-gradient(to bottom, #FFFFFF, #F3F3F3);
    overflow: hidden;
}

/* TEXT COLOR */

a {
    color: #333333;
}

.text-color_1 {
    color: #fff;
    transition: .5s all;
}

.text-color_2 {
    color: #333;
    transition: .5s all;
}

.text-color_3 {
    color: #777;
}

.text-color_4 {
    color: #8EC6E3;
}

.text-color_5 {
    color: #A6381B;
}

.text-color_6 {
    color: #7B2109;
}

.text-color_7 {
    color: #31596D;
}

.text-color_8 {
    color: #8EC6E3;
}

/* BACKGROUND COLOR */

.background-color_01 {
    background-color: #333;
}

.background-color_02 {
    background-color: #A6381B;
}

.background-color_03 {
    background: radial-gradient(circle at center, rgb(177, 83, 58)10%, rgb(103, 22, 0));
}

.background-color_04 {
    background-color: #7B2109;
}

/*SECTION TITLE H2 */

.h2_sub {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 1.25rem;
    font-size: 1rem;
}

.h2_sub::before {
    content: "";
    display: block;
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 50%;
    background-color: #A6381B;
    position: absolute;
    left: 0;
}

.h2_main {
    font-size: 2.38rem;
    font-weight: 800;
    line-height: 1.2em;
}

/* H3 */

h3 {
    font-size: 1.75rem;
    line-height: 1.8em;
    font-weight: 900;
}

/* H4 */

h4 {
    font-size: 1.5rem;
    line-height: 1.6em;
    font-weight: 700;
}

/* H5 H6 */

h5, h6 {
    font-size: 1.25rem;
}

/* WRAPPER */

.content_wrapper_01 {
    padding: 0 13%;
    width: auto;
    margin: 9.375rem auto;
}

@media screen and (max-width: 1536px) {
    .content_wrapper_01 {
        padding: 0 10%;
    }
}

@media screen and (max-width: 800px) {
    .content_wrapper_01 {
        padding: 0 5%;
        margin: 6.25rem auto;
    }
}

@media screen and (max-width: 412px) {
    .content_wrapper_01 {
        padding: 0 5%;
        margin: 3.13rem auto;
    }
}

.content_wrapper_02 {
    padding: 0 23.5%;
    width: auto;
    margin: 6.25rem auto;
}

@media screen and (max-width: 800px) {
    .content_wrapper_02 {
        padding: 0 5%;
        width: auto;
        margin: 6.25rem auto;
    }
}

@media screen and (max-width: 412px) {
    .content_wrapper_02 {
        margin: 3.13rem auto;
    }
}

.content_wrapper_03 {
    padding: 0 19.3%;
    width: auto;
    margin: 6.25rem auto;
}

@media screen and (max-width: 800px) {
    .content_wrapper_03 {
        padding: 0 5%;
    }
}

@media screen and (max-width: 412px) {
    .content_wrapper_03 {
        margin: 3.13rem auto;
    }
}

/* FLEX RESPONSIVE */

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

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

.flex_reverse {
    flex-direction: row-reverse;
}

/* WIDTH */

.width_half {
    width: 45.8%;
}

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

/* LINK BUTTON */

.btn_link {
    display: flex;
    align-items: center;
    width: 18.75rem;
    height: 3.75rem;
    border-radius: 1.88rem;
    border: 1px solid #333;
    position: relative;
    transition: .5s all;
    padding-left: 1.56rem;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

.btn_link:hover {
    background-color: #F1F1F1;
    border: 1px solid #A6381B;
    color: #A6381B;
    transition: .5s all;
}

.btn_link span {
    font-size: 1rem;
    margin-left: 1.56rem;
}

.btn_link::after {
    position: absolute;
    content: "";
    display: inline-block;
    height: 0.7rem;
    width: 1.5rem;
    border-right: 2.5px solid #333;
    border-bottom: 2px solid #333;
    right: 1.56rem;
    transform: skewX(45deg);
    transition: .5s all;
}

.btn_link:hover::after {
    right: 1.25rem;
    border-right: 2.5px solid #A6381B;
    border-bottom: 2px solid #A6381B;
    transition: .5s all;
}

.btn_link_left {
    margin-left: 0;
}

.link-box_center {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.link-box_left {
    display: block;
    width: fit-content;
    margin-right: auto;
    margin-left: 0;
}

@media screen and (max-width: 412px) {
     .link-box_left {
        margin-left: auto;
    }
}

.link-box_center .link_add {
    text-align: center;
}

.link-box_left .link_add {
    text-align: left;
}

.link_add {
    font-size: 1rem;
    margin-bottom: 1.25rem;
}

.reform_process_link-box,
#vr .link-box_center,
#recruit .btn_link,
#news_archive_all .btn_link,
#news_archive_category .btn_link,
#archive-works .link-box_center {
    margin-bottom: 6.25rem;
}

/* LINK BUTTON TOP NEWS*/

.btn_link_top_news {
    display: flex;
    align-items: center;
    width: 8rem;
    position: relative;
    transition: .5s all;
    margin-left: auto;
}

.btn_link_top_news:hover {
    color: #A6381B;
    transition: .5s all;
}

.btn_link_top_news span {
    font-size: 1rem;
}

@media screen and (max-width: 412px) {
    .btn_link_top_news span {
        display: none;
    }
}

.btn_link_top_news::after {
    position: absolute;
    content: "";
    display: inline-block;
    height: 0.7rem;
    width: 1.5rem;
    border-right: 2.5px solid #333;
    border-bottom: 2px solid #333;
    right: 1.56rem;
    transform: skewX(45deg);
    transition: .5s all;
}

@media screen and (max-width: 412px) {
    .btn_link_top_news::after {
        right: 5%;
        height: 0.5rem;
        width: 1.3rem;
        top: -95px;
    }
}

.btn_link_top_news:hover::after {
    right: 1.25rem;
    border-right: 2.5px solid #A6381B;
    border-bottom: 2px solid #A6381B;
    transition: .5s all;
}

/* BORDER BOTTOM DASHED */

.border-bottom_dashed {
     border-bottom: 1.2px dashed #777;
     padding-bottom: 1.56rem;
     margin-bottom: 1.56rem;
}

@media screen and (max-width: 800px) {
    .border-bottom_dashed {
        padding-bottom: 1.25rem;
        margin-bottom: 1.25rem;
    }
}

/* TEXT AREA */

.text-area {
    text-align: justify;
}

/* ADDITION */

.addition {
    font-size: 0.88rem;
    font-weight: normal;
}

/* ICON */

.sns_icon {
    width: 2.12rem;
}

.sns_icon:hover {
    opacity: .6;
    transition: .5s;
}


/* SP BLOCK/NONE */

.sp-block {
    display: none;
}

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

@media screen and (max-width: 412px) {
    .sp-none {
       display: none;
   }
}

.sp-block_02 {
    display: none;
}

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

@media screen and (max-width: 800px) {
     .sp-none_02 {
        display: none;
    }
}

.br_block {
    display: none;
}

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

@media screen and (max-width: 1280px) {
     .br_none {
        display: none;
    }
}

