@charset "UTF-8";

/*サイト共通のカラー・フォント定義*/
:root{
    --color-accent: #55AFBF;
    --color-navy: #111F50;
    --font-gothic: "kozuka-gothic-pr6n", sans-serif;
    --font-mincho: "a-otf-ryumin-pr6n", serif;
    --font-en: "nobel-condensed", sans-serif;
    --font-shuei: "dnp-shuei-gothic-kin-std", sans-serif;
}

*{
margin: 0;
padding: 0;
}

a, li, p,th,td{
    font-size: 1.8rem;
}

a:hover{
    opacity: 0.6;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

div.anchor {
    display: block;
    padding-top: 9.5rem;
    margin-top: -9.5rem;
}


html {
    font-size: 62.5%;
    font-family: var(--font-shuei);
}

body::before{
    background-image: url('../images/common/background.jpg');
    content: "";
    background-size: cover;
    display: block;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
}

.no_scroll {
    position: fixed;
    left: 0;
    right: 0;
    overflow: hidden;
  }

@media screen and (max-width: 1611px) {
    html {
      font-size: 0.621vw;
    }
  }
@media screen and (max-width: 768px) {
    html {
      font-size: 1.5625vw;
    }
}

h1{
    font-size: 2.6rem;
    font-family: var(--font-gothic);
    color: #fff;
    font-weight: bold;
}

h2{
    font-size: 3.5rem;
    font-family: var(--font-gothic);
    color: #fff;
    font-weight: bold;
}

h3{
    font-size: 2.8rem;
    color: #fff;
    font-weight: bold;
}

h4{
    font-size: 2.4rem;
    color: #fff;
    font-weight: bold;
}

img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.container{
    width: 118rem;
    margin: 0 auto;
}


.sp-only{
    display: none;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 4.5rem;
  top   : 1.2rem;
  width : 4.2rem;
  height: 4.2rem;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 5rem;
  height  : 2px;
  left    : 0.6rem;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 1.5rem;
}
.hamburger span:nth-child(2) {
  top: 3rem;
}
.hamburger span:nth-child(3) {
  top: 4.5rem;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 2.8rem;
  left: 0.6rem;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 2.8rem;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 0;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(10,18,50,0.98);
  text-align: left;
  width: 100%;
  opacity: 1;
  height: 100vh;
  overflow-y: auto;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  width: 100%;
  padding: 16rem 5rem 8rem 6rem;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
  font-size: 3rem;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;

}

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



header{
    width: 100vw;
    height: 9.5rem;
    position: fixed;
    z-index: 1;
}

.top-header{
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
}

.top-header-inner{
    display: flex;
    justify-content: space-between;
    height: 100%;
}


.header-logo{
    width: 7.1rem;
    height: 5.3rem;
}

.header-logo img {
    height: 100%;
    width: auto;
}

.header-title{
    display: flex;
    align-items: center;
    height: 100%;
}

.header-menu{
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 6rem;
}

.header-menu-item a{
    color: #fff;
    font-size: 1.6rem;
}

/*footer*/

footer{
    background-color: #FFF;
    padding-top: 8.8rem;
    padding-bottom: 5rem;
    color: #707070;
}

.footer-logo{
    width: 36rem;
    height: 17.3rem;
}

.company-data{
    margin-left: 2rem;
}

.company-name p{
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center;
}

.company-name{
    margin-top: 2rem;
    margin-bottom: 0.8rem;
}

.footer-menu-area{
    display: flex;
    justify-content: space-between;
}

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

.footer-flex-right{
    width: 78rem;
}

.footer-menu-box ul li:first-child a{
    font-size: 2rem;
    font-weight: bold;
}

.footer-menu-box ul li{
    margin-bottom: 1.5rem;
}

.footer-menu-box ul li a{
    font-size: 1.6rem;
}

.company-address p{
    font-size: 1.6rem;
    margin-bottom: 0.4rem;
}

.footer-privacypolicy{
    text-align: right;
}

.footer-privacypolicy a{
    font-size: 1.4rem;
    text-decoration: underline;
}

.footer-copywright{
    margin-top: 7rem;
}

.footer-copywright p{
    font-size: 1.4rem;
    text-align: center;

}

/*front-page*/

.top-mv{
    position: relative;
}

.top-mv-image{
    width: 100%;
    height: auto;
}

.top-mv-image video{
    width: 100%;
    padding-top: 9.5rem;
}

.top-mv-title{
    position: absolute;
    height: 33.1rem;
    width: 111.3rem;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.section-title{
    position: relative;
}

.section-title-bussiness{
    width: 53rem;
}

.section-title-image{
    height: 14.6rem;
}

.section-title-text{
    position: absolute;
    bottom: 0;
}

.top-bussiness{
    padding-top: 14.4rem;
}

.four-column{
    display: flex;
    column-gap: 1.2rem;
}

.top-four-column{
    margin-top: 4.2rem;
}

.four-column-box{
    width: 28.5rem;
    height: 28.5rem;
    background-size: cover;
}

.four-column-title{
    height: 22.9rem;
}

.four-column-title p{
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    padding-top: 9.8rem;
    font-family: var(--font-gothic);
}

.four-column-detail-button{
    width: 21rem;
    height: 3.3rem;
    margin: 0 auto;
    border: #fff 1px solid;
}

.four-column-detail-button p{
    text-align: center;
    line-height: 3.3rem;
    font-size: 1.5rem;
    color: #fff;
}

.four-column-box-maintenance{
    background-image: url('../images/common/maintenance.png');
}

.four-column-box-management{
    background-image: url('../images/common/management.png');
}

.four-column-box-workerdispatch{
    background-image: url('../images/common/workerdispatch.png');
}

.four-column-box-others{
    background-image: url('../images/common/others.png');
}


.section-title-about{
    width: 31.5rem;
}

.top-about{
    padding-top: 12.3rem;
}

.about-detail{
    width: 100%;
    background-color: #FFF;
    margin-top: 6.5rem;
    display: flex;
    justify-content: space-between;
    font-size: 2rem;
    line-height: 3.13;
    font-family: var(--font-gothic);
}

.about-detail-left{
    padding-top: 8.1rem;
    padding-bottom: 5.2rem;
    margin-left: calc((100vw - 118rem) / 2);
}

.about-detail-image{
    width: 43.5%;
}

.detail-button{
    width: 24rem;
    height: 5.6rem;
    margin: 0 auto;
    border: #080808 1px solid;
    margin-top: 8.1rem;

}

.detail-button p{
    text-align: center;
    line-height: 5.6rem;
    font-size: 1.8rem;
    color: #080808;
    font-weight: bold;

}

.top-recruit{
    padding-top: 11.9rem;
}

.section-title-recruit{
    width: 40.1rem;
    margin-left: 2.1rem;
}

.top-recruit-flex{
    display: flex;
    justify-content: space-between;
    padding-bottom: 18rem;
}

.top-recruit-image{
    width: 64rem;
    height: 42.7rem;
    margin-top: 3.7rem;
}

.section-title-text-recruit{
    margin-left: 2rem;
}


.top-recruit-right{
    width: 50rem;
}

.top-recruit-right-text{
    margin-top: 20rem;
    margin-bottom: 17.8rem;
}

.top-recruit-right-text p{
    text-align: center;
    color: #fff;
    font-family: var(--font-gothic);
    font-size: 2rem;
    line-height: 1.75;
}

.section-title-news{
    width: 27.5rem;
}

.top-news{
    width: 100%;
    background-color: #FFF;
    opacity: 0.8;
    padding-top: 3.3rem;
    padding-bottom: 6.2rem;
}

.section-title-text-news h2{
    color: #000;
}

.news-area{
    margin-top: 8rem;
    margin-bottom: 3rem;
}

.detail-button-white{
    width: 24rem;
    height: 5.6rem;
    margin: 0 auto;
    border: #fff 1px solid;
    margin-top: 8.1rem;

}

.detail-button-white p{
    text-align: center;
    line-height: 5.6rem;
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;

}

.section-title-contact{
    width: 43rem;
    margin-top: 11.1rem;
}

.top-contact-right-text{
    margin: 20rem auto 17.9rem;
    width: 46rem;
}

.top-contact-right-text p{
    text-align: left;
    color: #fff;
    font-family: var(--font-gothic);
    font-size: 2rem;
    line-height: 1.75;
}

.detail-button-news{
    margin: 0 0 0 auto;
}

.post-box{
    display: flex;
    column-gap: 6.2rem;
    margin-bottom: 3rem;
}

.post-date p{
    font-size: 1.8rem;
    font-weight: bold;
}

.post-title p{
    font-size: 1.8rem;
}

/*page-works*/

.mv-large{
    padding-top: 9.5rem;
    position: relative;
}

.works-menu{
    padding-bottom: 19.2rem;
}

.works-mv-image-title{
    width: 53rem;
    height: 18.1rem;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.works-text{
    margin: 11.5rem auto;
}

.works-text p{
    text-align: center;
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
}

/*maintenance*/

.mv-small{
    position: relative;
}

.mv-small-image{
    width: 55.9vw;
    padding-top: 14.8rem;
    height: calc(34.1vw + 14.8rem);
}

.mv-small-textarea{
    background-color: #FFF;
    border-right: var(--color-accent) 2.3rem solid;
    width: 50vw;
    position: absolute;
    top: calc(14.8rem + 10.1vw);
    right: calc((100vw - 118rem)/2);
    padding: 3rem 1rem  3rem 5rem;
}

.mv-small-title h2{
    font-size: 5rem;
    font-weight: bold;
    color: #000000;
    font-family: "ヒラギノ明朝 ProN";
}

.mv-small-title-rubi p{
    font-size: 3rem;
    color: #000;
    opacity: 0.3;
    font-family: var(--font-en);
    font-weight: 800;
    font-style: normal;
}

.mv-small-title-text{
    padding-top: 4.5rem;
    padding-bottom: 7.1rem;
}

.mv-small-title-text p{
    font-size: 2.2rem;
    line-height: 1.45;
}

.maintenace-inspection{
    padding-top: 11.7rem;
    padding-bottom: 14.3rem;
}

.section-title-maintenance{
    width: 93.5rem;
    height: 8rem;
}

.section-discription p{
    font-weight: bold;
    color: #fff;
    line-height: 1.94;
}

.section-discription{
    margin-top: 4.7rem;
    margin-bottom: 5.2rem;
}

.maintenance-title h2{
    font-size: 4rem;
    white-space: nowrap;
}

.three-column-flex{
    display: flex;
    flex-wrap: wrap;
    column-gap: 3.5rem;
}

.three-column-flex-recruit{
    column-gap: 5.5rem;
    margin-top: 4.8rem;
    margin-bottom: 11.5rem;
    row-gap: 5.5rem;
}

.maintenance-three-column-box{
    width: 37rem;
    margin-bottom: 4.5rem;
}

.maintenance-flex-box{
    margin-bottom: 12rem;
}

.three-column-box-image{
    width: 37rem;
    height: 30rem;
    margin-bottom: 1.5rem;
}

.three-column-box-text p{
    font-size: 2rem;
    line-height: 2;
    font-weight: bold;
    color: #fff;
}


.gallary-section{
    padding-top: 15rem;
    overflow-x: hidden;
}

.section-title-drinkingwater{
    width: 122.2rem;
    height: 9.6rem;
}

.gallary-flex{
    display: flex;
    column-gap: 3rem;
}
.gallary-box{
    max-width: 118rem;

}

.environmental-gallary-photo{
    width: 30rem;
    height: 30rem;
    margin-bottom: 5rem;
}

.section-title-tank{
    width: 102.3rem;
    height: 8rem;
}

.section-title-industrial{
    width: 114.8rem;
    height: 8rem;
}

.other-works-section{
    padding-top: 12rem;
    padding-bottom: 20.3rem;
}

.other-works, .provision-title{
    border-bottom: #fff 0.1rem solid;
    padding-bottom: 1.5rem;
    position: relative;
}

.other-works:after, .provision-title:after{
    content: "";
    border-bottom: #fff 0.5rem solid;
    width: 18rem;
    height: 0.5rem;
    position: absolute;
    bottom: -0.5rem;
}

/**/

.breadcrumb {
    width: 118rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.2rem;
    display: flex;
    column-gap: 2rem;
    align-items: center;
}

.breadcrumb li {
    font-size: 1.8rem;
    color: #fff;
    position: relative;
}

.breadcrumb li:not(:nth-last-child(1))::after {
    content: ">";
    position: absolute;
    top: 50%;
    right: -1.5rem;
    transform: translateY(-50%);
}

.breadcrumb li a {
    text-decoration: underline;
    border-color: #fff;
}

/* パンくずここまで */

.page-overview {
    padding-bottom: 10rem;
}

.page-overview .new_graduate {
    margin-top: 10rem;

}

.page-overview .section-title img {
    width: auto;
    height: 8.8rem;
}

.page-overview .ac_block {
    margin-top: 4.5rem;
}

.page-overview .ac_block:nth-child(n+2) {
    margin-top: 3.5rem;
}

.page-overview .ac_block .ac_parent {
    display: block;
    width: 100%;
    background-color: #fff;
    font-size: 2.8rem;
    font-weight: bold;
    padding: 2.6rem 3rem;
    line-height: 1;
    position: relative;
}

.page-overview .ac_block .ac_parent::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    width: 4.3rem;
    height: 3px;
    background-color: #000;
}

.page-overview .ac_block .ac_parent::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%) rotate(90deg);
    width: 4.3rem;
    height: 3px;
    background-color: #000;
    opacity: 1;
    transition: 0.3s;
}

.page-overview .ac_block .ac_parent.is_open::after {
    opacity: 0;
}


.page-overview .ac_block .ac_child {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 4.5rem 3rem 5.5rem;
    border-top: 3px solid var(--color-navy);
    display: none;
}

.page-overview .ac_block .ac_child .contents .item:not(:nth-child(1)) {
    margin-top: 3.5rem;
}

.page-overview .ac_block .ac_child .contents .item .heading {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
}

.page-overview .ac_block .ac_child .contents .item .text {
    font-size: 1.8rem;
    line-height: 1.9;
    margin-top: 0.5rem;
}

.page-overview .ac_block .ac_child .contents .form_btn {
    display: inline-block;
    font-weight: bold;
    line-height: 1;
    margin-top: 5rem;
    font-size: 1.8rem;
    border: 1px solid #000;
}

.page-overview .ac_block .ac_child .contents .form_btn a {
    padding: 2.1rem 3rem;
    display: block;
}

.page-overview .carrier {
    margin-top: 12rem;
}

.overview-title{
    bottom:-1rem;
}

.overview-title h2 {
    font-size: 4rem;
    white-space: nowrap;
}

/*労働者派遣事業*/

.achievement{
    padding-top: 12.8rem;
}

.section-title-achievement{
    width: 41.2rem;
    height: 9.6rem;
}

.achievement-list{
    margin-top: 4.7rem;
}

.achievement-list li a{
    text-decoration: underline;
}

.achievement-list ul li,.provision-text ul li{
    color: #fff;
    font-weight: bold;
    margin-bottom: 1.4rem;
}

.provision-text-marginbottom{
    margin-bottom: 6rem;
}

.provision-text ul{
    margin-bottom: 5.9rem;
}

.provision-text p{
    color: #fff;
    font-weight: bold;
    line-height: 1.94;
}

.informationprovision{
    margin-top: 5.7rem;
}

.provision-headline{
    margin-top: 5rem;
    border-left: 0.5rem #fff solid;
}

.provision-headline h4{
    margin-left: 2rem;
    line-height: 3.8rem;
}

.provision-text{
    margin-top: 2.7rem;
}

/*その他*/
.mv-small-textarea-other{
    min-height: 30rem;
    width: 45rem;
    right: calc((100vw - 118rem)/2 + 14rem);
    padding-top: 6.8rem;
    padding-left: 6rem;
}

.work-others{
    padding-top: 11.1rem;
}

.two-column{
    display: flex;
    justify-content: space-between;
    margin-bottom: 7rem;
}

.two-column-construction{
    margin-bottom: 0;
}

.two-column-image{
    width: 55rem;
    height: 35rem;
}

.section-title-truck{
    width: 102.6rem;
    height: 8rem;
}
.section-title-construction{
    width: 79.2rem;
    height: 9.6rem;
}

/*採用インタビュー記事*/

.interview-mv{
    position: relative;
    padding-top: 9.5rem;
}

.interview-mv-image{
    width: 100%;
    height: 37.2vw;
}

.article-title{
    margin-bottom: 5rem;
}

.article-title p{
    font-size: 3.6rem;
}

.interview-title-box{
    width: 72rem;
}

.interview-title-area{
    position: absolute;
    top: 18.2rem;
    left: calc((100vw - 118rem) / 2);
}

.interview-right{
    right: calc((100vw - 118rem) / 2 - 12rem);
}

.interview-title-box-right{
    width: 85rem;
    margin-left: auto;
}

.article-profile{
    width: 38.5rem;
}

.interview-title-box-right .article-profile{
    width: 70rem;
}

.employee-name{
    width: 30.5rem;
}

.employee-name p{
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.4;
    padding-left: 2.4rem;
    position: relative;
}

.employee-name p::after{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    background-color: var(--color-navy);
}

.article-profile-tags{
    margin-top: 1.6rem;
    margin-bottom: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.profile-tag{
    display: inline-block;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--color-navy);
    border: 1px solid var(--color-navy);
    border-radius: 0.4rem;
    padding: 0.4rem 1.4rem;
    line-height: 1.5;
}

.article-profile p:last-of-type{
    font-size: 1.5rem;
    color: rgba(0, 0, 0, 0.68);
    line-height: 1.9;
}

.interview-mv-section{
    padding-top: 10.8rem;
    padding-bottom: 27.5rem;
}

.interview-article h2{
    font-size: 3.2rem;
    color: #fff;
    font-family: var(--font-shuei);
    margin-top: 15.2rem;
    margin-bottom: 3.2rem;
    padding-top: 5.6rem;
    position: relative;
    line-height: 1.5;
}

.interview-article h2::before{
    content: "\201C";
    position: absolute;
    top: 0;
    left: -0.4rem;
    font-size: 12rem;
    line-height: 1;
    color: rgba(85, 175, 191, 0.45);
    font-family: Georgia, "Times New Roman", serif;
}

.interview-article p{
    font-size: 1.8rem;
    color: #fff;
    line-height: 1.78;
    font-family: var(--font-shuei);
}

.wp-block-image{
    width: 100%;
    height: auto;
    margin: 3.7rem 0 2.7rem;
}

.wp-block-file{
    margin: 3rem 0;
}

.wp-block-file__embed{
    margin-bottom: 1.75rem!important;
}

.wp-block-file a{
    font-size: 1.8rem;
    color: #fff;
}

/*会社概要*/

.about-mv-image-title{
    width: 31.5rem;
    height: 18.1rem;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);   
}

.philosophy-item{
    margin-bottom: 2rem;
}

.philosophy-item p{
    color: #fff;
    font-size: 6rem;
    text-align: center;
    font-family: var(--font-mincho);
    font-weight: normal;
    font-style: normal;
}

.philosophy-text p{
    color: #fff;
    font-size: 3rem;
    text-align: center;
    font-weight: normal;
    font-family: var(--font-gothic);
}

.philosophy-title{
    margin-top: 6.5rem;
    margin-bottom: 5.3rem;
}

.philosophy-title h2{
    text-align: center;
    font-size: 8rem;
    color: #fff;
    font-family: var(--font-mincho);
    font-weight: normal;
    font-style: normal;
}

.philosophy-image{
    width: 118rem;
    height: 36.3rem;
}

.president-message{
    margin-top: 10.2rem;
    padding-bottom: 10.2rem;
}

.president-message-flex-box{
    width: 50%;
}

.president-message-flex-box-left{
    margin-top: 6.5rem;
}

.section-title-president-message{
    width: 27.4rem;
    height: 9.6rem;
}

.president-message-flex{
    display: flex;
}

.president-message-text{
    margin-left: 3rem;
}

.president-message-text p{
    font-size: 2rem;
    color: #fff;
}

.president-message-box{
    margin-top: 13.4rem;
}

.section-title-text-message{
    margin-left: 3.1rem;
}

.president-message-detail-button{
    margin-left: 3rem;
    margin-top: 5rem;
}

.president-image{
    width: 50rem;
    height: 50rem;
    margin: 0 auto;
}

.section-title-company-about{
    width: 20.5rem;
    height: 9.6rem;
}

.company-about{
    padding-bottom: 15.7rem;
}

.about-table{
    color: #fff;
    margin-top: 5.2rem;
}

.about-table th, .about-table td{
    font-size: 1.6rem;
    line-height: 2;
    padding: 3.5rem 0;
    vertical-align: middle;
} 

.about-table th{
    font-weight: bold;
    width: 33rem;
    border-top: #fff 5px solid;
    text-align: center;
}

.about-table td{
    width: 95rem;
    border-top: #fff 1px solid;
    padding-left: 10rem;
}

.about-table tr:last-child th ,.about-table tr:last-child td{
    padding-bottom: 0;
}

.permission-list{
    width: 50%;
}

.permission-image-area{
    width: 50%;
}

.permission-image-sp{
    display: none;
}

.permission-image-pc{
    display: block;
}

.permission-item-list{
    margin-bottom: 2.8rem;
}

.permission-item-list p{
    font-size: 1.6rem;
    color: #fff;
    line-height: 2;
}

.font-bold{
    font-weight: bold;
}

.permission-flex{
    display: flex;
    margin-top: 4.7rem;
    position: relative;
}

.iso_image{
    width: 30.93rem;
    height: 20rem;
    margin-bottom: 2rem;
}

.mark_flex{
    display: flex;
    margin-top: 3.5rem;
}

.mark_box{
    /* display: flex; */
    width: 40%;
    padding-top: 3.5rem;
}

.mark_text p{
    font-size: 1.6rem;
    color: #fff;
    line-height: 2;
}


.youth_ale_image{
    width: 20.52rem;
    height: 20rem;
    margin-bottom: 2rem;
}

.permission-image{
    width: 50rem;
    height: 30rem;
    margin: 0 auto 2rem;
}

.section-title-permission{
    width: 50.8rem;
    height: 9.6rem;
}

.section-title-organization{
    width: 46rem;
    height: 9.6rem;
    margin-top: 13.5rem;
}

.organization_table_image{
    width: 118rem;
    height: 71.9rem;
    margin-top: 2.5rem;
}

.organization-flex{
    display: flex;
    margin-top: 10.8rem;
    padding-bottom: 6.8rem;
}

.organization-box{
    width: 25%;
}

.division-name{
    display: inline-block;
    padding-right: 3.2rem;
    padding-bottom: 1.5rem;
    border-bottom: 5px solid #fff;
    margin-bottom: 2.9rem;
}

.division-name p{
    font-size: 2.8rem;
    color: #fff;
    font-weight: bold;
    margin-left: 1rem;
}

.division-name-text p{
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 1.3rem;
}

.g-photo{
    width: 100vw;
    height: 47.3vw;
    margin-bottom: 11.9rem;
}

.message-mv{
    position: relative;

}

.message-image{
    width: 100%;
    height: auto;
}

.message-box{
    background: rgba(0,0,0,0.3);
    padding: 7rem 5.5rem 3.2rem;
    width: 67.6rem;
    position: absolute;
    bottom: 3.8rem;
    right: 7.6rem;
}

.message-title{
    margin-bottom: 3rem;
}

.message-title p{
    font-size: 5rem;
    color: #fff;
    font-family: var(--font-mincho);
    font-style: normal;
}

.message-text{
    margin-bottom: 5.5rem;
}

.message-text p{
    font-size: 2rem;
    line-height: 1.5;
    color: #fff;
}

.president-name{
    display: flex;
    align-items: center;
    justify-content: right;
}

.director{
    font-size: 2rem;
    line-height: 2;
    color: #fff;
}

.president-name-image{
    width: 25.6rem;
    height: 5.8rem;
    background-color: rgba(255, 255, 255, 0);
}

.message-works-menu{
    padding-top: 13.1rem;
    padding-bottom: 14.5rem;
}

/*採用情報*/

.recruit-mv-image-title{
    width: 40.1rem;
    height: 18.1rem;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);   
}

.section-title-figure{
    width: 47.3rem;
    height: 9.6rem;   
}

.desired-figure-content{
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    line-height: 2;
    margin-top: 4.3rem;
}

.figure-image{
    width: 105rem;
    height: 105rem;
    margin: 7.8rem auto 0;
}

.special-contents{
    margin-top: 7.8rem;
}

.three-column-box{
    width: 35.6rem;
    height: 35.6rem;
}

.three-column-box-interview{
    background-image: url(../images/recruit/special01.png);
    background-size: cover;
}

.three-column-box-new{
    background-image: url(../images/recruit/application01.png);
    background-size: cover;
}

.three-column-box-halfway{
    background-image: url(../images/recruit/application02.png);
    background-size: cover;
}

.three-column-title p{
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    padding-top: 15.4rem;
    font-family: var(--font-gothic);
}

.three-column-detail-button{
    width: 21rem;
    height: 3.3rem;
    margin: 11.5rem auto 0;
    border: #fff 1px solid;
}

.three-column-detail-button p{
    text-align: center;
    line-height: 3.3rem;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
}

.section-title-special{
    width: 33rem;
    height: 8rem;
}



.section-title-application{
    width: 39.2rem;
    height: 8rem;
}

.interview-archive{
    padding-top: 11.6rem;
    padding-bottom: 14rem;
}

.three-column-box-interview01{
    background-image: url(../images/interview/employee01.png);
    background-size: cover;
}

.three-column-box-interview02{
    background-image: url(../images/interview/employee02.png);
    background-size: cover;
}

.three-column-box-interview03{
    background-image: url(../images/interview/employee03.png);
    background-size: cover;
}

.three-column-box-interview04{
    background-image: url(../images/interview/employee04.png);
    background-size: cover;
}

.interview-name p{
    color: #fff;
    text-align: center;
    margin-bottom: 2.4rem;
    font-size: 3rem;
    font-weight: bold;
    font-family: var(--font-gothic);
}

.interview-data p{
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    font-family: var(--font-gothic);
}

.interview-name{
    padding-top: 13.4rem;
}

.interview-detail-button{
    margin-top: 7.6rem;
}

.three-column-flex-interview{
    column-gap: 5.5rem;
    row-gap: 5.5rem;
    margin-top: 4.8rem;
    margin-bottom: 0;
}

.section-title-schedule{
    width: 29.6rem;
    height: 9.6rem;
}

.schedule-row{
    display: flex;
    column-gap: 6rem;
    position: relative;
    padding-bottom: 4.8rem;
}

.schedule-row::before{
    content: "";
    position: absolute;
    top: 0.8rem;
    left: 15.3rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background-color: var(--color-accent);
}

.schedule-row::after{
    content: "";
    position: absolute;
    top: 2.8rem;
    bottom: 0;
    left: 15.9rem;
    width: 0.2rem;
    background-color: rgba(85, 175, 191, 0.35);
}

.schedule-row:last-child{
    padding-bottom: 0;
}

.schedule-row:last-child::after{
    display: none;
}

.schedule-time{
    width: 13rem;
    flex-shrink: 0;
    text-align: right;
}

.schedule-time p{
    font-size: 2.4rem;
    font-weight: bold;
    color: var(--color-accent);
    line-height: 1.3;
}

.schedule-content{
    flex: 1;
    padding-left: 4rem;
}

.schedule-item p{
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.3;
}

.schedule-text{
    margin-top: 1rem;
}

.schedule-text p{
    font-size: 1.8rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.78;
}

.schedule-box{
    margin-top: 7rem;
    margin-bottom: 24rem;
}


/*アーカイブ*/

.news-mv-image-title{
    width: 27.5rem;
    height: 18.1rem;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.archive-inner{
    width: 91.7rem;
    margin: 17.6rem auto 10.8rem;
}

.archive-flex{
    display: flex;
    border-bottom: #fff 1px solid;
}



.archive-date{
    width: 23.8rem;
}

.archive-date p, .archive-title p{
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 7.2rem;
}

.page-nation{
    margin-top: 10.8rem;
}

.page-numbers{
    display: flex;
    justify-content: center;
}

.page-numbers li{
    margin: 0 2rem;
}

.page-numbers li , .page-numbers li a{
    font-size: 2rem;
    color: #fff;
}

.current{
    font-weight: bold;
    text-decoration: underline;
}

/*投稿詳細*/

/* .mv-small-textarea-single{
    min-height: 30rem;
} */

.single-area{
    padding-top: 10rem;
    padding-bottom: 11.2rem;
}

.single-area h1{
    font-weight: bold;
    font-size: 3.2rem;
    margin-bottom: 4.1rem;
}

.single-area h2{
    font-size: 2.8rem;
    margin-bottom: 2.2rem;
}

.single-area h3{
    font-size: 2.4rem;
    margin-bottom: 1.3rem;
}

.single-area p{
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.94;
    margin-bottom: 6rem;
}

.wp-block-image img{
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
}

.wp-block-column .wp-block-image{
    width: 100%;
}



/*プライバシーポリシー*/
.privacy-policy{
    margin-bottom: 17.3rem;
}

.pp-text{
    margin-top: 11.4rem;
    margin-bottom: 14.8rem;
}

.pp-text p{
    font-weight: bold;
    line-height: 1.94;
    color: #fff;
    white-space: nowrap;
}

.pp-content{
    margin-top: 2.7rem;
}

.pp-content p{
    font-weight: bold;
    line-height: 1.94;
    color: #fff;
}

.pp_underline{
    text-decoration: underline;
}

.pp-box{
    margin-bottom: 10rem;
}

.pp-item{
    padding-bottom: 1.7rem;
    border-bottom: 0.1rem solid #fff;
    position: relative;
}

.pp-item:after{
    content: "";
    border-bottom: #fff 0.5rem solid;
    width: 18rem;
    height: 0.5rem;
    position: absolute;
    bottom: -0.5rem;
}

/*お問い合わせ*/
.contact-inner{
    width: 102.2rem;
    color: #fff;
}

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

.contact-item{
    width: 38.2rem;
    /* border-bottom: #fff 1px solid; */
    margin-top: 6.1rem;
}

.contact-item-long{
    width: 100%;
}

.pp-check-box .wpcf7-not-valid-tip{
   display: none;
}

.pp-check-box-flex{
    display: flex;
    margin: 5rem 0;
}

.wpcf7-form .wpcf7-select, select {
    font-size: 1.6rem;
    background-color: rgba(0,0,0,0);
}

.wpcf7-select option{
    background-color: #112a70
}

.wpcf7-form-control{
    height: 3.5rem;
    margin-top: 0.5rem;
    width: 100%;
    border-bottom: #fff solid 1px;
}

.wpcf7-checkbox{
    border-bottom: none;
}

.red_small{
    color: #FF0000;
}

.wpcf7-textarea{
    width: 100%;
    height: 12rem;
}

.wpcf7-submit{
    width: 22rem;
    height: 4.7rem;
    border: #fff 1px solid;
    border-radius: 2.3rem;
    text-align: center;
    font-size: 1.4rem;
}

.wpcf7-submit:hover{
    opacity: 0.6;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.submit-button p {
    font-size: 1.4rem;
}

.contact-form-area{
    margin-bottom: 12rem;
}

.phone-number{
    margin-top: 4.7rem;
}

input:focus{
    outline: none;
}

select:focus{
    outline: none;
}


@media screen and (max-width: 767px) {
    
    .pc-only{
        display: none;
    }
    
    .sp-only{
        display: block;
    }

    body,html{
        overflow-x: hidden;
    }

    body::before{
        background-image: url('../images/common/background-sp.png');
        content: "";
        background-size: cover;
        display: block;
        position: fixed;
        width: 100%;
        height: 120vh;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .breadcrumb{
        display: none;
    }

    .container{
        width: 57.9rem;
    }

    .header-menu{
        display: none;
    }

    .top-mv{
        padding-top: 9.5rem;
    }

    .top-mv-image{
        width: 100vw;
        height: 170vw;
    }

    .top-mv-image video{
        padding-top: 0;
    }

    .top-mv-title-sp{
        position: absolute;
        height: 29.4rem;
        width: 54.7rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .top-bussiness{
        padding-top: 6.3rem;
    }

    .section-title-bussiness{
        width: 44.1rem;
        height: 12.2rem;
    }

    .four-column{
        flex-wrap: wrap;
        column-gap: 1.5rem;
        row-gap: 1.5rem;
    }

    .four-column-box{
        width: 27.9rem;
        height: 27.9rem;
    }
    
    .four-column-detail-button{
        width: 25.8rem;
        height: 4.3rem;
    }

    .four-column-detail-button p{
        line-height: 4.3rem;
        font-size: 2.4rem;
        font-weight: bold;
    }

    .top-four-column{
        margin-top: 6.5rem;
    }

    .top-about{
        padding-top: 22.5rem;
    }

    .section-title-about{
        width: 26.2rem;
        height: 12.2rem;
    }

    .about-detail{
        margin-top: 4.4rem;
        opacity: 0.8;
        display: block;
    }

    .about-detail-image{
        width: 64rem;
        height: 32rem;
    }

    .about-detail-text{
        width: 58.2rem;
        margin: 0 auto;
    }

    .about-detail-text p{
        line-height: 1.875;
        font-size: 2.4rem;
    }

    .about-detail-left{
        margin-left: auto;
        padding-top: 5.2rem;
    }

    .detail-button{
        margin-top: 5.9rem;
        width: 38rem;
        height: 9rem;
        border: #000 3px solid;
    }

    .detail-button p{
        line-height: 9rem;
        font-size: 3rem;
        font-weight: bold;
    }

    .section-title-recruit{
        width: 33.4rem;
        height: 12.2rem;
    }

    .top-recruit{
        padding-top: 16rem;
    }

    .top-recruit-flex{
        display: block;
        padding-bottom: 15.6rem;
    }

    .top-recruit-image{
        margin-left: calc(47% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 66rem;
        height: 32rem;
        margin-top: 5.9rem;
    }

    .top-recruit-right-text{
        margin-top: 6rem;
        margin-bottom: 6rem;
    }

    .top-recruit-right-text p{
        font-size: 2.4rem;
        line-height: 1.46;
    }

    .detail-button-white{
        width: 38rem;
        height: 9rem;
        border: #fff 3px solid;
    }

    .detail-button-white p{
        line-height: 9rem;
        font-size: 3rem;
        font-weight: bold;
    }

    .post-box{
        display: block;
    }

    .detail-button-news{
        margin: 5.9rem  auto 0;
    }

    .top-news{
        background-color: transparent;
        opacity: 1;
        padding-bottom: 0;
    }

    .section-title-text-news h2{
        color: #fff;
    }
    .news-area{
        margin-top: 3.5rem;
        padding-top: 6rem;
        padding-bottom: 6rem;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 64rem;
        background-color: #fff;
        opacity: 0.8;
    }

    .news-area-inner{
        width: 57.9rem;
        margin: 0 auto;
    }

    .post-date{
        margin-bottom: 1.7rem;
    }

    .post-date p{
        font-size: 2rem;
        font-weight: bold;
    }

    .post-title p{
        font-size: 2.4rem;
    }

    .section-title-contact{
        width: 35.8rem;
        height: 12.2rem;
        margin-top: 15.7rem;
    }

    .top-contact-right-text{
        margin: 6rem auto;
        width: 100%;
    }

    .top-contact-right-text p{
        font-size: 2.4rem;
        line-height: 1.46;
        text-align: center;
    }

    .top-contact-flex{
        padding-bottom: 21rem;
    }

    .informationprovision{
        margin-top: 6.7rem;
    }


    .provision-text li{
        line-height: 1.94;
        margin-bottom: 0;
    }

   
    /*footer*/
    
    footer{
        padding-bottom: 0;
    }

    .footer-flex-left{
        display: none;
    }

    .footer-flex{
        display: block;
    }

    .footer-menu-area{
        flex-wrap: wrap;
        justify-content: left;
        row-gap: 7.6rem;
    }

    .footer-flex-right{
        width: 50.3rem;
        margin: 0 auto;
    }

    .footer-menu-box:nth-child(odd){
        width: 65%;
    }

    .footer-menu-box ul li:first-child{
        margin-bottom: 3.5rem;
    }

    .footer-menu-box ul li:first-child a{
        font-size: 2.7rem;
    }

    .footer-menu-box ul li a{
        font-size: 2.1rem;
    }

    .footer-privacypolicy a{
        font-size: 2.1rem;
        text-decoration: none;
    }

    .footer-privacypolicy{
        margin-bottom: 12.2rem;
    }

    .footer-sp{
        background-color: #0C5CCB;
        padding-top: 6.8rem;
        padding-bottom: 2.3rem;
    }

    .footer-logo-sp{
        width: 25.2rem;
        height: 18.7rem;
        margin: 0 auto;
        text-align: center;
    }

    .footer-logo-sp img {
        height: 100%;
        width: auto;
    }

    .company-data{
        margin-top: 2.7rem;
        color: #fff;
        text-align: center;
        margin-left: 0;
    }

    .company-name{
        margin-bottom: 1.8rem;
    }

    .company-name p{
        font-size: 4rem;
        font-weight: bold;
    }

    .company-address p{
        font-size: 2.6rem;
    }

    .footer-copywright p{
        font-size: 2rem;
    }

    .mv-large{
        height: 102vw;
        padding-top: 9.5rem;
    }

    .works-mv-image{
        height: 100%;
    }

    .works-mv-image-title{
        width: 44.2rem;
        height: 16.1rem;
    }

    .works-text{
        margin: 8.5rem auto;
    }

    .mv-small-image{
        width: 100%;
        height: 102vw;
        padding-top: 9.5rem;
    }

    .mv-small-textarea{
        width: 57.9rem;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        padding: 1.9rem 0 0 2.8rem;
        top: auto;
        bottom: -7vw;
    }

    .mv-small-title h2{
        font-size: 3.7rem;
    }

    .mv-small-title-rubi p{
        font-size: 2.2rem;
    }

    .mv-small-title-text{
        padding-top: 3.4rem;
        padding-bottom: 5.5rem;
    }
    
    .mv-small-title-text p{
        font-size: 1.6rem;
    }

    .maintenance-three-column-box{
        width: 28.5rem;
        height: auto;
    }

    .three-column-box-image{
        width: 28.5rem;
        height: 28.5rem;
    }

    .three-column-flex{
        justify-content: space-between;
        column-gap: normal;
    }


    .maintenance-flex-box{
        margin-bottom: 10.4rem;
    }

    .section-title-maintenance{
        width: 49.8rem;
        height: 16.1rem;
    }

    .maintenance-title{
        bottom: -5rem;
    }

    /*環境管理部門*/
    .gallary-flex{
        flex-wrap: wrap;
        column-gap: 0.9rem;
        row-gap: 1rem;
    }

    .environmental-gallary-photo{
        width: 28.5rem;
        height: 28.5rem;
        margin-bottom: 0;
    }

    .gallary-section .container{
        border: none;
    }

    .section-title-drinkingwater{
        width: 55.8rem;
        height: 14.9rem;
    }

    .gallary-section .section-discription{
        margin-top: 9.4rem;
        margin-bottom: 4.2rem;
    }

    .section-discription{
        margin-top: 7.9rem;
    }

    .section-discription p{
        font-size: 2.4rem;
    }

    .section-title-tank{
        width: 56.1rem;
        height: 15.5rem;
    }

    .section-title-industrial{
        width: 54.8rem;
        height: 15.5rem;
    }

    .sp-30{
        font-size: 3rem;
    }

    .other-works h3{
        font-size: 4rem;
    }

    /*労働者派遣事業*/

    .achievement{
        padding-top: 11rem;
    }

    .section-title-achievement{
        width: 51.5rem;
        height: 12rem;
    }

    .achievement-title{
        bottom: -1rem;
    }

    .achievement-list{
        margin-top: 6.5rem;
    }

     /*その他*/
     .mv-small-textarea-other{
        min-height: 22.5rem!important;   
        padding-left: 0!important;
        text-align: center;
    }

    .mv-small-textarea-other .mv-small-title{
        margin-top: 7rem;
    }

    .section-title-truck{
        width: 54.4rem;
        height: 16.1rem;
    }

    .section-title-construction{
        width: 45.7rem;
        height: 16.1rem;
    }

    .other-work-title{
        bottom: 0
    }

    .two-column{
        display: block;
        margin-bottom: 14.2rem;
    }

    .two-column-image{
        width: 58rem;
        height: 32rem;
        margin-bottom: 3.2rem;
    }

    /*社長挨拶*/

    .message-image{
        height: 163vw;
    }

    .message-box{
        position: unset;
        background: rgba(0,0,0,0);
        width: 100%;
        padding: 4.0rem 1.5rem 0;
    }

    .message-image img{
        object-position: -33rem;
    }

    .president-name{
        justify-content: right;
    }

    .message-text{
        margin-bottom: 12rem;
    }

    .message-text p{
        font-size: 2.4rem;
        line-height: 1.67;
    }

    .figure-image{
        margin-top: 9rem;
        width: 100%;
        height: auto;
    }

    .special-contents{
        margin-top: 17.2rem;
    }

    .three-column-flex-recruit{
        margin-top: 11rem;
        margin-bottom: 0;
    }

    .three-column-box{
        height: 28.5rem;
        width: 28.5rem;
    }

    .three-column-title p{
        padding-top: 11.6rem;
    }

    .three-column-detail-button{
        margin-top: 9.5rem;
    }

    /*採用インタビュー*/
    .interview-name{
        padding-top: 11.5rem;
    }
    .interview-data{
        margin-top: 2.4rem;
    }

    .interview-data p{
        line-height: 1.33;
    }

    .interview-button{
        margin-top: 3.2rem;
    }

    /*採用インタビュー記事*/
    .interview-mv-image{
        height: 102vw;
    }

    .interview-mv-image img{
        object-position: var(--mv-position-sp, 50% 50%);
    }

    .interview-title-area{
        left: 3rem;
        top: 25.2rem
    }

    .interview-left, .interview-title-box-right{
        width: 30.5rem;
    }

    .interview-right{
        right: 1rem;
    }

    .interview-title-box-right{
        margin-right: 0;
        margin-left: auto;
    }

    .article-title p{
        font-size: 2.8rem;
        line-height: 1.79;
    }

    .interview-article h2{
        font-size: 3.6rem;
    }

    .interview-article p{
        font-size: 2.4rem;
        line-height: 2.08;
    }

    .sp-interview-box{
        position: static;
        width: 100%;
        background-color: rgba(13, 24, 64, 0.85);
        border-top: 0.5rem solid var(--color-accent);
    }

    .sp-interview-box .article-title p{
        color: #fff;
    }

    .sp-interview-box .employee-name p{
        color: #fff;
    }

    .sp-interview-box .employee-name p::after{
        background-color: var(--color-accent);
    }

    .sp-interview-box .profile-tag{
        color: #fff;
        border-color: rgba(255, 255, 255, 0.6);
    }

    .sp-interview-box .article-profile p:last-of-type{
        color: rgba(255, 255, 255, 0.8);
    }

    .employee-name{
        width: 100%;
    }
    .article-profile{
        width: 100%;
    }

    .employee-name p{
        font-size: 3.6rem;
    }

    .profile-tag{
        font-size: 2rem;
    }

    .article-profile p:last-of-type{
        font-size: 2.2rem;
    }

    .sp-interview-box .article-title{
        margin-bottom: 2.4rem;
    }

    .sp-interview-container{
        padding: 4rem 0 4.8rem;
    }

    .interview-mv-section{
        padding-top: 0;
    }

    .interview-image-b img{
        object-position: var(--mv-position-sp, -38rem 0rem);
    }

    /*アーカイブページ*/

    .archive-area{
        padding-top: 12rem;
    }

    .news-mv-image{
        height: 100%;
    }

    .news-mv-image-title{
        width: 22.8rem;
        height: 16.1rem;
    }

    .archive-flex{
        display: block;
        padding: 1.65rem 0;
    }

    .archive-inner{
        width: 100%;
        margin-top: 5.2rem;
        border-top: 1px solid #fff;
    }

    .archive-date p, .archive-title p{
        text-align: left;
    }

    .archive-date p{
        font-size: 2rem;
        line-height: 2;
    }

    .archive-title p{
        font-size: 2.4rem;
        line-height: 1.6;
    }

    .page-numbers li , .page-numbers li a{
        font-size: 2.4rem;
    }

    .mv-small-textarea-single{
        min-height: 22.5rem;
    }

    .wp-block-image{
        margin: 0 auto;
        width: 100%;
        height: auto;
    }
    .wp-block-column .wp-block-image{
        margin: 0 auto;
        width: 58rem;
        height: 32rem;
    }

    /*会社概要*/
    .about-mv-image{
        height: 100%;
    }

    .about-mv-image-title{
        width: 26.2rem;
        height: 16.1rem;
    }

    .philosophy-title{
        margin-top: 10.5rem;
    }

    .philosophy-title h2{
        font-size: 4.4rem;
    }

    .philosophy-item{
        margin-top: 3.2rem;
    }

    .philosophy-item p{
        font-size: 4rem;
    }

    .philosophy-text{
        margin-top: 1.5rem;
    }

    .philosophy-text p{
        font-size: 2.4rem;
    }

    .philosophy-image{
        width: 46rem;
        height: 46rem;
        margin: 3.7rem auto 0;
    }

    .president-message{
        margin-top: 9rem;
    }

    .section-title-president-message{
        width: 34.3rem;
        height: 12rem;
    }

    .section-title-text-message{
        margin-left: 0;
    }

    .permission-flex{
        display: block;
    }

    .organization-flex{
        display: block;
        margin-top: 0;
    }
    
    .president-message-flex{
        display: block;
    }

    .president-message-flex-box-left{
        width: 100%;
    }

    .president-image{
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        height: 32rem;
        margin-top: 9rem;
    }

    .president-image img{
        object-position: 0 -3rem;
    }

    .president-message-box{
        margin-top: 4.1rem;
    }

    .president-message-detail-button{
        margin: 4.1rem auto 0;
    }

    .president-message-text{
        margin: 0;
        text-align: center;
    }

    .president-message-text p{
        font-size: 2.4rem;
        line-height: 1.67;
    }

    .about-table{
        margin-top: 9.2rem;
    }

    .about-table th{
        text-align: left;
        font-size: 2rem;
        width: 11.5rem;
    }
    
    .about-table td{
        font-size: 2rem;
        line-height: 1.25;
        padding: 2rem 0 2rem 3rem;
        width: 46.3rem;
    }

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

    .mark_flex{
        display: block;
    }

    .mark_text p{
        font-size: 2rem;
        line-height: 1.25;
    }


    .iso_image{
        width: 23.7rem;
        height: 15.34rem
    }

    .mark_text{
        width: 53%;
    }

    .youth_ale_image{
        width: 23.7rem;
        height: 23.09rem;
        margin: 0 0 2rem 0;
    }

    .permission-image-area{
        width: 100%;
    }

    .permission-list{
        width: 100%;
    }

    .permission-item-list p{
        font-size: 2.4rem;
        line-height: 1.25;
    }

    .permission-item-list:first-child{
        width: 70%;
    }


    .permission-image{
        width: 100%;
        height: 32rem;
    }

    .permission-image-pc{
        display: none;
    }

    .permission-image-sp{
        display: block;
    }

    .organization{
        margin-top: 11.3rem;
    }

    .division-name{
        width: 100%;
        border-bottom: #fff 1px solid;
    }

    .organization-box{
        width: 100%;
        margin-bottom: 6.4rem;
    }

    .organization_table_image{
        width: 58rem;
        height: 115.8rem;
        margin-top: 0;
    }

    .division-name-text{
        font-size: 2.4rem;
    }

    /*採用情報*/

    .recruit-mv-image{
        height: 100%;
    }

    .recruit-mv-image-title{
        width: 33.4rem;
        height: 16.1rem;
    }

    .desired-figure-content p{
        text-align: center;
        font-size: 2.3rem;
        line-height: 1.67;
    }

    .desired-figure-content{
        margin-top: 7.6rem;
    }

    .application{
        margin-top: 15rem;
        margin-bottom: 16.2rem;
    }

    .interview-archive{
        padding-bottom: 0;
    }

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

    .mv-small-image-pp img{
        width: 54.4rem;
        height: 33.2rem;
        margin-left: 7.4rem;
        margin-top: 3rem;
    }

    .pp-box{
        margin-bottom: 3rem;
    }
    
    .pp-text{
        margin-top: 6.5rem;
        margin-bottom: 11.5rem;
    }

    .pp-text p{
        white-space: unset;
        font-size: 2.4rem;
    }

    .pp-item h3{
        font-size: 2.6rem;
    }

    .pp-content p{
        font-size: 2.4rem
    }

    /*お問い合わせフォーム*/
    .pp-text-large{
        
        text-align: center;
    }

    .pp-text-large p{
        font-size: 3.6rem;
        line-height: 1.25;
    }

    .pp-margin-top{
        margin-top: 13.6rem;
    }

    .pp-check-text p{
        font-size: 2.4rem;
        line-height: 1.25;
    }

    .contact-inner{
        width: 100%;
    }

    .contact-flex{
        display: block;
    }

    .contact-pp-item h3{
        font-size: 3.6rem;
    }

    .contact-item{
        width: 100%;
    }

    .contact-item p ,.pp_underline{
        font-size: 2.4rem;
    }

    .wpcf7-form-control{
        height: 11rem;
        margin-top: 3rem;
    }

    .wpcf7-textarea{
        border: #fff 1px solid;
        height: 56.8rem;
    }

    .wpcf7-form .wpcf7-select{
        font-size: 2.4rem;
    }

    .submit-button p{
        text-align: center;
    }

    .wpcf7-submit{
        width: 45rem;
        height: 9rem;
        font-size: 4rem;
        border-radius: 0;
    }

    .pp-check-box-flex{
        justify-content: center;
        align-items: center;
    }

    .wpcf7-spinner{
        display: none!important;
    }

    .phone-number p{
        font-size: 5rem;
        line-height: 1.4;
    }

    .wpcf7-list-item input{
        width: 3rem;
        height: 3rem;
    }

}
/*社長インタビュー*/

.president-mv-textarea{
    background-color: rgba(13,24,64,0.85);
    border-left: 0.5rem solid var(--color-accent);
    width: 50vw;
    position: absolute;
    top: calc(14.8rem + 10.1vw);
    right: calc((100vw - 118rem)/2);
    padding: 4.6rem 5rem 5rem;
    overflow: hidden;
}

.president-mv-en{
    position: absolute;
    top: 0.6rem;
    right: 1.6rem;
    font-size: 10rem;
    line-height: 1;
    color: rgba(255,255,255,0.07);
    font-family: var(--font-en);
    font-weight: 800;
    font-style: normal;
    pointer-events: none;
}

.president-mv-title h2{
    font-size: 5rem;
    font-weight: bold;
    color: #fff;
    font-family: var(--font-mincho);
    font-style: normal;
}

.president-mv-text{
    padding-top: 3rem;
}

.president-mv-text p{
    font-size: 1.9rem;
    line-height: 1.9;
    color: rgba(255,255,255,0.85);
}

.president-profile{
    padding-top: 11.6rem;
}

.president-profile-lead{
    font-size: 2.6rem;
    line-height: 2.3;
    color: #fff;
    font-family: var(--font-mincho);
}

.president-profile-sign{
    margin-top: 4rem;
}

.president-qa{
    padding-top: 10rem;
    padding-bottom: 14rem;
}

.president-qa-title{
    margin-bottom: 7.2rem;
}

.president-qa-title h2{
    font-size: 4rem;
    font-weight: bold;
    color: #fff;
}

.president-qa-title-en{
    font-size: 3rem;
    color: rgba(255,255,255,0.35);
    font-family: var(--font-en);
    font-weight: 800;
    font-style: normal;
}

.president-qa-item{
    display: flex;
    column-gap: 6.4rem;
    align-items: flex-start;
    margin-bottom: 10rem;
}

.president-qa-item:last-child{
    margin-bottom: 0;
}

.president-qa-item-reverse{
    flex-direction: row-reverse;
}

.president-qa-content{
    flex: 1;
}

.president-qa-question{
    font-size: 2.6rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.7;
    margin-bottom: 2.4rem;
    padding-top: 4.8rem;
    position: relative;
}

.president-qa-question::before{
    content: "\201C";
    position: absolute;
    top: 0;
    left: -0.4rem;
    font-size: 10rem;
    line-height: 1;
    color: rgba(85,175,191,0.45);
    font-family: Georgia, "Times New Roman", serif;
}

.president-qa-answer{
    font-size: 1.8rem;
    line-height: 2.1;
    color: rgba(255,255,255,0.8);
}

.president-qa-photo{
    width: 38rem;
    flex-shrink: 0;
}

.president-qa-photo img{
    width: 100%;
    height: auto;
    display: block;
}

.president-cta-copy{
    text-align: center;
    margin-bottom: 2.4rem;
}

.president-cta-catch{
    font-size: 3.2rem;
    color: #fff;
    font-family: var(--font-mincho);
    line-height: 1.8;
    margin-bottom: 2rem;
}

.president-cta-text{
    font-size: 1.8rem;
    color: rgba(255,255,255,0.8);
}

/*ヘッダードロップダウン*/

.header-menu-item{
    position: relative;
}

.header-dropdown{
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 3.6rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 2;
}

.header-menu-item:hover .header-dropdown{
    opacity: 1;
    visibility: visible;
}

.header-dropdown ul{
    background-color: rgba(13,24,64,0.95);
    border-top: 0.3rem solid var(--color-accent);
    padding: 1.2rem 0;
    min-width: 22rem;
}

.header-dropdown ul li a{
    display: block;
    white-space: nowrap;
    padding: 1rem 2.4rem;
    font-size: 1.4rem;
    color: #fff;
    transition: color 0.2s ease;
}

.header-dropdown ul li a:hover{
    color: var(--color-accent);
}

/*SPメニューアコーディオン*/

.sp-menu-toggle{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    padding: 1em 0;
    font-size: 3rem;
    cursor: pointer;
}

.sp-menu-toggle::after{
    content: "＋";
    color: var(--color-accent);
}

.sp-menu-toggle.is_open::after{
    content: "−";
}

.sp-menu-child{
    border-left: 0.3rem solid rgba(85,175,191,0.5);
    margin-left: 0.4rem;
    padding-left: 2.8rem;
}

nav.globalMenuSp ul .sp-menu-child{
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0.8em;
}

nav.globalMenuSp ul .sp-menu-child li a{
    font-size: 2.4rem;
    padding: 0.6em 0;
    color: rgba(255,255,255,0.8);
}

/*採用トップ 社長メッセージ帯*/

.recruit-president{
    margin-top: 10rem;
}

.recruit-president-panel{
    position: relative;
    background-color: rgba(13,24,64,0.85);
    border-left: 0.5rem solid var(--color-accent);
    overflow: hidden;
}

.recruit-president-flex{
    display: flex;
    align-items: stretch;
}

.recruit-president-body{
    flex: 1;
    padding: 6.4rem 6rem;
}

.recruit-president-photo{
    width: 36rem;
    flex-shrink: 0;
}

.recruit-president-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 25%;
    display: block;
}

.recruit-president-en{
    position: absolute;
    top: 0.6rem;
    left: 2rem;
    font-size: 10rem;
    line-height: 1;
    color: rgba(255,255,255,0.12);
    font-family: var(--font-en);
    font-weight: 800;
    font-style: normal;
    pointer-events: none;
    z-index: 1;
}

.recruit-president-catch p{
    font-size: 3.4rem;
    font-weight: bold;
    color: #fff;
    font-family: var(--font-mincho);
    font-style: normal;
    line-height: 1.6;
}

.recruit-president-text{
    margin-top: 2.4rem;
}

.recruit-president-text p{
    font-size: 1.8rem;
    line-height: 1.9;
    color: rgba(255,255,255,0.85);
}

.recruit-president-button{
    margin-top: 4rem;
}

.recruit-president-button a{
    display: inline-block;
    border: 1px solid #fff;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 1.4rem 4.8rem;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.recruit-president-button a:hover{
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    opacity: 1;
}

/*求める人物像 2カラム（PCのみ）*/

.desired-figure-flex{
    display: flex;
    align-items: flex-start;
    column-gap: 8rem;
}

.desired-figure-flex .desired-figure-content p{
    font-size: 3.2rem;
}

.desired-figure-flex .figure-image{
    width: 56rem;
    height: auto;
    margin: 0;
    flex-shrink: 0;
}

.desired-figure-flex .figure-image img{
    width: 100%;
    height: auto;
    display: block;
}

/*採用情報MV ネイビーオーバーレイ*/

.recruit-mv-image{
    position: relative;
}

.recruit-mv-image::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(17,31,80,0.4);
}

/*会社情報 組織ギャラリー SPカルーセル化*/

.organization-gallery{
    margin-bottom: 8rem;
}

.organization-gallery-scrollbar{
    display: none;
}

/*社長インタビュー Q&A 横長写真の段落ち表示*/

.president-qa-item-stack{
    display: block;
}

.president-qa-item-stack .president-qa-photo{
    width: 100%;
    margin-top: 4.8rem;
}

.president-qa-item-stack .president-qa-photo img{
    width: 100%;
    height: 40rem;
    object-fit: cover;
    object-position: 50% 35%;
}

/*採用カードのタグ表示*/

.interview-card-tags{
    justify-content: center;
    margin: 0 0 2.4rem;
}

.interview-card-tags .profile-tag{
    color: #fff;
    border-color: rgba(255,255,255,0.9);
}

/*採用インタビューカード 視認性向上レイヤー*/

.three-column-box-interview01,
.three-column-box-interview02,
.three-column-box-interview03,
.three-column-box-interview04{
    position: relative;
    z-index: 0;
}

.three-column-box-interview01::before,
.three-column-box-interview02::before,
.three-column-box-interview03::before,
.three-column-box-interview04::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: linear-gradient(to bottom, rgba(13,24,64,0) 0%, rgba(13,24,64,0.65) 45%, rgba(13,24,64,0.9) 100%);
}

/*求人概要カード（新卒採用/中途採用）視認性向上レイヤー*/

.three-column-box-new,
.three-column-box-halfway{
    position: relative;
    z-index: 0;
}

.three-column-box-new::before,
.three-column-box-halfway::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: linear-gradient(to bottom, rgba(13,24,64,0) 0%, rgba(13,24,64,0.55) 55%, rgba(13,24,64,0.85) 100%);
}

/*SP調整(後半セクション)*/
@media screen and (max-width: 767px) {

    /*スケジュール SP縦積み表示*/

    .schedule-row{
        flex-direction: column;
        column-gap: 0;
        padding-left: 4rem;
    }

    .schedule-row::before{
        left: 0;
    }

    .schedule-row::after{
        left: 0.6rem;
    }

    .schedule-time{
        width: auto;
        text-align: left;
        margin-bottom: 0.8rem;
    }

    .schedule-content{
        padding-left: 0;
    }



    .president-mv-textarea{
        width: 57.9rem;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        right: auto;
        top: auto;
        bottom: -40vw;
        padding: 4rem 3.2rem 4.4rem;
    }

    .president-mv-en{
        font-size: 8rem;
    }

    .president-mv-title h2{
        font-size: 3.9rem;
    }

    .president-mv-text{
        padding-top: 2.4rem;
    }

    .president-mv-text p{
        font-size: 2.6rem;
    }

    .president-profile{
        padding-top: 32rem;
    }

    .president-profile-lead{
        font-size: 3.2rem;
        line-height: 2.1;
    }

    .president-profile-sign{
        margin-top: 4.8rem;
    }

    .president-qa{
        padding-top: 10rem;
    }

    .president-qa-title{
        margin-bottom: 6.4rem;
    }

    .president-qa-title h2{
        font-size: 4.6rem;
    }

    .president-qa-title-en{
        font-size: 3.2rem;
    }

    .president-qa-item{
        display: block;
        margin-bottom: 12rem;
    }

    .president-qa-question{
        font-size: 3.4rem;
        padding-top: 5.2rem;
    }

    .president-qa-question::before{
        font-size: 9rem;
    }

    .president-qa-answer{
        font-size: 2.8rem;
    }

    .president-qa-photo{
        width: 100%;
        margin-top: 4rem;
    }

    .president-cta-catch{
        font-size: 3.6rem;
        line-height: 2;
    }

    .president-cta-text{
        font-size: 2.6rem;
    }

    .president-cta{
        padding-bottom: 16.2rem;
    }



    .recruit-president{
        margin-top: 9.6rem;
    }

    .recruit-president-flex{
        display: block;
    }

    .recruit-president-body{
        padding: 5.6rem 4rem;
    }

    .recruit-president-photo{
        width: 100%;
        height: 60vw;
    }

    .recruit-president-en{
        font-size: 8rem;
    }

    .recruit-president-catch p{
        font-size: 3.8rem;
        line-height: 1.7;
    }

    .recruit-president-text{
        margin-top: 2.8rem;
    }

    .recruit-president-text p{
        font-size: 2.6rem;
    }

    .recruit-president-button{
        margin-top: 4.4rem;
    }

    .recruit-president-button a{
        font-size: 2.6rem;
        padding: 1.8rem 0;
        display: block;
        text-align: center;
    }



    .desired-figure-flex{
        display: block;
    }

    .desired-figure-flex .desired-figure-content p{
        font-size: 2.3rem;
    }

    .desired-figure-flex .figure-image{
        width: 100%;
        margin-top: 9rem;
    }


    .organization-gallery .three-column-flex{
        flex-wrap: nowrap;
        overflow-x: auto;
        column-gap: 1.5rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .organization-gallery .three-column-flex::-webkit-scrollbar{
        display: none;
    }

    .organization-gallery .maintenance-three-column-box{
        flex: 0 0 auto;
        width: 37rem;
        margin-bottom: 0;
        scroll-snap-align: start;
    }

    .organization-gallery .three-column-box-image{
        width: 37rem;
        height: 25rem;
        margin-bottom: 0;
    }

    .organization-gallery-scrollbar{
        display: block;
        position: relative;
        width: 100%;
        height: 0.4rem;
        border-radius: 0.2rem;
        background: #e3e6ec;
        margin-top: 0.8rem;
        overflow: hidden;
    }

    .organization-gallery-scrollbar-thumb{
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        border-radius: 0.2rem;
        background: #1a2b4c;
        will-change: transform, width;
    }



    .interview-card-tags .profile-tag{
        font-size: 2rem;
    }
}
