/*
Theme Name: Core
Theme URI: Core
Author: 作成者
Author URI: 作成者のアドレス
Description: テーマの説明
Version: バージョン
License: ライセンス
*/

/* --- Google Fonts (Noto Sans JP) の読み込み --- */
/* Regular 400 と Bold 700 を読み込む例 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* --- 基本設定・リセット --- */
*,
*::before,
*::after {
    box-sizing: border-box;
}
html{
    scroll-behavior: smooth;
}

body, h1, h2, p, ul, div, h1, h2, h3, h4, h5 {
    margin: 0;
    padding: 0;
}

body {
    /* 'Noto Sans JP' を指定し、それが使えない場合は汎用の sans-serif を使う */
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.6;
    /* フッターを最下部に固定するための設定 (1/3) */
    display: flex;
    flex-direction: column;
    color:#1a1a1a;
    font-feature-settings:"pwid";
}

img {
/*    max-width: 100%;*/
    height: auto;
    display: block;
}

a {
    color: #004986;
    transition: transform 0.5s, color 0.3s ease;
    text-decoration: none;
}

a:hover {
    color: #43b1de;
    text-decoration: none;
    transform: translateY(-5px);
}

ul {
    list-style: none;
}

h4{
    font-size: 24px;
}
fieldset{
    display: none;
}

/*共通スモールパーツ）*/
.sp{
    display: none;
}
.pc{
    display: block;
}
.ta-c{
    text-align: center;
}
.btn-area-c{
    display: flex;
    width: 100%;
    text-align: center;
    -webkit-justify-content: center;
            justify-content: center;
    gap:1.5em;
    margin-top: 3em;
}

.btn-m-white{
    position: relative;
    display: block;
    width: 360px;
    height: 60px;
    background-color: #FFF;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #004986;
}
.blue-arrow::after{
    position: absolute;
    content: '';
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.blue-blank::after{
    position: absolute;
    content: url(../images/common/icon_blank.svg);
    width: 13px;
    height: 10px;
/*    top:50%;
    margin-top:-6px;*/
    right:25px;
}
.btn-m-blue{
    position: relative;
    display: block;
    width: 360px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-m-blue::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.btn-m-blue-back{
    position: relative;
    display: block;
    width: 360px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-m-blue-back::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    top:50%;
    left:25px;
    margin-top:-6px;
}
.btn-s-blue{
    position: relative;
    display: block;
    width: 180px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-s-blue::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.btn-s-blue-back{
    position: relative;
    display: block;
    width: 180px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-s-blue-back::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    top:50%;
    left:25px;
    margin-top:-6px;
}
.btn-float{
    float: left;
    margin-right: 2em;
}


/* --- 追従ヘッダー --- */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1150px;
    height: 120px;
    background-color: #ffffff;
    z-index: 1000;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
}

.header h1 a {
    color: #004986;
    text-decoration: none;
}

.header h1 .header-logo {
    width: 100px;
}


.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* .container の設定を適用 */
    height: 120px;
    max-width: 1150px;
    min-width: 1150px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.header-content .header-content-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-content-nav-global{
    display: flex;
    align-items: center;
    margin-right: 1em;
    z-index: 900;
}

.header-content-nav-global ul{
    display: flex;
}

.header-content-nav-global ul li{
    padding: 0 1.5em;
    border-right: solid 1px #004986;
    line-height: 1;
    height: 1em;
}
.header-content-nav-global ul a{
    display: block;
}

.header-content-nav-global ul li:last-child{
    border-right: none;
    padding-rigth: 3em!impportant;
}

.header-content-nav-blank a{
    position: relative;
    display: block;
}
.icon-blank{
    display: inline-block;
    height: 0.8em;
/*    vertical-align: bottom;*/
}

.header-content-nav-contact{
    width: 160px;
    height: 60px;
}
.header-content-nav-blank{
    
}
.header-content-nav-contact-icon{
    display:inline-block;
    width: 33px;
    height: 24px;
    vertical-align: text-bottom;
    margin-right: 0.2em;
}

.header-content-nav-contact a{
    display: block;
    line-height:60px;
    background-color: #F39800;
    color:#fff;
    text-align: center;
}

/* --- メインコンテンツ --- */
.main-content {
    /* フッターを最下部に固定するための設定 (2/3) */
    flex: 1 0 auto;
    /* 追従ヘッダーにコンテンツが隠れないように余白をとる */
    /* JSで高さを取得するのが確実ですが、今回は固定値で対応します */
    padding-top: 120px; /* ヘッダーの高さに応じて調整 */x
}



/* --- 共通コンポーネント --- */
.container {
    /* PC画面最大横幅 1150px */
    width: 100%;
    min-width: 1150px;
}

.inner-l{/*1150px固定*/
    width: 1150px;
    margin: 0 auto;
}

.inner-m{/*1080px固定*/
    width: 1080px;
    margin: 0 auto;
}

.inner-s{/*1080px固定*/
    width: 964px;
    margin: 0 auto;
}

.page-title{
    width: 100%;
    height: 200px;
    background: url(../images/common/page_title_bg.jpg) top center repeat-x;
    color: #FFF;
    line-height: 1.4;
}
.page-title-inner{
    height: 200px;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: flex-start;
            align-items: flex-start;
    text-align: left;
}
.page-title h2{
    font-size: 36px;
}
.page-title .page-title-subtitle span{
    font-size: 14px;
    color: #004986;
}

.topicpath{
    font-size: 16px;
    padding: 0.5em 0;
    color: #8C8C8C;
}

.topicpath a{
    color: #8C8C8C;
}

.section-title-big{
    text-align: center;
    padding-bottom: 90px;
}
.section-title-big-b{
    position: relative;
    display: inline-block;
    font-size: 30px;
    padding: 0.5em 5em;
    border-top: 1px solid #7f9cb3;
    border-bottom: 1px solid #7f9cb3;
    color: #fff;
}

.section-title-big-b::before{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
/*    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);*/
    top: 0px;
    left: 70px;
}

.section-title-big-b::after{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
    bottom: -5px;
    right: 60px;
}
.section-title-big-w{
    position: relative;
    display: inline-block;
    font-size: 30px;
    padding: 0.5em 5em;
    border-top: 1px solid #7f9cb3;
    border-bottom: 1px solid #7f9cb3;
    color: #004986;
}

.section-title-big-w::before{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
/*    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);*/
    top: 0px;
    left: 70px;
}

.section-title-big-w::after{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
    bottom: -5px;
    right: 60px;
}



.section-maintxt{
    margin-bottom: 80px;
}

.section-txt-title-b{
    display: inline-block;
    min-width: 400px;
    position: relative;
    padding: 0.1em 5em 0.1em 0;
    border-bottom: 2px solid #e6e6e6;
    margin-bottom: 0.5em;
    color: #004986;
}
.section-txt-title-b::after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 2em;
    height: 2px;
    background-color: #004986;
}

.section-txt-title-w{
    display: inline-block;
    min-width: 400px;
    position: relative;
    padding: 0.1em 5em 0.1em 0;
    border-bottom: 2px solid #e6e6e6;
    margin-bottom: 0.5em;
}
.section-txt-title-w::after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 2em;
    height: 2px;
    background-color: #85c8ef;
}

.section-txt-smalltitle{
    font-size: 20px;
    color: #004986;
    margin-bottom: 0.2em;
    font-weight: bold;
}

.section-txt-maintext{
    margin-bottom: 2em;
    line-height: 1.9;
}


.table-list{
    border-top: 1px solid #B2C4D1;
    margin-bottom: 90px;
}

.table-list-line{
    display: flex;
    border-bottom: 1px solid #B2C4D1;
    margin-top: 1em;
    margin-bottom: 1em;
}
.table-list-namecell{
    padding: 1.5em;
    width:280px;
    font-weight: bold;
    font-size: 18px;
    border-right: 1px solid #B2C4D1;
    line-height: 1;
    margin-bottom: 1em;
}
.table-list-namecell .table-list-namecell-subtitle{
    font-weight: normal;
    font-size: 14px;
}
.table-list-textcell{
    padding: 1.5em;
    flex:1;
}
.table-list-compulsory{
    color: #d30000;
}
.table-list-textcell-labellist{
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.table-list-textcell-labellist .wpcf7-form-control-wrap{
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.table-list-textcell-labellist .wpcf7-form-control-wrap .wpcf7-list-item{
    display: inline-block;
    width: 33%;
    margin-bottom: 0.5em;
}

input[type="text"]{
    line-height: 2.5em;
    padding: 0 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    border: 1px solid #bfbfbf;
    width: 32em;
}
select{
    line-height: 2.5em;
    padding: 0.5em 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    border: 1px solid #bfbfbf;
    width: 32em;
}
input[type="checkbox"]{
    line-height: 2.5em;
    padding: 0.5em 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    border: 1px solid #bfbfbf;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
}
textarea{
    padding: 0.5em 1em;
    -webkit-border-radius: 4px;
            border-radius: 4px;
    border: 1px solid #bfbfbf;
    width: 32em;
    height: 15em;
}


/*トップ*/

.mainvisual{
    position: relative;
    width: 100%;
    min-width: 1150px;
    height: 690px;
    background: url(../images/top/mainvisual-bg.jpg) top center;
}

.mainvisual-inner{
    width: 100%;
    height: 690px;
    background: url(../images/top/mainvisual-act_l.png) bottom center no-repeat;
}

.mainvisual-act{
    width: 1440px;
    position: absolute;
    bottom:0;
    left:50%;
    margin-left:-720px;
}

.mainvisual-copy{
    position: absolute;
    width: 703px;
    height: 257px;
    top:110px;
    left:50%;
    margin-left:-575px;
}

.mainvisual-topics{
    display: flex;
    position: absolute;
    bottom: 45px;
    left: 50%;
    width: 580px;
    height: 50px;
    background-color: rgba(255,255,255,0.8);
}
.mainvisual-topics:hover{
    opacity: 0.8;
}

.mainvisual-topics h3{
    position: relative;
    margin: 0;
    padding: 0 25px;
    line-height: 50px;
    font-weight: bold;
}


.mainvisual-topics h3::after{
    content: '';
    position: absolute;
    top: 5px;
    right: 0;
    display: inline-block;
    width: 1px;/*線の長さ*/
    height: 40px;/*線の太さ*/
    background-color:#004986;
}

.mainvisual-topics-title{
    display: block;
    line-height: 50px;
    padding: 0 25px;
}

.mainvisual-topics-title-date{
    padding-right:1em;
}

.mainvisual-topics-title::after{
    content: '';
    position: absolute;
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}


.top-about{
    width: 100%;
    background: url(../images/top/top_about_bg.png) center center;
    -webkit-background-size: 100% 100%;
         -o-background-size: 100% 100%;
            background-size: 100% 100%;
    padding: 120px 0 180px;
    margin-bottom: 110px;
}
.top-about-content{
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: #fff;
}

.top-about-content-title{
/*    width: 50%;*/
    font-size: 36px;
}

.top-about-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}

.top-about-content-txt{
/*    width: 50%;*/
    line-height: 1.9;
}

.top-about-content-txt h4{
    margin-bottom: 0.5em;
}

.top-about-content-txt p{
    margin-bottom: 2em;
}

.top-consultantpolicy{
    width: 100%;
    margin-bottom: 100px;
    padding-bottom: 100px;
    border-bottom: 1px solid #BBCAD6;
}
.top-consultantpolicy-content{
    display: flex;
    gap:40px;
    margin-bottom: 80px;
}
.top-consultantpolicy-content-img{
    width: 50%;
}
.top-consultantpolicy-content-txt{
    width: 50%;
}

.top-consultantpolicy-content-title{
    font-size: 36px;
    color:#004986;
    padding: 0.5em 0;
    margin-bottom: 1em;
    border-bottom: 1px solid #004986;
}
.top-consultantpolicy-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.top-consultantpolicy-content-subtitle{
    margin-bottom: 1em;
    font-size: 20px;
    color:#004986;
}
.top-consultantpolicy-content-txt p{
    line-height: 2.2;
}

.top-info{
    width: 100%;
    padding-bottom: 100px;
}
.top-info-content{
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-align-items: center;
            align-items: center;
    gap:40px;
    margin-bottom: 80px;
}
.top-info-content-title{
    font-size: 36px;
    color:#004986;
}
.top-info-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}

.top-info-content-list{
    width: 70%;
}



.top-blog{
    width: 100%;
    background: url(../images/top/top_blog_bg.jpg) center center;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    padding: 80px 0 60px;
}
.top-blog-content-title{
    text-align: center;
    font-size: 36px;
    color: #FFF;
    margin-bottom: 60px;
}
.top-blog-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.top-blog-content-list{
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    gap:40px;
    margin-bottom: 60px;
}
.top-blog-content-card{
    display: block;
    width: 280px;
}
.top-blog-content-card-title{
    width: 280px;
    padding: 1em;
    background-color: #FFF;
    font-weight: bold;
}
.top-blog-content-card-img img{
    width: 280px;
    height: 220px;
  object-fit: cover;
}


/*お知らせ*/
.info-list{
    width: 100%;
}

.info-list-child{
    position: relative;
    display: block;
    padding: 1.5em 0;
    border-bottom: 1px solid #BBCAD6;
}
.info-list-child a{
    display: block;
    padding-right: 55px;
}
.info-list-child::after{
    position: absolute;
    content: '';
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}

.info-list-child-date{
    display: inline-block;
    padding-right: 1em;
}

.info-detail{
    margin-top: 90px;
    margin-bottom: 90px;
}

.info-detail-title{
    margin-bottom: 80px;
    font-size: 30px;
    color: #004986;
    font-weight: bold;
}
.info-detail-title span{
    display: block;
    font-size: 18px;
    color: #808080;
}

.info-detail-main{
    margin-bottom: 90px;
}



/*プライバシーポリシー*/

.privacy{
    margin-top: 90px;
    margin-bottom: 90px;
}
.privacy-detail-main{
    margin-bottom: 120px;
    line-height: 1.8;
}
.privacy-detail-main h4{
    margin-top: 2em;
    margin-bottom: 1em;
    font-size: 18px;
    font-weight: bold;
}
.privacy-detail-main h4:first-child{
    margin-top: 0;
}

.privacy-detail-main p{
    margin-bottom: 1.2em;
}
.privacy-detail-main ul{
    margin-bottom: 1.2em;
    list-style: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 40px;
}



/*サービス*/

.service-read{
    background: url(../images/service/service_read_bg.jpg) center center no-repeat #004986;
    color: #FFF;
    padding: 70px 0;
    margin-bottom: 70px;
}

.service-read .section-maintxt{
    width: 700px;
}
.service-read .section-title-big-b{
    margin-bottom: 70px;
}
.service-read-inner{
    width: 650px;
}

.service-specializedarea-cards{
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    gap: 40px 0;
    margin-bottom: 70px;
}
.service-specializedarea-cards-child{
    display: flex;
    width: 560px;
    gap:10px;
}
.service-specializedarea-cards-child-icon{
    width: 180px;
}
.service-specializedarea-cards-child-icon img{
    width: 180px;
}
.service-specializedarea-cards-child-txt p{
    font-size: 14px;
}

.service-specializedarea-jobs{
    background-color: #004986;
    padding: 20px;
    margin-bottom: 70px;
}
.service-specializedarea-jobs-title{
    background-color: #FFF;
    padding: 20px;
    text-align: center;
}
.service-specializedarea-jobs-list{
    color: #FFF;
    padding: 20px 80px;
    display: flex;
    gap:5px 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
}
.service-specializedarea-jobs-list li{
    display: inline;
    width: 25%;
}

.service-navi{
    border-top: 2px solid #C3D1DC;
    border-bottom: 2px solid #C3D1DC;
    padding: 3em;
    text-align: center;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    gap: 0 40px;
}

.service-navi-anchor{
    position: relative;
    border-bottom: 1px solid #C3D1DC;
    text-align: center;
    width: 270px;
}
.service-navi-anchor a{
    position: relative;
    display: block;
    border-bottom: 1px solid #C3D1DC;
    padding: 1em;
    text-align: center;
}
.service-navi-anchor::after{
    position:absolute;
    content: '';
    background: #C3D1DC;
    width: 12px;
    height: calc(12px / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    bottom: -17px;
    leftt:50%;
    margin-lrft:-6px;
}

.service-hunter{
    background: url(../images/service/service_hunter_bg.png) top center no-repeat;
    margin-bottom: 100px;
}
.service-hunter-read{
    color: #FFF;
    padding-top: 110px;
    margin-bottom: 170px;
}

.service-hunter-read .section-title-big-b{
    margin: 0 auto 95px;
}

.service-recruiter{
    background: url(../images/service/service_recruiter_bg.png) top center no-repeat;
    margin-bottom: 100px;
}
.service-recruiter-read{
    color: #FFF;
    padding-top: 110px;
    margin-bottom: 170px;
}

.service-recruiter-read .section-title-big-b{
    margin: 0 auto 95px;
}

.service-section-read-content{
    display: flex;
    gap:0 40px
}

.section-maintxt-column{
    display: flex;
    gap: 40px;
}

.section-maintxt-column-card{
    background-color: #FFF;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
    flex:1;
    padding-bottom: 2em;
}

.section-maintxt-column-card-title{
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    padding: 0.5em 1em;
    background-color: #004986;
    color: #FFF;
    font-size: 22px;
    text-align: center;
    height: 4em;
}
.section-maintxt-column-card-txt{
    padding: 2em 2em 1em;
}
.section-maintxt-column-card-side{
    margin: 0 2em;
    padding-left: 0.8em;
    color: #004986;
    font-weight: bold;
    border-left: 5px solid #dceaf5;
}

.service-hunter-achievements-cards{
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 60px;
    margin-bottom: 100px;
}
.service-achievements-child{
    display: flex;
    width: 520px;
    margin-bottom: 60px;
}
.service-achievements-child-icon{
    margin-right: 20px;
}

.service-achievements-child-txt {
    font-size: 16px;
}
.service-achievements-child-txt h5{
    margin-bottom: 5px;
    font-size: 18px;
}
.service-recruite-flow-section {
    margin-top: 60px;
    margin-bottom: 80px;
}
.service-recruite-flow-section-txt-odd{
    padding: 1.8em;
    background-color: #e6f0f7;
}
.service-recruite-flow-section-txt-even{
    padding: 1.8em;
    background-color: #fff;
}
.service-recruite-flow-section-txt-title{
    font-size: 22px;
    margin-bottom: 0.5em;
    font-weight: bold;
    color: #004986;
    line-height: 1;
}
.service-recruite-flow-section-txt-title span{
    display: inline-block;
    font-size: 46px;
    color: #7f9cb3;
    width: 70px;
}
.service-recruite-flow-section-txt-maintext{
    line-height: 1.6;
}



/* 会社概要*/
.about{
    margin-bottom: 140px;
}
.about-president{
    margin-top: 70px;
    margin-bottom: 140px;
}
.about-president-maintaxt{
    display: flex;
    gap: 20px;
    flex-direction: row-reverse;
}
.about-president-maintaxt-ph{
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
    flex:1;
    height: fit-content;
}
.about-president-maintaxt-ph img{
    width: 100%;
}
.about-president-maintaxt-text{
    width: 50%;
    line-height: 1.7;
    flex:4;
}
.about-president-maintaxt-text strong{
    display: block;
    margin-top: 1em;
    text-align: right;
}

.about-access-map{
}
.about-access-map iframe{
    width: 100%;
    height: 500px;
}


/* 会社概要*/
.information{
    margin-top:70px;
    margin-bottom: 140px;
}
.info-content{
    margin-bottom: 70px;
}


/*お問い合わせ*/
.contact-select{
    margin:120px auto;
}
.contact-select-inner{
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}
.contact-select-inner .btn-area-c{
    margin-top: 1.5em;
}
.contact-select-hunter,
.contact-select-recruiter{
    display: block;
}

.contact-thanks-txt{
    margin-bottom: 2em;
    text-align: center;
}

.contact-thanks-txt strong{
    font-size: 1.5em;
    font-weight: bold;
}

.contact-form{
    margin-top: 90px;
}


.wpcf7 form .wpcf7-response-output {
  display: none;
}



/* --- フッター --- */
.footer {
    /* フッターを最下部に固定するための設定 (3/3) */
    flex-shrink: 0; 
    background: url(../images/common/footer_bg.png) center center;
    -webkit-background-size: 100% 100%;
         -o-background-size: 100% 100%;
            background-size: 100% 100%;
    padding: 0px 0;
    margin-top: auto; /* コンテンツが少なくても最下部に配置 */
    border-top: 1px solid #CCC;
}

.footer-container {
    display: flex;
    width: 100%;
    min-width: 1150px;
    height: 450px;
}

.footer-map{
    width: 50%;
    height: 450px;
}
.footer-map iframe{
    width: 100%;
    height: 450px;
}
.footer-info{
    width: 50%;
}
.footer-info-ci{
    background-color: #FFF;
    display: flex;
    gap: 20px;
    padding: 40px 50px;
}
.footer-info-ci-logo{
    width: 100px;
}
.footer-info-menu{
    padding: 40px 50px 0;
    color:#fff;
}

.footer-info-menu a{
    color:#fff;
    text-decoration: underline;
    transition: transform 0.5s, color 0.3s ease;
    text-decoration: none;
}


.footer-info-menu a:hover {
    color: #43b1de;
    text-decoration: none;
}



.footer-info-copyright{
    border-top: 1px solid #fff;
    padding: 1.5em 0 0;
    margin: 1.5em 0 0;
}
.footer-info-blog{
    margin: 1.5em 0;
}

/* --- トップに戻るボタン --- */
#back-to-top {
    position: sticky;
    /* 基本位置（画面右下） */
    margin-top: 20px;
    margin-left: auto;
    margin-right: 20px;
    margin-bottom: 20px;
    bottom: 20px; 
    background-color: #004986;
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 20px;
    cursor: pointer;
    z-index: 999;
    
    /* 最初は非表示 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    
    transition: opacity 0.3s, visibility 0.3s; 
    /*transition: opacity 0.3s, visibility 0.3s, transform 0.3s, bottom 0.3s;*/
    /* bottomもトランジション対象にする */
}

/* JSで .show クラスを付与して表示 */
#back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#back-to-top:hover {
    background-color: #0056b3;
}


/* --- レスポンシブ（簡易） --- */
@media (max-width: 768px) {

img{
    width: 100%;
}

body, h1, h2, p, ul, div, h1, h2, h3, h4, h5 {
    margin: 0;
    padding: 0;
}
.sp{
    display: block;
}
.pc{
    display: none;
}




.btn-area-c{
    display: flex;
    width: 100%;
    text-align: center;
    -webkit-justify-content: center;
            justify-content: center;
    gap:1.5em;
}

.btn-m-white{
    position: relative;
    display: block;
    width: 100%;
    max-width: 360px;
    height: 60px;
    background-color: #FFF;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #004986;
}
.blue-arrow::after{
    position: absolute;
    content: '';
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.blue-blank::after{
    position: absolute;
    content: url(../images/common/icon_blank.svg);
    width: 13px;
    height: 10px;
/*    top:50%;
    margin-top:-6px;*/
    right:25px;
}
.btn-m-blue{
    position: relative;
    display: block;
    width: 100%;
    max-width: 360px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-m-blue::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.btn-m-blue-back{
    position: relative;
    display: block;
    width: 100%;
    max-width: 360px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-m-blue-back::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    top:50%;
    left:25px;
    margin-top:-6px;
}
.btn-s-blue{
    position: relative;
    display: block;
    width: 100%;
    max-width: 180px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-s-blue::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}
.btn-s-blue-back{
    position: relative;
    display: block;
    width: 180px;
    height: 60px;
    background-color: #004986;
    -webkit-border-radius: 30px;
            border-radius: 30px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}
.btn-s-blue-back::after{
    position: absolute;
    content: '';
    background: #fff;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    top:50%;
    left:25px;
    margin-top:-6px;
}





/* --- 追従ヘッダー --- */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: auto;
    height: 80px;
    background-color: #ffffff;
    z-index: 1000;
}

.header h1 a {
    color: #004986;
    text-decoration: none;
}

.header h1 .header-logo {
    height: 80px;
    padding: 5px;
}

.header nav ul {
    display: block;
    width: 100%;
}

.header-content {
    display: block;
    justify-content: space-between;
    align-items: center;
    /* .container の設定を適用 */
    height: 80px;
    max-width: 100%;
    min-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}


.header-content .header-content-nav {
    display: block;
    justify-content: space-between;
    align-items: center;
}


.header-content-nav-global{
    position: absolute;
    right: -1em;
    display: block;
    width: 70%;
    height: 100vh;
    background: rgba(255,255,255,0.9);
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.25);
    transform: translate(150%);
    transition: transform 0.5s ease-in-out;
}

.header-content-nav-global ul{
    display: block;
}

.header-content-nav-global ul li{
    display: block;
    width: 100%;
    height: 60px;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid #7f9cb3;
    text-align: center;
    line-height: 60px;
    vertical-align: center;
}

.header-content-nav-global ul li a{
    display: block;
    width: 100%;
    text-align: center;
    line-height: 60px;
    font-weight: bold;
}

.header-content-nav-global ul li:last-child{
    border-right: none;
    border-bottom: none;
}

.header-content-nav-contact{
    width: 100%;
    height: 60px;
}
.header-content-nav-blank{
    position: relative;
}
.header-content-nav-blank{
    position: relative;
    display: block;
}
.icon-blank{
    width: auto;
    height: 0.8em;
/*    vertical-align: baseline;*/
}
.header-content-nav-contact-icon{
    display:inline-block;
    width: 33px;
    height: 24px;
    vertical-align: text-bottom;
    margin-right: 0.2em;
}

.header-content-nav-contact a{
    display: block;
    line-height:60px;
    width: 100%;
    background-color: #F39800;
    color:#fff;
    text-align: center;
}


.header-content-nav .header-content-nav-trigger{
    position: absolute;
    display: block;
    height: 26px;
    width: 40px;
    top: 20px;
    right: 20px;
    z-index: 5;
    opacity: 0;
}
.hamburger-lines {
    display: block;
    height: 26px!important;
    width: 40px!important;
    position: absolute;
    top: 26px;
    right: 20px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .hamburger-lines .line {
    display: block;
    height: 4px;
    width: 100%;
    border-radius: 10px;
    background: #004986;
  }

  .hamburger-lines .line1 {
    transform-origin: 0% 0%;
    transition: transform 0.4s ease-in-out;
  }

  .hamburger-lines .line2 {
    transition: transform 0.2s ease-in-out;
  }

  .hamburger-lines .line3 {
    transform-origin: 0% 100%;
    transition: transform 0.4s ease-in-out;
  }


  .header-content-nav-trigger:checked ~ .header-content-nav-global {
    transform: translate(0);
  }

  .header-content-nav-trigger:checked ~ .hamburger-lines .line1 {
    transform: rotate(35deg);
  }

  .header-content-nav-trigger:checked ~ .hamburger-lines .line2 {
    transform: scaleY(0);
  }

  .header-content-nav-trigger:checked ~ .hamburger-lines .line3 {
    transform: rotate(-35deg);
  }






/* --- フッター --- */
.footer {
    /* フッターを最下部に固定するための設定 (3/3) */
    flex-shrink: 0; 
    padding: 0px 0;
    margin-top: auto; /* コンテンツが少なくても最下部に配置 */
    border-top: 1px solid #CCC;
}

.footer-container {
    display: block;
    width: 100%;
    min-width: 100%;
    height: 450px;
}

.footer-map{
    width: 100%;
    height: 30vh;
}
.footer-map iframe{
    width: 100%;
    height: 30vh;
}
.footer-info{
    width: 100%;
}
.footer-info-ci{
    background-color: #FFF;
    display: flex;
    gap: 20px;
    padding: 40px 50px;
}
.footer-info-ci-logo{
    width: 100px;
}
.footer-info-menu{
    padding: 40px 50px 40px;
    color:#fff;
    background: url(../images/common/footer_bg.png) center bottom;
    -webkit-background-size: 100% 100%;
         -o-background-size: 100% 100%;
            background-size: 100% 100%;
}

.footer-info-menu a{
    color:#fff;
    text-decoration: underline;
}

.footer-info-copyright{
    border-top: 1px solid #fff;
    padding: 1.5em 0 0;
    margin: 1.5em 0 0;
}
.footer-info-blog{
    width: 200px;
    margin: 1.5em 0;
}




/* --- メインコンテンツ --- */
.main-content {
    /* フッターを最下部に固定するための設定 (2/3) */
    flex: 1 0 auto;
    /* 追従ヘッダーにコンテンツが隠れないように余白をとる */
    /* JSで高さを取得するのが確実ですが、今回は固定値で対応します */
    padding-top: 80px; /* ヘッダーの高さに応じて調整 */
    width: 100%;
}



/* --- 共通コンポーネント --- */
.container {
    /* PC画面最大横幅 1150px */
    width: 100%;
    min-width: auto;
}

.inner-l{/*1150px固定*/
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
}

.inner-m{/*1080px固定*/
    width: 90%;
    margin: 0 auto;
}

.inner-s{/*1080px固定*/
    width: 90%;
    margin: 0 auto;
}



.section-title-big{
    text-align: center;
    padding-bottom: 90px;
}
.section-title-big-b{
    position: relative;
    display: block;
    font-size: 30px;
    padding: 0.5em 2em;
    border-top: 1px solid #7f9cb3;
    border-bottom: 1px solid #7f9cb3;
    color: #fff;
}

.section-title-big-b::before{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
/*    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);*/
    top: 0px;
    left: 40px;
}

.section-title-big-b::after{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
    bottom: -5px;
    right: 30px;
}
.section-title-big-w{
    position: relative;
    display: block;
    font-size: 30px;
    padding: 0.5em 2em;
    border-top: 1px solid #7f9cb3;
    border-bottom: 1px solid #7f9cb3;
    color: #004986;
}

.section-title-big-w::before{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
/*    clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);*/
    top: 0px;
    left: 40px;
}

.section-title-big-w::after{
    position: absolute;
    content:"";
    width: 10px;
    height: 45px;
    border-left: 1px solid #7f9cb3;
    transform: rotate(25deg);
    bottom: -5px;
    right: 30px;
}


.section-maintxt{
    margin-bottom: 80px;
}

.section-txt-title-b{
    display: inline-block;
    min-width: 400px;
    position: relative;
    padding: 0.1em 0em 0.1em 0;
    border-bottom: 2px solid #e6e6e6;
    margin-bottom: 0.5em;
    color: #004986;
}
.section-txt-title-b::after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 2em;
    height: 2px;
    background-color: #004986;
}

.section-txt-title-w{
    display: inline-block;
    min-width: 400px;
    position: relative;
    padding: 0.1em 0em 0.1em 0;
    border-bottom: 2px solid #e6e6e6;
    margin-bottom: 0.5em;
}
.section-txt-title-w::after{
    content:"";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 2em;
    height: 2px;
    background-color: #85c8ef;
}

.section-txt-smalltitle{
    font-size: 20px;
    color: #004986;
    margin-bottom: 0.2em;
    font-weight: bold;
}

.section-txt-maintext{
    margin-bottom: 2em;
    line-height: 1.9;
}


.table-list{
    border-top: 1px solid #B2C4D1;
    margin-bottom: 90px;
}

.table-list-line{
    display: block;
    border-bottom: 1px solid #B2C4D1;
    margin-top: 1em;
    margin-bottom: 1em;
    padding-bottom: 1em;
}
.table-list-namecell{
    padding: 0.5em;
    width:280px;
    font-weight: bold;
    font-size: 18px;
    border-right: none;
    line-height: 1;
    margin-bottom: 0;
}
.table-list-namecell .table-list-namecell-subtitle{
    font-weight: normal;
    font-size: 14px;
}
.table-list-textcell{
    padding:0.5em;
    flex:1;
}
.table-list-compulsory{
    color: #d30000;
}
.table-list-textcell-labellist{
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.table-list-textcell-labellist .wpcf7-form-control-wrap{
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.table-list-textcell-labellist .wpcf7-form-control-wrap .wpcf7-list-item{
    display: inline-block;
    width: 33%;
    margin-bottom: 0.5em;
}





/*トップ*/

.mainvisual{
    aspect-ratio: 9 / 13;
    position: relative;
    width: 100%;
    min-width: 100%;
    height: auto;
    background: url(../images/top/mainvisual-bg.jpg) top center;
    -webkit-background-size: auto 100%;
         -o-background-size: auto 100%;
            background-size: auto 100%;
}

.mainvisual-inner{
    aspect-ratio: 9 / 13;
    position: relative;
    width: 100%;
    height: auto;
    background: none;
    background: url(../images/top/mainvisual-act.png) bottom right no-repeat;
    -webkit-background-size: 100% auto;
         -o-background-size: 100% auto;
            background-size: 100% auto;
}


.mainvisual-copy{
    aspect-ratio: 9 / 13;
    position: relative;
    width: 100%;
    height: auto;
    bottom:0;
    top:20px;
    left:0;
    margin-left:0;
}
.mainvisual-copy img{
    width: 100%;
}

.mainvisual-topics{
    display: flex;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 50px;
    margin: auto;
    background-color: rgba(255,255,255,0.8);
}

.mainvisual-topics h3{
    position: relative;
    margin: 0;
    padding: 0 25px;
    line-height: 50px;
    font-weight: bold;
}


.mainvisual-topics h3::after{
    content: '';
    position: absolute;
    top: 5px;
    right: 0;
    display: inline-block;
    width: 1px;/*線の長さ*/
    height: 40px;/*線の太さ*/
    background-color:#004986;
}

.mainvisual-topics-title{
    display: block;
    line-height: 50px;
    padding: 0 25px;
    overflow: hidden;
}

.mainvisual-topics-title-date{
    padding-right:1em;
}

.mainvisual-topics-title::after{
    content: '';
    position: absolute;
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:25px;
    margin-top:-6px;
}


.top-about{
    width: 100%;
    background: url(../images/top/top_about_bg.png) center center;
    -webkit-background-size: 100% 100%;
         -o-background-size: 100% 100%;
            background-size: 100% 100%;
    padding: 120px 0 180px;
    margin-bottom: 110px;
    text-align: center;
}
.top-about-content{
    display: block;
    color: #fff;
}

.top-about-content-title{
/*    width: 50%;*/
    font-size: 36px;
    margin-bottom: 20px;
}

.top-about-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}

.top-about-content-txt{
/*    width: 50%;*/
    line-height: 1.9;
    text-align: center;
}
.top-about-content-txt .btn-m-white{
    margin: 0 auto;
}

.top-about-content-txt h4{
    margin-bottom: 0.5em;
}

.top-about-content-txt p{
    margin-bottom: 2em;
}

.top-consultantpolicy{
    width: 100%;
    margin-bottom: 100px;
    padding-bottom: 100px;
    border-bottom: 1px solid #BBCAD6;
}
.top-consultantpolicy-content{
    display: block;
    margin-bottom: 80px;
}
.top-consultantpolicy-content-img{
    width: 100%;
}
.top-consultantpolicy-content-img img{
    width: 100%;
}
.top-consultantpolicy-content-txt{
    width: 100%;
}

.top-consultantpolicy-content-title{
    font-size: 36px;
    color:#004986;
    padding: 0.5em 0;
    margin-bottom: 1em;
    border-bottom: 1px solid #004986;
}
.top-consultantpolicy-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.top-consultantpolicy-content-subtitle{
    margin-bottom: 1em;
    font-size: 20px;
    color:#004986;
}
.top-consultantpolicy-content-txt p{
    line-height: 2.2;
}

.top-info{
    width: 100%;
    padding-bottom: 100px;
}
.top-info-content{
    display: block;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    -webkit-align-items: center;
            align-items: center;
    gap:40px;
    margin-bottom: 80px;
}
.top-info-content-title{
    font-size: 36px;
    color:#004986;
    text-align: center;
}
.top-info-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}

.top-info-content-list{
    width: 100%;
}


.top-blog{
    width: 100%;
    background: url(../images/top/top_blog_bg.jpg) center center;
    -webkit-background-size: auto 100%;
         -o-background-size: auto 100%;
            background-size: auto 100%;
    padding: 80px 0 60px;
}
.top-blog-content-title{
    text-align: center;
    font-size: 36px;
    color: #FFF;
    margin-bottom: 60px;
}
.top-blog-content-title span{
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.top-blog-content-list{
    display: block;
    -webkit-justify-content: center;
            justify-content: center;
    gap:40px;
    margin-bottom: 60px;
}
.top-blog-content-card{
    display: flex;
    width: 100%;
    margin-bottom: 1em;
}
.top-blog-content-card-img{
    display: flex;
    width: 30%;
    height: auto;
}
.top-blog-content-card-img img{
    width: 100%;
    height: auto;
}
.top-blog-content-card-title{
    width: 70%;
    padding: 1em;
    background-color: #FFF;
    font-weight: bold;
    font-size: 1em;
}


/*お知らせ*/

.info-list{
    width: 100%;
}

.info-list-child{
    position: relative;
    display: block;
    padding: 1.5em 0;
    border-bottom: 1px solid #BBCAD6;
}
.info-list-child a{
    display: block;
    padding-right: 45px;
}
.info-list-child::after{
    position: absolute;
    content: '';
    background: #004986;
    height: 12px;
    width: calc(12px * sin(60deg));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top:50%;
    right:10px;
    margin-top:-6px;
}

.info-list-child-date{
    display: block;
    padding-right: 1em;
}


/*サービス*/

.service-read{
    background: url(../images/service/service_read_bg.jpg) center center no-repeat;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    color: #FFF;
    padding: 70px 0;
    margin-bottom: 70px;
}

.service-read .section-maintxt{
    width: 100%;
}
.service-read .section-title-big-b{
    margin-bottom: 70px;
}
.service-read-inner{
    width: 100%;
}

.service-specializedarea-cards{
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    gap: 40px 0;
    margin-bottom: 70px;
}
.service-specializedarea-cards-child{
    display: block;
    width: 560px;
    gap:10px;
}
.service-specializedarea-cards-child-icon{
    width: 160px;
    margin: 0 auto 1em;
}
.service-specializedarea-cards-child-icon img{
    width: 160px;
}
.service-specializedarea-cards-child-txt p{
    font-size: 14px;
}

.service-specializedarea-jobs{
    background-color: #004986;
    padding: 20px;
    margin-bottom: 70px;
}
.service-specializedarea-jobs-title{
    background-color: #FFF;
    padding: 20px;
    text-align: center;
}
.service-specializedarea-jobs-list{
    color: #FFF;
    padding: 1em 0;
    display: flex;
    gap:5px 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
}
.service-specializedarea-jobs-list li{
    display: inline-block;
    width: 50%;
}

.service-navi{
    border-top: 2px solid #C3D1DC;
    border-bottom: 2px solid #C3D1DC;
    padding: 3em;
    text-align: center;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    gap: 0 40px;
}

.service-navi-anchor{
    position: relative;
    border-bottom: 1px solid #C3D1DC;
    text-align: center;
    width: 270px;
}
.service-navi-anchor a{
    position: relative;
    display: block;
    border-bottom: 1px solid #C3D1DC;
    padding: 1em;
    text-align: center;
}
.service-navi-anchor::after{
    position:absolute;
    content: '';
    background: #C3D1DC;
    width: 12px;
    height: calc(12px / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    bottom: -17px;
    leftt:50%;
    margin-lrft:-6px;
}

.service-hunter{
    background: url(../images/service/service_hunter_bg.png) top center no-repeat;
    -webkit-background-size: auto 30%;
         -o-background-size: auto 30%;
            background-size: auto 30%;
    margin-bottom: 100px;
}
.service-hunter-read{
    color: #FFF;
    padding-top: 110px;
    margin-bottom: 80px;
}

.service-hunter-read .section-title-big-b{
    margin: 0 auto 95px;
}

.service-recruiter{
    background: url(../images/service/service_recruiter_bg.png) top center no-repeat;
    -bebkit-background-size: auto 30%;
         -o-background-size: auto 30%;
            background-size: auto 30%;
    margin-bottom: 100px;
}
.service-recruiter-read{
    color: #FFF;
    padding-top: 110px;
    margin-bottom: 80px;
}

.service-recruiter-read .section-title-big-w{
    margin: 0 auto 95px;
}

.service-section-read-content{
    display: block;
    gap:0 40px
}

.section-maintxt-column{
    display: block;
    gap: 40px;
    margin-bottom: 90px;
}

.section-maintxt-column-card{
    background-color: #FFF;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
    flex:1;
    padding-bottom: 2em;
    margin-bottom: 2em;
}

.section-maintxt-column-card-title{
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    padding: 0.5em 1em;
    background-color: #004986;
    color: #FFF;
    font-size: 22px;
    text-align: center;
    height: 4em;
}
.section-maintxt-column-card-txt{
    padding: 2em 2em 1em;
}
.section-maintxt-column-card-side{
    margin: 0 2em;
    padding-left: 0.8em;
    color: #004986;
    font-weight: bold;
    border-left: 5px solid #dceaf5;
}

.service-hunter-achievements-cards{
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 60px;
    margin-bottom: 100px;
}
.service-achievements-child{
    display: flex;
    width: 100%;
    margin-bottom: 60px;
}
.service-achievements-child-icon{
    margin-right: 20px;
}

.service-achievements-child-txt {
    font-size: 16px;
}
.service-achievements-child-txt h5{
    margin-bottom: 5px;
    font-size: 18px;
}
.service-recruite-flow-section {
    margin-top: 60px;
    margin-bottom: 80px;
}
.service-recruite-flow-section-txt-odd{
    padding: 1.8em;
    background-color: #e6f0f7;
}
.service-recruite-flow-section-txt-even{
    padding: 1.8em;
    background-color: #fff;
}
.service-recruite-flow-section-txt-title{
    font-size: 22px;
    margin-bottom: 0.5em;
    font-weight: bold;
    color: #004986;
    line-height: 1;
}
.service-recruite-flow-section-txt-title span{
    display: inline-block;
    font-size: 46px;
    color: #7f9cb3;
    width: 70px;
}
.service-recruite-flow-section-txt-maintext{
    line-height: 1.6;
}



/* 会社概要*/
.about{
    margin-bottom: 140px;
}
.about-president{
    margin-top: 70px;
    margin-bottom: 140px;
}
.about-president-maintaxt{
    display: block;
    gap: 20px;
    flex-direction: row;
}
.about-president-maintaxt-ph{
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
    flex:1;
    text-align: center;
    margin: 0 20% 1.5em;
}
.about-president-maintaxt-ph img{
    width: 100%;
}
.about-president-maintaxt-text{
    width: 100%;
    line-height: 1.7;
    flex:1;
}
.about-president-maintaxt-text strong{
    display: block;
    margin-top: 1em;
    text-align: right;
}

.about-access-map{
}
.about-access-map iframe{
    width: 100%;
    height: 500px;
}


/*お問い合わせ*/
.contact-select{
    margin:20px auto;
}
.contact-select-inner{
    display: block;
}
.contact-select-inner .btn-area-c{
    margin-top: 1.5em;
}
.contact-select-hunter,
.contact-select-recruiter{
    display: block;
    margin-bottom: 2em;
}

.contact-form{
    margin-top: 90px;
}


    #back-to-top {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }




}