/*---------------------------------------------------------
                共通CSS
---------------------------------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    background-repeat: no-repeat;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
}

body {
    position: relative;
    /* overflow: hidden; */
    background-color: #f1f4f5;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 600;
    margin: 0;
    margin-top: 100px;
}

.main_view {
    position: relative;
}

.page_main_view {
    width: 100%;
    height: 330px;
}

h2.page_title {
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 120px;
}

h3 {
    font-family: 'Inter', sans-serif;
    font-size: 80px;
    font-weight: bold;
    letter-spacing: 15px;

}

h3 span.title_ja {
    font-size: 30px;
    display: block;
}

h3.darkblue::first-letter {
    color: #004EA0;
}

h3.blue::first-letter {
    color: #4684C5;
}

h3.skyblue::first-letter {
    color: #CAF2FF;
}

h3.red::first-letter {
    color: #FF574C;
}

.page_menu ul {
    width: 36%;
    margin: 0 0 0 auto;
    display: flex;
    text-decoration: none;
    background-color: white;
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}

.page_main_view {
    background-size: cover;
}

h3.darkblue span {
    display: flex;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1rem;
}

/*30px*/
.tel_number_area h4,
.tel_number_area a,
.access h4,
.privacy h4,
.total_support_top h4,
.total_support_2column_left_box h5,
.total_support_2column_right_box h5,
.total_support_introduction h4,
.corse-results_table p,
.history-container p,
.comment_title,
.service_flow_text_title span,
.voice_01 h4,
.information h4,
.entry h4,
.thought h4 {
    font-size: 30px;
}

.total_support_flex_text h5 {
    font-size: 28px;
}

br.brsp {
    display: none;
}

/*24px*/
.recruit_text_red,
.summary-left {
    font-size: 24px;
}

/*20px*/
.access h5,
.privacy h5,
.total_support_table dl,
.corse-results_table dl,
.profile_container dl,
.performance_block h3,
.voice_01 p,
.voice_01 a,
.voice_02 h5,
.message_text,
.desired_figure_text_area,
.thought-txt,
.environment dl,
.education_table_container h4 {
    font-size: 20px;
}

/*18px*/
.total_support_2column_left_box p,
.comment_item,
.service_flow_faq dd,
.service_flow_text_item p,
.performance_block p {
    font-size: 18px;
}

/*16px*/
.access_container ol,
.total_support_top p,
.total_support_flex_text p,
.total_support_2column_right_box p,
.summary-right p,
.performance_block a,
.desired_figure_item p,
.thought_list,
.education_table_container p {
    font-size: 16px;
    font-weight: 400;
}

/*---------------------------------------------------------
                header
---------------------------------------------------------*/
li::marker {
    display: none !important;
}

nav#pc_header {
    position: fixed;
    width: 100%;
    top: 0;
    height: 100px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    z-index: 9999;
}

.Header_logo {
    display: flex;
    align-items: center;
    margin-left: 3%;
}

.Header_logo img {
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Header_logo a {
    color: #000;
    font-size: 24px;
}

.Header_logo a span {
    display: block;
    font-size: 14px;
}

.Header_spmenu {
    display: flex;
    width: 50%;
    justify-content: flex-end;
}

a.Header_contact {
    position: relative;
    display: flex;
    background: #004EA0;
    height: 30px;
    align-items: center;
    justify-content: center;
    width: 120px;
    font-size: 14px;
    color: #fff;
    border-radius: 5px;
    letter-spacing: 0.05rem;
    top: 28%;
    margin-right: 30px;
}

.Header_list ul {
    display: flex;
}

.Header_list ul li a {
    position: relative;
    height: 100px;
    width: 120px;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: flex-end;
    color: #004EA0;
    padding-bottom: 8px;
    justify-content: center;
}

.Header_list ul li a::before {
    position: absolute;
    content: "";
    width: 60px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 40px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.Header_list ul li:nth-child(6) a {
    background: #004EA0;
    color: #fff;
}

.Header_list ul li:nth-child(1) a::before {
    background-image: url(../img/nav-icon1.svg);
}

.Header_list ul li:nth-child(2) a::before {
    background-image: url(../img/nav-icon2.svg);
}

.Header_list ul li:nth-child(3) a::before {
    background-image: url(../img/nav-icon3.svg);
}

.Header_list ul li:nth-child(4) a::before {
    background-image: url(../img/nav-icon4.svg);
    top: 50px;
}

.Header_list ul li:nth-child(5) a::before {
    background-image: url(../img/nav-icon5.svg);
}

.Header_list ul li:nth-child(6) a::before {
    background-image: url(../img/nav-icon6.svg);
}

/*タブレット・スマホ版*/
.sp_menu {
    display: none;
}

.spnav_btn {
    position: relative;
    cursor: pointer;
    width: 35px;
    height: 50px;
    border-radius: 5px;
    z-index: 10000;
}

.spnav_btn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    height: 4px;
    border-radius: 2px;
    background: #fff;
}

.spnav_btn span:nth-of-type(1) {
    top: 13px;
    width: 100%;
}

.spnav_btn span:nth-of-type(2) {
    top: 23px;
    width: 100%;
}

.spnav_btn span:nth-of-type(3) {
    top: 33px;
    width: 100%;
}

.spnav_btn.active span:nth-of-type(1) {
    top: 18px;
    left: 0;
    transform: translateY(6px) rotate(-135deg);
    width: 100%;
}

.spnav_btn.active span:nth-of-type(2) {
    opacity: 0;
}

.spnav_btn.active span:nth-of-type(3) {
    top: 30px;
    left: 0;
    transform: translateY(-6px) rotate(135deg);
    width: 100%;
}

.lead {
    margin: 20px 0 0 0;
}

.btn-block {
    width: 200px;
    padding: 30px;
}

#sp_menu.panelactive {
    position: fixed;
    z-index: 999;
    top: 0;
    width: 100%;
    height: 100vh;
}

/*丸の拡大*/
.circle-bg {
    position: fixed;
    z-index: -1;
    /*丸の形*/
    width: 100%;
    height: 100px;
    background: #4684C5;
    /*丸のスタート位置と形状*/
    transform: scale(0);
    top: -50px;
}

.circle-bg.circleactive {
    transform: scale(50);
}

#sp_menu-list {
    display: none;
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: 70px;
}

#sp_menu.panelactive #sp_menu-list {
    display: block;
}

#sp_menu ul {
    opacity: 0;
    position: absolute;
    z-index: 999;
    top: 0%;
    left: 0%;
}

#sp_menu.panelactive ul {
    opacity: 1;
}

#sp_menu.panelactive ul li {
    animation-name: gnaviAnime;
    animation-duration: 1s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes gnaviAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*リストのレイアウト設定*/
#sp_menu li {
    text-align: center;
    list-style: none;
}

#sp_menu li a {
    color: #333;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
}

.sp_nav {
    width: 100%;
    height: 70px;
    display: flex;
    position: fixed;
    z-index: 9999;
    background: #fff;
    top: 0;
    justify-content: space-between;
}

.sp_nvitem {
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #004EA0;
}

img.sp_header01 {
    width: 25px;
    margin: 0 auto 4px auto;
    display: flex;
}

img.sp_header02,
img.sp_header03 {
    width: 35px;
    margin: 0 auto 4px auto;
    display: flex;
}

.spmenu_title {
    position: relative;
    background: #004EA0;
    color: #fff;
    font-size: 18px;
    padding: 24px 5%;
    font-weight: 600;
    letter-spacing: 0.05rem;
    border: 2px solid #4684C5;
    display: flex;
    align-items: center;
}

.spmenu_title:nth-child(1) {
    border-top: 0px;
}

.Circle_spbtn_wh div {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    background: #fff;
}

.spmenu_content02 {
    padding: 5px 0;
    background: #4684C5;
    height: 40vh;
}

.spmenu_title02 {
    position: relative;
    color: #fff;
    display: block;
    margin-left: 12%;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 600;
    ;
}

.spmenu_title02:nth-child(1) {
    margin-top: 20px;
}

.spmenu_title02::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    left: -7%;
    right: 8px;
    width: 16px;
    height: 5px;
    border: none;
    border-right: 3px solid #fff;
    border-bottom: 2px solid #fff;
    transform: skew(45deg);
    transition: .3s;
}

.spmenu_title02:hover::before {
    right: 0px;
    width: 24px;
}

/*矢印*/
.Circle_spbtn_wh .btn_arrow {
    width: 30px;
    border: 1px solid;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    margin-right: 16px;
}

.Circle_spbtn_wh .btn_arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    right: 8px;
    width: 16px;
    height: 5px;
    border: none;
    border-right: 3px solid #004EA0;
    border-bottom: 2px solid #004EA0;
    transform: skew(45deg);
    transition: .3s;
}

.spmenu_title:hover .Circle_spbtn_wh .btn_arrow::after {
    right: 0px;
    width: 24px;
}

/*---------------------------------------------------------
                footer
---------------------------------------------------------*/
footer {
    background-color: #fff;
}

.footer_container {
    display: flex;
    justify-content: space-between;
    padding: 3% 2%;
}

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

.footer_left_area a {
    display: flex;
    flex-direction: column;
    font-size: 28px;
    margin-left: 10px;
    color: #000;
}

.footer_left_area a span {
    font-size: 16px;
}

.footer_right_area {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-end;
}

.footer_right_area ul {
    display: flex;
    justify-content: flex-end;
}

.footer_right_area li {
    list-style: none;
    padding: 0 0 0 10px;
}

.footer_right_area li:last-child::after {
    display: none;
}

.footer_right_area li a {
    color: #004EA0;
    font-weight: bold;
    text-decoration: none;
}

.footer_menu li a {
    font-size: 20px;
}

.footer_menu li::after {
    content: "/";
    padding-left: 10px;
    font-weight: bold;
    color: #004EA0;
}

.security_menu {
    font-size: 16px;
}

.security_menu li::after {
    content: "・";
    font-weight: bold;
    padding-left: 15px;
}

.footer_container p {
    color: #004EA0;
    font-weight: bold;
    font-size: 16px;
}

/*---------------------------------------------------------
                ボタン
---------------------------------------------------------*/
.Circle_btn_bl a,
.Circle_btn_wh a,
.Circle_btn_recruit a,
.Circle_btn_recruit_wh a {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
}

.Circle_btn_bl a {
    background: #004EA0;
    border: 3px solid #fff;
}

.Circle_btn_wh a {
    background: #fff;
    border: 3px solid #004EA0;
}

.Circle_btn_recruit a {
    background: #FF574C;
    border: 3px solid #fff;
}

.Circle_btn_recruit_wh a {
    background: #fff;
    border: 3px solid #FF574C;
}

/*矢印*/
.btn_arrow {
    width: 100px;
    border: 1px solid;
    cursor: pointer;
    position: relative;
    text-decoration: none;
}

.btn_arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 22px;
    width: 36px;
    height: 8px;
    border: none;
    border-right: 5px solid #FFF;
    border-bottom: 3px solid #FFF;
    transform: skew(45deg);
    transition: .3s;
}

.btn_arrow:hover::after {
    right: -32px;
    width: 90px;
}

.btn_arrow.arrow_bl::after {
    border-right: 5px solid #004EA0;
    border-bottom: 3px solid #004EA0;
}

.Circle_btn_recruit_wh .btn_arrow.arrow_bl::after {
    border-right: 5px solid #FF574C;
    border-bottom: 3px solid #FF574C;
}

/*viewmore*/
.viewmorebtn_wh a,
.viewmorebtn_bl a,
.viewmorebtn_performance div,
.viewmorebtn_company div,
.viewmorebtn_recruit div {
    position: relative;
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    letter-spacing: 0.2rem;
    display: block;
    width: 200px;
    padding: 10px 10px 10px 40px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
    border: 0;

}

.viewmorebtn_performance div,
.viewmorebtn_recruit div {
    margin: 30% 0 0 auto;
}

.viewmorebtn_company div {
    margin: 30% auto 0 0;
}

.viewmorebtn_wh a {
    color: #004EA0;
    background: #fff;
}

.viewmorebtn_bl a {
    color: #fff;
    background: #004EA0;
    font-weight: 700;
}

.viewmorebtn_performance div {
    color: #fff;
    background: #4684C5;
    font-weight: 700;
}

.viewmorebtn_company div {
    color: #000;
    background: #CAF2FF;
    font-weight: 700;
}

.viewmorebtn_recruit div {
    color: #fff;
    background: #FF574C;
    font-weight: 700;
}

/*viewmore矢印*/
.viewmorebtn_wh .btn_arrow::after,
.viewmorebtn_bl .btn_arrow::after,
.viewmorebtn_performance .btn_arrow::after,
.viewmorebtn_company .btn_arrow::after,
.viewmorebtn_recruit .btn_arrow::after {
    top: calc(50% - 4px);
    right: 20px;
    width: 24px;
    height: 4px;
}

.viewmorebtn_wh .btn_arrow.arrow_bl::after {
    border-right: 3px solid #004EA0;
    border-bottom: 2px solid #004EA0;
}

.viewmorebtn_bl .btn_arrow.arrow_bl::after,
.viewmorebtn_performance .btn_arrow.arrow_bl::after,
.viewmorebtn_recruit .btn_arrow.arrow_bl::after {
    border-right: 3px solid #fff;
    border-bottom: 2px solid #fff;
}

.viewmorebtn_company .btn_arrow.arrow_bl::after {
    border-right: 3px solid #000;
    border-bottom: 2px solid #000;
}

.viewmorebtn_wh .btn_arrow:hover::after,
.viewmorebtn_bl .btn_arrow:hover::after,
.top_performance_container:hover .viewmorebtn_performance .btn_arrow::after,
.top_company_container:hover .viewmorebtn_company .btn_arrow::after,
.top_recruit_container:hover .viewmorebtn_recruit .btn_arrow::after {
    right: -36px;
    width: 80px;
}

/*---------------------------------------------------------
                ボタン修正
---------------------------------------------------------*/
/*トップページサービス*/
.top_service_btn a.btn_arrow.arrow_bl {
    margin: 40px 0 0 auto;
    z-index: 5;
}

/*お問い合わせ*/
.top_2column_area a .Circle_btn_bl {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
}

.top_2column_area a .Circle_btn_bl {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
    background: #004EA0;
    border: 3px solid #fff;
    margin: 0 30px 30px 0;
}

.top_2column_area a:hover .Circle_btn_bl {
    margin: 0 20px 20px 0;
    transition: all 0.2s 0s ease;
}

/*矢印*/
.top_2column_area a .btn_arrow {
    width: 100px;
    border: 0;
    cursor: pointer;
    position: relative;
    text-decoration: none;
}

.top_2column_area a .btn_arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 22px;
    width: 36px;
    height: 8px;
    border: none;
    border-right: 5px solid #FFF;
    border-bottom: 3px solid #FFF;
    transform: skew(45deg);
    transition: .3s;
}

.top_2column_area a:hover .btn_arrow::after {
    right: -32px;
    width: 90px;
}

.top_2column_area a .btn_arrow.arrow_bl::after {
    border-right: 5px solid #004EA0;
    border-bottom: 3px solid #004EA0;
}

/*お知らせボタン*/
a.btn_arrow.arrow_bl.top_news_btn {
    width: 20%;
    margin: 2% 12% 5% auto;
}

/*---------------------------------------------------------
                ぐにょぐにょ
---------------------------------------------------------*/
.main_concept {
    position: relative;
    width: 500px;
    height: 500px;
    margin: 0 50px 0 auto;
    top: 200px;
}

.H_cicle01 {
    position: absolute;
    height: 400px;
    width: 400px;
    background: #004da0cc;
    top: 0;
    left: 50px;
}

.H_cicle02 {
    position: absolute;
    height: 400px;
    width: 400px;
    background: #004EA04D;
    bottom: 0;
    left: 25px;
}

.H_cicle03 {
    position: absolute;
    height: 400px;
    width: 400px;
    background: #004EA099;
    top: 30px;
    left: 0;
}

.H_cicle04 {
    position: absolute;
    height: 400px;
    width: 400px;
    background: #004EA0CC;
    bottom: 30px;
    left: 40px;
}

.H_cicle05 {
    position: absolute;
    height: 400px;
    width: 400px;
    background: #004ea024;
    bottom: 20px;
    right: 0;
}

.H_cicle06 {
    position: absolute;
    height: 300px;
    width: 300px;
    background: #003E7F;
    border-radius: 50%;
    filter: blur(30px);
    bottom: 100px;
    right: 100px;
}

.H_cicle07 {
    position: absolute;
    height: 400px;
    width: 400px;
    border: 1px solid #fff;
    border-radius: 50%;
    bottom: 50px;
    right: 50px;
}

.H_concept {
    position: absolute;
    width: 400px;
    height: 400px;
    top: 50px;
    left: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.3rem;
    line-height: 2em;
    text-align: center;
    margin: 0
}


/*---------------------------------------------------------
                トップページ
---------------------------------------------------------*/
.top_main_area {
    background-image: url(../img/top_main_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 700px;
    position: relative;
    color: #fff;
}

.top_main_title {
    position: absolute;
    top: 80px;
    left: 100px;
}

.top_main_area p.top_main_span {
    color: #004EA0;
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 2rem;
    position: absolute;
    bottom: 180px;
    left: 100px;
}

p.top_main_span span {
    display: block;
    padding: 5px 30px;
    background-color: #fff;
    width: fit-content;
}

.top_main_text_second {
    margin-top: 10px;
    margin-left: 40px;
}

.top_sptext {
    display: none;
}

.top_service_area {
    position: relative;
    background-color: #fff;
    width: 95%;
    margin: 130px 0 0 auto;
    height: 965px;
}

.top_service_area::before {
    position: absolute;
    content: "";
    width: 880px;
    height: 1173px;
    background-image: url(../img/Top_service_bg.png);
    z-index: 999;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    left: -5%;
    z-index: 2;
}

.top_service_area::after {
    position: absolute;
    content: "";
    width: 880px;
    height: 1173px;
    background-image: url(../img/Top_service_bg02.png);
    z-index: 999;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    right: 0;
    z-index: 2;
}

.top_service_area h3 {
    text-align: center;
    position: absolute;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: 1.5rem;
    font-weight: 800;
}

.top_service_area h3::first-letter {
    color: #004EA0;
}

h3.darkblue_title span {
    display: block;
    font-size: 24px;
    letter-spacing: 1rem;
    font-weight: 500;
}

.top_service_container {
    position: absolute;
    width: 80%;
    margin: 60px auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 20;
}

.top_service_item .Circle_btn_wh {
    display: none;
}

.top_service_con {
    width: calc(50% - 30px);
    height: 300px;
}

.top_service_item {
    width: 100%;
    padding: 60px;
    background-repeat: no-repeat;
    position: relative;
}

.top_service_item.consulting .Circle_btn_wh {
    display: none;
}

.top_service_con:hover {
    background: #eee;
    transition: all 0.2s 0s ease;
}

.top_service_con:hover .top_service_item {
    width: calc(100% - 20px);
    height: 280px;
    margin: 10px auto;
    transition: all 0.5s 0s ease;
}

.top_service_item::after {
    color: #fff;
    opacity: 0.3;
    font-size: 70px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    letter-spacing: 5px;
    position: absolute;
    bottom: -10px;
    right: -15px;
}

.top_service_item.system {
    background-image: url(../img/top_service_system.png);
}

.top_service_item.system::after {
    content: "SYSTEM";
}

.top_service_item.network::after {
    content: "NETWORK";
}

.top_service_item.support::after {
    content: "SUPPORT";
}

.top_service_item.consulting::after {
    content: "CONSULTING";
}

.top_service_item.network {
    background-image: url(../img/top_service_network.png);
}

.top_service_item.support {
    background-image: url(../img/top_service_support.png);
}

.top_service_item.consulting {
    background-image: url(../img/top_service_consulting.png);
}

.top_service_item h4 {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
}

.top_service_item p {
    color: #fff;
    font-size: 16px;
    margin-top: 10px;
    font-weight: 400;
}

.top_performance_area {
    background-color: #fff;
    width: 95%;
    margin-top: 200px;
    height: 500px;
    position: relative;
}

.top_performance_area h3 {
    position: absolute;
    text-align: center;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 800;
    letter-spacing: 1.5rem;
    z-index: 15;
}

.top_performance_area span {
    display: block;
    font-size: 24px;
    letter-spacing: 1rem;
    font-weight: 500;
}

.top_performance_area h3::first-letter {
    color: #4684C5;
}

.top_performance_container {
    position: relative;
    display: flex;
    gap: 2%;
    padding: 200px 0 0 0;
}

.top_performance_container::before {
    position: absolute;
    content: "";
    background-image: url(../img/performance_polygon.png);
    background-repeat: no-repeat;
    width: 50%;
    height: 699px;
    top: 0;
    left: 0;
    z-index: 10;
    background-size: contain;
}

.top_performance_img {
    position: relative;
    width: 70%;
}

.top_performance_img_1 {
    filter: grayscale(100%);
    position: relative;
    z-index: 1;
    width: 100%;
}

.top_performance_container:hover .top_performance_img_1,
.top_company_container:hover .top_performance_img_1,
.top_recruit_container:hover .top_performance_img_1 {
    filter: unset;
    transition: 0.5s;
    animation-name: Topimghover;
    animation-fill-mode: forwards;
    animation-duration: 0.5s;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-direction: normal;
}

/*1で解説*/
@keyframes Topimghover {
    0% {
        left: 0;
        bottom: 0;
    }

    100% {
        left: 25px;
        bottom: 20px;
    }
}

.top_performance_img_2 {
    position: absolute;
    left: 25px;
    bottom: 25px;
    width: 100%;
}

.top_performance_text p {
    font-size: 16px;
    line-height: 1.5rem;
    letter-spacing: 0.3rem;
    text-align: right;
    color: #000;
}

.top_company_area {
    background-color: #fff;
    width: 95%;
    height: 500px;
    margin: 0 0 0 auto;
    position: relative;
    margin-top: 400px;
}

.top_company_container {
    position: relative;
    display: flex;
    gap: 2%;
    padding: 200px 0 0 0;
    justify-content: flex-end;
}

.top_company_container::before {
    position: absolute;
    content: "";
    background-image: url(../img/company_polygon.png);
    background-repeat: no-repeat;
    width: 600px;
    height: 699px;
    top: 0;
    right: 0;
    z-index: 10;
    background-size: contain;
}

.top_company_area h3 {
    position: absolute;
    text-align: center;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 800;
    letter-spacing: 1.5rem;
}

.top_company_area span {
    display: block;
    font-size: 24px;
    letter-spacing: 1rem;
    font-weight: 500;
}

.top_company_img {
    position: relative;
    width: 70%;
}

.top_company_img_1 {
    position: relative;
    z-index: 1;
    width: 100%;
}

.top_company_img_2 {
    position: absolute;
    left: 25px;
    bottom: 25px;
    width: 100%;
}

.top_company_text p {
    font-size: 16px;
    line-height: 1.5rem;
    letter-spacing: 0.3rem;
    color: #000;
}

.top_recruit_area {
    background-color: #fff;
    width: 95%;
    margin-top: 400px;
    height: 500px;
    position: relative;
    margin-bottom: 400px;
}

.top_recruit_area h3 {
    position: absolute;
    text-align: center;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 800;
    letter-spacing: 1.5rem;
}

.top_recruit_area span {
    display: block;
    font-size: 24px;
    letter-spacing: 1rem;
    font-weight: 500;
}

.top_recruit_container {
    position: relative;
    display: flex;
    gap: 2%;
    padding: 200px 0 0 0;
    color: #000;
}

.top_recruit_container::before {
    position: absolute;
    content: "";
    background-image: url(../img/recruit_polygon.png);
    background-repeat: no-repeat;
    width: 600px;
    height: 699px;
    top: 0;
    left: 0;
    z-index: 10;
    background-size: contain;
}

.top_recruit_img {
    position: relative;
    width: 70%;
}

.top_recruit_img_1 {
    filter: grayscale(100%);
    position: relative;
    z-index: 1;
    width: 100%;
}

.top_recruit_img_2 {
    position: absolute;
    left: 25px;
    bottom: 25px;
    width: 100%;
}

.top_recruit_text p {
    font-size: 16px;
    line-height: 1.5rem;
    letter-spacing: 0.3rem;
    text-align: right;
}

.top_2column_area {
    display: flex;
}

.top_2column_area a {
    display: block;
    width: 100%;
    height: 400px;
    background: #eee;
}

.top_2column_area p {
    font-size: 40px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.top_2column_beginner {
    height: 400px;
    width: 100%;
    background-image: url(../img/top_beginner_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.top_2column_beginner::before {
    content: "BIGINNER";
    font-size: 120px;
    font-weight: bold;
    color: #004EA0;
    opacity: 0.1;
    position: absolute;
    top: -35px;
    left: -9px;
}

.top_2column_beginner::after {
    content: "";
    display: inline-block;
    width: 251px;
    height: 400px;
    background: url(../img/top_beginner_bg_icon.png);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    top: 0;
}

.top_2column_beginner p {
    color: #004EA0;
}

.top_2column_contact {
    height: 400px;
    width: 100%;
    background-image: url(../img/top_contact_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.top_2column_contact::before {
    content: "";
    display: inline-block;
    width: 320px;
    height: 440px;
    background: url(../img/top_contact_bg_icon.png);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -22px;
    top: -20px;

}

.top_2column_contact::after {
    content: "CONTACT";
    font-size: 120px;
    font-weight: bold;
    color: #fff;
    opacity: 0.3;
    position: absolute;
    bottom: -15px;
    right: -9px;
}

.top_2column_contact p {
    color: #fff;
}

.top_2column_area a:hover .top_2column_beginner,
.top_2column_area a:hover .top_2column_contact {
    height: 380px;
    width: calc(100% - 20px);
    margin: 10px;
    transition: all 0.2s 0s ease;
}

.top_news_area {
    width: 100%;
    background-image: url(../img/top_news_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 200px;
    padding: 250px 0 150px;
    position: relative;
}

.top_news_area::before {
    position: absolute;
    content: "NEWS";
    font-size: 250px;
    letter-spacing: 0.5rem;
    font-weight: bold;
    font-family: 'Inter', sans-serif;
    color: #fff;
    opacity: 0.58;
    top: 30px;
    left: -18px;
}

.top_news_container {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 100px;
    padding: 0 5%;
}

.top_news_text {
    font-size: 40px;
    color: #fff;
}

.top_news_table {
    width: 80%;
    background-color: #fff;
}

.top_news_container dl {
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    padding: 5% 0 2% 0;
    font-size: 18px;
    line-height: 5rem;
}

.top_news_table dl a {
    color: #000;
}

.top_news_container dt {
    width: 20%;
    border-bottom: 1px solid #004EA0;
    text-align: center;
}

.top_news_container dd {
    width: 80%;
    border-bottom: 1px solid #004EA0;
}

/*---------------------------------------------------------
                お問い合わせ
---------------------------------------------------------*/
.stepBar {
    position: relative;
    list-style: none;
    margin: 0 auto 1em auto;
    padding: 0;
    text-align: center;
    width: 90%;
    overflow: hidden;
    zoom: 1;
}

.stepBar .step {
    position: relative;
    float: left;
    display: inline-block;
    line-height: 40px;
    padding: 0 40px 0 20px;
    background-color: #c1c1c1;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.stepBar .step:before,
.stepBar .step:after {
    position: absolute;
    left: -15px;
    display: block;
    content: '';
    background-color: #c1c1c1;
    border-left: 4px solid #FFF;
    width: 20px;
    height: 20px;
}

.stepBar .step:after {
    top: 0;
    -moz-transform: skew(30deg);
    -ms-transform: skew(30deg);
    -webkit-transform: skew(30deg);
    transform: skew(30deg);
}

.stepBar .step:before {
    bottom: 0;
    -moz-transform: skew(-30deg);
    -ms-transform: skew(-30deg);
    -webkit-transform: skew(-30deg);
    transform: skew(-30deg);
}

.stepBar .step:first-child {
    -moz-border-radius-topleft: 4px;
    -webkit-border-top-left-radius: 4px;
    border-top-left-radius: 4px;
    -moz-border-radius-bottomleft: 4px;
    -webkit-border-bottom-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.stepBar .step:first-child:before,
.stepBar .step:first-child:after {
    content: none;
}

.stepBar .step:last-child {
    -moz-border-radius-topright: 4px;
    -webkit-border-top-right-radius: 4px;
    border-top-right-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -webkit-border-bottom-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.stepBar .step.current {
    color: #FFF;
    background-color: #004EA0;
}

.stepBar .step.current:before,
.stepBar .step.current:after {
    background-color: #004EA0;
}

.stepBar.step2 .step {
    width: 50%;
}

.stepBar.step3 .step {
    width: 33.333%;
}

.stepBar.step4 .step {
    width: 25%;
}

.stepBar.step5 .step {
    width: 20%;
}

/**/
.contact_bg_area {
    background-image: url(../img/contact_bg_bottom.png);
    background-repeat: no-repeat;
    background-position: top left, bottom right;
    padding-bottom: 10px;
}

.contact_maiv_view {
    background-image: url(../img/service_main_view.jpg);
}

.contact_page_menu ul {
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.contact_page_menu li {
    list-style: none;
    background-color: #004EA0;
    padding: 20px 100px;
}

.contact_page_menu li:hover {
    opacity: 0.7;
}

.contact_page_menu a {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

.contact_page_menu li:nth-of-type(1) {
    clip-path: polygon(0% 100%, 7% 0%, 100% 0%, 93% 100%);
    position: absolute;
    right: 228px;
}

.contact_page_menu li:nth-of-type(2) {
    clip-path: polygon(0% 100%, 11% 0%, 100% 0%, 100% 100%);
}

.list_item {
    width: 300px;
    margin: 0 0 0 auto;
}

.arow_list {
    position: relative;
    text-align: center;
    background-color: #004EA0;
    color: #fff;
    clip-path: polygon(0% 100%, 6.7% 0%, 100% 0%, 100% 100%);
    padding: 20px;
    font-weight: bold;
}

.arow_list::after {
    content: "";
    width: 15px;
    height: 15px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    top: 50%;
    margin-left: 65px;
    transform: translateY(-75%) rotate(45deg);
}

label {
    display: block;
    padding: 20px 40px 20px 20px;
    line-height: 1;
    cursor: pointer;
}

.list_item a {
    display: block;
    text-decoration: none;
}

input.page_list {
    display: none;
}

.list_item li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

li.child_link:hover {
    background-color: #71b1f5;
}

#child_lists {
    text-align: center;
    background-color: #fff;
}

#page_list:checked~#child_lists li {
    height: 50px;
    opacity: 1;
}

#child_lists li a {
    padding: 13px 40px;
    color: #004EA0;
    font-weight: bold;
}

#child_lists li a:hover {
    color: #fff;
}

.mail_form_area {
    position: relative;
    background-color: #fff;
    width: 80%;
    margin: 150px 0 0 auto;
    padding-top: 100px;
}

.tel_area {
    background-color: #fff;
    width: 80%;
    margin: 150px 0 100px auto;
    padding: 180px 30px 100px 30px;
    position: relative;
}

.mail_form_area h3,
.tel_area h3 {
    position: absolute;
    top: -48px;
    left: -155px;
}

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

.tel_number_area h4 {
    font-weight: bold;
    color: #004EA0;
    border-bottom: 2px solid;
}

.tel_number_area a {
    color: #000;
    font-weight: 500;
}

.tel_number_area a::before {
    display: inline-block;
    content: "";
    width: 40px;
    height: 40px;
    background: url(../img/tel-icon.png);
    background-repeat: no-repeat;
    background-position: top;
    vertical-align: middle;
}

.tel_number_area p {
    font-size: 20px;
    color: #000;
    font-weight: 500;
}

.tel_number_left_area,
.tel_number_right_area {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.Contact_btn:hover {
    opacity: 0.7;
}

br.br_contact {
    display: none;
}

/*お問い合わせフォーム*/
.Contact_table table {
    width: 80%;
    margin: 0 auto;
}

.Contact_table tr {
    border-bottom: 1px solid #787878;
}

.Contact_table th {
    width: 35%;
    background: #eee;
    padding: 10px;
}

.Contact_table td {
    padding: 10px;
}

textarea#Contact_02,
select#Contact_01,
input#Contact_03,
input#Contact_04,
input#Contact_05,
input#Contact_06 {
    background: #eee !important;
    border-radius: 2px;
    border: 1px solid #787878 !important;
    display: block;
    -webkit-appearance: checkbox !important;
    padding: 5px;
}

.Contact_Form p {
    text-align: center;
    padding: 20px;
}

span.required {
    font-size: 12px;
    background: red;
    color: #fff;
    padding: 1px 5px;
    margin-left: 5px;
    border-radius: 5px;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    display: block;
}

a.Contact_btn {
    display: flex;
    width: 40%;
    margin: 20px auto;
}

input[type="submit"],
button[type="submit"] {
    background: #004EA0;
    padding: 20px 40px;
    font-size: 18px;
    color: #fff;
    margin: 20px auto 50px auto;
}

input[type="submit"] {
    order: 2;
}

/*送信完了*/
.Contact_sendend {
    width: 70%;
    padding: 0 0 50px 0;
    margin: 0 auto;
}

a.modoru {
    display: block;
    width: 50%;
    padding: 20px;
    font-size: 18px;
    color: #fff;
    text-align: center;
    background: #004EA0;
    margin: 30px auto;
    border-radius: 10px;
}

/*---------------------------------------------------------
                お知らせ
---------------------------------------------------------*/
.news_bg_container {
    background-image: url(../img/contact_bg_bottom.png);
    background-repeat: no-repeat;
    background-position: top left, bottom right;
    padding: 10px 0;
    background-size: 30%, 20%;
}

.news_maiv_view {
    background-image: url(../img/company_top_bg.png);
}

.news_container {
    background-color: #fff;
    width: 90%;
    margin: 100px auto;
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
}

.news_container h3 {
    position: absolute;
    top: -36px;
    left: 10px;
}

.news_container dl {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}

.news_container dt {
    width: 30%;
    margin-bottom: 20px;
    color: #004EA0;
    border-bottom: 2px solid #4684C5;
    text-align: center;
    padding: 10px;
    font-size: 18px;
}

.news_container dd {
    width: 70%;
    margin-bottom: 20px;
    border-bottom: 2px solid #4684C5;
    padding: 10px;
    font-size: 18px;
}

.news_container dt a,
.news_container dd a {
    color: #000;
}

/*お知らせ詳細*/

.news_title {
    display: flex;
    width: 90%;
    border-bottom: 4px solid #4684C5;
    margin: 0 auto;
    padding: 0 2% 1% 2%;
    justify-content: space-between;
    align-items: flex-end;
}

.news_title h4 {
    font-size: 28px;
}

.news_title p {
    color: #4684C5
}

.news_textarea p {
    width: 85%;
    margin: 2% auto;
}

/*---------------------------------------------------------
                実績紹介
---------------------------------------------------------*/
.performance {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 10px;
    padding: 100px;
    background-image: url(../img/profile-bg-1.png),
        url(../img/first_bg_bottom.png);
    background-repeat: no-repeat;
    background-position: top -124px left 0, bottom -150px right 0;
    background-size: 40%;
}

.performance_block {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 32%;
    margin: 0 auto;
    background-color: #FFFFFF;
    padding-bottom: 50px;
    font-weight: 400;
}

.performance_block img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.performance_block h3 {
    margin: 20px 0;
    margin-left: 20px;
    letter-spacing: 2px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

.performance_block p {
    margin-left: 20px;
    margin-bottom: 10px;
}

.performance_block a {
    margin-left: 20px;
}

.performance_block .viewmorebtn_bl {
    margin-top: 20px;
}

.performance_maiv_view {
    background-image: url(../img/performance_maiv_view-1.jpg);
}

.page_title span {
    display: block;
    font-size: 24px;
    font-weight: 400;
    margin-top: 20px;
}

.voice {
    padding-top: 200px;
    padding-bottom: 200px;
    padding-left: 0;
    background-image: url(../img/profile-bg-1.png),
        url(../img/first_bg_bottom.png);
    background-repeat: no-repeat;
    background-position: top -124px left 0, bottom -150px right 0;
    background-size: 40%;
}

.voice_01 {
    display: flex;
    width: 90%;
    background-color: #FFFFFF;
    margin-bottom: 100px;
}

.voice_01_left {
    width: 50%;
	padding-left: 40px;
}

.voice_01_left img {
    width: 100%;
}

.voice_01_right {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 30px;
    font-weight: 400;
}

.voice_01 h4 {
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.voice_01 p {
    margin-bottom: 10px;
}

.darkblue span {
    display: flex;
    font-size: 30px;
}

.voice .darkblue {
    width: 90%;
    margin: 0 0 0 auto;
    padding-left: 40px;
    margin-bottom: -80px;
}

.voice_02 {
    width: 90%;
    margin: 0 0 0 auto;
    padding-top: 140px;
    padding-left: 100px;
    padding-right: 20px;
    padding-bottom: 100px;
    background-color: #FFFFFF;
    margin-bottom: 100px;
}

.voice_02_img {
	float:left;
	padding-right: 20px;
}

.voice_02 p {
	margin-bottom:20px;
}

.voice_02 h5 {
    color: #004EA0;
    margin-bottom: 20px;
    margin-top: 60px;
}

.btn_back {
    background-color: #fff;
    border: 8px solid #004EA0;
    margin: 100px auto 100px;
    border-radius: 120px;
    text-align: center;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46%;
    position: relative;
}

.btn_back a {
    color: #004EA0;
    font-size: 30px;
}

.btn_back .Circle_btn_bl {
    position: absolute;
    right: 40px;
}

.pager {
    width: 100%;
    text-align: center;
    font-size: 24px;
}

.wp-pagenavi span.current {
    background-color: #004EA0;
    color: #fff;

}

/*---------------------------------------------------------
                事業内容
---------------------------------------------------------*/
.service_main_view {
    background-image: url(../img/service_main_view.jpg);

}

.service_page_menu ul {
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.service_page_menu li {
    list-style: none;
    background-color: #004EA0;
    padding: 10px 60px;
}

.service_page_menu li:hover {
    opacity: 0.7;
}

.service_page_menu a {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

.service_page_menu li:nth-of-type(1) {
    clip-path: polygon(0% 100%, 5.7% 0%, 100% 0%, 94.3% 100%);
    position: absolute;
    right: 1146px;
}

.service_page_menu li:nth-of-type(2) {
    clip-path: polygon(0% 100%, 4.2% 0%, 100% 0%, 95.8% 100%);
    position: absolute;
    right: 765px;
}

.service_page_menu li:nth-of-type(3) {
    clip-path: polygon(0% 100%, 4.7% 0%, 100% 0%, 95.3% 100%);
    position: absolute;
    right: 424px;
}

.service_page_menu li:nth-of-type(4) {
    clip-path: polygon(0% 100%, 7% 0%, 100% 0%, 93% 100%);
    position: absolute;
    right: 212px;
}

.service_page_menu li:nth-of-type(5) {
    clip-path: polygon(0% 100%, 7% 0%, 100% 0%, 100% 100%);
}

.total_support_table dd br {
    display: none;
}



.total_support_area h3 {
    margin-left: 40px;
    margin-top: 100px;
}

.total_support_area {
    background-image: url(../img/service_top_bg_top.png),
        url(../img/service_top_bg_bottom.png);
    background-repeat: no-repeat;
    background-size: 26%, 40%;
    background-position: top 0 right 0, bottom 0 left 0;
    padding: 10px 0;
}

.total_support_circle {
    text-align: center;
    padding: 150px 0;
}

.total_support_circle_sp {
    text-align: center;
    padding: 150px 0;
}

.total_support_circle_sp img {
    width: 70%;
}

.total_support_top {
    background-color: #fff;
    color: #004EA0;
    padding: 2.5em;
    position: relative;
    padding-top: 100px;
    margin-top: -100px;
}

.total_support_top::before {
    white-space: pre;
    font-family: 'Inter', sans-serif;
    font-size: 140px;
    font-weight: bold;
    line-height: 0.9em;
    color: #004EA0;
    opacity: 0.1;
    position: absolute;
    bottom: -7px;
    right: -10px;
    text-align: right;

}

.total_support_top h4 {
    margin-bottom: 40px;
}

.total_support_top p {
    padding-left: 1em;
    line-height: 2em;
}

.system_development_top::before {
    content: "SYSTEM\A DEVELOPMENT";
}

.oputimum_top::before {
    content: "OPUTIMUM";
}

.field_support_top::before {
    content: "FIELD\A SUPPORT";
}

.consulting_top::before {
    content: "CONSULTING";
}

.education_top::before {
    content: "EDUCATION";
}

.total_support_flex_area {
    margin-bottom: 100px;
}

.total_support_flex_number {
    color: #004EA0;
    font-family: 'Inter', sans-serif;
    font-size: 220px;
    font-weight: bold;
}

.total_support_flex_number.number_right {
    width: fit-content;
    margin: 0 0 0 auto;
}

.total_support_flex_text {
    background-color: #004EA0;
    position: relative;
}

.total_support_flex_text h5 {
    color: #fff;
    padding: 20px;
}

.total_support_flex_text p {
    color: #fff;
    line-height: 2em;
    padding: 40px;
}

.total_support_flex_text.left_text {
    width: 60%;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
    margin-top: -80px;
}

.total_support_flex_text.left_text::after {
    color: #fff;
    opacity: 0.1;
    font-size: 100px;
    font-family: 'Inter', sans-serif;
    font-weight: bold;
    line-height: 100px;
    position: absolute;
    bottom: -10px;
    right: 0;
    text-align: right;
    white-space: pre;
}

.total_support_flex_text.right_text {
    width: 60%;
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    margin: 0 0 0 auto;
    text-align: right;
    margin-top: -80px;
}

.total_support_flex_text.right_text::after {
    color: #fff;
    opacity: 0.1;
    font-size: 100px;
    font-family: 'Inter', sans-serif;
    font-weight: bold;
    line-height: 100px;
    position: absolute;
    bottom: -10px;
    left: 0;
    text-align: left;
    white-space: pre;
}

.item_up {
    margin-top: -140px;
}

.system_development_1::after {
    content: "HARMONY";
}

.system_development_2::after {
    content: " STRICT\A  ENJOY\A CHEERFULLY";
    white-space: pre;
}

.system_development_3::after {
    content: "OPTIMUM IS.\A BETTER THAN\A NEWEST";
    white-space: pre;
}

.oputimum_1::after {
    content: "MULTI-VENTER";
}

.oputimum_2::after {
    content: " ONESTOP\A SURVICE";
}

.oputimum_3::after {
    content: "TECHNICAL\A MARKETING";
}

.field_support_1::after {
    content: "RESOLUTION";
}

.field_support_2::after {
    content: " EQUIPMENT\A DEPLOYMENT";
}

.field_support_3::after {
    content: "SUPPORT";
}

.consulting_1::after {
    content: "HOP";
}

.consulting_2::after {
    content: "STEP";
}

.consulting_3::after {
    content: "JUMP";
}

.education_1::after {
    content: "EQUIPMENT";
}

.education_2::after {
    content: "  HEIGHT\A PASS\A RATE";
}

.education_3::after {
    content: "GUIDANC";
}

.total_support_introduction h4 {
    color: #004EA0;
    font-weight: bold;
}

.total_support_2column_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.total_support_2column_left_box {
    width: 50%;
    background-image: url(../img/business-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.total_support_2column_left_box h5 {
    color: #004EA0;
    padding: 3em 1em 1em 1em;
}

.total_support_2column_left_box p {
    color: #004EA0;
    font-weight: 400;
    line-height: 2em;
    padding: 0 2em 5em 2em;
}

.total_support_2column_right_box {
    width: 50%;
    background-image: url(../img/control-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.total_support_2column_right_box h5 {
    color: #fff;
    padding: 3em 1em 1em 1em;
}

.total_support_2column_right_box p {
    color: #fff;
    line-height: 2em;
    padding: 0 2em 5em 2em;
}

.total_support_2column_left_box::before {
    font-family: 'Inter', sans-serif;
    font-size: 130px;
    font-weight: bold;
    color: #004EA0;
    opacity: 0.1;
    line-height: 120px;
    position: absolute;
    bottom: 0;
    left: 0;
    white-space: pre;
}

.business_box::before {
    content: "BUSINESS";
}

.job_training_box::before {
    content: "JOB \A TRAINING";
}

.total_support_2column_right_box::before {
    font-family: 'Inter', sans-serif;
    font-size: 130px;
    font-weight: bold;
    color: #fff;
    opacity: 0.15;
    line-height: 120px;
    position: absolute;
    top: 0;
    right: 0;
    white-space: pre;
    text-align: right;
}

.control_box::before {
    content: "CONTROL";
}

.training_for_corporate_box::before {
    content: "TRAINING\A FOR\A CORPORATE";
}

.total_support_table dl {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
    align-items: center;
    padding-top: 5em;
    padding-bottom: 10em;
}

.total_support_table dt {
    width: 25%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background-color: #004EA0;
    padding: 1em;
    transform: skewX(-160deg);
    margin: 0.5em;
}

.total_support_table dt span {
    display: block;
    transform: skewX(160deg);
}

.total_support_table dd {
    width: 55%;
    margin-left: 3em;
    border-bottom: 1px solid #000;
    padding: 0.5em;
}

.total_support_table dd span {
    display: block;
    color: #FF574C;
}

.education_table_container {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
    justify-content: center;
    padding: 100px 0;
}

.education_table_left_container {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
}

.education_table_left_item {
    width: 45%;
    margin: 1em;
}

.education_table_container h4 {
    color: #fff;
    background-color: #004EA0;
    padding: 0.5em;
    text-align: center;
    transform: skewX(-160deg);
}

.education_table_container span {
    display: block;
    transform: skewX(160deg);
}

.education_table_container p {
    background-color: #fff;
    margin-left: 0.45em;
    margin-right: -0.45em;
    padding: 1em;
    font-weight: 500;
}

.education_table_right_container {
    width: 40%;
}

.education_table_right_item {
    margin: 1rem;
}

.corse-results_table {
    width: 50%;
    background-color: #fff;
    padding: 5em 0 3em 0;
    margin: 0 0 0 auto;

}

.corse-results_table_item {
    width: 90%;
    margin: 0 auto;
}

.corse-results_table p {
    border-bottom: 2px solid #004EA0;
    color: #004EA0;
    margin: 1em 0 0.5em 0;

}

.corse-results_table dl {
    display: flex;
    flex-wrap: wrap;
}

.corse-results_table dt {
    width: 20%;
    border-top: 1px solid #000;
    padding: 1.5em 0;
}

.corse-results_table dt:first-child {
    border-top: none;
}

.corse-results_table dd {
    width: 80%;
    border-top: 1px solid #000;
    padding: 1.5em 0;
}

.corse-results_table dt:first-child+dd {
    border-top: none;
}

.list_item {
    width: 300px;
    margin: 0 0 0 auto;
}

.arow_list {
    position: relative;
    text-align: center;
    background-color: #004EA0;
    color: #fff;
    clip-path: polygon(0% 100%, 6.7% 0%, 100% 0%, 100% 100%);
    padding: 20px;
    font-weight: bold;
}

label {
    display: block;
    padding: 20px 40px 20px 20px;
    line-height: 1;
    cursor: pointer;
}

.list_item a {
    display: block;
    text-decoration: none;
}

input.page_list {
    display: none;
}

.list_item li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

li.child_link:hover {
    background-color: #71b1f5;
}

.arow_list::after {
    content: "";
    width: 15px;
    height: 15px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    top: 50%;
    margin-left: 20px;
    transform: translateY(-75%) rotate(45deg);
}

#child_lists {
    text-align: center;
    background-color: #fff;
}

#page_list:checked~#child_lists li {
    height: 50px;
    opacity: 1;
}

#child_lists li a {
    padding: 13px 40px;
    color: #004EA0;
    font-weight: bold;
}

#child_lists li a:hover {
    color: #fff;
}

.corse-results_area {
    background-image: url(../img/service_background9.png),
        url(../img/service_background10.png);
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: top 0 left 0, bottom 0 left 0;
}

.service_bg01 {
    background-image: url(../img/service_background6.png);
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: bottom 430px right 0;
}

.service_bg02 {
    background-image: url(../img/service_background4.png),
        url(../img/service_background5.png);
    background-repeat: no-repeat;
    background-size: 44%, 36%;
    background-position: top 0 right 0, bottom 68% right 0;
}

.service_bg03 {
    background-image: url(../img/service_background6.png);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: bottom 0 right 0;
}

.service_bg04 {
    background-image: url(../img/service_background7.png);
    background-repeat: no-repeat;
    background-size: 26%;
    background-position: bottom -50px right 0;
}

.service_bg05 {
    background-image: url(../img/service_background8.png);
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: bottom 390px right 0;
}

.total_support_item.education {
    margin-top: 100px;
}

/*---------------------------------------------------------
                会社概要
---------------------------------------------------------*/
.background-container {
    background-image: url(../img/profile-bg.png), url(../img/history-bg.png), url(../img/history-bg2.png);
    background-position: top left, center left, bottom left;
    background-size: 60%, 30%, 50%;
}

.company_maiv_view {
    background-image: url(../img/company_top_bg.png);
}

.company_page_menu ul {
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.company_page_menu li {
    list-style: none;
    background-color: #004EA0;
    padding: 20px 100px;
}

.company_page_menu li:hover {
    opacity: 0.7;
}

.company_page_menu a {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

.company_page_menu li:nth-of-type(1) {
    clip-path: polygon(0% 100%, 7% 0%, 100% 0%, 93% 100%);
    position: absolute;
    right: 342px;
}

.company_page_menu li:nth-of-type(2) {
    clip-path: polygon(0% 100%, 5% 0%, 100% 0%, 100% 100%);
}

.list_item {
    width: 300px;
    margin: 0 0 0 auto;
}

.arow_list {
    position: relative;
    text-align: center;
    background-color: #004EA0;
    color: #fff;
    clip-path: polygon(0% 100%, 6.7% 0%, 100% 0%, 100% 100%);
    padding: 20px;
    font-weight: bold;
}

label {
    display: block;
    padding: 20px 40px 20px 20px;
    line-height: 1;
    cursor: pointer;
}

.list_item a {
    display: block;
    text-decoration: none;
}

input.page_list {
    display: none;
}

.list_item li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

li.child_link:hover {
    background-color: #71b1f5;
}

.arow_list::after {
    content: "";
    width: 15px;
    height: 15px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    position: absolute;
    top: 50%;
    margin-left: 20px;
    transform: translateY(-75%) rotate(45deg);
}

#child_lists {
    text-align: center;
    background-color: #fff;
}

#page_list:checked~#child_lists li {
    height: 50px;
    opacity: 1;
}

#child_lists li a {
    padding: 13px 40px;
    color: #004EA0;
    font-weight: bold;
}

#child_lists li a:hover {
    color: #fff;
}

.profile {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 150px;
}

.profile_container {
    background-color: #fff;
    width: 62%;
    padding: 40px 0 80px 0;
}

.profile_container dl {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}

.profile_container dt {
    width: 35%;
    color: #004EA0;
    font-weight: 700;
    padding: 1em 1em 1em 0;
    border-bottom: 2px solid #4684C5;
}

.profile_container dd {
    width: 65%;
    font-weight: 500;
    padding: 1em;
    border-bottom: 2px solid #4684C5;
    position: relative;
}

.profile_container dd h3 {
    font-size: 20px;
    font-weight: 700;
}

.mark_img {
    display: flex;
}

.mark_img img {
    width: 30%;
	height: 30%;
}

.oblique_btn {
    display: block;
    width: fit-content;
    background-color: #004EA0;
    padding: 0.5em 2em;
    transform: skewX(-160deg);
    position: absolute;
    right: 0;
}

.oblique_btn:hover {
    opacity: 0.7;
}

.oblique_btn a::after {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    background: url(../img/link_icon.png);
    margin-left: 20px;
}

.oblique_btn a {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    transform: skewX(160deg);
}

.history {
    display: flex;
    margin-top: 0px;
    padding-bottom: 100px;
	padding-top: 100px;
}

.history h3,
.profile h3 {
    margin-left: 100px;
}

.history-container {
    background-color: #fff;
    width: 62%;
    padding: 40px 0 80px 0;
    margin: 0 0 0 auto;
}

.history-container p {
    font-weight: 500;
    color: #004EA0;
    border-bottom: 2px solid #004EA0;
    width: 80%;
    margin: 1em auto 0;
}

.history-container dl {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}

.history-container dt {
    width: 20%;
    font-size: 20px;
    font-weight: 400;
    padding: 2em 0 2em 0;
    border-bottom: 2px solid #4684C5;
}

.history-container dd {
    width: 80%;
    font-size: 20px;
    font-weight: 400;
    padding: 2em 0 2em 0;
    border-bottom: 2px solid #4684C5;
}

/*代表あいさつ*/
.summary {
    width: 100%;
    margin: 0 auto;
    display: flex;
    background-image: url(../img/summary_bg.png);
    background-repeat: no-repeat;
    padding-top: 150px;
    padding-bottom: 80px;
    position: relative;
    background-size: cover;
    flex-direction: column;
}

.summary::before {
    position: absolute;
    content: "SUMMARY";
    color: #FFFFFF;
    font-weight: 900;
    opacity: 30%;
    font-size: 200px;
    letter-spacing: 15px;
    top: -91px;
    left: -39px;
}

.summary h3 {
    color: #FFFFFF;
    font-size: 30px;
    letter-spacing: 10px;
    font-weight: 500;
    margin-left: 60px;
    margin-top: 10px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

.summary-container {
    width: 84%;
    color: #FFFFFF;
    font-weight: 500;
    display: flex;
    margin-left: 230px;
    margin-top: 50px;
    gap: 60px;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

.summary-left {
    writing-mode: vertical-rl;
    letter-spacing: 7px;
    position: relative;
}

.summary-left.pc_text::before {
    position: absolute;
    content: "”";
    font-size: 20px;
    top: -12px;
    right: -15px;
    transform: rotate(-90deg);
}

.summary-left.pc_text::after {
    position: absolute;
    content: "”";
    font-size: 20px;
    bottom: 42px;
    left: -15px;
    transform: rotate(90deg);
}

.summary-left.sp_text {
    display: none;
}

.summary-right p {
    margin-bottom: 30px;
    line-height: 36px;
    letter-spacing: 6px;
}

/*---------------------------------------------------------
                初めての方へ
---------------------------------------------------------*/
.first {
    background-image: url(../img/first_bg_top.png),
        url(../img/first_bg_bottom.png);
    background-repeat: no-repeat;
    background-position: top -237px left 0, bottom 1400px right 0;
    padding-top: 200px;
}

.first_main_view {
    background-image: url(../img/company_top_bg.png);
}

.service_flow {
    background-color: #fff;
    width: 90%;
    margin: 0 0 0 auto;
    padding: 120px 0;
    position: relative;
}

.service_flow h3 {
    position: absolute;
    top: -48px;
    left: 50px;
}

.comment_area {
    display: flex;
    justify-content: center;
    gap: 30px;
    width: 90%;
    margin: 0 auto;
}

.comment_text_area {
    background-color: #EAFAFF;
    width: 70%;
    padding: 20px;
    border-radius: 25px;
    position: relative;
}

.comment_text_area::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: #EAFAFF;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    left: 100%;
    top: 70%;
}

.comment {
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
}

.comment_item {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 30px 0;
}

.comment_item p {
    width: calc(50% - 20px);
}

.service_flow_area {
    width: fit-content;
    margin: 130px auto;
}

.service_flow_item {
    display: flex;
    gap: 40px;
    position: relative;
}

.service_flow_item.margin_item {
    margin-top: -270px;
}

.service_flow_item.item1 {
    z-index: 8;
}

.service_flow_item.item2 {
    z-index: 7;
}

.service_flow_item.item3 {
    z-index: 6;
}

.service_flow_item.item4 {
    z-index: 5;
}

.service_flow_item.item5 {
    z-index: 4;
}

.service_flow_item.item6 {
    z-index: 3;
}

.service_flow_item.item7 {
    z-index: 2;
}

.service_flow_item.item8 {
    z-index: 1;
}

.service_flow_text_item {
    margin-top: 50px;
}

.service_flow_text_item.text_item2 {
    margin-top: 110px;
}

.service_flow_text_item.text_item3 {
    margin-top: 130px;
}

.service_flow_text_item.text_item4 {
    margin-top: 110px;
}

.service_flow_text_item.text_item5 {
    margin-top: 110px;
}

.service_flow_text_item.text_item6 {
    margin-top: 100px;
}

.service_flow_text_item.text_item7 {
    margin-top: 120px;
}

.service_flow_text_item.text_item8 {
    margin-top: 80px;
}

.service_flow_text_title {
    width: fit-content;
    font-size: 2.083333vw;
    font-weight: 500;
    color: #fff;
    background-color: #004EA0;
    transform: skewX(-160deg);
    padding: 5px 30px;
}

.service_flow_text_title span {
    display: block;
    transform: skewX(160deg);
}

.service_flow_text_item p {
    margin: 1rem 0 0 2rem;
}

.first_contact_btn {
    background-color: #fff;
    border: 8px solid #004EA0;
    margin: 0 auto;
    width: fit-content;
    border-radius: 120px;
    text-align: center;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38%;
    position: relative;
}

.contact_btn a {
    font-size: 26px;
    color: #004EA0;
    text-decoration: none;
}

.contact_btn a .Circle_btn_bl {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
    background: #004EA0;
    border: 3px solid #fff;
    margin: 0 30px 30px 0;
    position: absolute;
    bottom: -10px;
    right: 0;
    z-index: 10;
}

.contact_btn a .btn_arrow {
    width: 100px;
    border: 0;
    cursor: pointer;
    position: relative;
    text-decoration: none;
}

.contact_btn a .btn_arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 22px;
    width: 36px;
    height: 8px;
    border: none;
    border-right: 5px solid #FFF;
    border-bottom: 3px solid #FFF;
    transform: skew(45deg);
    transition: .3s;
}

.btn_arrow:hover::after {
    right: -32px;
    width: 90px;
}


.contact_btn a:hover .btn_arrow::after {
    right: -32px;
    width: 90px;
}

.service_flow_faq {
    width: 96%;
    background-color: #fff;
    margin-top: 200px;
    position: relative;
}

.service_flow_faq h3 {
    position: absolute;
    top: -60px;
    left: 100px;
}

span.font_size {
    font-size: 60px;
}

.service_flow_faq_container {
    padding: 200px 100px 200px 120px;
}

.service_flow_faq dt {
    color: #fff;
    background-color: #004EA0;
    font-size: 26px;
    font-weight: 700;
    transform: skewX(-160deg);
    width: fit-content;
    padding: 5px 20px;
    margin: 30px 0;
}

.service_flow_faq dt span {
    display: block;
    transform: skewX(160deg);
}

.service_flow_faq dd {
    font-weight: 500;
    margin-left: 3rem;
    padding-bottom: 40px;
}

.service_flow_faq_container dt span::before {
    content: "Q";
    font-size: 26px;
}

.service_flow_faq .font_size {
    display: contents;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1rem;
}

/*---------------------------------------------------------
                アクセス
---------------------------------------------------------*/
.company_maiv_view {
    background-image: url(../img/company_top_bg.png);
}

.company_page_menu ul {
    display: flex;
    justify-content: flex-end;
    position: relative;
}

.company_page_menu li {
    list-style: none;
    background-color: #004EA0;
    padding: 20px 100px;
}

.company_page_menu a {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

.company_page_menu li:nth-of-type(1) {
    clip-path: polygon(0% 100%, 7% 0%, 100% 0%, 93% 100%);
    position: absolute;
    right: 342px;
}

.company_page_menu li:nth-of-type(2) {
    clip-path: polygon(0% 100%, 5% 0%, 100% 0%, 100% 100%);
}

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

.access h3 {
    margin-left: 100px;
    margin-bottom: -80px;
}

.access h4 {
    width: 100%;
    text-align: right;
    padding-right: 40px;
    padding-bottom: 20px;
    font-weight: bold;
    color: #004EA0;
}

.access h5 {
    width: 64%;
    color: #004EA0;
    margin-top: 40px;
    margin-bottom: 20px;
}

.access_container {
    width: 80%;
    background-color: #FFFFFF;
    margin: 0 0 0 auto;
    padding: 60px 0;
    margin-bottom: 100px;
}

.access_container iframe {
    width: 90%;
    display: block;
    margin: 0 0 0 auto;
    margin-bottom: 60px;
}

.access_list {
    width: 75%;
    margin: 0 auto;
    font-weight: bold;
    padding-bottom: 40px;
}

.access_list.list_border {
    border-bottom: 2px solid #C8DAEE;
}

.access_list p:nth-of-type(1),
.access_list p:nth-of-type(2),
.access_list p:nth-of-type(3),
.access_list p:nth-of-type(4),
.access_list p:nth-of-type(5),
.access_list p:nth-of-type(6),
.access_list p:nth-of-type(7) {
    position: relative;
}

.access_list p:nth-of-type(1)::before {
    position: absolute;
    content: "1.";
    left: -14px;
}

.access_list p:nth-of-type(2)::before {
    position: absolute;
    content: "2.";
    left: -14px;
}

.access_list p:nth-of-type(3)::before {
    position: absolute;
    content: "3.";
    left: -14px;
}

.access_list p:nth-of-type(4)::before {
    position: absolute;
    content: "4.";
    left: -14px;
}

.access_list p:nth-of-type(5)::before {
    position: absolute;
    content: "5.";
    left: -14px;
}

.access_list p:nth-of-type(6)::before {
    position: absolute;
    content: "6.";
    left: -14px;
}

.access_list p:nth-of-type(7)::before {
    position: absolute;
    content: "7.";
    left: -14px;
}

.access_list h5 br.pc {
    display: none;
}

/*---------------------------------------------------------
                情報セキュリティ
---------------------------------------------------------*/
.security_main_view {
    background-image: url(../img/company_top_bg.png);
}

.security_container {
    width: 90%;
    margin: 120px auto 50px;
}

.security_container h3 {
    margin-bottom: 100px;
}

.security_txt_area p:nth-of-type(1) {
    text-indent: 1rem;
}

.security_list {
    margin: 40px auto;
    padding-left: 2rem;
}

.security_list p {
    position: relative;
}

.security_list p:nth-of-type(1)::before {
    position: absolute;
    content: "1.";
    top: 0;
    left: -13px;
}

.security_list p:nth-of-type(2)::before {
    position: absolute;
    content: "2.";
    left: -13px;
}

.security_list p:nth-of-type(3)::before {
    position: absolute;
    content: "3.";
    top: 0;
    left: -13px;
}

.security_list p:nth-of-type(4)::before {
    position: absolute;
    content: "4.";
    top: 0;
    left: -13px;
}

.security_list p:nth-of-type(5)::before {
    position: absolute;
    content: "5.";
    top: 0;
    left: -13px;
}

.security_p {
    margin-bottom: 30px;
}

.security_area_right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 10px;
}

.security_area_right p {
    margin: 0;
}

/*---------------------------------------------------------
                採用
---------------------------------------------------------*/
.recruit_main_view {
    width: 100%;
    height: 730px;
    background-image: url(../img/recruit_main-view-bg.jpg);
}

h2.recruit_title {
    color: #fff;
    font-size: 64px;
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: 110px;
    bottom: 70px;
}

.recruit_btn {
    color: #fff;
    font-size: 52px;
    font-weight: 600;
    width: 540px;
    text-align: center;
    padding: 0.25em;
    background-color: #FF574C;
    position: absolute;
    bottom: 0;
    right: 0;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 10;
}

.recruit_btn:active {
    bottom: 12px;
    right: 12px;
}

.recruit_btn_shadow {
    width: 540px;
    height: 101.5px;
    padding: 0.25em;
    background-color: #FFFFFF;
    position: absolute;
    bottom: 12px;
    right: 12px;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

.message {
    background-color: #fff;
    padding: 6em 0;
    margin-top: 200px;
    position: relative;
}

.message::before {
    position: absolute;
    content: "";
    background-image: url(../img/message-bg.png);
    width: 426px;
    height: 751px;
    top: -200px;
    left: 0;
}

.message h3 {
    position: absolute;
    top: -73px;
    left: 150px;
}

.message_text_container {
    width: fit-content;
    margin: 0 auto;
}

.message_text {
    line-height: 2.5;
    margin: 1.5em 0;
}

.recruit_text_red {
    width: fit-content;
    color: #fff;
    font-weight: 500;
    background-color: #FF574C;
    transform: skewX(-160deg);
    padding: 0.3em;
    margin: 0.5em;
}

.recruit_text_red span {
    display: block;
    transform: skewX(160deg);
}

.recruit_text_red br {
    display: none;
}

.desired_figure {
    margin-top: 200px;
}

.desired_figure h3 {
    margin-left: 150px;
}

.desired_figure_text_area {
    font-size: 20px;
    font-weight: 500;
    margin: 100px 0 100px 150px;
}

.desired_figure_container {
    width: 95%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
    margin: 0 auto;
}

.desired_figure_item {
    width: 330px;
    height: 330px;
    background-color: #fff;
    padding: 20px;
    margin-bottom: 30px;
}

.desired_figure_item p {
    font-weight: 500;
}

.desired_figure_item:nth-child(1)::before {
    content: "";
    display: block;
    width: 207px;
    height: 180px;
    background: url(../img/recruit_icon1.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 206.29px 150px;
    margin: 1em auto;

}

.desired_figure_item:nth-child(2)::before {
    content: "";
    display: block;
    width: 207px;
    height: 180px;
    background: url(../img/recruit_icon2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 127.57px 100px;
    margin: 1em auto;
}

.desired_figure_item:nth-child(3)::before {
    content: "";
    display: block;
    width: 207px;
    height: 180px;
    background: url(../img/recruit_icon3.png);
    background-repeat: no-repeat;
    background-position: center;
    margin: 1em auto;
}

.desired_figure_item:nth-child(4)::before {
    content: "";
    display: block;
    width: 207px;
    height: 180px;
    background: url(../img/recruit_icon4.png);
    background-repeat: no-repeat;
    background-position: center;
    margin: 1em auto;
}

.desired_figure_item:nth-child(5)::before {
    content: "";
    display: block;
    width: 207px;
    height: 180px;
    background: url(../img/recruit_icon5.png);
    background-repeat: no-repeat;
    background-position: center;
    margin: 1em auto;
}

.thought {
    background-image: url(../img/thought-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 10em;
    text-align: center;
    margin-top: 10em;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.thought::after {
    position: absolute;
    content: "";
    background-image: url(../img/thought-bg2.png);
    width: 802px;
    height: 972px;
    bottom: -200px;
    right: 0;
}

.thought::before {
    content: "THOUGHT";
    font-family: 'Inter', sans-serif;
    font-size: 250px;
    font-weight: bold;
    color: #FF574C;
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
}

.thought h4 {
    font-weight: bold;
    margin-bottom: 2em;
}

.thought-txt {
    font-weight: bold;
    margin-bottom: 1.5em;
    line-height: 2em;
    display: inline-block;
    text-align: left;
}

.thought_list {
    padding-left: 1em;
}

.thought_list p:nth-of-type(1)::before,
.thought_list p:nth-of-type(2)::before,
.thought_list p:nth-of-type(3)::before,
.thought_list p:nth-of-type(4)::before {
    content: '一.';
    margin-left: -1em;
}

.thought_list p:nth-of-type(1),
.thought_list p:nth-of-type(2),
.thought_list p:nth-of-type(3),
.thought_list p:nth-of-type(4) {
    font-weight: 500;
    line-height: 2em;
    text-align: left;
}

.thought_list .pc {
    display: none;
}

.environment {
    background-color: white;
    margin-top: 200px;
}

.environment h3 {
    position: absolute;
    margin-top: -0.6em;
    margin-left: 1em;
}

.environment dl {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
    align-items: center;
    padding-top: 10em;
    padding-bottom: 10em;
}

.environment dt {
    width: 25%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background-color: #FF574C;
    padding: 1em;
    transform: skewX(-160deg);
    margin: 0.5em;
}

.environment dt span {
    display: block;
    transform: skewX(160deg);
}

.environment dd {
    width: 73%;
    border-bottom: 1px solid #000;
    padding: 1em;
    margin-left: 0.1em;
}

.column_container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.information {
    background-image: url(../img/information-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 50%;
    overflow: hidden;
}

.information::before {
    display: "inline-block";
    content: "INFOR \AMATION";
    white-space: pre;
    font-family: 'Inter', sans-serif;
    font-size: 130px;
    font-weight: bold;
    color: #FF574C;
    opacity: 0.1;
    position: absolute;
    bottom: -42px;
    left: -10px;
}

.information::after {
    display: inline-block;
    content: "";
    width: 260px;
    height: 380px;
    background: url(../img/information-icon.png);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    opacity: 0.1
}

.information h4 {
    font-weight: bold;
    color: #FF574C;
    text-align: center;
    padding: 4em;
}

.entry {
    background-image: url(../img/entry-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 50%;
    overflow: hidden;
}

.entry::before {
    display: inline-block;
    content: "ENTRY";
    font-family: 'Inter', sans-serif;
    font-size: 130px;
    font-weight: bold;
    color: #fff;
    opacity: 0.3;
    position: absolute;
    top: -43px;
    right: -15px;

}

.entry::after {
    display: inline-block;
    content: "";
    width: 275px;
    height: 330px;
    opacity: 0.3;
    background: url(../img/entry-icon.png);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-repeat: no-repeat;
}

.entry h4 {
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 4em;
}

.arrow_btn_red {
    background-color: #FF574C;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    border: solid 5px #fff;
    position: absolute;
    bottom: 2em;
    right: 2em;
}

.line01 {
    height: 4px;
    background-color: #fff;
}

.line02 {
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: right bottom;
    width: 20px;
    height: 4px;
    background-color: #fff;
    transform: rotate(45deg);
}

.arrow_btn_white_red {
    background-color: #fff;
    width: 95px;
    height: 95px;
    border-radius: 50%;
    border: solid 5px #FF574C;
    box-shadow: 3px 4px 10px rgba(1, 24, 48, 0.25);
    position: absolute;
    bottom: 2em;
    right: 2em;
}

.arrow {
    position: relative;
    width: 40px;
    margin: 2.7em auto;
}

.line03 {
    height: 4px;
    background-color: #FF574C;
}

.line04 {
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: right bottom;
    width: 20px;
    height: 4px;
    background-color: #FF574C;
    transform: rotate(45deg);
}

.information .Circle_btn_recruit,
.entry .Circle_btn_recruit_wh {
    display: flex;
    justify-content: flex-end;
    margin-right: 2%;
    margin-bottom: 2%;
}

/**/
.column_container {
    display: flex;
    flex-wrap: nowrap;
}

.column_container p {
    font-size: 40px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.column_container a {
    display: block;
    width: 100%;
    height: 400px;
    background: #eee;
    position: relative;
}

.information,
.entry {
    height: 400px;
    width: 100%;
}

.information p {
    color: #FF574C;
}

.entry p {
    color: #FFF;
}

.column_container a .Circle_btn_red,
.column_container a .Circle_btn_red_wh {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
}

.column_container a .Circle_btn_red {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
    background: #FF574C;
    border: 3px solid #fff;
    margin: 0 30px 30px 0;
}

.column_container a .Circle_btn_red_wh {
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 90px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
    background: #fff;
    border: 3px solid #FF574C;
    margin: 0 30px 30px 0;
}

.column_container a .recruit_contact_btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 22px;
    width: 36px;
    height: 8px;
    border: none;
    border-right: 5px solid #FFF;
    border-bottom: 3px solid #FFF;
    transform: skew(45deg);
    transition: .3s;
}

.column_container a .recruit_contact_btn_wh::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 22px;
    width: 36px;
    height: 8px;
    border: none;
    border-right: 5px solid #FF574C;
    border-bottom: 3px solid #FF574C;
    transform: skew(45deg);
    transition: .3s;
}

.btn_arrow {
    border: none;
}

.column_container a:hover .information,
.column_container a:hover .entry {
    height: 380px;
    width: calc(100% - 20px);
    margin: 10px;
    transition: all 0.2s 0s ease;
}

.column_container a:hover .btn_arrow::after {
    right: -32px;
    width: 90px;
}

.column_container a .Circle_btn_red,
.column_container a .Circle_btn_red_wh {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
}

/*---------------------------------------------------------
                プライバシーポリシー
---------------------------------------------------------*/
.privacy_main_view {
    background-image: url(../img/company_top_bg.png);
    position: relative;
}

.privacy h4 {
    width: fit-content;
    color: #FFFFFF;
    background-color: #004EA0;
    padding: 0.5em 2em;
    transform: skewX(-160deg);
    margin-bottom: 20px;
    margin-top: 80px;
}

.privacy h4 span {
    transform: skewX(160deg);
    display: block;
}

.privacy h4 br {
    display: contents;
}

.subtitle {
    transform: skewX(160deg);
}

.privacy {
    background-image: url(company-img/profile-bg.png);
    background-repeat: no-repeat;
    background-position: top left;
    padding-bottom: 100px;
}

.privacy-container {
    width: 90%;
    margin: 120px auto 0;
}

.privacy h5 {
    width: 100%;
    color: #004EA0;
    font-weight: 700;
    padding: 1em 1em 1em 0;
    border-bottom: 2px solid #4684C5;
    margin-top: 20px;
    margin-bottom: 10px;
}

.privacy-right {
    display: flex;
    flex-direction: row-reverse;
}

.privacy h6 {
    font-size: 14px;
    color: #004EA0;
    margin-top: 10px;
}

.privacy-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}

.privacy-list ul {
    width: 45%;
    gap: 20px;
    margin-left: 30px;
}

.privacy li {
    list-style: disc;
}

.privacy-list02 ul {
    width: 90%;
    margin-top: 10px;
    margin-left: 30px;
}

.privacy-contact {
    display: flex;
    margin-top: 10px;
}

.privacy-contact-left {
    width: 48%;
}

.privacy-contact-left img {
    width: 90%;
}

.privacy-container .red {
    color: red;
    display: block;
}

/*---------------------------------------------------------
                サイトマップ
---------------------------------------------------------*/
.map {
    padding-bottom: 100px;
}

.map .darkblue {
    margin-left: 40px;
}

.map_area {
    width: 90%;
    margin: 0 auto;
    margin-top: 60px;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.map_left,
.map_center,
.map_right {
    width: 30%;
}

.map01,
.map02,
.map03,
.map04,
.map05 {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
    gap: 20px;
}

.map_area .map_bl {
    color: #004EA0;
    font-size: 26px;
    margin-bottom: 8px;
    padding-left: 15px;
    background: url(../img/sitemap_arr.png) no-repeat 0px 15px;
    background-size: 7px;
}

.map_area .map_bl02 {
    color: #4684C5;
    font-size: 20px;
    margin-left: 20px;
}

.map_area .map_bl:hover {
    transform: translateY(-8px);
}

.map_area .map_bl02:hover {
    transform: translateY(-5px);
}

/*---------------------------------------------------------
                レスポンシブ
---------------------------------------------------------*/
@media screen and (max-width:1805px) {

    /*会社概要1805px*/
    .profile_container {
        width: 52%;
    }

    .profile_container dl span {
        display: block;
    }

    .profile_container dt {
        width: 30%;
    }

    .profile_container dd {
        width: 70%;
    }

    .profile_container dl {
        width: 90%;
    }

    .profile_container dd h3 {
        margin-left: 0;
    }

    .history-container {
        width: 52%;
    }

    .history-container p,
    .history-container dl {
        width: 90%;
    }
}

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

    /*アクセス1780px*/
    .access h5,
    .access_container ol {
        width: 70%;
    }

    /*採用1780px*/
    .desired_figure_item {
        width: 260px;
    }

    .desired_figure_item p {
        font-size: 16px;
    }
}

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

    /*アクセス1627px*/
    .access h5,
    .access_container ol {
        width: 80%;
    }
}

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

    /*採用1565px*/
    .desired_figure_text_area {
        margin: 100px 150px;
    }
}

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

    /*topお知らせ1540px*/
    .top_news_table {
        width: 70%;
    }

    .top_news_table a.btn_arrow.arrow_bl.top_news_btn {
        width: 30%;
    }
}

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

    /*会社概要1515px*/
    .profile_container,
    .history-container {
        width: 80%;
        margin: 0 auto;
        margin-top: 20px;
    }

    .oblique_btn {
        position: inital;
        margin: 0 0 0 auto;
    }

    .summary::before {
        font-size: 180px;
    }

    .profile h3,
    .history h3 {
        margin-left: 50px;
    }
}

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

    /*事業内容1500px*/
    .service_page_menu a {
        font-size: 20px;
    }

    .service_page_menu li:nth-of-type(1) {
        right: 989px;
    }

    .service_page_menu li:nth-of-type(2) {
        right: 668px;
    }

    .service_page_menu li:nth-of-type(3) {
        position: absolute;
        right: 378.5px;
    }

    .service_page_menu li:nth-of-type(4) {
        right: 189px;
    }

    /*採用1500px*/
    h2.recruit_title {
        bottom: 120px;
    }

    /*実績紹介1500px*/
    .voice_02 {
        padding-left: 50px;
    }
}

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

    /*採用1465px*/
    .environment dd {
        width: 100%;
    }
}

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

    /*事業内容1446px*/
    .service_bg03 {
        background-position: bottom 227px right 0;
    }

    .service_bg04 {
        background-size: 40%;
    }

    .service_bg05 {
        background-size: 46%;
        background-position: bottom 615px right 0;
    }
}

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

    /*会社概要1400px*/
    .summary-container {
        margin-left: auto;
        flex-direction: column;
    }

    .summary-left {
        writing-mode: inherit;
    }

    .summary-left.sp_text {
        display: block;
    }

    .summary-left.pc_text {
        display: none;
    }
}

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

    /*採用1390px*/
    .desired_figure_container {
        justify-content: center;
        gap: 20px;
    }

    .desired_figure_item {
        width: 330px;
    }

    /*実績紹介1390px*/
    .voice_01 {
        margin: 0 auto;
        margin-bottom: 100px;
    }

    .voice_02 {
        margin: 0 auto;
        padding-left: 20px;
    }

    .voice .darkblue {
        padding-left: 0;
    }
}

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

    /*共通1300px*/
    h3 {
        font-size: 60px;
    }

    /*topメインビュー1300px*/
    .top_main_title {
        left: 5%;
    }

    p.top_main_span span {
        padding: 5px 20px;
    }

    .top_main_area p.top_main_span {
        left: 3%;
        font-size: 24px;
        z-index: 50;
    }

    /*topサービス1300px*/
    .top_service_container {
        width: 95%;
        justify-content: center;
    }

    .top_service_item {
        padding: 10% 5%;
    }

    .top_service_item::after {
        font-size: 50px;
    }

    /*top-area1300px*/
    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        margin-top: 25%;
        height: 700px;
    }

    .top_performance_area h3,
    .top_company_area h3,
    .top_recruit_area h3 {
        letter-spacing: 1rem;
        z-index: 50;
    }

    .top_performance_container,
    .top_company_container,
    .top_recruit_container {
        padding: 15% 0 0 0;
        flex-direction: column;
    }

    .viewmorebtn_performance div,
    .viewmorebtn_recruit div {
        margin: 2% 0 0 auto;
    }

    .viewmorebtn_company div {
        margin: 2% auto 0 0;
    }

    .top_company_img {
        margin: 0 0 0 auto;
    }

    .top_company_text {
        order: 2;
    }

    .top_performance_text,
    .top_company_text,
    .top_recruit_text {
        width: 90%;
        margin: 5% auto;
    }

    /*topお問い合わせ1300px*/
    .top_2column_area {
        margin-top: 25%;
    }

    .top_2column_area p {
        font-size: 28px;
    }

    .top_2column_contact::before {
        width: 250px;
        height: 400px;
        left: 0;
        background-size: contain;
    }

    .top_2column_beginner::after {
        width: 190px;
        height: 300px;
        background-size: contain;
    }

    .top_2column_beginner::before {
        font-size: 80px;
    }

    .top_2column_contact::after {
        font-size: 80px;
    }

    /*topお知らせ1300px*/
    .top_news_area {
        padding: 15% 0;
    }

    .top_news_area::before {
        font-size: 150px;
    }

    .top_news_container {
        margin: 5% 0 0 0;
        gap: 0;
        flex-direction: column;
    }

    .top_news_text {
        margin-bottom: 20px;
    }

    .top_news_table {
        width: 100%;
    }

    .top_news_container dl {
        width: 85%;
    }

    /*事業内容1300px*/
    .service_page_menu a {
        font-size: 18px;
    }

    .service_page_menu li:nth-of-type(1) {
        right: 933px;
    }

    .service_page_menu li:nth-of-type(2) {
        right: 634px;
    }

    .service_page_menu li:nth-of-type(3) {
        position: absolute;
        right: 362.5px;
    }

    .service_page_menu li:nth-of-type(4) {
        right: 181px;
    }

    /*会社概要1300px*/
    .summary-container {
        margin: 50px auto;
    }
}

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

    /*採用1270px*/
    .thought::before {
        font-size: 200px;
    }
}

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

    /*footer1200px*/
    .footer_left_area a img {
        width: 70px;
    }

    .footer_left_area a {
        font-size: 24px;
        margin-left: 5px;
    }

    .footer_left_area a span {
        font-size: 14px;
    }

    .footer_menu li a {
        font-size: 16px;
    }

    .security_menu {
        font-size: 14px;
    }

    .footer_container p {
        font-size: 12px;
    }

    /*実績紹介1200px*/
    .performance_block {
        width: 49%;
    }

    .btn_back a {
        font-size: 24px;
    }

    /*事業内容1200px*/
    .service_page_menu li {
        padding: 10px 40px;
    }

    .service_page_menu li:nth-of-type(1) {
        right: 782px;
    }

    .service_page_menu li:nth-of-type(2) {
        right: 521px;
    }

    .service_page_menu li:nth-of-type(3) {
        position: absolute;
        right: 288px;
    }

    .service_page_menu li:nth-of-type(4) {
        right: 144px;
    }

    /*会社概要1200px*/
    .profile,
    .history {
        flex-direction: column;
    }

    /*初めての方へ1200px*/
    .service_flow_text_item,
    .service_flow_text_item.text_item2,
    .service_flow_text_item.text_item3,
    .service_flow_text_item.text_item4,
    .service_flow_text_item.text_item5,
    .service_flow_text_item.text_item6,
    .service_flow_text_item.text_item7,
    .service_flow_text_item.text_item8 {
        margin-top: 0;
    }

    .first {
        background-size: 70%;
        background-position: top -237px left 0, bottom 1800px right 0;
    }

    .comment_item {
        flex-direction: column;
    }

    .comment_item p {
        width: 100%;
    }

    .service_flow_area {
        width: 95%;
    }

    .service_flow_item {
        padding: 50px;
        margin-bottom: 100px;
        border-radius: 30px;
        background-position: 90%;
    }

    .service_flow_item.margin_item {
        margin-top: 0;
    }

    .service_flow_item.item1 {
        background: #FFF url(../img/flow_sp_1.png) no-repeat 90% 20%;
        background-size: 300px;
    }

    .service_flow_item.item1::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #fff;
        transform: translateX(-50%);
    }

    .service_flow_item.item2 {
        background: #EAFAFF url(../img/flow_sp_2-1.png) no-repeat 88% 40%;
        background-size: 160px;
    }

    .service_flow_item.item2::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #EAFAFF;
        transform: translateX(-50%);
    }

    .service_flow_item.item3 {
        background: #CAF2FF url(../img/flow_sp_3-1.png) no-repeat 85% 40%;
        background-size: 100px;
    }

    .service_flow_item.item3::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #CAF2FF;
        transform: translateX(-50%);
    }

    .service_flow_item.item4 {
        background: #B0DCF3 url(../img/flow_sp_4.png) no-repeat 95% 40%;
        background-size: 300px;

    }

    .service_flow_item.item4::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #B0DCF3;
        transform: translateX(-50%);
    }

    .service_flow_item.item5 {
        background: #88BBE2 url(../img/flow_sp_5.png) no-repeat 95% 40%;
        background-size: 300px;
    }

    .service_flow_item.item5::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #88BBE2;
        transform: translateX(-50%);
    }

    .service_flow_item.item6 {
        background: #4684C5 url(../img/flow_sp_6.png) no-repeat 93% 40%;
        background-size: 210px;
    }

    .service_flow_item.item6::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #4684C5;
        transform: translateX(-50%);
    }

    .service_flow_item.item7 {
        background: #2369B3 url(../img/flow_sp_7.png) no-repeat 93% 40%;
        background-size: 300px;
    }

    .service_flow_item.item7::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #2369B3;
        transform: translateX(-50%);
    }

    .service_flow_item.item8 {
        background: #004EA0 url(../img/flow_sp_8.png) no-repeat 90% 40%;
        background-size: 250px;
    }

    .service_flow_item.item8::after {
        content: "";
        position: absolute;
        top: 99%;
        left: 50%;
        margin-left: -15px;
        border: 100px solid transparent;
        border-top: 100px solid #004EA0;
        transform: translateX(-50%);
    }

    .service_flow_item.item1 h4,
    .service_flow_item.item2 h4,
    .service_flow_item.item3 h4,
    .service_flow_item.item4 h4,
    .service_flow_item.item5 h4 {
        color: #000;
    }

    .service_flow_item.item6 p,
    .service_flow_item.item7 p,
    .service_flow_item.item8 p {
        color: #FFF;
    }

    .service_flow_text_title {
        background-color: transparent;
    }

    .service_flow_img_area {
        display: none;
    }

    .service_flow_text_title {
        font-size: 40px;
    }

    .service_flow_text_item p {
        font-size: 16px;
    }

    .contact_btn a {
        font-size: 24px;
    }

    /*実績紹介1200px*/
    .performance_block {
        width: 49%;
    }

    /*採用1200px*/
    .recruit_title {
        font-size: 38px;
        text-align: left;
        bottom: 160px;
    }
}

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

    /*header1100px*/
    .Header_logo {
        margin-left: 1%;
    }

    .Header_logo img {
        width: 60%;
    }

    .Header_logo a:nth-child(2) {
        margin-left: -16%;
        font-size: 20px;
    }

    .Header_logo a span {
        font-size: 12px;
    }

    .Header_list ul li a {
        width: 100px;
        font-size: 14px;
    }

    .Header_list ul li a::before {
        width: 50px;
        height: 50px;
        bottom: 10px;
    }
}

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

    /*お問い合わせ1090px*/
    span.required {
        display: block;
        width: 40%;
        margin: 10px auto;
    }

    .mail_form_area,
    .tel_area {
        width: 90%;
        margin: 150px auto;
    }

    .mail_form_area h3,
    .tel_area h3 {
        left: -42px;
    }

    br.br_contact {
        display: block;
    }
}

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

    /*会社概要1028px*/
    .profile_container,
    .history-container {
        width: 90%;
    }

    .profile_container dt {
        font-size: 20px;
    }

    .oblique_btn {
        right: 120px;
    }

    .oblique_btn a {
        font-size: 16px;
    }


    /*採用1028px*/
    h2.recruit_title {
        font-size: 50px;
        left: 30px;
    }

    .message h3 {
        left: 63px
    }

    .message_text {
        margin: 1.5em 3em;
    }

    .recruit_text_red {
        margin: 0.5em 3em;
    }

    .desired_figure h3 {
        margin-left: 50px;
    }

    .desired_figure_text_area {
        margin: 100px 50px 150px;
    }

    .desired_figure_item {
        width: 300px;
    }

    .thought {
        padding: 10em 1em;
    }

    .thought::before {
        font-size: 180px;
        transform: rotate(90deg);
        top: 350px;
        left: -395px;
    }



    .environment dl {
        width: 100%;
        justify-content: center;
    }

    .environment dt {
        width: 80%;
        transform: none;
        padding: 0.5em;
    }

    .environment dt span {
        transform: none;
    }

    .environment dd {
        width: 80%;
        padding: 0 0 1em;
        border-bottom: none;
        font-size: 22px;
    }

    .information::before {
        font-size: 60px;
        top: 80px;
        right: 0px;
    }

    .information h4 {
        font-size: 36px;
        padding: 2em;
    }

    .arrow_btn_red {
        width: 60px;
        height: 60px;
        bottom: 1em;
        right: 1em;
    }

    .entry::before {
        font-size: 60px;
        top: -18px;
        right: 0px;
    }

    .entry h4 {
        font-size: 36px;
        padding: 2em;
    }

    .arrow_btn_white_red {
        width: 60px;
        height: 60px;
        bottom: 1em;
        right: 1em;
    }

    .arrow {
        margin: 1.6em auto;
    }
}

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

    /*事業内容1000px*/
    .service_page_menu li {
        padding: 10px 20px;
    }

    .service_page_menu li:nth-of-type(1) {
        clip-path: polygon(0% 100%, 6.7% 0%, 100% 0%, 93.3% 100%);
        right: 628.5px;
    }

    .service_page_menu li:nth-of-type(2) {
        right: 407px;
    }

    .service_page_menu li:nth-of-type(3) {
        clip-path: polygon(0% 100%, 4.7% 0%, 100% 0%, 96% 100%);
        right: 213px;
    }

    .service_page_menu li:nth-of-type(4) {
        right: 107px;
    }
}

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

    /*お問い合わせ992px*/
    .list_item {
        display: none;
    }
}

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

    /*お問い合わせ991px*/
    .contact_page_menu {
        display: none;
    }

    .tel_number_area {
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
        gap: 50px;
    }

    /*事業内容991px*/
    .service_page_menu {
        display: none;
    }

    .total_support_top::before {
        font-size: 120px;
    }

    .total_support_flex_text.left_text {
        width: 90%;
    }

    .total_support_flex_text.right_text {
        width: 90%;
    }

    .item_up {
        margin-top: 0;
    }

    .total_support_2column_area {
        flex-direction: column;
    }

    .total_support_2column_left_box {
        width: 100%;
    }

    .total_support_2column_right_box {
        width: 100%;
    }

    f .total_support_table dl {
        flex-direction: column;
        width: 90%;
    }

    .total_support_table dt {
        width: 50%;
        transform: skewX(0);
    }

    .total_support_table dt span {
        transform: skewX(0);
    }

    .total_support_table dd {
        width: 90%;
        border-bottom: none;
        text-align: center;
        margin-left: 0;
    }

    .education_table_container {
        flex-direction: column;
    }

    .education_table_left_container {
        width: 100%;
    }

    .education_table_right_container {
        width: 100%;
    }

    .corse-results_table {
        width: 100%;
    }

    /*会社概要991px*/
    .company_page_menu {
        display: none;
    }
}

@media screen and (min-width:991px) {
    .total_support_circle_sp {
        display: none;
    }
}

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

    /*事業内容*/
    .arow_list::after {
        margin-left: 70px;
    }

    .total_support_circle {
        display: none;
    }

    /*お知らせ990px*/
    .news_bg_container {
        background-size: 60%, 40%;
    }

    /*実績紹介990px*/
    .news_bg_container {
        background-size: 60%, 40%;
    }

    .service_bg01,
    .service_bg02,
    .service_bg03,
    .service_bg04,
    .service_bg05 {
        background-image: none;
    }

    .btn_back {
        border: 6px solid #004EA0;
        padding: 34px;
        width: 56%;
    }

    /*採用990px*/
    .recruit_btn {
        width: 353px;
        font-size: 34px;
    }

    .recruit_btn_shadow {
        width: 350px;
        height: 67.5px;
    }

    /*会社概要*/
    .summary::before {
        left: -407px;
        top: 330px;
        transform: rotate(90deg);
    }

    /*初めての方へ*/
    .first_contact_btn {
        width: 60%;
    }
}

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

    /*アクセス953px*/
    .access h5 span {
        display: block;
    }
}

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

    /*実績紹介949px*/
    .voice_01 h4 {
        font-size: 24px;
    }

    .voice_01 p,
    .voice_01 a {
        font-size: 16px;
    }
}

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

    /*お問い合わせ915px*/
    .Contact_table table {
        width: 90%;
    }

    .contact_bg_area {
        background-size: 60%, 40%;
    }
}

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

    /*初めての方へ905px*/
    .comment_area {
        flex-direction: column;
        gap: 130px;
    }

    .comment_text_area {
        width: 100%;
    }

    .comment_text_area::before {
        content: "";
        width: 0;
        height: 0;
        position: absolute;
        border: 40px solid transparent;
        border-top-color: #eafaff;
        top: 100%;
        left: 30%;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
    }

    .comment_img {
        text-align: right;
    }

    .service_flow {
        width: 100%;
        padding: 200px 0 120px;
    }

    .service_flow_faq_container {
        width: 90%;
        padding: 200px 0 100px 0;
        margin: 0 auto;
    }

    .service_flow_faq dt {
        font-size: 24px;
    }

    .service_flow_faq dt span::before {
        font-size: 24px;
    }

    .service_flow_faq dd {
        font-size: 20px;
    }
}

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

    /*共通900px*/
    body {
        margin-top: 70px;
    }

    /*header900px*/
    nav#pc_header {
        display: none;
    }

    .sp_menu {
        display: block;
    }

    /*footer900px*/
    .footer_container {
        flex-direction: column;
        padding: 0;
        background-image: url(../img/footer_polygon.svg);
        background-position-x: right;
    }

    .footer_container ul {
        flex-direction: column;
        gap: 20px;
        padding: 0;

    }

    .footer_container li::after {
        display: none;
    }

    .footer_menu {
        padding: 5% 5% 8% 5%;
    }

    .security_menu {
        padding: 4% 3% 0 3%;
    }

    .footer_left_area {
        display: flex;
        align-items: center;
        padding: 5% 3% 0 3%;
    }

    .footer_right_area {
        text-align: left;
        gap: 0;
    }

    ul.footer_menu {
        margin-bottom: 50px;
        padding: 20px;
    }

    .footer_menu li a {
        color: #000;
        font-size: 16px;
    }

    ul.security_menu {
        padding: 20px 20px 0 20px;
        gap: 5px;
    }

    .security_menu {
        background-color: #004EA0;
    }

    .security_menu li a {
        color: #fff;
        font-weight: unset;
        font-size: 14px;
    }

    .footer_right_area p {
        text-align: right;
        color: #fff;
        background-color: #004EA0;
        font-weight: unset;
        padding: 0 20px 20px 0;
        font-size: 14px;
    }

    .security_menu ul {
        gap: 10px;
    }

    /*topメインビュー900px*/
    .top_main_area {
        height: 800px;
    }

    .main_concept {
        margin: 0 auto;
        top: 300px;
    }

    h2.top_main_title span {
        display: block;
    }

    .top_sptext {
        display: flex;
        bottom: -600px;
        position: absolute;
        color: #004EA0;
        width: 90%;
        justify-content: center;
        letter-spacing: 0.2rem;
        line-height: 2em;
    }

    .top_main_area p.top_main_span {
        bottom: -150px;
    }

    p.top_main_span span {
        background-color: #004EA0;
        color: #fff;
    }

    /*topサービス900px*/
    .top_service_area {
        width: 100%;
        margin: 900px auto 0 auto;
        height: 1700px;
    }

    .top_service_container {
        width: 100%;
        flex-direction: column;
        gap: 0;
        margin: 100px auto 0 auto;
    }

    .top_service_con {
        width: 95%;
        height: auto;
    }

    .top_service_item {
        background-size: cover;
        margin: 2% 0;
    }

    .top_service_con:hover .top_service_item {
        height: auto;
    }

    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        height: 90vh;
    }

    .top_service_area::before {
        width: 90%;
        height: 900px;
    }

    .top_service_area::after {
        width: 90%;
        top: -80px;
    }

    /*topお問い合わせ900px*/
    .top_2column_area {
        flex-direction: column;
    }

    .top_2column_beginner,
    .top_2column_contact {
        width: 100%;
    }

    .top_2column_area a {
        width: 90%;
    }

    .top_2column_area a .Circle_btn_bl {
        top: 40%;
        right: -40px;
        margin: 0;
    }

    /*topお知らせ900px*/
    .top_news_container {
        margin: 2% 0 0 0;
        padding: 0 2.5%;
    }

    .top_news_area {
        margin-top: 10%;
    }

    .top_news_area::before {
        font-size: 80px;
        left: -5px;
    }

    .top_service_area h3,
    .top_performance_area h3,
    .top_company_area h3,
    .top_recruit_area h3 {
        top: -30px;
    }

    .top_news_text {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .top_news_container dl {
        width: 90%;
    }

    a.btn_arrow.arrow_bl.top_news_btn {
        margin: 2% 5% -20px auto;
    }

    .top_news_table a.btn_arrow.arrow_bl.top_news_btn {
        width: 50%;
        border: 2px solid;
        filter: unset;
        padding: 10px 10px 10px 20px
    }

    /*採用900px*/
    .column_container {
        flex-direction: column;
    }

    .column_container a {
        width: 90%;
    }

    .information,
    .entry {
        width: 100%;
    }

    .column_container a .Circle_btn_red,
    .column_container a .Circle_btn_red_wh {
        top: 40%;
        right: -40px;
        margin: 0;
    }
}

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

    /*実績紹介869px*/
    .performance_block h3 {
        font-size: 22px;
    }

    .performance_block p,
    .performance_block a {
        font-size: 16px;
    }

    .performance {
        padding: 50px;
    }
}

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

    /*お問い合わせ813px*/
    .mail_form_area,
    .tel_area {
        width: 96%;
    }

    .Contact_table table {
        width: 96%;
    }

    .mail_form_area h3,
    .tel_area h3 {
        left: -13px;
    }
}

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

    /*会社概要802px*/
    .history h3,
    .profile h3 {
        margin-left: 50px;
    }

    .profile_container dd h3 {
        font-size: 22px;
    }

    .profile_container dl {
        flex-direction: column;
    }

    .profile_container dt {
        border-bottom: 0;
        font-size: 20px;
        width: 100%;
    }

    .profile_container dt br {
        display: none;
    }

    .profile_container dd {
        width: 100%;
        padding: 0;
        padding-bottom: 4px;
        font-size: 20px;
    }

    .oblique_btn {
        position: initial;
        margin: 10px 0 10px auto;
    }

    .oblique_btn {
        transform: skewX(0deg);
    }

    .summary-container {
        flex-direction: column;
    }

    .summary-left {
        writing-mode: horizontal-tb;
    }



    .history-container dt {
        width: 100%;
        border-bottom: 0;
        padding: 20px 20px 20px 0;
    }

    .history-container dd {
        width: 100%;
        padding: 0;
        padding-bottom: 4px;
    }

    .history-container p {
        border-bottom: 0;
    }
}

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

    /*実績紹介799px*/
    .voice_01 {
        flex-direction: column;
    }

    .voice_01_left {
        width: 100%;
    }

    .voice_01_right {
        width: 100%;
        padding: 40px 0;
        padding-left: 20px;
    }

    .voice_02 h5 {
        font-size: 20px;
    }

    .voice_02 p {
        font-size: 14px;
    }
}

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

    /*--------------共通768px--------------*/
    h3 {
        font-size: 52px;
    }

    h3 span.title_ja {
        font-size: 24px;
    }

    br.sp {
        display: none;
    }

    h2.page_title {
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        margin-left: 0;
        font-size: 22px;
    }

    .tel_number_area h4,
    .tel_number_area a,
    .access h4,
    .total_support_top h4,
    .total_support_2column_left_box h5,
    .total_support_2column_right_box h5,
    .total_support_introduction h4,
    .corse-results_table p,
    .history-container p,
    .comment_title,
    .service_flow_text_title span,
    .voice_01 h4,
    .thought h4,
    .information h4,
    .entry h4 {
        font-size: 28px;
    }

    .total_support_flex_text h5 {
        font-size: 24px;
    }

    /*header768px*/
    .sp_nvitem {
        width: 30%;
    }

    .spmenu_title {
        font-size: 16px;
        padding: 16px 3%;
    }

    a.Header_contact {
        margin-right: 16px;
    }

    /*topメインビュー768px*/
    .top_main_area {
        position: relative;
        background-position-y: -10px;
        background-size: 350%;
    }

    .top_main_area::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 800px;
        background: rgb(0, 78, 160);
        background: linear-gradient(180deg, rgba(0, 78, 160, 1) 10%, rgba(255, 255, 255, 0) 41%);
    }

    .top_main_title {
        top: 15%;
        left: 50%;
        letter-spacing: 0.2rem;
        font-weight: 500;
        line-height: 1.8em;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    /*ぐにょぐにょ*/
    .main_concept {
        width: 400px;
        height: 400px;
    }

    .H_concept,
    .H_cicle01,
    .H_cicle02,
    .H_cicle03,
    .H_cicle04,
    .H_cicle05,
    .H_cicle07 {
        width: 300px;
        height: 300px;
    }

    .H_cicle06 {
        width: 200px;
        height: 200px;
    }

    /*topサービス768px*/
    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        width: 100%;
        height: 170vh;
    }

    h3.darkblue_title span,
    .top_performance_area span,
    .top_company_area span,
    .top_recruit_area span {
        font-size: 18px;
        letter-spacing: 0.2rem;
    }

    img.top_performance_img_2 {
        left: 15px;
        top: 15px;
    }

    .top_company_img .top_performance_img_2 {
        top: 15px;
        right: 15px;
        left: auto;
    }

    .top_company_container:hover .top_performance_img_1 {
        animation-name: Topimghover02;
    }

    @keyframes Topimghover {
        0% {
            left: 0;
            bottom: 0;
        }

        100% {
            left: 15px;
            bottom: -15px;
        }
    }

    @keyframes Topimghover02 {
        0% {
            right: 0;
            bottom: 0;
        }

        100% {
            right: 15px;
            bottom: -15px;
        }
    }

    .top_service_area h3,
    .top_performance_area h3,
    .top_company_area h3,
    .top_recruit_area h3 {
        z-index: 20;
        font-size: 36px;
        letter-spacing: 0.6rem;
    }

    .top_service_area::before {
        display: none;
    }

    .top_service_area::after {
        background-image: url(../img/sp_service_polygon.svg);
        left: 0;
        width: 60%;
        top: -20%;
    }

    .top_service_con {
        width: 85%;
    }

    .top_service_area {
        height: 170vh;
    }

    .top_service_item {
        padding: 6% 6% 10% 6%;
    }

    .top_service_item h4 {
        font-size: 24px;
    }

    .top_service_item.system p span,
    .top_service_item.consulting p span {
        display: block;
    }

    .top_service_item .viewmorebtn_wh.top_service_btn {
        display: none;
    }

    .top_service_container {
        margin: 10% auto 0 auto;
    }

    .top_service_item.consulting .Circle_btn_wh {
        display: block;
    }

    .top_service_item .Circle_btn_wh {
        position: absolute;
        display: block;
        top: 30%;
        right: -7%;
    }

    .top_performance_container::before {
        background-image: url(../img/sp_performance_polygon.svg);
        width: 80%;
        right: 0;
        left: auto;
        top: -40%;
    }

    .top_company_container::before {
        background-image: url(../img/sp_company_polygon.svg);
        left: 0;
        width: 50%;
        z-index: 1;
        top: -40%;
    }

    .top_recruit_container::before {
        background-image: url(../img/sp_recruit_polygon.svg);
        width: 50%;
        right: 0;
        left: auto;
        top: -40%;
    }

    .top_performance_img,
    .top_company_img,
    .top_recruit_img {
        width: 85%;
    }

    .top_performance_text,
    .top_company_text,
    .top_recruit_text {
        width: 90%;
        margin: 10% auto;
    }

    .viewmorebtn_performance div,
    .viewmorebtn_recruit div {
        margin: 10% 0 0 auto;
        width: 55%;
    }

    .viewmorebtn_company div {
        margin: 10% auto 0 0;
        width: 55%;
    }

    /*topお問い合わせ768px*/
    .stepBar {
        width: 95%;
    }

    .stepBar.step3 .step {
        font-size: 14px;
    }

    .stepBar .step {
        padding: 0 30px 0 10px;
    }

    .top_2column_area {
        margin-top: 0;
    }

    .top_2column_area a {
        width: 85%;
    }

    .top_news_area::before {
        top: 10px;
    }

    .top_news_text {
        font-size: 18px;
    }

    .top_2column_area a,
    .top_2column_beginner,
    .top_2column_contact {
        height: 200px;
    }

    .top_2column_area a:hover .top_2column_beginner,
    .top_2column_area a:hover .top_2column_contact {
        height: 180px;
        width: calc(100% - 20px);
        margin: 10px;
        transition: all 0.2s 0s ease;
    }

    .top_2column_area p {
        font-size: 18px;
    }

    .top_2column_beginner::after {
        width: 128px;
        height: 200px;
    }

    .top_2column_beginner::before {
        font-size: 60px;
        top: 0;
    }

    .top_2column_contact::before {
        width: 120px;
        height: 200px;
    }

    .top_2column_contact::after {
        font-size: 60px;
    }

    /*お問い合わせ768px*/
    .tel_area h3 {
        top: -30px;
        left: -105px;
    }

    /*お知らせ768px*/
    .news_container h3 {
        top: -31px !important;
    }

    .news_container dl {
        flex-direction: column;

    }

    .news_container dt {
        width: 100%;
        border-bottom: none;
        text-align: left;
        margin-bottom: 0;
        font-size: 16px;
    }

    .news_container dd {
        width: 100%;
        font-size: 16px;
    }

    .news_title {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .news_title h4 {
        order: 2;
    }

    .news_title p {
        order: 1;
    }

    /*事業内容768px*/


    .total_support_top p {
        font-size: 16px;
    }

    .total_support_top::before {
        font-size: 90px;
    }

    .total_support_flex_text.left_text::after {
        font-size: 80px;
        bottom: -27px;
    }

    .total_support_flex_text.right_text::after {
        font-size: 80px;
        bottom: -27px;
    }

    .total_support_2column_left_box::before {
        font-size: 90px;
    }

    .total_support_2column_right_box::before {
        font-size: 90px;
    }

    /*会社概要768px*/
    .history h3,
    .profile h3 {
        margin-left: 30px;
    }

    .oblique_btn a {
        transform: skewX(0deg);
    }

    /*初めての方へ768px*/
    .first {
        background-image: url(../img/first_bg_top.png);
        background-size: 80%;
    }

    br.sp {
        display: none;
    }

    .first_contact_btn {
        width: 90%;
    }

    span.font_size {
        font-size: 36px;
    }

    .service_flow_faq h3 {
        top: -36px;
        left: 20px;
    }

    .service_flow_faq dt {
        font-size: 20px;
        transform: skew(0deg);
    }

    .service_flow_faq dt span::before {
        font-size: 20px;
    }

    .service_flow_faq dt span {
        transform: skew(0deg);
    }

    .service_flow_faq dd {
        font-size: 18px;
    }

    /*アクセス768px*/
    .access h3 {
        margin-left: 50px;
    }

    .access_container {
        width: 90%;
        margin: 100px auto;
    }

    .access_container iframe {
        margin: 0 auto;
    }

    .access h5 {
        width: 90%;
        font-size: 24px;
    }

    .access h5 span {
        display: contents;
    }

    .access_container ol {
        width: 90%;
        font-size: 18px;
    }

    /*サイトマップ768px*/
    .map_area .map_bl {
        font-size: 20px;
    }

    .map_area .map_bl02 {
        font-size: 18px;
    }

    /*プライバシー768px*/
    .privacy h4 {
        font-size: 18px;
        width: 100%;
        transform: skewX(0deg);
    }

    /*実績紹介　768px*/
    .btn_back {
        width: 90%;
    }

    /*採用768px*/
    .column_container a,
    .information,
    .entry {
        height: 200px;
    }

    .column_container a {
        width: 85%;
    }

    .column_container p {
        font-size: 18px;
    }

    .information::after {
        background-size: contain;
        width: 140px;
        height: 200px;
    }

    .entry::after {
        background-size: contain;
        width: 143px;
        height: 170px
    }

    .information::before {
        font-size: 60px;
    }

    .entry::before {
        font-size: 60px;
    }
}

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

    /*実績紹介729px*/
    .performance {
        flex-direction: column;
    }

    .performance_block {
        width: 90%;
    }

    .performance_block a {
        width: 60%;
        margin: 0 0 0 auto !important;
        margin-right: 5% !important;
    }
}

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

    /*お問い合わせ715px*/
    .Contact_table {
        font-size: 14px;
        text-align: left;
    }

    .Contact_Form p {
        text-align: left;
        font-size: 14px;
    }

    span.required {
        margin: 0;
        margin-top: 10px;
    }
}

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

    /*プライバシーポリシー666px*/
    .privacy-list ul {
        width: 100%;
    }
}

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

    /*採用652px*/
    .desired_figure_item {
        width: 90%;
        margin: 0 auto;
    }
}

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

    /*topメインビュー*/
    h2.top_main_title {
        width: 80%;
        font-size: 20px;
    }

    .top_main_area p.top_main_span {
        left: auto;
        font-size: 20px;
    }

    p.top_main_span span {
        text-align: center;
    }

    .top_sptext {
        bottom: -800px;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .top_main_text_second {
        margin-left: 60px;
    }

    /*topサービス650px*/
    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        height: 150vh;
    }

    .top_service_area {
        margin: 850px auto 0 auto;
    }

    /*topお知らせ650px*/
    .top_news_container {
        margin: 8% 0 0 0;
    }

    .top_news_container dl {
        flex-direction: column;
    }

    .top_news_container dt {
        width: 100%;
        border-bottom: 0;
        text-align: left;
        height: 30px;
    }

    .top_news_container dd {
        width: 100%;
    }

    /*ボタン650px*/
    .Circle_btn_bl a,
    .Circle_btn_wh a,
    .Circle_btn_recruit a,
    .Circle_btn_recruit_wh a,
    .top_2column_area a .Circle_btn_bl {
        width: 60px;
        height: 60px;
    }

    .btn_arrow::after,
    .top_2column_area a .btn_arrow::after {
        top: calc(50% - 6px);
        right: 13px;
    }
}

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

    /*アクセス647px*/
    .access h5 span {
        display: block;
    }
}

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

    /*お問い合わせ633px*/
    .Contact_table tr {
        display: flex;
        flex-direction: column;
        border-bottom: none;
    }

    span.required {
        display: initial;
        margin-left: 5px;
    }

    .Contact_table th {
        width: fit-content;
    }

    .Contact_table td {
        width: 100%;
    }

    .Contact_table table {
        width: 90%;
    }

    .Contact_table th {
        background: #004EA0;
        border-radius: 2px;
        margin-left: 2%;
        color: #FFFFFF;
    }

    span.required {
        background: #FF574C;
        border-radius: 2px;
    }

    textarea#Contact_02,
    select#Contact_01,
    input#Contact_03,
    input#Contact_04,
    input#Contact_05,
    input#Contact_06 {
        width: 100%;
    }

    .mail_form_area h3,
    .tel_area h3 {
        left: -5px;
    }

    a.Contact_btn {
        width: auto;
    }

    input[type="submit"] {
        font-size: 16px;
    }

    .tel_number_area {
        width: 100%;
    }

    .tel_area {
        padding: 80px 10px 100px 10px;
    }

    .tel_number_area p {
        font-size: 16px;
    }

    .tel_number_area a::before {
        background-size: 50%;
    }

    .tel_number_area p {
        margin-left: 10%;
    }

    .Contact_Form p {
        padding: 10px;
    }

    br.br_contact {
        display: none;
    }

    .contact_bg_area {
        background-position: top 98px left, bottom right;
    }
}

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

    /*お問い合わせ600px*/
    .stepBar.step3 .step {
        font-size: 12px;
    }

    ol.stepBar.step3 li:nth-child(1) {
        width: 26.33%;
    }

    ol.stepBar.step3 li:nth-child(2) {
        width: 33.33%;
    }

    ol.stepBar.step3 li:nth-child(3) {
        width: 40.33%;
    }

    .mail_form_area {
        width: 100%;
    }

    .tel_area {
        width: 100%;
    }

    .tel_area h3 {
        top: -30px;
        left: 0;
    }
}

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

    /*実績紹介499px*/
    .performance {
        padding: 10px;
    }

    .performance_block a {
        display: flex;
    }

    .performance_block a:nth-of-type(2) {
        margin-top: -20px
    }

}

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

    /*--------------共通450px--------------*/
    h3 {
        font-size: 36px;
    }

    h3 span.title_ja {
        font-size: 18px;
    }

    h2.page_title {
        font-size: 20px;
        width: 90%;
        margin: 0 auto;
        text-align: left;
    }

    .page_title span {
        font-size: 14px;
    }

    h3.darkblue span {
        font-size: 16px;
        letter-spacing: 0.2rem;
    }

    .page_main_view {
        background-position-x: center;
        height: 200px;
    }

    br.brsp {
        display: block;
    }

    br.brpc {
        display: none;
    }

    .history-container p,
    .total_support_flex_text h5 {
        font-size: 20px;
    }

    .tel_number_area h4,
    .tel_number_area a,
    .access h4,
    .privacy h4,
    .total_support_top h4,
    .total_support_2column_left_box h5,
    .total_support_2column_right_box h5,
    .total_support_introduction h4,
    .corse-results_table p,
    .comment_title,
    .service_flow_text_title span,
    .voice_01 h4,
    .information h4,
    .entry h4,
    .tel_number_area h4,
    .tel_number_area a,
    .access h4,
    .privacy h4,
    .total_support_top h4,
    .total_support_2column_left_box h5,
    .total_support_2column_right_box h5,
    .total_support_introduction h4,
    .corse-results_table p,
    .comment_title,
    .service_flow_text_title span,
    .voice_01 h4,
    .thought h4,
    .information h4,
    .entry h4,
    .recruit_text_red,
    .access h5,
    .privacy h5,
    .total_support_table dl,
    .corse-results_table dl,
    .profile_container dl,
    .performance_block h3,
    .voice_01 p,
    .voice_01 a,
    .voice_02 h5,
    .desired_figure_text_area,
    .thought-txt,
    .environment dl,
    .education_table_container h4 {
        font-size: 18px;
    }

    .total_support_2column_left_box p,
    .comment_item,
    .service_flow_faq dd,
    .service_flow_text_item p,
    .performance_block p,
    .summary-left,
    .message_text {
        font-size: 16px;
    }

    /*header450px*/
    .Header_logo img {
        width: 50%;
    }

    .Header_logo a:nth-child(2) {
        margin-left: -24%;
        font-size: 18px;
    }

    .Header_logo a span {
        font-size: 8px;
        margin-left: -20px;
    }

    a.Header_contact {
        width: 100px;
        letter-spacing: 0.02rem;
    }

    .sp_nvitem {
        width: 40%;
    }

    /*footer450px*/
    .footer_menu {
        padding: 10% 8% 15% 8%;
    }

    .footer_left_area {
        padding: 15% 3% 0 3%;
    }

    .footer_left_area a img {
        width: 50px;
    }

    .footer_left_area a {
        font-size: 20px;
    }

    .footer_left_area a span {
        font-size: 10px;
    }

    /*topサービス450px*/
    .top_service_area {
        height: 140vh;
    }

    .top_service_item h4 {
        font-size: 18px;
    }

    .top_service_item {
        margin: 3% 0;
        height: 180px;
    }

    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        height: 110vh;
    }

    .top_performance_container,
    .top_company_container,
    .top_recruit_container {
        padding: 18% 0 0 0;
    }

    .viewmorebtn_performance div,
    .viewmorebtn_recruit div,
    .viewmorebtn_company div {
        width: 70%;
    }

    .top_service_area h3,
    .top_performance_area h3,
    .top_company_area h3,
    .top_recruit_area h3 {
        letter-spacing: 0.3rem;
    }

    /*お問い合わせ450px*/
    .stepBar .step {
        padding: 0 3% 0 0;
    }

    .stepBar.step3 .step {
        font-size: 10px;
    }

    ol.stepBar.step3 li:nth-child(1) {
        width: 30.33%;
    }

    ol.stepBar.step3 li:nth-child(3) {
        width: 36.33%;
    }

    .list_item {
        width: 100%;
    }

    .arow_list {
        clip-path: none;
    }

    .tel_area h3 {
        top: -22px;
    }

    /*お知らせ450px*/
    .news_bg_container {
        background-size: 100%, 70%;
    }

    .news_container h3 {
        top: -22px !important;
    }

    .top_news_table a.btn_arrow.arrow_bl.top_news_btn {
        width: 60%;
    }

    /*実績紹介450px*/
    .performance_block .viewmorebtn_bl {
        margin-left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .news_bg_container {
        background-size: 100%, 70%;
    }

    .news_container h3 {
        top: -22px !important;
    }

    .voice .darkblue span {
        display: flex;
        font-size: 20px;
    }

    .voice .darkblue {
        width: 100%;
        margin-left: 10px;
    }

    .voice_02 {
        width: 100%;
        padding-top: 50px;
    }

    .voice_02 h5 {
        font-size: 16px;
    }

    .btn_back {
        width: 80%;
        padding: 5% 10%;
        justify-content: flex-start;
        border: 5px solid #004EA0;
    }

    .btn_back a {
        font-size: 20px;
    }

    /*事業内容450px*/
    .total_support_circle_sp {
        padding: 40px 0;
    }

    .total_support_flex_text p {
        padding: 10px;
        padding-top: 0;
    }

    .total_support_top p {
        padding-left: 0;
    }

    .total_support_top {
        padding: 1em;
    }

    .arow_list::after {
        left: 63%;
    }

    .total_support_area h3 {
        margin-left: 2%;
    }

    .list_item {
        width: 100%;
    }

    .arow_list {
        clip-path: none;
    }

    .total_support_top p {
        font-size: 16px;
    }

    .total_support_top::before {
        font-size: 50px;
    }

    .total_support_flex_text.left_text {
        width: 100%;
        clip-path: none;
        margin-top: -40px;
    }

    .total_support_flex_text.right_text {
        width: 100%;
        clip-path: none;
        margin-top: -40px;
        text-align: left;
    }

    .total_support_flex_number {
        font-size: 150px;
    }

    .total_support_flex_text.left_text::after {
        font-size: 50px;
        line-height: 60px;
        bottom: -15px;
        right: -10px;
    }

    .total_support_flex_text.right_text::after {
        font-size: 50px;
        line-height: 60px;
        bottom: -15px;
        right: -10px;
        text-align: right;
    }

    .total_support_table dt {
        width: 60%;
    }

    .total_support_introduction h4 {
        font-size: 18px;
        text-align: center;
    }

    .total_support_2column_left_box h5 {
        font-size: 18px;
    }

    .total_support_2column_left_box p {
        font-size: 14px;
    }

    .total_support_2column_right_box h5 {
        font-size: 18px;
    }

    .total_support_2column_right_box p {
        font-size: 14px;
    }

    .total_support_2column_left_box::before {
        font-size: 60px;
        bottom: -40px;
    }

    .total_support_2column_right_box::before {
        font-size: 60px;
        top: -40px;
    }

    .education_table_container h4 {
        font-size: 20px;
    }

    .education_table_container p {
        font-size: 16px;
    }

    .total_support_table dt {
        font-size: 18px;
    }

    .total_support_table dd {
        font-size: 14px;
    }

    .education_table_left_item {
        width: 100%;
    }

    .corse-results_table dl {
        flex-direction: column;
    }

    .corse-results_table dt {
        width: 100%;
        padding: 0;
        border: none;
    }

    .corse-results_table dd {
        width: 100%;
        font-size: 16px;
    }

    .corse-results_table dt:first-child {
        border-bottom: 1px solid #000;
    }

    .total_support_introduction h4 {
        text-align: left;
        margin-left: 5%;
    }

    .total_support_introduction span {
        display: block;
    }

    .total_support_table dd br {
        display: block;
    }

    .total_support_introduction h4 span {
        display: block;
    }



    .corse-results_area h3 {
        margin-left: 2%;
    }

    /*会社概要450px*/
    .list_item {
        width: 100%;
    }

    .arow_list {
        clip-path: none;
    }



    .profile_container,
    .history-container dd {
        font-size: 18px;
    }

    .history-container dt {
        font-size: 18px;
        padding-top: 10px;
        padding-bottom: 0;
    }

    .summary h3 {
        font-size: 22px;
        margin-left: 10px;
    }

    .summary-container {
        width: 92%;
    }

    .profile_container dt {
        padding: 20px 1em 10px 0;
        font-size: 18px;
    }

    .profile_container dd {
        font-size: 16px;
    }

    .oblique_btn {
        padding: 10px;
        text-align: center;
    }

    .oblique_btn a {
        font-size: 14px;
    }

    .oblique_btn a::after {
        margin-left: 4px;
    }

    /*初めての方へ450px*/
    .service_flow h3 {
        left: 2%;
    }

    .service_flow_faq h3 {
        left: 37%;
    }

    .service_flow {
        padding: 100px 0 120px;
    }

    .first {
        background-size: 100%;
    }

    .service_flow_item {
        padding: 50px 20px;
    }

    .service_flow_item.item1 {
        background-position: 50% 68%;
        ;
    }

    .service_flow_item.item2 {
        background-position: 50% 72%;
    }

    .service_flow_item.item3 {
        background-position: 50% 85%;
    }

    .service_flow_item.item4 {
        background-position: 50% 150%;
    }

    .service_flow_item.item5 {
        background-position: 50% 83%;
    }

    .service_flow_item.item6 {
        background-position: 73% 70%;
    }

    .service_flow_item.item7 {
        background-position: 50% 74%;
    }

    .service_flow_item.item8 {
        background-position: 50% 77%;
    }

    .service_flow_text_title {
        font-size: 24px;
        padding: 0;
    }

    .service_flow_text_item p {
        margin: 20px 0 0 0;
    }

    .first_contact_btn {
        border: 6px solid #004EA0;
        padding: 20px;
        justify-content: flex-start;
    }

    .contact_btn a {
        font-size: 20px;
    }

    .contact_btn a .Circle_btn_bl {
        width: 60px;
        height: 60px;
        bottom: -24px;
    }

    .contact_btn a .btn_arrow::after {
        right: 13px;
        width: 32px;
    }

    .service_flow_faq h3 {
        top: -25px;
        left: 42%;
        transform: translateX(-50%);
        letter-spacing: 0.3em;
    }

    span.font_size {
        font-size: 30px;
    }

    .service_flow_faq dt {
        font-size: 18px;
    }

    .service_flow_faq dt span::before {
        font-size: 18px;
    }

    .service_flow_faq dd {
        font-size: 16px;
        margin-left: 0;
    }

    .comment_text_area {
        padding: 10px;
    }

    .service_flow_faq_container {
        padding: 100px 0 100px 0;
    }

    /*アクセス450px*/


    .access h3 {
        margin-left: 2%;
        margin-bottom: -44px;
    }

    .access h4 {
        font-size: 22px;
        padding-right: 4%;
    }

    .access_container {
        width: 90%;
    }

    .access h5 {
        width: 100%;
        font-size: 16px;
        margin-left: -3%;
    }

    .access_list {
        width: 88%;
        margin: 0 auto;
    }

    .access_list p {
        font-size: 14px;
        margin-left: 2%;
    }

    .access_list h5 br.pc {
        display: block;
    }

    /*アクセス450px*/
    .background-container {
        background-size: 70%;
    }

    /*情報セキュリティ450px*/
    .security_container h3 {
        margin-left: -4%;
    }

    .security_txt_area {
        margin: 0;
    }

    .security_list {
        padding-left: 1rem;
    }

    /*採用450px*/
    .recruit_main_view {
        height: 200px;
        background-size: cover;
    }

    h2.recruit_title {
        width: 90%;
        margin: 0 auto;
        text-align: left;
        font-size: 20px;
        left: 10px;
        right: 30px;
        top: 36%;
    }

    .recruit_btn_shadow {
        display: none;
    }

    .message::before {
        background-size: 48%;
    }

    .recruit_btn {
        width: fit-content;
        font-size: 28px;
        text-align: right;
        padding: 0.25em 2em;
    }

    .message h3 {
        left: 2%;
        top: -25px;
    }

    .message {
        margin: 200px auto 0;
        padding: 3em 0;
    }

    .message_text_container {
        padding: 0 30px;
    }

    .message_text {
        line-height: 1.8;
        margin: 1.5em 0;
    }

    .recruit_text_red {
        width: 100%;
        margin: 10px auto;
        transform: none;
        padding: 0.2em;
        display: flex;
        justify-content: center;
    }

    .recruit_text_red span {
        font-size: 16px;
        padding: 0.3em 0.5em;
        transform: none;
    }

    .recruit_text_red br {
        display: block;
    }

    .desired_figure h3 {
        margin-left: 0;
    }

    .desired_figure_text_area {
        font-size: 18px;
        margin: 70px auto;
    }

    .desired_figure {
        margin: 100px 10px 0;
    }

    .desired_figure_item {
        width: 100%;
        height: auto;
        padding-bottom: 40px;
    }

    .desired_figure_item p {
        font-size: 20px;
    }

    .thought::before {
        font-size: 130px;
        transform: rotate(90deg);
        right: 350px;
    }

    .thought::after {
        background-image: none;
    }

    .thought {
        padding: 3em 10px 10em;
    }

    .thought h4 {
        width: 100%;
        text-align: left;
        font-size: 22px;
        margin-bottom: 1em;
    }

    .thought-txt {
        font-size: 18px;
        line-height: 1.8em;
    }

    .thought_list p:nth-of-type(1),
    .thought_list p:nth-of-type(2),
    .thought_list p:nth-of-type(3),
    .thought_list p:nth-of-type(4) {
        font-size: 16px;
        line-height: 1.8em;
    }

    .environment h3 {
        margin-left: 2%;
        letter-spacing: 10px;
    }

    .column_container {
        flex-direction: column;
    }

    .information::before {
        font-size: 60px;
        top: 20px;
        right: 0px;
    }

    .information {
        width: 100%;
    }

    .information h4 {
        font-size: 24px;
        padding: 3.5em 4em;
    }

    .arrow_btn_red {
        width: 60px;
        height: 60px;
        bottom: 1em;
        right: 1em;
    }

    .entry::before {
        font-size: 60px;
        top: -14px;
        right: 0px;
    }

    .entry {
        width: 100%;
    }

    .entry h4 {
        font-size: 24px;
        padding: 3.5em 4em;
    }



    .environment dd {
        font-size: 16px;
    }

    /*プライバシーポリシー450px*/
    .privacy h3 {
        margin-left: -4%;
    }

    .privacy h5 {
        font-size: 16px;
    }

    .privacy h5 span {
        display: block;
    }

    .privacy h4 span {
        transform: skewX(0deg);
    }

    .privacy h4 {
        font-size: 18px;
    }

    .privacy h4 br {
        display: block;
    }

    .privacy p {
        font-size: 14px;
    }

    .privacy-contact {
        flex-direction: column;
        align-items: center;
    }

    .privacy-list ul {
        width: 90%;
        flex-direction: column;
        font-size: 14px;
    }

    .privacy-list02 ul {
        width: 90%;
        font-size: 14px;
    }

    /*サイトマップ450px*/
    .map .darkblue {
        margin-left: 2%;
    }

    .map_area {
        flex-direction: column;
    }

    .map01,
    .map02,
    .map03,
    .map04,
    .map05 {
        margin-bottom: 20px;
    }

    .map_left,
    .map_center,
    .map_right {
        width: 100%;
    }

    .map_area .map_bl {
        font-size: 18px;
    }

    .map_area .map_bl02 {
        font-size: 16px;
    }
}

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

    /*topサービス400px*/
    .top_performance_area,
    .top_company_area,
    .top_recruit_area {
        height: 96vh;
    }
}

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

    /*アクセス350px*/
    .access_container br.pc {
        display: none;
    }

    /*採用350px*/
    .environment h3 {
        letter-spacing: 5px;
    }

    .thought::before {
        right: 260px;
    }

    /*初めての方へ　350px*/
    .service_flow_faq h3 {
        left: 47%;
    }
}