@charset "utf-8";
/*	ヘッダーa
---------------------------------*/
.hd-h1{
    display: none;
}
.header{
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}
.hd-inr{
    position: relative;
}
.gjs-dashed .hd-inr{
    background-color: #f3f3f3;
}
.hd-logo{
    padding-left: 30px;
    position: relative;
}
.hd-right01{
    margin-right: 20px;
}
.hd-tel{
    font-family: 'Lato', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    padding-left: 30px;
    position: relative;
}
.hd-tel:before{
    content: '';
    background: no-repeat center center / contain;
    background-image: url(../images/icon_phone.png);
    width: 20px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.hd-nav .li{
    padding-left: 20px;
}
.hd-nav .li:first-of-type{
    padding-left: 0;
}
.hd-nav .li a{
    display: block;
    text-align: center;
    cursor: pointer;
}
.hd-nav .li a p{
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.025em;
    color: #fff;
}
.hd-nav-p02{
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.hd-sns-list{
}
.hd-sns{
    padding-left: 15px;
}
.hd-btn{
    background-color: #064a8f;
    width: 140px;
    height: 120px;
}
.hd-btn.hd-btn02{
    background-color: #000;
}
.hd-btn a{
    display: block;
    width: 100%;
    height: 100%;
}
.hd-btn-inr{
    height: 100%;
    text-align: center;
}
.hd-btn-p{
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
}
/*SPmenuお問い合わせ*/
@media screen and (max-width: 1300px){
    .hd-inr{
        height: 90px;
        padding-top: 10px;
    }
    .hd-right{
        display: none;
    }
    .hd-logo{
        z-index: 1000;
    }
    .hd-sns-list{
        margin: 0 0 20px;
    }
    .hd-sns:first-of-type{
        padding: 0;
    }
}
@media screen and (max-width: 1023px){
    .hd-inr{
        padding-top: 15px;
    }
    .hd-logo{
        padding-left: 20px;
    }
    .hd-logo.hd-logo01{
        width: 300px;
    }
    .hd-logo.hd-logo02{
        width: 150px;
    }
}

/*	グローバナビ（スマホ用）
---------------------------------*/
@media screen and (max-width: 1300px){
    .hd-nav-bg{
        background-color: transparent;
        padding: 0;
    }
    .hd-nav .ul {
        height: auto;
    }
    .hd-nav{
        display: none;
    }
    .hd-nav a *{
        transition: 0s;
    }
    .hd-nav .ul.flex-cnt{
        display: block;
    }
    .hd-nav{
        color: #333;
    }
    .hd-nav .ul {
        margin-bottom:35px;
    }
    .hd-nav .li {
        width: 100%;
        border-bottom: 1px solid #333333;
        padding: 0;
    }
    .hd-nav .li a{
        display: block;
        height: auto;
        padding: 0 20px;
    }
    .hd-nav .li a p {
        font-size: 1.6rem;
        font-weight: 400;
        letter-spacing: 0;
        color: #333333;
        line-height: 50px;
    }

    /* ナビゲーション アニメーション */
    .gjs-dashed  .hd-nav,.open .sp-nav{
        visibility: visible;
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
        -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
        transition: transform 0.4s, opacity 0.4s;
    }
    /*ハンバーガーボタン*/
    .navToggle {
        display: block;
        position: absolute;
        right: 0px;
        top: 0px;
        margin: auto;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 9999;
    }
    .navToggle div {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        width: 25px;
        height: 16px;
    }
    .navToggle span {
        display: block;
        position: absolute;
        height:2px;
        width:100%;
        background: #ffffff;
        left:0;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }
    .navToggle span:nth-child(1) {
        top: 0;
    }
    .navToggle span:nth-child(2) {
        top: 7px;
    }
    .navToggle span:nth-child(3) {
        top: 14px;
    }
    /* ハンバーガーボタン 切り替えアニメーション */
    .open .navToggle {
        position: fixed;
        z-index: 10002;
    }
    .open .navToggle span{
        background: #333333;
    }
    .open .navToggle span:nth-child(1) {
        top: 7px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open .navToggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open .navToggle span:nth-child(3) {
        top: 7px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }

    /*---------- ハンバーガーメニュー ----------*/
    .bg-hum-blue{
        background-color: #1f716c;
        position: absolute;
        top: 0;
        right: 0;
        width: 90px;
        height: 90px;
    }
    .gjs-dashed .navbar{
        background-color: #fff;
    }
    .navbar{
        background: transparent;
        max-width: 500px;
        width: 100%;
        padding: 30px 15px;
        margin-left: auto;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 100;
    }
    .navbar-dark .navbar-toggler {
        color: rgba(0, 0, 0, 0.5);
        border: none;
        padding: 0px;
        width: 40px;
        height: 30px;
        margin: auto;
        margin-right: 10px;
        box-sizing: border-box;
        position: relative;
    }

    .navbar-dark .navbar-toggler-icon {
        background-image:none;
        background-color: #fff;
        width: 100%;
        height: 3px;
        display: block;
        position: absolute;
        transition: ease .5s;
    }

    .navbar-toggler-icon:nth-of-type(1) {
        top: 0px;
    }

    .navbar-toggler-icon:nth-of-type(2) {
        top: 50%;
        transform: translateY(-50%);
    }

    .navbar-toggler-icon:nth-of-type(3) {
        bottom: 0;
    }
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{
        background-color: #333;
    }
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
        top:13px;
        transform: rotate(45deg);
    }

    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
        opacity: 0;
    }

    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
        top: 13px;
        transform: rotate(-45deg);
    }
    button:focus{
        outline: none;
    }
    .navbar-collapse{
        padding-top: 30px;
    }
    .navbar-collapse.show{
    }
    .navbar-nav{
        margin-bottom: 30px;
    }
    .nav-item{
        padding: 0 15px;
        border-bottom: solid 1px #999;
    }
    .nav-item:first-of-type{
        border-top: solid 1px #999;
    }
    .nav-item p{
        letter-spacing: 0.025em;
        line-height: 50px;
        color: #000;
    }
    .sp-tel{
        text-align: center;
        margin-bottom: 20px;
    }
    .sp-tel .hd-tel{
        display: inline;
        font-size: 2.4rem;
        color: #333;
        padding-left: 25px;
    }
    .sp-tel .hd-tel:before{
        width: 15px;
        background-image: url(../images/icon_phone02.png);
    }
    .hd-btn-sp{
        max-width: 320px;
        width: 100%;
        background-color: #064a8f;
        margin: 0 auto 20px;
        position: relative;
    }
    .hd-btn-sp:last-of-type{
        margin-bottom: 0;
    }
    .hd-btn-sp a{
        display: block;
        text-align: center;
    }
    .hd-btn-sp p{
        display: inline;
        font-weight: 700;
        letter-spacing: 0.025em;
        color: #fff;
        line-height: 60px;
        padding-left: 25px;
        position: relative;
    }
    .hd-btn-sp p:before{
        content: '';
        background: no-repeat center center / contain;
        background-image: url(../images/icon_entry.png);
        width: 18px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .hd-btn-sp.hd-btn-sp02{
        background-color: #000;
    }
    .hd-btn-sp.hd-btn-sp02 p:before{
        background-image: url(../images/icon_mail.png);
    }
}
@media screen and (max-width: 767px){
    .hd-inr{
        height: 50px;
        padding: 10px 0;
    }
    .hd-logo{
        padding-left: 10px;
    }
    .hd-logo.hd-logo01{
        width: 170px;
    }
    .hd-logo.hd-logo02{
        width: 89px;
    }
    .navToggle{
        height: 50px;
    }
    .hd-nav {
        height: 100vh;
    }
    .navbar{
        padding: 17.5px 10px;
    }
    .navbar-dark .navbar-toggler{
        width: 20px;
        height: 15px;
        margin-right: 5px;
    }
    .navbar-dark .navbar-toggler-icon{
        height: 2px;
    }
    .bg-hum-blue{
        width: 50px;
        height: 50px;
    }
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1){
        top: 8px;
    }
    .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3){
        top: 8px;
    }
    .bg-hd-btn-sp-list{
        width: calc(100% + 20px);
        left: -10px;
    }
}

/*	フッター共通コンテンツ
---------------------------------*/
.ft-contact{
}
.ft-ttl{
    text-align: center;
    margin-bottom: 40px;
}
.ft-contact-p{
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 50px;
}
@media screen and (max-width: 1023px){
}
@media screen and (max-width: 767px){
    .ft-ttl{
        margin-bottom: 30px;
    }
    .ft-contact-p{
        text-align: left;
        margin-bottom: 30px;
    }
}
/*	フッター
---------------------------------*/
.ft-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 50px;
}
.ft-nav .li{
    border-left: solid 1px #333;
    padding: 0 20px;
    margin-bottom: 15px;
}
.ft-nav .li:first-of-type{
    border-left: none;
    padding-left: 0;
}
.ft-nav .li:last-of-type{
    padding-right: 0;
}
.ft-nav .li p{
    letter-spacing: 0.05em;
    line-height: 16px;
}
.ft-logo01,
.ft-logo02{
    text-align: center;
    margin-bottom: 25px;
}
.ft-add{
    font-weight: 500;
    text-align: center;
    margin-bottom: 40px;
}
.ft-sns-list{
    margin-bottom: 70px;
}
.ft-sns-list .hd-sns:first-of-type{
    padding-left: 0;
}
@media screen and (max-width:1023px){
    .ft-nav{
        display: none;
    }
}
@media screen and (max-width:767px){
    .ft-logo01,
    .ft-logo02{
        margin: 0 auto 20px;
    }
    .ft-logo01{
        width: 280px;
    }
    .ft-logo02{
        width: 140px;
    }
    .ft-add{
        margin-bottom: 20px;
    }
    .ft-sns-list{
        margin-bottom: 40px;
    }
}
/*ページトップへ戻るボタン*/
.btn-pagetop {
    width: 15px;
    cursor: pointer;
}
.pagetop-sp {
    display: none;
}
/*コピーライト（ｐタグ）*/
.copyright {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and (max-width:1023px) {
    .btn-pagetop{
        display: none !important;
    }
    .pagetop-sp{
        display: block;
    }
    .pagetop-sp a {
        display: block;
        height: 67.5px;
        background-color: #000;
        text-align: center;
        position: relative;
    }
    .pagetop-sp a div {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 25px;
        height: 25px;
    }
    .pagetop-sp a div:before {
        content: '';
        border-top: solid 1px #fff;
        border-left: solid 1px #fff;
        width: 25px;
        height: 25px;
        transform: rotate(45deg);
        position: absolute;
        top: 10px;
        left: 0;
    }
}
@media screen and (max-width:767px) {
    .copyright {
        font-size: 1rem;
    }
}

/*	メイン画像
---------------------------------*/
.main-img-otr{
    position: relative;
}
.main-img-item{
    position: relative;
}
.main-img{
    /*max-height: calc(100vh - 50px); */
    height: 1200px;
}
.main-img.ojf:before{
    content: none;
}
.main-catch{
    position: absolute;
    top: 52%;
    left: calc((100vw - 1760px) / 2);
    transform: translateY(-50%);
}
.main-catch h2{
    font-size: 48px;
    color: #fff;
    font-weight: 700;
}
.main-catch h3{
    font-size: 32px;
    color: #fff;
    font-weight: 700;
}
.main-catch02{
    left: calc((100vw - 1600px) / 2);
}
.top-scroll{
    position: absolute;
    bottom: -50px;
    right: 30px;
}
@media screen and (max-width:1790px){
    .main-catch{
        left: 15px;
    }
    .main-catch.main-catch02{
        left: calc((100vw - 1600px) / 2);
    }
}
@media screen and (max-width:1630px){
    .main-catch.main-catch02{
        left: 15px;
    }
}
@media screen and (max-width:1440px){
    .main-img{
        /*max-height: calc(100vh - 50px); */
        height:  64vw;
    }
    .main-catch{
        max-width: 45%;
    }
}
@media screen and (max-width:1079px){
    .main-img{
        height: 700px;
    }
    .main-catch{
        max-width: 55%;
    }
    .main-catch.main-catch02{
        top: 60%;
    }
    .main-catch.main-catch02.main-catch04{
        max-width: 40%;
    }
}
@media screen and (max-width:1023px){
    .main-img{
        height: 70vw;
    }
    .main-catch{
        max-width: 50%;
    }
    .main-catch.main-catch02.main-catch04{
        width: 45%;
        top: 55%;
    }
}
@media screen and (max-width:767px){
    .main-img{
        /*max-height: calc(100vh - 28px);*/
        height: 70vw;
    }
    .main-catch{
        max-width: 48%;
        top: 60%;
        left: 5px;
    }
    .main-catch02{
    }
    .main-catch--size01{
        max-width: 45%;
    }
    .top-scroll{
        width: 12px;
        bottom: -28px;
        right: 15px;
    }

    .main-catch h2{
        font-size: 32px;
    }
    .main-catch h3{
        font-size: 18px;
    }
}

/*	トップページ
---------------------------------*/
.por{
    position: relative;
}
.bg-white{
    background-color: #fff;
}
.bg-gray{
    background-color: #f3f3f3;
}
.bg-black{
    background-color: #222;
}
.top-approach{
    margin-left: 10%;
    position: relative;
}
.top-approach-eng{
    position: absolute;
    top: 70px;
    left: 0;
}
.top-approach-eng .ttl-cmn07{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-top: 150px;
    position: relative;
}
.top-approach-eng .ttl-cmn07:before{
    content: "";
    background-color: #000;
    width: 1px;
    height: 120px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.top-approach-inr{
    padding: 100px 15px 0 5vw;
}
.top-approach-inr .ttl-cmn03{
    margin-bottom: 30px;
}
.top-approach-inr .ttl-cmn04{
    line-height: 1.39;
    margin-bottom: 50px;
}
.top-approach-inr .ttl-cmn05{
    margin-bottom: 50px;
}
.top-approach-inr .ttl-cmn06 strong{
    font-weight: 900;
}
.top-approach-img{
    width: 32.5%;
}
.top-approach-img:nth-of-type(2){
    width: 34.75%;
    padding: 4% 1px 0;
}
.top-approach-img:last-of-type{
    padding-top: 8.5%;
}
.top-concept-flex{
    margin-right: calc((100vw - 1200px) / 2);
}
.top-concept-p{
    width: calc(100% - 450px);
    letter-spacing: 0.05em;
}
.top-concept-btn{
    max-width: 400px;
    width: 100%;
}
.top-band{
    background: no-repeat center center / cover;
    background-image: url(../images/27558741_m.jpg);
    background-attachment:fixed;
    width:100%;
    height: 970px;
    position: relative;
    overflow: hidden;
}
.top-band-inr{
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.top-band-inr:before,
.top-band-inr:after{
    content: "";
    background-color: #fff;
    width: 100%;
    height: 360px;
    position: absolute;
    left: 0;
    transform: skewY(-9deg);
}
.top-band-inr:before{
    top: -183px;
}
.top-band-inr:after{
    bottom: -183px;
}
.inr-1600{
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
}
.top-ttl{
    padding-left: 100px;
}
.top-ttl .ttl-cmn08{
    position: relative;
}
.top-ttl .ttl-cmn08:before{
    content: "";
    background-color: #000;
    width: 70px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: -100px;
    transform: translateY(-50%);
}
.top-recruit .top-ttl{
    width: 390px;
}
.top-recruit-right{
    max-width: 1030px;
    flex: 1;
    padding-left: 5%;
}
.top-recruit-right .ttl-cmn04{
    margin-bottom: 40px;
}
.top-recruit-slider{
    position: relative;
}
.top-recruit-slider-img{
    margin: 0 2.25vw;
}
.top-recruit-slider-img02{
    margin-top: 30px;
}
.top-recruit-slider-img04{
    margin-top: 6vw;
}
.top-recruit-slider-txt{
    width: calc(100% - 30px);
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.top-recruit-slider-txt .ttl-cmn04,
.top-recruit-slider-txt .ttl-cmn05{
    color: #fff;
    text-shadow: 0px 0px 28.5px rgba(0, 0, 0, 0.8);
}
.top-recruit-box{
    background-color: #fff;
    max-width: 1440px;
    width: 100%;
    padding: 100px 30px;
    margin: 0 auto 70px;
}
.top-recruit-box-item-flex{
    max-width: 1160px;
    width: 100%;
    margin: 0 auto;
}
.top-recruit-box-item-img{
    width: 45.7%;
    text-align: center;
}
.top-recruit-box-item-img img{
    aspect-ratio: 530/590;
    object-fit: cover;
}
.top-recruit-box-item-txt{
    width: 48.3%;
    padding-top: 70px;
}
.top-recruit-box-item-txt .ttl-cmn09{
    line-height: 1;
    margin-bottom: 40px;
}
.top-recruit-box-item-txt .ttl-cmn10{
    margin-bottom: 40px;
}
.top-recruit-box-item-txt-p{
    letter-spacing: 0.05em;
}
.top-occupation-ttl{
    margin: 0 calc((100vw - 1200px) / 2) 70px calc((100vw - 1600px) / 2);
}
.top-occupation-btn{
    max-width: 400px;
    width: 100%;
}
.top-occupation-img-list{
    margin-left: 15%;
}
.top-occupation-item{
    width: calc((100% - 99px) / 4);
    text-align: center;
    margin-right: 33px;
}
.top-occupation-item:last-of-type{
    margin-right: 0;
}
.top-occupation-img{
    margin-bottom: 30px;
}
.top-occupation-item:nth-of-type(2n){
    padding-top: 50px;
}
.top-company-item{
    background: no-repeat center center / cover;
    background-image: url(../images/img_top_company01.jpg);
    width: calc((100% - 2px) / 3);
    padding: 7.5vw 10px;
    text-align: center;
}
.top-company-item:nth-of-type(2){
    background-image: url(../images/img_top_company02.jpg);
}
.top-company-item:last-of-type{
    background-image: url(../images/img_top_company03.jpg);
}
.top-company-item .ttl-cmn10{
    letter-spacing: 0.05em;
    color: #fff;
    padding-bottom: 50px;
    margin-bottom: 30px;
    position: relative;
}
.top-company-item .ttl-cmn10:before{
    content: "";
    background-color: #fff;
    width: 2px;
    height: 25px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.top-company-item-p{
    letter-spacing: 0.05em;
    color: #fff;
    margin-bottom: 30px;
}
@media screen and (max-width:1630px){
    .inr-1600{
        padding: 0 15px;
    }
    .top-occupation-ttl{
        margin-left: 15px;
    }
}
@media screen and (max-width:1470px){
    .top-recruit-box{
        width: calc(100% - 30px);
        margin: 0 15px 70px;
    }
}
@media screen and (max-width:1230px){
    .top-concept-flex{
        margin-right: 0;
    }
    .top-occupation-ttl{
        margin-right: 15px;
    }
}
@media screen and (max-width:1079px){
    .top-approach{
        margin-left: 0;
    }
    .top-approach-eng{
        top: 0;
    }
    .top-approach-inr{
        padding: 50px 15px 0 70px;
    }
    .top-concept .top-approach-inr .ttl-cmn03{
        font-size: 6rem;
    }
    .top-band{
        height: 700px;
    }
    .top-band-inr:before,
    .top-band-inr:after{
        height: 260px;
    }
    .top-band-inr:before{
        top: -165px;
    }
    .top-band-inr:after{
        bottom: -165px;
    }
    .top-recruit.flex-btw{
        display: block;
    }
    .top-recruit .top-ttl{
        width: 100%;
        margin-bottom: 40px;
    }
    .top-recruit-right{
        max-width: 100%;
        width: 100%;
        padding: 0;
    }
    .top-occupation-btn{
        max-width: 360px;
    }
    .top-occupation-img-list{
        margin-left: 0;
    }
}
@media screen and (max-width:1023px){
    .top-concept-flex.flex-btw{
        display: block;
    }
    .top-concept-p{
        width: 100%;
        margin-bottom: 40px;
    }
    .top-concept-btn{
        margin: 0 auto;
    }
    .top-band{
        height: 500px;
    }
    .top-band-inr:before,
    .top-band-inr:after{
        height: 185px;
    }
    .top-band-inr:before{
        top: -94px;
    }
    .top-band-inr:after{
        bottom: -94px;
    }
    .top-recruit-slider-img04{
        margin-top: 10vw;
    }
    .top-recruit-box-item-flex.flex-btw{
        display: block;
    }
    .top-recruit-box-item-img{
        max-width: 530px;
        width: 100%;
        margin: 0 auto;
    }
    .top-recruit-box-item-txt{
        width: 100%;
        padding-top: 50px;
    }
    .flex-btw.top-occupation-ttl{
        display: block;
    }
    .top-occupation-btn{
        margin: 50px auto 0;
    }
    .top-occupation-item{
        width: calc((100% - 45px) / 4);
        margin-right: 15px;
    }
    .top-company-list.flex-btw{
        display: block;
    }
    .top-company-item{
        width: 100%;
        padding: 15vw 15px;
    }
}
@media screen and (max-width:767px){
    .top-approach-eng{
        top: -20px;
    }
    .top-approach-eng .ttl-cmn07{
        padding-top: 80px;
    }
    .top-approach-eng .ttl-cmn07:before{
        height: 60px;
    }
    .top-approach-inr{
        padding: 0 15px 0 40px;
    }
    .top-approach-inr .ttl-cmn03{
        margin-bottom: 20px;
    }
    .top-approach-inr .ttl-cmn04{
        margin-bottom: 30px;
    }
    .top-approach-inr .ttl-cmn05{
        margin-bottom: 30px;
    }
    .top-approach-inr .ttl-cmn05{
        margin-bottom: 30px;
    }
    .top-concept .top-approach-inr .ttl-cmn03{
        font-size: 3.6rem;
    }
    .top-band{
        height: 350px;
        background-attachment: initial;
    }
    .top-band-inr:before{
        top: -123px;
    }
    .top-band-inr:after{
        bottom: -123px;
    }
    .top-ttl{
        padding-left: 40px;
    }
    .top-ttl .ttl-cmn08:before{
        width: 30px;
        left: -40px;
    }
    .top-recruit .top-ttl{
        margin-bottom: 20px;
    }
    .top-recruit-right .ttl-cmn04{
        font-size: 2.4rem;
        margin-bottom: 20px;
    }
    .top-recruit-slider-txt .ttl-cmn04{
        font-size: 2.2rem;
    }
    .top-recruit-box{
        padding: 40px 15px 60px;
        margin: 0 15px 40px;
    }
    .top-recruit-box-item-txt{
        padding-top: 30px;
    }
    .top-recruit-box-item-txt .ttl-cmn09{
        margin-bottom: 20px;
    }
    .top-recruit-box-item-txt .ttl-cmn10{
        margin-bottom: 20px;
    }
    .top-occupation-ttl{
        margin: 0 15px 30px;
    }
    .top-occupation-item{
        width: calc((100% - 15px) / 2);
        margin-right: 15px;
        margin-bottom: 10px;
    }
    .top-occupation-img{
        margin-bottom: 10px;
    }
    .top-occupation-item .ttl-cmn11{
        font-size: 1.4rem;
    }
    .top-occupation-item:nth-of-type(2n){
        padding-top: 20px;
        margin-right: 0;
    }
    .top-occupation-btn{
        margin: 30px auto 0;
    }
    .top-company-item .ttl-cmn10{
        padding-bottom: 35px;
        margin-bottom: 20px;
    }
    .top-company-item .ttl-cmn10:before{
        height: 20px;
    }
    .top-company-item-p{
        margin-bottom: 20px;
    }
}

/*	下層ヘッダー
---------------------------------*/
.bg-subhd-otr{
    position: relative;
}
.bg-subhd{
    height: 600px;
}
.bg-subhd.ojf:before{
    content: none;
}
.subhd-ttl{
    max-width: 1200px;
    width: 100%;
    border-left: solid 2px #fff;
    padding-left: 30px;
    position: absolute;
    top: 60%;
    left: calc((100vw - 1200px) / 2);
    transform: translateY(-50%);
}
.subttl{
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    position: relative;
}
.subttl02{
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    color: #fff;
}
@media screen and (max-width:1230px){
    .subhd-ttl{
        width: calc(100% - 30px);
        left: 15px;
    }
}
@media screen and (max-width:1023px){
    .bg-subhd{
        height: 400px;
    }
    .sub-ttl-otr{
    }
    .subhd-ttl{
        padding-left: 15px;
    }
}
@media screen and (max-width:767px){
    .bg-subhd{
        height: 300px;
    }
    .sub-ttl-otr{
    }
    .subhd-ttl{
    }
    .subttl{
        font-size: 3.6rem;
    }
    .subttl02{
        font-size: 1.6rem;
    }
}

/*	私たちの想い
---------------------------------*/
.top-ttl02{
    text-align: center;
    margin-bottom: 40px;
}
.top-ttl02.left{
    text-align: left;
}
.top-ttl02.white .ttl-cmn12,
.top-ttl02.white .ttl-cmn02{
    color: #fff;
}
.top-ttl02.top-ttl02-mb70{
    margin-bottom: 70px;
}
.concept-txt{
    width: 750px;
}
.concept-txt .ttl-cmn13{
    margin-bottom: 30px;
}
.concept-txt .ttl-cmn10{
    margin-bottom: 40px;
}
.concept-txt .ttl-cmn05{
    margin-bottom: 70px;
}
.concept-txt-img{
    padding-left: 50px;
}
.concept-img{
    width: 47.5%;
    position: absolute;
    top: 260px;
    right: 0;
}
.features-item{
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.features-item:first-of-type{
    margin-top: 110px;
}
.features-item-img{
    width: 720px;
    position: absolute;
    top: -70px;
    right: calc((100% - 1200px) / 2);
    z-index: 1;
}
.features-item-txt{
    width: 48.4%;
    background-color: #fff;
    padding: 100px 15px 170px calc((100% - 1200px) / 2);
    position: relative;
}
.features-item-txt-inr{
    max-width: 400px;
    width: 100%;
}
.features-item-txt .ttl-cmn10{
    margin-bottom: 30px;
    position: relative;
}
.features-item-txt-num{
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 10rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    color: #f3f3f3;
    line-height: 1;
    position: absolute;
    top: 50px;
    left: 70px;
}
.features-item:nth-of-type(2n) .features-item-txt{
    padding: 100px 15px 170px 11.2%;
    margin-left: auto;
}
.features-item:nth-of-type(2n) .features-item-txt-num{
    left: auto;
    right: 70px;
}
.features-item:nth-of-type(2n) .features-item-img{
    left: calc((100% - 1200px) / 2);
    right: auto;
}
.features-item:last-of-type .features-item-txt{
    padding-bottom: 100px;
}
.philosophy{
    background: no-repeat center center / cover;
    background-image: url(../images/22673526_m.jpg);
    color: #fff;
    position: relative;
}
.philosophy .contents-inr{
    position: relative;
    z-index: 1;
}
.philosophy:after{
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    content: "";
    left: 0;
    top: 0;
    z-index: 0;
}
.philosophy-inr{
    width: 55%;
    padding-left: 100px;
}
.philosophy-p01{
    margin-bottom: 30px;
}
.philosophy-p01 .ttl-cmn10{
    display: inline;
    border-bottom: solid 1px #fff;
    color: #fff;
}
.service-item{
    width: calc((100% - 60px) / 4);
}
.service-item-inr{
    padding-top: 35px;
    position: relative;
}
.service-item .ttl-cmn09{
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.service-item-img{
    margin-bottom: 30px;
}
.service-item-img.ojf:before{
    padding-top: 130%;
}
.service-item .ttl-cmn11{
    text-align: center;
}
.service-item:nth-of-type(2n){
    padding-top: 40px;
}
@media screen and (max-width:1630px){
    .features-item{
        padding: 0 15px;
    }
}
@media screen and (max-width:1260px){
    .features-item-txt{
        padding-left: 15px;
    }
    .features-item-txt-num{
        left: 15px;
    }
    .features-item:nth-of-type(2n) .features-item-txt-num{
        right: 15px;
    }
}
@media screen and (max-width:1230px){
    .features-item-img{
        width: 58.5%;
        right: 15px;
    }
    .features-item:nth-of-type(2n) .features-item-img{
        left: 15px;
    }
    .philosophy-inr{
        padding-left: 8vw;
    }
}
@media screen and (max-width:1079px){
    .features-item-img{
        width: 54%;
    }
    .features-item:nth-of-type(2n) .features-item-txt{
        padding: 100px 15px 170px 6%;
    }
}
@media screen and (max-width:1023px){
    .concept-txt{
        width: 100%;
    }
    .concept-img{
        width: 90%;
        margin: 0 0 50px auto;
        position: relative;
        top: 0;
        right: -15px;
    }
    .concept-txt-img{
        max-width: 550px;
        width: 80%;
        padding-left: 0;
    }
    .features-item{
        padding: 30vw 15px 0;
    }
    .features-item-img{
        max-width: 720px;
        width: 70%;
    }
    .features-item-txt{
        width: 80%;
    }
    .philosophy-inr{
        width: 85%;
        padding-left: 50px;
    }
    .service-list{
        max-width: 590px;
        margin: 0 auto;
    }
    .service-item{
        width: calc((100% - 20px) / 2);
        margin-bottom: 20px;
    }
}
@media screen and (max-width:767px){
    .top-ttl02{
        margin-bottom: 20px;
    }
    .top-ttl02.top-ttl02-mb70{
        margin-bottom: 40px;
    }
    .concept-txt .ttl-cmn13{
        margin-bottom: 20px;
    }
    .concept-txt .ttl-cmn10{
        margin-bottom: 20px;
    }
    .concept-txt .ttl-cmn05{
        margin-bottom: 40px;
    }
    .concept-img{
        margin-bottom: 30px;
    }
    .features-item:first-of-type{
        margin-top: 60px;
    }
    .features-item{
        padding-top: 38vw;
    }
    .features-item-img{
        width: 80%;
        top: -40px;
    }
    .features-item-txt{
        width: 95%;
        padding: 80px 15px 70px;
    }
    .features-item-txt-num{
        font-size: 7rem;
    }
    .features-item-txt .ttl-cmn10{
        margin-bottom: 20px;
    }
    .features-item:nth-of-type(2n) .features-item-txt{
        padding: 80px 15px 70px;
    }
    .features-item:last-of-type .features-item-txt{
        padding: 80px 15px 40px;
    }
    .philosophy-inr{
        width: 100%;
        padding-left: 0;
    }
    .service-list.flex-btw{
        display: block;
    }
    .service-list{
        max-width: 285px;
    }
    .service-item{
        width: 100%;
    }
    .service-item:last-of-type{
        margin-bottom: 0;
    }
    .service-item-inr{
        padding-top: 20px;
    }
    .service-item-img{
        margin-bottom: 15px;
    }
    .service-item:nth-of-type(2n){
        padding-top: 0;
    }
}
@media screen and (max-width:415px){
    .features-item{
        padding-top: 30vw;
    }
}

/*	採用情報
---------------------------------*/
.attlaction-item{
    padding-top: 70px;
    margin-bottom: 70px;
    position: relative;
}
.attlaction-item:last-of-type{
    margin-bottom: 0;
}
.attlaction-item:before{
    content: "";
    background-color: #000;
    width: 1px;
    height: 130px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.attlaction-item-txt{
    width: 50%;
    padding-top: 80px;
}
.attlaction-item-txt .ttl-cmn04{
    text-shadow: 0px 0px 8px rgba(255, 255, 255, 0.6);
    padding-left: 100px;
    margin-bottom: 70px;
    position: relative;
}
.attlaction-item-txt-box{
    background-color: #f3f3f3;
    padding: 50px;
    position: relative;
}
.attlaction-item-txt-box-p{
    letter-spacing: 0.05em;
}
.attlaction-item-img{
    width: 62.5%;
    position: absolute;
    top: 70px;
    right: 0;
}
.attlaction-item-img-inr{
    position: relative;
}
.attlaction-item-img-inr.ojf:before{
    padding-top: 66.7%;
}
.attlaction-item-img .ttl-cmn08{
    font-weight: 700;
    letter-spacing: 0;
    color: #fff;
    line-height: 1;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
.attlaction-item:nth-of-type(2n) .attlaction-item-txt{
    margin-left: auto;
}
.attlaction-item:nth-of-type(2n) .attlaction-item-txt .ttl-cmn04{
    padding-left: 0;
    padding-right: 100px;
}
.attlaction-item:nth-of-type(2n) .attlaction-item-img{
    left: 0;
    right: auto;
}
.attlaction-item:nth-of-type(2n) .attlaction-item-img .ttl-cmn08{
    left: 0;
    right: auto;
}
.attlaction-item:nth-of-type(2n) .attlaction-item-txt-h{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.flow-item{
    background-color: #fff;
    padding: 50px 30px;
    margin-bottom: 120px;
    position: relative;
}
.flow-item:last-of-type{
    margin-bottom: 0;
}
.flow-item:before{
    content: '';
    background: no-repeat center center / contain;
    background-image: url(../images/icon_arrow02.png);
    width: 32px;
    height: 19px;
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translateX(-50%);
}
.flow-item:last-of-type:before{
    content: none;
}
.flow-item-img{
    width: 38%;
}
.flow-item-txt{
    width: 100%;
    padding-top: 50px;
}
.flow-item-txt-ttl{
    margin-bottom: 40px;
}
.flow-item-txt-ttl-time{
    width: 150px;
    text-align: center;
}
.flow-item-txt-ttl-time-p{
    background-color: #222222;
    width: 100%;
    color: #fff;
    line-height: 40px;
}
.flow-item-txt-ttl .ttl-cmn06{
    font-weight: 900;
    letter-spacing: 0.1em;
    flex: 1;
    padding-left: 50px;
}
.flow-item-txt-p{
    letter-spacing: 0.05em;
}
.staff-item{
    margin-bottom: 70px;
}
.staff-item-top{
    padding-bottom: 50px;
    margin-bottom: 50px;
    position: relative;
}
.staff-item-top-txt{
    width: 450px;
    background-color: #fff;
    padding: 17px 0;
    position: absolute;
    bottom: 0;
    left: 0;
}
.staff-item-top-txt .ttl-cmn10{
    padding-left: 100px;
    position: relative;
}
.staff-item-top-txt .ttl-cmn10:before{
    content: "";
    background-color: #000;
    width: 70px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.staff-item-top-txt .ttl-cmn02{
    flex: 1;
    padding-left: 30px;
    padding-bottom: 4px;
}
.staff-item-txt{
    margin-bottom: 50px;
}
.staff-item-txt-p01{
    margin-bottom: 30px;
}
.staff-item-txt-p01 .ttl-cmn11{
    display: inline;
    border-bottom: solid 1px #000;
    font-weight: 900;
    letter-spacing: 0.1em;
    color: #000;
    padding-bottom: 5px;
}
.staff-item-txt-p02{
    letter-spacing: 0.05em;
}
.staff-item-bottom-img{
    width: 40%;
}
.staff-item-bottom-txt{
    width: 55%;
}
.staff-item-bottom-txt .staff-item-txt:last-of-type{
    margin-bottom: 0;
}
.staff-item:nth-of-type(2n-1) .staff-item-bottom{
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.staff-item:nth-of-type(2n) .staff-item-top-txt{
    left: auto;
    right: 0;
}
@media screen and (max-width:1079px){
    .attlaction-item-txt .ttl-cmn04{
        padding-left: 50px;
    }
    .attlaction-item:nth-of-type(2n) .attlaction-item-txt .ttl-cmn04{
        padding-right: 50px;
    }
}
@media screen and (max-width:1023px){
    .attlaction-item-txt{
        width: 100%;
    }
    .attlaction-item-img{
        max-width: 750px;
        width: 100%;
        margin: 0 auto;
        position: relative;
        top: 0;
    }
    .attlaction-item-txt .ttl-cmn04{
        padding-left: 0;
    }
    .attlaction-item:nth-of-type(2n) .attlaction-item-txt-h{
        display: block;
    }
    .attlaction-item:nth-of-type(2n) .attlaction-item-txt .ttl-cmn04{
        padding-right: 0;
    }
    .flow-item-inr.flex-btw{
        display: block;
    }
    .flow-item-img{
        width: 100%;
        text-align: center;
    }
    .flow-item-txt{
        width: 100%;
    }
}
@media screen and (max-width:767px){
    .attlaction-item{
        padding-top: 40px;
        margin-bottom: 50px;
    }
    .attlaction-item:before{
        height: 70px;
    }
    .attlaction-item-txt{
        padding-top: 40px;
    }
    .attlaction-item-txt .ttl-cmn04{
        margin-bottom: 40px;
    }
    .attlaction-item-txt-box{
        padding: 30px 15px;
    }
    .flow-item{
        padding: 30px 15px;
        margin-bottom: 70px;
    }
    .flow-item:before{
        width: 25px;
        height: 15px;
        bottom: -40px;
    }
    .flow-item-txt{
        padding-top: 30px;
    }
    .flow-item-txt-ttl.flex-nml{
        display: block;
    }
    .flow-item-txt-ttl{
        margin-bottom: 20px;
    }
    .flow-item-txt-ttl-time{
        width: 120px;
        margin-bottom: 10px;
    }
    .flow-item-txt-ttl-time-p{
        line-height: 35px;
    }
    .flow-item-txt-ttl .ttl-cmn06{
        padding: 0;
    }
    .staff-item{
        margin-bottom: 50px;
    }
    .staff-item-top{
        padding-bottom: 50px;
        margin-bottom: 40px;
    }
    .staff-item-top-txt.flex-nml{
        display: block;
    }
    .staff-item-top-txt{
        width: auto;
        min-width: 200px;
        padding: 10px 10px 10px 0;
    }
    .staff-item-top-txt .ttl-cmn10{
        padding-left: 60px;
    }
    .staff-item-top-txt .ttl-cmn10:before{
        width: 40px;
    }
    .staff-item-top-txt .ttl-cmn02{
        padding-left: 60px;
        padding-bottom: 0;
    }
    .staff-item-txt{
        margin-bottom: 30px;
    }
    .staff-item-txt-p01{
        margin-bottom: 20px;
    }
    .staff-item-bottom.flex-btw{
        display: block;
    }
    .staff-item-bottom-img{
        max-width: 400px;
        width: 80%;
        margin: 0 auto 20px;
    }
    .staff-item-bottom-txt{
        width: 100%;
    }
}

/*	会社案内
---------------------------------*/
.greeting{
    overflow: hidden;
    position: relative;
}
.greeting:before{
    content: "";
    background-color: #f3f3f3;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transform: skewY(-10deg) translateY(-220px);
    z-index: -1;
}
.greeting-item-txt{
    width: 56%;
    padding-top: 50px;
}
.greeting-item-txt .ttl-cmn14{
    margin-bottom: 40px;
}
.greeting-item-txt-p01{
    letter-spacing: 0.05em;
    margin-bottom: 70px;
}
.greeting-item-txt-p02 .ttl-cmn11{
    font-weight: 900;
}
.greeting-item-txt-p02 .ttl-cmn11.greeting-item-txt-p03{
    font-size: 1.6rem;
    padding-right: 20px;
    padding-bottom: 1px;
}
.greeting-item-img{
    width: 41.7%;
}
.greeting-item-img-inr{
    padding-top: 500px;
    position: relative;
}
.greeting-item-img01{
    width: 90%;
    position: absolute;
    top: 0;
    right: 0;
}
.greeting-item-img02{
    width: 67%;
    position: relative;
    z-index: 1;
}
.greeting-item-img-p{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.greeting-item-img-p .ttl-cmn12{
    width: max-content;
    color: #fff;
    line-height: 1;
    text-shadow: 0px 0px 14.4px rgba(119, 119, 119, 0.5);
}
.company-table-tr{
    border-top: solid 1px #000;
    padding: 20px 0;
}
.company-table-tr:last-of-type{
    border-bottom: solid 1px #000;
}
.company-table-th{
    width: 26.7%;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #000;
    padding: 0 10px 0 80px;
}
.company-table-td{
    width: 73.3%;
    letter-spacing: 0.05em;
    padding-right: 10px;
}
.access-map{
    width: 100%;
    height: 500px;
    margin-bottom: 50px;
}
.access-map iframe{
    width: 100%;
    height: 500px;
}
.access-box{
    background-color: #fff;
    padding: 30px;
}
.access-box-p{
    letter-spacing: 0.05em;
    color: #000;
}
.history{
    position: relative;
}
.history:before{
    content: "";
    background-color: #f3f3f3;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transform: skewY(-5deg) translateY(90px);
    z-index: -1;
}
@media screen and (max-width:1230px){
    .greeting-item-img-p .ttl-cmn12{
        font-size: 4.2vw;
    }
}
@media screen and (max-width:1079px){
    .greeting-item-txt{
        width: 52%;
    }
}
@media screen and (max-width:1023px){
    .greeting-item.flex-btw{
        display: block;
    }
    .greeting-item-txt{
        width: 100%;
        padding-top: 0;
        margin-bottom: 50px;
    }
    .greeting-item-img{
        max-width: 500px;
        width: 100%;
        margin: 0 auto;
    }
    .greeting-item-img-p .ttl-cmn12{
        font-size: 5rem;
    }
    .company-table-th{
        padding-left: 40px;
    }
    .access-map{
        height: 400px;
    }
    .access-map iframe{
        height: 400px;
    }
}
@media screen and (max-width:767px){
    .greeting-item-txt{
        margin-bottom: 30px;
    }
    .greeting-item-txt .ttl-cmn14{
        margin-bottom: 20px;
    }
    .greeting-item-txt-p01{
        margin-bottom: 40px;
    }
    .greeting-item-txt-p02 .ttl-cmn11.greeting-item-txt-p03{
        font-size: 1.4rem;
        padding-bottom: 0;
    }
    .greeting-item-img-inr{
        padding-top: 80vw;
    }
    .greeting-item-img-p .ttl-cmn12{
        font-size: 9.6vw;
    }
    .company-table-tr.flex-nml{
        display: block;
    }
    .company-table-tr{
        padding: 10px 0;
    }
    .company-table-th{
        width: 100%;
        padding: 0;
    }
    .company-table-td{
        width: 100%;
        padding: 0;
    }
    .access-map{
        height: 250px;
        margin-bottom: 30px;
    }
    .access-map iframe{
        height: 250px;
    }
    .access-box{
        padding: 15px;
    }
}
@media screen and (max-width:415px){
    .greeting-item-img-inr{
        padding-top: 95vw;
    }
}


/*	募集要項・エントリー
---------------------------------*/
.outline-btn-list{
    margin-bottom: 20px;
}
.outline-btn{
    max-width: 320px;
    width: calc((100% - 40px) / 3);
    background-color: #222;
    border: solid 2px #222;
    text-align: center;
    margin: 0 20px 30px 0;
    cursor: pointer;
    position: relative;
    transition: background .4s;
}
.outline-btn:nth-of-type(3n){
    margin-right: 0;
}
.outline-btn:last-of-type{
    margin-right: 0;
}
.outline-btn:before{
    content: '';
    background: no-repeat center center / contain;
    background-image: url(../images/icon_arrow03.png);
    width: 14px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 30px;
    transition: background .4s;
}
.outline-btn-inr{
    height: 80px;
}
.outline-btn p{
    color: #fff;
    transition: color .4s;
}
.outline-btn:hover{
    background-color: #fff;
    border: solid 2px #222;
}
.outline-btn:hover:before{
    background-image: url(../images/icon_arrow03_2.png);
}
.outline-btn:hover p{
    color: #222;
}
.tab-content{
    border: solid 1px #5c6b7b;
    padding: 70px 30px;
}
.tab-content .ttl-cmn10{
    letter-spacing: 0.05em;
    position: relative;
}
.outline-table{
    max-width: 1060px;
    width: 100%;
    margin: 0 auto;
}
.outline-table .company-table-th{
    width: 24.5%;
    padding: 0 15px;
}
.outline-table .company-table-td{
    width: 75.5%;
    padding: 0 15px 0 0;
}
.related-txt{
    width: 38%;
    min-height: calc(25vw + 80px);
    margin-left: auto;
}
.related-txt .top-ttl02 .ttl-cmn12{
    line-height: 1;
}
.related-txt .ttl-cmn10{
    display: inline;
    border-bottom: solid 1px #000;
    letter-spacing: 0.05em;
}
.related-txt .ttl-cmn02{
    color: #000;
}
.related-img{
    width: 52.5%;
    position: absolute;
    top: 0;
    left: 0;
}
.related-img-inr{
    padding-bottom: 80px;
    position: relative;
}
.related-img01{
    width: 71.4%;
}
.related-img02{
    width: 38.1%;
    position: absolute;
    bottom: 0;
    right: 0;
}
.entry-h01{
    text-align: center;
    padding-bottom: 40px;
    margin-bottom: 30px;
    position: relative;
}
.entry-h01:before{
    content: "";
    background-color: #000;
    width: 2px;
    height: 25px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.entry-h01.ttl-cmn04{
    font-family: 'M PLUS 1p', sans-serif;
    letter-spacing: 0.05em;
}
.entry-h01.ttl-cmn10{
    letter-spacing: 0.05em;
}
.line-img{
    margin-right: 100px;
}
.line-img:last-of-type{
    margin-right: 0;
}
@media screen and (max-width:1079px){
    .related-txt{
        width: 43%;
    }
}
@media screen and (max-width:1023px){
    .outline-btn-list{
        max-width: 660px;
        width: 100%;
        margin: 0 auto 20px;
    }
    .outline-btn{
        width: calc((100% - 20px) / 2);
    }
    .outline-btn:nth-of-type(3n){
        margin-right: 20px;
    }
    .outline-btn:nth-of-type(2n){
        margin-right: 0;
    }
    .related-txt{
        width: 100%;
        margin-bottom: 50px;
    }
    .related-img{
        width: 100%;
        position: relative;
    }
}
@media screen and (max-width:767px){
    .outline-btn-list{
        max-width: 300px;
        width: 100%;
        margin: 0 auto 40px;
    }
    .outline-btn{
        max-width: 300px;
        width: 100%;
        margin: 0 auto 15px;
    }
    .outline-btn:nth-of-type(3n){
        margin: 0 auto 15px;
    }
    .outline-btn:nth-of-type(2n){
        margin: 0 auto 15px;
    }
    .outline-btn:last-of-type{
        margin: 0 auto;
    }
    .outline-btn-inr{
        height: 60px;
    }
    .tab-content{
        padding: 40px 20px;
    }
    .entry-h01{
        padding-bottom: 30px;
        margin-bottom: 20px;
    }
    .entry-h01:before{
        height: 20px;
    }
    .outline-table .company-table-th{
        width: 100%;
        padding: 0;
    }
    .outline-table .company-table-td{
        width: 100%;
        padding: 0;
    }
    .related-txt{
        margin-bottom: 30px;
    }
    .related-img-inr{
        padding-bottom: 40px;
    }
    .related-img02{
        width: 45%;
    }
    .line-img{
        margin-right: 30px;
    }
}

.work_content_4{
    padding-block: 80px 40px;
}
.work_content_4 .title_h3 {
    position: relative;
    padding: 0;
    padding-left: 0.7em;
    margin-bottom: 0.8em;
    font-size: 22px;
    line-height: 1.4;
    margin: 0 0 10px 0;
}
.work_content_4 .title_h3:before {
    content: "";
    position: absolute;
    background: #f08437;
    width: 3px;
    height: 100%;
    top: 0;
    left: 0;
}

.cont {
    margin-top: 3.5em;
}
.list-receiving {
    margin: 50px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.list-item {
    background: #f1f7f4;
    color: #6fba2c;
    list-style:  none;
    display: flex;
    width: 32%;
    min-height: 52px;
    margin-bottom: 1%;
    margin-right: 1%;
    align-items: center;
    border-radius: 5px;
    line-height: 1;
    border-bottom: 2px solid rgb(212, 217, 214);
}

.list-ItemTtl {
    flex: 1;
    padding: 8px 10px;
    font-weight: bold;
    word-break: normal;
    line-height: 1.2;
    color: #4e5450;
}
.list-state {
    width: 58px;
    padding-right: 10px;
    margin: 4% 0;
    font-size: 76.4%;
    text-align: center;
}

.list-icon {
    display: block;
    margin-bottom: 3px;
    font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
    font-size: 26px;
    line-height: 1;
}
.-NoTxt {
    margin: 0;
}

@media screen and (max-width: 650px) {
    .list-receiving {
        margin-left: 0 !important; 
    }
    .list-item {
        width: 48%;
        margin: 1%;
        padding: 3% 0 6%;
        flex-direction: column;
        justify-content: center;
        text-align:center;
        line-height: .7 !important;
    }
    .list-state {
        display: inline-block;
        padding-right:0;
        font-size: 90%;
    }
    .list-ItemTtl {
        padding-bottom: 0;
        line-height: 1.5;
    }
    .list-icon {
        line-height: 1;
        margin-bottom: 0.3em;
    }
    
    .slider01 .main-catch{
        max-width: 92%;
    }
}