@charset "UTF-8";

/* モジュール用 あとで消すかも */
.moduletitle {
  margin: 60px 0 10px;
  background-color: palegoldenrod;
  color: #000;
  font-weight: lighter;
  padding: 3px 20px;
}

/*------------------------------------------------------------
  共通パーツ
------------------------------------------------------------*/
html { scroll-behavior: smooth;}

html body {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", sans-serif;
  font-weight: 400;
  color: #222222;
}

body a{
  transition: .2s;
}
body a:hover {
  opacity: 0.7;
}
body p {
  margin-bottom: 0;
}
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

ul {
  padding-left: 0;
}

.container {
  width: 100%;
  max-width: 1140px!important;
  padding: 0 30px!important;
  margin: 0 auto;
  box-sizing: border-box;
}

.flexBox {
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.flexBox-r{
  /* レスポンシブあり */
  display: flex;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.w80 {
  display: block;
  width: 80%;
}

.center {
  margin: 0 auto;
}

.right {
  margin-left: auto;
}

.left {
  margin-right: auto;
}

.section {
  padding-top: 70px;
  padding-bottom: 80px;
}

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

.mt20 {
  margin-top: 20px;
}

.mt40 {
  margin-top: 40px;
}

.mt60 {
  margin-top: 60px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb60 {
  margin-bottom: 60px;
}

/* 背景色bg */
.bg-gray {
	background-color: #EEEEEE;
}

.bg-white{
	background-color: #ffffff;
}

.bg-black{
	background-color: #333333;
}

.bg-lightblue{
	background-color: #195493;
}

.bg-blue{
	background-color: #20446B;
}

.bg-darkblue{
	background-color: #0D1933;
}

/* ボックスシャドウ */
.box-shadow5{
  background-color: #ffffff;
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.05);
}

.box-shadow10{
	background-color: #ffffff;
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1);
}

.box-shadow30{
  background-color: #ffffff;
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.3);
}

/* ボタン、パーツ等 */
.btn-main {
  display: block;
  width: fit-content;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 10px 30px;
  background-color: #333;
  color: #fff;
}
.btn-main p {
  display: inline;
  cursor: pointer;
}
.btn-main.btn-white {
  width: fit-content;
  color: #333;
  background-color: #fff;
}

.btn-main_big{
  display: flex;
  width: 277px;
  font-size: 1rem;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  padding: 20px 0;
  background-color: #0D1933;
  color: #fff;
}

.btn-main_big.border{
  width: 277px;
  background-color: transparent;
  border: 1px solid #0D1933!important;
  color: #0D1933;
}

.btn-main-white_big{
  display: flex;
  width: 277px;
  font-size: 1rem;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  padding: 20px 0;
  background-color: #fff;
  color: #3E382B;
}

.btn-long_darkblue{
  background: #0D1933;
  color:#fff;
}
.btn-long_blue{
  background: #20446B;
  color:#fff;
}
.btn-long_white{
background: #fff;
color:#333;
}
.btn-long_darkblue,.btn-long_blue,.btn-long_white{
  display: block;
  width: 100%;
  height: 100px;
  padding-top: 30px;
  padding-left: 41px;
  font-size:1.75rem;
  font-weight:500; 
  box-sizing: border-box;
  position: relative;
}
.btn-long_darkblue:hover,.btn-long_blue:hover{
  color:#fff;
}
.btn-long_white:hover{
color:#333;
}
.btn-long_darkblue::after,.btn-long_blue::after{
  content:'' ;
  display: block;
  background-image: url(/images/common/arrow-white.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 9px;
  position: absolute;
  top: 50%;
  right: 37px;
  transform: translate(0, -50%);
}

.btn-long_white::after{
  content:'' ;
  display: block;
  /* width: 24px;
  height: 8.4px; */
  background-image: url(/images/common/arrow-black.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 9px;
  position: absolute;
  top: 50%;
  right: 37px;
  transform: translate(0, -50%);
}
/* ボタン-矢印 */
.arrow_black{
  display: block;
  width: fit-content;
  padding-right: 43px;
  position: relative;
  color: #333333;
  /* border-bottom: 1px solid #3E382B; */
}
.arrow_black:hover{
  color: #333333;
}
.arrow_black::after{ 
  content:'';
  display: block;
  background-image: url(/images/common/arrow-black.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 9px;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translate(0,-50%);
}

.arrow_white{
  display: block;
  color: #fff;
  width: fit-content;
  padding-right: 43px;
  position: relative;
}
.arrow_white:hover{
  color:#fff;
}
.arrow_white::after{ 
  content:'' ;
  display: block;
  background-image: url(/images/common/arrow-white.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 9px;
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translate(0,-50%);
}
.line-black{
  border-bottom: 1px solid #333;
}
.line-white{
  border-bottom: 1px solid #fff;
}

.arrow-box_black,.arrow-box_white{
  position: relative;

}
.arrow-box_black::after,.arrow-box_white::after{
  content:'' ;
  display: block;
  background-image: url(/images/common/arrow-white.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 9px;
  position: absolute;
  top: 50%;
  right: 37px;
  transform: translate(0, -50%);
}
.arrow-box_black::after{
  background-image: url(/images/common/arrow-black.svg);
}
.arrow-box_white::after{
  background-image: url(/images/common/arrow-white.svg);
}
.extlink {
  position: relative;
  padding-right: 20px;
}
.extlink img {
  position: absolute;
  width: 13px;
  top: 50%;
  transform: translateY(-50%);
  right: 0px;
}

.txt-blue-line{
  color: #20446B;
  display: inline-block;
  border-bottom: solid 1px #CBCAC7;
  padding: 5px 0 0 0;
}


/* txt */
.txt-lead {
  font-size: 1.125rem;
  font-weight: 500;
}
.txt-normal {
  font-size: 1rem;
  font-weight: 400;
}
.txt-normal-center {
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
}
.txt-mini {
  font-size: 0.875rem;
  font-weight: 400;
}
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}
.txt-left {
  text-align: left;
}
.txt-black {
  color: #333333 !important;
}
.txt-black:hover {
  color: #333333 !important;
}
.txt-white {
  color: #fff !important;
}
.txt-white:hover {
  color: #fff !important;
}

/* テキスト装飾 */
.marker-gray{
  background: rgb(199,206,214);
  background: linear-gradient(0deg, rgba(199,206,214,1) 34%, rgba(197,204,212,1) 35%, rgba(255,255,255,0) 35%);
}

/* title */
.h2-normal {
  font-size: 2.5rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 40px;
  line-height: 1.5!important;
}

.h2-normal-center {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 40px;
  line-height: 1.5!important;
}

.h2-normal_white {
  font-size: 2.5rem;
  font-weight: 500;
  color: #fff;
  margin-bottom: 40px;
  line-height: 1.5!important;
}

.h2-border {
  display: flex;
  align-items: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 40px;
  line-height: 1.5!important;
}
.h2-border::after {
  content: "";
  background-color: #CBCAC7;
  flex-grow: 1;
  height: 1px;
  margin-left: 40px;
}

.h2-border_white {
  display: flex;
  align-items: center;
  font-size: 2.5rem;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 40px;
  line-height: 1.5!important;
}
.h2-border_white::after {
  content: "";
  background-color: #CBCAC7;
  flex-grow: 1;
  height: 1px;
  margin-left: 40px;
}
.h2-mini{
  font-size: 2rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 40px;
  line-height: 1.5!important;
}

.sub-title {
  margin-bottom: 40px;
}
.sub-title .h2-normal_white {
  margin-bottom: 0;
  line-height: 1.5!important;
}
.sub-title .h2-normal {
  margin-bottom: 0;
  line-height: 1.5!important;
}
.sub-title .h2-border {
  margin-bottom: 0;
  line-height: 1.5!important;
}
.sub-title .h2-border_white {
  margin-bottom: 0;
  line-height: 1.5!important;
}
.sub-title h2{
  margin-bottom: 0;
  line-height: 1.5!important;
}

.h3 {
  font-size: 1.75rem!important;
  font-weight: 500;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.5!important;
}
.h4 {
  font-size: 1.375rem!important;
  font-weight: 500;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.5!important;;
}

/*------------------------------------------------------------
  ヘッダー、ページヘッダー、mv、フッター、パンクズリスト
------------------------------------------------------------*/
/* ヘッダー */
.header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
}
.header_wrap {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  box-shadow: 0 0 3px rgba(0,0,0,.1);
  height: 80px;
}
.head_logo {
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 20px;
}
.head_logo a {
  display: flex;
  align-items:center; 
}
.head_logo a span {
  white-space: nowrap;
  margin-left: 10px;
  color: #20446B;
  font-weight: 500;
  font-size: 0.75rem;
}
.head_logo a img {
  width: auto;
  height: 65px;
  object-fit: unset;
  display: block;
}
.header-menu {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.header-menu .header-menuChild .extlink {
  padding: 0 30px 0 0;
  display: block;
  line-height: 80px;
}
.header-menu li a {
  font-weight: 500;
  height: 80px;
  padding: 0 1.5vw;
  display: block;
  line-height: 80px;
  white-space: nowrap;
  font-size: 0.9rem;
}
.header-menu .menu-parent.open {
  background-color: #EEEEEE;
}
.header-menu .header-menuChild .arrow_black {
  padding-right: 43px;
  padding-left: 0;
  width: 300px;
}
.header-menu .header-menuChild .arrow_white {
  padding-right: 43px;
  padding-left: 0;
  width: 230px;
}
.header-menu .bg-darkblue,
.header-menu .bg-blue {
  transition: .2s;
}
.header-menu .bg-darkblue:hover {
  opacity: .7;
}

.header-menuChild {
  display: none;
}
.header-menuChild.open {
  display: block;
  width: max-content;
  padding: 0 30px;
  border-top: 1px solid #ddd;
}
.menu-hasChild {
  position: relative;
}
.header-menuChild {
  position: absolute;
  right: 50%;
  transform: translateX(50%);
}
.sp-menu-open {
  display: none;
}
.header-menu .menu-parent.extlink {
  padding-right: 40px;
}
.header-menu .menu-parent.extlink img {
  right: 20px;
}
/* 採用情報のドロップダウンのスタイル */
.bg-blue.menu-hasChild .menu-parent.open {
  background-color: #20446B;
}
.bg-blue.menu-hasChild .header-menuChild.open {
  background-color: #4C6988;
  width: max-content;
  padding: 0 30px;
  transform: translateX(33%);
}
.bg-blue.menu-hasChild .header-menuChild.open .flexBox {
  display: flex;
  column-gap: 30px;
}
.bg-blue.menu-hasChild li a {
  color: #fff;
}


/* フッター */
.footer{
  border-top: 2px solid #0D1933;
}

/* フッターtop */
.footer-top{
  padding-top: 40px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  row-gap: 20px;
  padding-bottom: 30px;
}
.footer-top_item{
  width: fit-content;
  padding-right: 60px;
  box-sizing: border-box;
}
.footer-top_item.saiyou {
  width: fit-content;
  padding-right: 0;
}
.footer-top_item.saiyou .flexBox:first-of-type .footer-item,
.footer-top_item.saiyou .footer-item-child {
  margin-left: 20px;
  list-style: none;
}
.footer-top_item.saiyou .footer-list {
  padding-right: 20px;
}
.footer-list{
  margin-top: 20px;
}
.footer-title{
  font-size: 1.125rem;
  font-weight: 700;
  color:#0D1933;
  line-height: 1.75;
  letter-spacing:  0.05em;
  white-space: nowrap;
}
.footer-item {
  padding-right: 20px;
}
.footer-item a{
  font-size: 0.875rem;
  color:#0D1933;
  line-height: 1.42;
  letter-spacing:  0.05em;
  padding-left: 10px;
  position: relative;
  display: inline-block;
  /* word-break: auto-phrase; */
  white-space: nowrap;
}
.footer-item a::before{
  content:'';
  display: block;
  width: 5px;
  height: 1px;
  background: rgba(51,51,51,0.42);
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0, -50%);
}
.footer-top_item-contact{
  width: fit-content;
  padding-right: 40px;
}
.footer-top_item-contact >a{
  display: block;
  margin-top: 20px;
}
.footer-top_item-contact >a:first-child{
  margin-top: 0;
}
.footer-privacy{
  font-size: 0.875rem;
  color:rgba(13,25,51,0.8);
  opacity: 0.8;
  line-height: 1.42;
  letter-spacing:  0.05em;
  text-decoration: underline;
}

/* フッターbottom */
.footer-bottom{
  padding-top: 48px;
}
.footer-flex{
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
}
.footer-company p{
  font-size: 1.9rem;
  color: #FFF;
  width: fit-content;
}
.footer-logo{
  width: 148px;
  margin-bottom: 10px;
  display: block;
}
.footer-address{
  width: fit-content;
 font-size: 0.875rem;
 line-height: 1.4285;
 letter-spacing:  0.05em;
 color:rgba(255,255,255,0.8);
}
.footer-copyright{
font-size: 0.875rem;
text-align: center;
padding-bottom: 20px;
}

/*------------------------------------------------------------
 template-Parts
------------------------------------------------------------*/
/* パンクズリスト */
.section.breadSection{
  padding-top: 0;
  padding-bottom: 0;
  background: #EEEEEE;
}
.breadSection .breadcrumb{
  height: 25px;
  padding: 0;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0);
  flex-wrap: nowrap;
  white-space: nowrap;
}
.breadSection .breadcrumb li{
  padding-left: 10px;
}
.breadSection .breadcrumb li span{
  font-size: 0.875rem;
}
.breadSection .breadcrumb li::before{
  content:url(/images/common/bread-arrow.svg);
  padding-right: 10px;
}
.breadSection .breadcrumb li:last-child span{
  font-weight: 500;
}
#panHome i{
  display: none;
}
.breadSection .breadcrumb #panHome{
  font-weight:400;
  text-decoration: underline;
}
.breadSection .breadcrumb #panHome::before{
display: none;
}

/* メディア .media */
.media-titleArea {
width: 38%;
}
.media-contentsArea {
width: 62%;
}
.media-list{
  justify-content: space-between;
}
.media-list > a{
  display: block;
  width: 48%;
}
/* 関連情報 related-info*/
.related-info-linkWrap{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.related-info-link{
  width: 25%;
  box-sizing: border-box;
  font-weight:500;
}
.related-info-link >.arrow_black{
  width: 70%;
  box-sizing: border-box;
}
.related-info-btns{
  justify-content: space-between;
}
.related-info-btn1,.related-info-btn2{
  width: 49%;
  box-sizing: border-box;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.related-info-btn1 a,.related-info-btn2 a{
  display: block;
  width: 100%;
  height: 100%;
  padding: 38.5px 42px 43.3px 51px;
  box-sizing: border-box;
}
.related-info-btn1{
    background-image: url(/images/common/related-info-btn1.jpg);
}
.related-info-btn2{
  background-image: url(/images/common/related-info-btn2.jpg);
}

/* JQuery-タブ
--選択タブはjs-itemとis-active、スタイルは別classで作成。
表示コンテンツはjs-contentとis-content-active */
.js-content{
  display: none;
}
.js-content.is-content-active{
display: block;
}

/*------------------------------------------------------------
  トップページ　front-page
------------------------------------------------------------*/
/* top-mv */
.mv{
  width: 100%;
  height: 569px;
  /* margin-top: 80px; */
  background-image: url(/images/top/mv.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.mv-wrap{
  max-width: 900px;
  width:100%;
  padding: 130px 10px 0;
  box-sizing: border-box;
  margin: auto ;    
}

.mv-title{
  text-align:left;
  font-size:8rem;
  font-weight:800;     
  line-height: 1;
  font-family: "DIN Condensed";
}
.mv-lead{
  text-align:left;
  font-size: 4rem;
  line-height: 1;
  font-weight:800;  
  margin-top: 10px;
  font-family: "DIN Condensed";    
}
.mv-txt{
  margin-top: 2rem;
  text-align:left;
}

/* top-news */
.top-news{
  /* height: 305px; */
  padding-left: 15px;
  padding-right: 15px;
}
.top-news-container{
  max-width: 989px;
  width:100%;
  padding: 23px 49px 34px 40px;
  margin: 0 auto; 
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  transform: translate(0, -50px);
}
.top-news-inner {
display: flex;
}
.top-news-titleWrap {
width: 17.8%;
display: flex;
flex-direction: column;
}
.top-news-btn{
  margin-top: auto;
}
.top-news-listWrap {
  width: 82.2%;
}
.top-news-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5) ;
  padding: 13px 0 13px;
}
.top-news-date {
  width: 146px;
  font-size:0.875rem;
  font-weight:500;
  color:rgba(51, 51, 51, 0.5) ;
  line-height: 2.5;
}
.top-news-title {
  width: calc(100% - 146px);
  font-size:1rem;
  font-weight:500;
  color:#333333;
  line-height: 1.625;
}

/* top-achievements */

.section

.top-achievements .achievements .achievement-img {
　width: 70%;
}

/* top-service */
.top-service-item{
  display: flex;
  padding: 33px 22px 20px 36px;
}
.top-service-point span{
font-weight:500;
}
.top-service-motive{
  width: fit-content;
  border-right: 1px solid #D8D7D4;
  padding-right: 28px;
}
.top-service-reason{
  flex: 1;
  padding-left: 46px;
}
.top-service-introduction{
  background-image: url(/images/service/service_03.jpg) ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.frame-bg-white{
  padding: 30px 40px 30px 40px;
  margin: 30px;
  border: 1px solid #333;
  background-color: #FFF;
}

.ud-line{
  display: inline-block;
  border-bottom: solid 1px #CBCAC7;
  padding: 10px 0 15px 0;
}

.box_txt-normal{
  padding: 15px 0 25px 0;  
}

/* top-recruit */
.top-recruit-box1,.top-recruit-box2{
  height: 226px;
  padding: 31px 0 0 31px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.top-recruit-box1{
  background-image: url(/images/top/top-recruit1.jpg);
}
.top-recruit-box2{
  background-image: url(/images/top/top-recruit2.jpg);
}
.top-recruit-label{
  width: fit-content;
  background: #fff;
  color:#20446B;
  font-weight:700; 
  line-height: 34px;
  padding-right: 20px;
  padding-left: 20px;
}
.top-recruit-lead{
  font-size: 1.75rem;
  font-weight: 500;
  color: #fff; 
  line-height: 1.5;
}
.top-recruit-btn{
  position: absolute;
  right: -34px;
  bottom: -16px;
}

.top-recruit-position-box{  
  display: flex;
  width: 95%;
  height: 100%;
  background-color: #EEEEEE;
}
.top-recruit-img1{
  background-image:url(/images/top/recruit-dummy.png);
  width: 200px;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}

.top-recruit-position{
  width: 100%;
  height: 150px;
  margin-top: 20px;
  margin-left: 10px;
  margin-right: 10px;
}
.top-recruit-position .txt-normal{
  margin-right: 15px;
}

/* top-company */
.top-company{
  background-image: url(/images/top/top-company.jpg);
  background-position: 30% top;
  background-repeat: no-repeat;
  background-size: cover;
}
.top-company-lead{
font-size:1.75rem;
font-weight:500; 
line-height: 1.42;    
}
.top-company-concept{
  width: fit-content;
  font-size:3.125rem;
  font-weight:500; 
  line-height: 1.44;
}
.top-company-txt{
  width: 100%;
}
/* top-blog */
.top-blog-ist{
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.top-blog-item {
width: 30%;
margin-right: 5px;
}
.top-blog-item:nth-child(3n){
  margin-right: 0;
}

.top-blog-thumbnail {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.top-blog-thumbnail::before {
  padding-top: 66.6666%; 
  display: block;
  content:'';
}
.top-blog-thumbnail img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  object-position: center;
}
.top-blog-info {
display: flex;
margin-top: 23px;
}
.top-blog-date{
font-size:0.875rem;
font-weight:400; 
color:#A2A7B1;
line-height: 1.75;
}
.top-blog-info .top-blog-date{
  margin-right: 16px;
}
.top-blog-category {
width: fit-content;
font-size:0.75rem;
color:#fff;
line-height: 24px;
background: #195493;
padding: 0 20px;
border-radius: 20px;
}
.top-blog-title {
margin-top: 5.7px;
line-height: 1.625;
}

/* ニュース（ページ） */
.news-content .newsContent_txt p {
  margin-bottom: 20px;
}
.top-news-date {
  width: 150px;
}
.news-catarea .flexBox {
  gap: 10px 20px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.news-catarea .flexBox a {
  color: #20446B;
  background-color: #fff;
  border: 1px solid #20446B;
  padding: 0 20px 2px;
  border-radius: 30px;
  font-weight: 500;
  white-space: nowrap;
}
.news-category {
  width: 150px;
  text-align: center;
  background-color: #20446B;
  color: #fff;
  border-radius: 50px;
  font-size: 0.875rem;
  padding: 0 0 2px;
  margin-right: 20px;
}
.news-category:hover {
color: #FFF;
background-color: #20446B;
}
/* snow monkey forms お問い合わせ・エントリー */
.contact-form .smf-item__label__text {
    font-size: 1.25rem;
    font-weight: 500;
    padding-bottom: 10px;
    display: block;
}
.contact-form p {
font-size: 1rem!important;
font-weight: 400!important;
}
.contact-form .smf-action .smf-button-control__control {
  margin: auto;
  display: block;
  width: 277px;
}
.contact-form .smf-action .smf-button-control__control:hover {
  opacity: .7;
}
/* 利用規約 */
.pp-check #contact-modal-title:hover {
  cursor: pointer;
} 
.pp-check #contact-modal-title:hover .has-inline-color {
  text-decoration: underline;
} 
.pp-check .smf-item__controls {
  display: flex;
}
.smf-form .pp-check .smf-item__controls .smf-checkboxes-control__control>.smf-label {
  margin-right: 0;
}

.contact-form .contact-pp-modal {
  display: none;
}
.contact-form .contact-pp-modal.open {
  display: block;
  content: "";
  width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,.7);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
}
.contact-form .contact-pp-modal.open .contact-pp-modal-content {
  position: absolute;
  background-color: #fff;
  padding: 30px;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 10px rgba(0,0,0,.1);
  z-index: 11;
  width: 75%;
  height: fit-content;
  max-height: 80%;
  overflow: scroll;
}
.contact-form .contact-pp-modal.open .modal-close {
  color: #fff;
  background-color: #0D1933;
  width: auto;
  padding: 5px 20px 7px;
  text-align: center;
  margin-top: 40px;
}

/*------------------------------------------------------------
  個別ページ single-**.php　page-***.php
------------------------------------------------------------*/
/* 下層ページ　ヘッダー */
.page-header_h1{
height: 230px;
display: flex;
flex-direction: column;
text-align: center;
justify-content: center;
align-items: center;
margin-bottom: 0;
}
.page-header_h1 .pagetitle_en {
  font-size: 1rem;
  margin-top: 10px;
}

/* single-position 職種一覧詳細 */
.single-position{
  padding-top: 90px;
}
.single-position .container.flexBox {
  justify-content: space-between;
}
.single-position p {
  margin-bottom: 20px;
}
.single-position .h2-normal {
  padding: 0px 20px 3px;
}
.single-position .title-area {
  width: 30%;
}
.single-position .content-area {
  width: 68%;
  line-height: 1.75;
}
.single-position .h3{
  font-size:1.75rem;
  font-weight:700;
  line-height: 1.75;
  letter-spacing:  0.05em;
  padding-left: 20px;
  position: relative;
}
.single-position .h3::before{
  content:'';
  display: block;
  background: #20446B;
  width: 10px;
  height: 40px;
  position: absolute;
  top: 4px;
  left: 0;
  transform: translate(0, 0);
}
.single-position .requirements-item{
  padding-top: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, #D8D7D4 29%, #ffffff 29%,#ffffff 31%,#D8D7D4 31%,#D8D7D4 100%);
  border-image-slice: 1;
}
.single-position .requirements-item .content-area{
  padding-left: 2%;
  box-sizing: border-box;
}
.single-position .requirements-item:first-child{
  padding-top: 0;
}

/* 採用top recruit */
.recruit-mv{
  position: relative;
}
.recruit-mv-wrap{
  color:#fff;
  font-weight:500;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  text-shadow: 0px 0px 15px rgba(0,0,0,.8)
}
.recruit-mv-catch{
  font-size: 4.375rem;
}
.recruit-mv-txt{
  font-size: 1.375rem;
}
.recruit-news-inner{
  padding: 40px 53px 41px 35px;
}
.recruit-news-titleArea{
  width: 30%;
}
.recruit-news-titleArea .txt-normal{
  width: 77%;
}
.recruit-news-contentsArea{
width: 70%;
}
.recruit-news-info{
margin-top: auto;
margin-bottom: auto;
}
.recruit-news-item{
  padding: 10px 23px 20px 16px;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
}
.recruit-news-date {
color:rgba(51, 51, 51, 0.5);
font-size: 0.875rem;
font-weight: 500;
}
.recruit-news-category_news, .recruit-news-category_mid{
display: block;
width: 115px;
height: 24px;
line-height: 24px;
border-radius: 12px;
font-size: 0.85rem;
font-weight:500;
text-align: center;
}
.recruit-news-category_news{
  color:#ffffff;
  background-color: #20446B;
}
.recruit-news-category_news:hover{
  color:#ffffff;
  background-color: #20446B;
}

.recruit-news-category_mid{
  background: #fff;
  color:#20446B;
  border: 1px solid #20446B;
}
.recruit-news-category_mid:hover{
  background: #fff;
  color:#20446B;
}
.recruit-news-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.625;
}
.recruit-news-list .recruit-news-date{
width: 118px;
}
.recruit-news-list .recruit-news-category_news,
.recruit-news-list .recruit-news-category_mid{
  margin-right: 40px;
}
.recruit-box1,.recruit-box2{
  display: flex;
  justify-content: space-between;
}
.recruit-boxImg{
width: 34%;
min-height: 469px;
overflow: hidden;
}
.recruit-boxImg img{
  object-fit: cover;
 height: 100%;

}
.recruit-boxTxt{
width: 59%;
display: flex;
flex-direction: column;
}
.recruit-boxTxt .h3 {
  margin-bottom: 40px;
}
.recruit-boxBtn{
  margin-top: auto;
  padding-top: 10px;
}

/* 採用-福利厚生パーツ */
.recruit-welffareBox{
  width: 50%;
  padding: 50px 0 34px ;
  box-sizing: border-box;
}
.recruit-welffareBox:first-of-type {
  border-right: 1px solid #D8D7D4;
}
.recruit-welffareBox2{
  width: 33.3%;
  box-sizing: border-box;
  border-right: 1px solid #D8D7D4;
  padding: 50px 20px 30px 30px;
}
.recruit-welffareBox2:last-child{
  border-right: 0;
  padding-top: 30px;
  display: flex;
  flex-direction: column;
}

/* 会社を知る　.recruit-company */
.recruit-company-inner{
  justify-content: space-between;
}
.recruit-company-btn1,
.recruit-company-btn2,
.recruit-company-btn3{
width: 31%;
height: 152px;
display: flex;
align-items: center;
text-align: center;
justify-content: center;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
font-size: 1.75rem;
font-weight:500;
color:#fff;
}
.recruit-company-btn1:hover,
.recruit-company-btn2:hover,
.recruit-company-btn3:hover{
  color:#fff;
}
.recruit-company-btn1{
background-image: url(/images/recruit/company-btn1.jpg);
}
.recruit-company-btn2{
background-image: url(/images/recruit/company-btn2.jpg);
}
.recruit-company-btn3{
background-image: url(/images/recruit/company-btn3.jpg);
}

/* 仕事を知る .recruit-work*/
.recruit-work-titleArea{
  width: 22%;
}
.recruit-work-titleArea .h3 {
  margin-bottom: 20px;
}
.recruit-work-btnArea{
  width: 78%;
}
.recruit-work-btn1,.recruit-work-btn2,.recruit-work-btn3{
  display: block;
  height: 126px;
  box-sizing: border-box;
  padding: 42px 0 0 66px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.recruit-work-btn1{
  background-image: url(/images/recruit/job-btn1.jpg);
}
.recruit-work-btn2{
  background-image: url(/images/recruit/job-btn2.jpg);
  margin-top: 12px;
}
.recruit-work-btn3{
  background-image: url(/images/recruit/job-btn3.jpg);
  margin-top: 12px;
}

/* 新卒・キャリア採用トップ-エントリーパーツ */
.recruit-entryParts{
  background-image: url(/images/recruit/entry-bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.recruit-entryParts-inner{
  justify-content: space-between;
}
.recruit-entryParts-inner >div{
  width: 47%;
}
.recruit-entryParts-inner .btn-long_blue,
.recruit-entryParts-inner .btn-long_white{
  height: 140px;
  padding-top: 42px;
  padding-left: 0;
  text-align: center;
}
.recruit-entryParts-inner .btn-long_white.red {
  color: #fff;
  background-color: #D81919;
}
.recruit-entryParts-inner .btn-long_white.red::after {
  background-image: url(/images/common/arrow-white.svg);
}

/* 新卒採用トップ */
.recruit-new-mv >div{
  width: 50%;
}
.recruitNew-top_img .mv-inner{
  width: 100%;
  position: relative;
  overflow:hidden;
  display: block;
}
.recruitNew-top_img .mv-inner::before {
  padding-top: 79.6954612%; 
  display: block;
  content:'';
}
.recruitNew-top_img .mv-inner img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  object-position: center;
}
.recruit-mv-title_new{
  display: flex;
  padding-left: 68px;
}
.recruit-mv-title_new > p{
margin-top: auto;
margin-bottom: auto;
}
.recruit-new-lead{
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 30px;
}
/* 新卒---会社を知る */
.newgraduate.about-company .anchor-link-box .flexBox {
  justify-content: space-between;
}
.newgraduate.about-company .anchor-link {
  width: 32%;
  padding: 40px 50px;
}
.newgraduate.about-company .anchor-sp {
  display: none;
} 
.newgraduate.about-company .anchor-link .arrow_black {
  width: auto;
}
.newgraduate.about-company .company-message img {
  width: 50%;
  margin-right: 80px;
  margin-bottom: 40px;
}
.newgraduate.about-company .company-message .message-txt {
  padding-top: 60px ;
}
.newgraduate.about-company .company-message .message-txt .h4 {
  padding-top: 40px ;
  color: #20446B;
}
.newgraduate.about-company .Why-dexall .flexBox {
  justify-content: space-between;
  margin-top:80px ;
}
.newgraduate.about-company .Why-dexall .three-item {
  width: 30%;
  position: relative;
}
.newgraduate.about-company .Why-dexall .three-item span {
  position: absolute;
  top:0px;
  left: 0px;
  background-color: #20446B;
  color: #FFF;
  padding: 20px 40px ;
}
.newgraduate.about-company .Why-dexall .three-item .three-item-txt {
  margin: 120px 20px 20px 20px;
}
.newgraduate.about-company .Why-dexall .three-item .three-item-txt .txt-normal {
  padding-top:20px ;
}
.newgraduate.about-company .m-v-v .h3.title {
  background-color:#20446B ;
  color: #FFF;
  padding-left: 35px;
  margin-bottom: 60px;
}
.newgraduate.about-company .m-v-v .flexBox {
  justify-content: space-between;
}
.newgraduate.about-company .m-v-v .mission-txt {
width: 45%;
}
.newgraduate.about-company .m-v-v .mission-txt .h3 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.newgraduate.about-company .m-v-v .box-shadow30 {
  width: 50%;
  padding-top: 40px;
  padding-bottom: 40px;
}
.newgraduate.about-company .m-v-v .box-shadow30 .origin-txt {
  padding-right: 40px;
}
.newgraduate.about-company .m-v-v .box-shadow30 .h3 {
  padding-left: 40px;
}
.newgraduate.about-company .m-v-v .box-shadow30 img {
  width: 40px;
}
.newgraduate.about-company .m-v-v .box-shadow30 .flexBox {
  justify-content: center;
  align-items: center;
  margin-top: 50px;
} 
.newgraduate.about-company .m-v-v .txt-normal.w80.center {
  margin-top: 80px;
  margin-bottom: 80px;
}
.newgraduate.about-company .m-v-v img {
  width: 50%;
}
.newgraduate.about-company .m-v-v .V-txt {
  margin-top: 80px;
} 
.newgraduate.about-company .m-v-v .V-img {
  margin-top: 60px;
  text-align: center;
}
.newgraduate.about-company .m-v-v .generous-support {
  border:solid 3px #20446B ;
  padding: 45px;
}
.newgraduate.about-company .m-v-v .generous-support .h3 {
  color: #20446B;
  margin-bottom: 20px ;
}
.newgraduate.about-company .data .flexBox {
justify-content: space-between;
}
.newgraduate.about-company .data .data-2rows {
  width: 47%;
  margin-top: 80px;
  margin-bottom: 40px;
}
.newgraduate.about-company .data .data-3rows {
  width: 30%;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* 新卒採用エントリー */
.new-graduate .newG-txt {
  width: 60%;
  padding-right: 50px;
}
.new-graduate .newG-img {
  width: 40%;
}
.new-graduate .h2-normal.txt-center {
  padding-top: 80px;
  color:#FFF;
}
.new-graduate .recruitment-flow {
  width: 100%;
  height: 690px;
  background-image: url(/images/recruit/bg-flowchart.jpg) ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.new-graduate .bg-gray {
  width: 60%;
  border-radius: 20px; 
  padding: 30px;
}
.new-graduate .flexBox {
  justify-content: space-between;
} 
.new-graduate .selection-txt {
  width: 75%;
  padding-right: 40px;
}
.new-graduate .line-QR {
  width: 40%;
}
 .new-graduate .line-txt {
  padding-left: 20px;
} 

/* 新卒・キャリア採用トップ */
.recruit-mv-title_new,.recruit-mv-title_mid{
  font-size: 2.5rem;
  font-weight:500;
  letter-spacing: 0.1em;
  line-height: 1.75;
  }
  /* キャリ採用トップ */
  .recruit-mv-title_mid{
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  }
  .recruit-jogGroups{
  width: 36%;
  padding-right: 58px;
  box-sizing: border-box;
  }
  .recruit-jogGroup{
  display: block;
  color:#CBCAC7;
  font-size: 1.375rem;
  font-weight:500;
  letter-spacing: 0.05em;
  padding: 20px 0 20px 30px;
  border-bottom: 1px solid #D8D7D4;
  position: relative;
  }
  .recruit-jogGroup::before{
  content:'○';
  color:#CBCAC7;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  }
  
  .recruit-jogGroup.is-active{
  color:#333;
  }
  .recruit-jogGroup.is-active::before{
  content:'●';
  color:#333;
  }
  
  .recruit-jobListArea {
  width: 64%;
  }
  .recruit-jobList{
  padding: 12px 27px 37px 40px;
  }
  .recruit-jobList >li > a{
  box-sizing: border-box;
  display: block;
  color:#333;
  font-size: 1.375rem;
  font-weight:500;
  letter-spacing: 0.05em;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D8D7D4;
  font-weight:500;
  letter-spacing: 0.05em;
  }
  .recruit-jobList >li > a::after{
    right: 20px;
  }
  
/* キャリア採用---会社を知る */
.career.about-company .anchor-link-box .flexBox {
  justify-content: space-between;
}
.career.about-company .anchor-link {
  width: 32%;
  padding: 40px 50px;
}
.career.about-company .anchor-sp {
  display: none;
} 
.career.about-company .anchor-link .arrow_black {
  width: auto;
}
.career.about-company .company-message img {
  width: 50%;
  margin-right: 80px;
  margin-bottom: 40px;
}
.career.about-company .company-message .message-txt {
  padding-top: 60px ;
}
.career.about-company .company-message .message-txt .h4 {
  padding-top: 40px ;
  color: #20446B;
}

.career.about-company .m-v-v .h3.title {
  background-color:#20446B ;
  color: #FFF;
  padding-left: 35px;
  margin-bottom: 60px;
}
.career.about-company .m-v-v .flexBox {
  justify-content: space-between;
}
.career.about-company .m-v-v .mission-txt {
width: 45%;
}
.career.about-company .m-v-v .mission-txt .h3 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.career.about-company .m-v-v .box-shadow30 {
  width: 50%;
  padding-top: 40px;
  padding-bottom: 40px;
}
.career.about-company .m-v-v .box-shadow30 .origin-txt {
  padding-right: 40px;
}
.career.about-company .m-v-v .box-shadow30 .h3 {
  padding-left: 40px;
}
.career.about-company .m-v-v .box-shadow30 img {
  width: 40px;
}
.career.about-company .m-v-v .box-shadow30 .flexBox {
  justify-content: center;
  align-items: center;
  margin-top: 50px;
} 
.career.about-company .m-v-v .txt-normal.w80.center {
  margin-top: 80px;
  margin-bottom: 80px;
}
.career.about-company .m-v-v img {
  width: 50%;
}
.career.about-company .m-v-v .V-txt {
  margin-top: 80px;
} 
.career.about-company .m-v-v .V-img {
  margin-top: 60px;
  text-align: center;
}
.career.about-company .m-v-v .generous-support {
  border:solid 3px #20446B ;
  padding: 45px;
}
.career.about-company .m-v-v .generous-support .h3 {
  color: #20446B;
  margin-bottom: 20px ;
}
.career.about-company .our-values .flexBox {
  padding-top: 60px;
  justify-content: space-between;
}
.career.about-company .our-values .h4 {
  color: #20446B;
  padding-left: 10px;
  margin-bottom: 20px;
  border-left: 7px solid #20446B ;
}
.career.about-company .our-values .our-values-txt {
  width: 45%;
}
/* キャリア採用---会社を知る---数字で見る */
.career.about-company .data .flexBox {
justify-content: space-between;
}
.career.about-company .data .data-2rows {
  width: 47%;
  margin-top: 80px;
  margin-bottom: 40px;
}
.career.about-company .data .data-3rows {
  width: 30%;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* キャリア採用エントリー */
.career-recruitment .newG-txt {
  width: 70%;
  padding-right: 50px;
}
.career-recruitment .newG-img {
  width: 35%;
}
.career-recruitment .h2-normal.txt-center {
  padding-top: 80px;
  color:#FFF;
}
.career-recruitment .recruitment-flow {
  width: 100%;
  height: 690px;
  background-image: url(/images/recruit/bg-flowchart.jpg) ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.career-recruitment .flowchart {
  width: 50%;
  margin-right: auto;
  margin-left: auto;
}
.career-recruitment .recruit-item li {
  border-bottom: solid  1px #D8D7D4 ;
  padding-top: 10px;
  padding-bottom: 10px;
}
.career-recruitment .recruit-item.job-title.bg-gray {
  width: 70%;
  padding: 30px ;
  margin-left: 60px;
} 
.career-recruitment .recruit-item.job-title.bg-gray li{
  border-bottom: solid 1px #D8D7D4 ;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 1.2rem;
}
.career-recruitment .recruit-item.job-title.bg-gray .arrow_black {
  width: auto; 
}
/*------------------------------------------------------------
  採用---共通
------------------------------------------------------------*/
/* 環境・文化を知る */
.environment-culture .flexBox {
  justify-content: space-between;
}
.environment-culture .index-btn-tow {
  width: 48%;
  margin-bottom: 60px;
 position: relative;
}
.environment-culture .index-btn-tow .h2-normal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
.environment-culture .index-btn-tow .txt-normal {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
.environment-culture .index-btn {
  position: relative;
}
.environment-culture .index-btn .h2-normal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
.environment-culture .index-btn .txt-normal {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
/* 社員紹介 */
.employee-introduction .flexBox {
  padding-bottom: 40px;
  justify-content: space-between;
}
.employee-introduction .anchor-link {
  width: 30%;
  padding-top: 60px;
  position: relative;
}
.employee-introduction .anchor-sp {
  display: none;
}
.employee-introduction .anchor-link.business .txt-normal {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: #1D3D60;
  color:#FFF;
  padding: 10px 34px 10px 34px;
}
.employee-introduction .anchor-link.corporate .txt-normal {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: #20446B;
  color:#FFF;
  padding: 10px 34px 10px 34px;
}
.employee-introduction .anchor-link.engineer .txt-normal {
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-color: #0C172E;
  color:#FFF;
  padding: 10px 34px 10px 34px;
}
.employee-introduction .profession.corporate .flexBox {
  justify-content: flex-start;
  gap: 55px;
}
.employee-introduction .profession .business-item {
  width: 30%;
}
.employee-introduction .profession.corporate .business-item {
  width: 30%;
}
.employee-introduction .profession.business .h2-normal {
  background-color: #1D3D60;
  color:#FFF;
  padding: 10px 0 10px 50px;
  margin-top: 80px;
}
.employee-introduction .profession.corporate .h2-normal {
  background-color: #20446B;
  color:#FFF;
  padding: 10px 0 10px 50px;
  margin-top: 80px;
}
.employee-introduction .profession.engineer .h2-normal {
  background-color: #0C172E;
  color:#FFF;
  padding: 10px 0 10px 50px;
  margin-top: 80px;
}
.employee-introduction .profession .business-item .bg-gray {
  padding: 20px;
}
.employee-introduction .profession .business-item .bg-gray .txt-normal {
  padding-top: 15px;
}
.employee-introduction .profession.business .business-item .bg-gray .job {
  background-color: #1D3D60;
  color:#FFF;
  border-radius: 5px;
  padding: 3px 10px 3px 10px;
  margin-bottom: 15px;
  width: fit-content;
}
.employee-introduction .profession.corporate .business-item .bg-gray .job {
  background-color: #20446B;
  color:#FFF;
  border-radius: 5px;
  padding: 3px 10px 3px 10px;
  margin-bottom: 15px;
  width: fit-content;
}
.employee-introduction .profession.engineer .business-item .bg-gray .job {
  background-color: #0C172E;
  color:#FFF;
  border-radius: 5px;
  padding: 3px 10px 3px 10px;
  margin-bottom: 15px;
  width: fit-content;
}

/* 制度・福利厚生 */
.welfare .bg-white{
  padding: 80px ;
}
.welfare .welfare-subject {
  width: 50%;
  margin-top: 40px;
  margin-bottom: 40px;
}
.welfare .welfare-item {
  width: 52%;
  margin-top: 40px;
  margin-bottom: 40px;
}
.welfare .welfare-item .h4 {
  color:#1D3D60;
}
.welfare .welfare-item .txt-normal {
 margin-bottom: 40px;
}
.welfare .flexBox+.flexBox {
  background-image: linear-gradient(to right, #9B9B9B 7px, transparent 7px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
}
.welfare .point {
  background:rgba(29,61,96,0.2);
  padding: 30px;
}
.welfare .point span img {
  max-width: 25px;
 height: auto;
  margin-bottom: 10px;
  margin-left: 30px;
}


.welfare .h4 span {
  color: #FFF;
  background-color: #1D3D60;
  padding: 7px 30px ;
}
.welfare .txt-lead {
color:#1D3D60;
margin-top: 15px;
}
.welfare .brushup .bg-gray.section-mb {
  padding: 70px;
}
.welfare .brushup .txt-normal {
  padding-bottom: 40px;
}
.welfare .brushup-subject {
  width: 40%;
}
.welfare .brushup-subject .h3 {
  color:#003687 ;
}
.welfare .brushup-item {
  width: 60%;
}
.welfare .brushup-item .h4{
  color: #1C1C1C;
}
/*------------------ ------------------------------------------
  事業紹介
------------------------------------------------------------*/
/* serviceトップ */
.service .service-txt {
  width: 73%;
  margin-right: auto;
  margin-left: auto;
}
.service .service-img  {
  width: 50%;
  padding-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.service .dexall-power {
  background-image: url(/images/service/service_02.jpg) ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.service .dexall-power .h2-border_white {
  margin-bottom: 0;
}
.service .dexall-power .flexBox {
  justify-content: space-between;
}
.service .power-box {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
}
.service .flexBox .power-box .h3 {
 border-bottom: 1px solid #D8D7D4;
 padding-bottom: 20px;
}
.service .introduction {
  background-image: url(/images/service/service_03.jpg) ;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.service .synergy-3 .white-box {
  margin-top: 60px;
}
.service .synergy-3 .white-box .bg-white {
  padding: 10px;
}
.service .synergy-3 .white-box span {
  color: #195493;
  margin-right:40px; 
  margin-left: 30px;
  font-size: 4.375rem;
  font-weight: 100;
  opacity: 0.6;
}
.service .synergy-3 .white-box .synergy-txt {
  padding-top: 25px;
}
.service .synergy-3 .white-box .arrow_black {
 width: auto;
 margin-right: 50px;
}

/* DXコンサルティング事業 */
.dx-consulting .h2-border {
  color:#0D1933 ;
}

.dx-consulting .consal-field .dx-img {
  width: 85%;
}

.dx-consulting .consal-field .box-shadow10{
  padding:20px; 
}

.dx-consulting .digital .dx-txt {
  width: 48%;
  padding-right: 50px;
  color:#0D1933 ;
}
.dx-consulting .digital .dx-img {
  width: 52%;
  padding-top: 50px;
}
.dx-consulting .speed .dx-txt {
  width: 50%;
  color:#0D1933 ;
}
.dx-consulting .speed .dx-img {
  width: 23%;
  margin: auto;
}

.dx-consulting .consal-field {
  padding: 50px;
}

.dx-consulting .digital {
  padding: 50px;
}
.dx-consulting .speed {
  padding: 50px;
} 
.dx-consulting .h3 {
  margin-bottom: 40px;
  color:#0D1933 ;
}

.flexBox.consulting-btn{
  justify-content: center ;
  gap:30px;
}

/* システムインテグレーション事業 */
.system-integration .h2-border {
  color:#0D1933 ;
}
.system-integration h3 {
  color:#0D1933 ;
}
.system-integration .section.bg-white {
  padding-left: 50px;
  padding-right: 50px;
}
.system-integration .txt-normal {
  margin-top: 40px;
  margin-bottom: 40px;
  color:#0D1933 ;
}
/* ITエンジニアリング事業 */
.it-engineering .h2-border {
  color:#0D1933 ;
}
.it-engineering .section.bg-white {
  padding-left: 50px;
  padding-right: 50px;
}
.it-engineering .txt-normal {
  margin-top: 40px;
  margin-bottom: 40px;
  color:#0D1933 ;
}
/*------------------------------------------------------------
  会社情報
------------------------------------------------------------*/
/* 会社情報index */
.index .index-btn {
  position: relative;
}
.index .index-btn .h2-normal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}

.index .index-btn .txt-normal {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
.index .flexBox {
  justify-content: space-between;
}

.index .index-btn-tow {
  width: 48%;
  margin-top: 60px;
  position: relative;
}
.index .index-btn-tow .h2-normal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}
.index .index-btn-tow .txt-normal {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  width: max-content;
}

/* メッセージ */
.president-txt.w80.center {
  padding-top: 70px;
}
/* ミッション・ビジョン・バリュー */
.mission-vision-value .txt-normal {
  margin-bottom: 80px;
}
.mission-vision-value .vision-txt {
  width: 65%;
  padding-right: 60px ;
}
.mission-vision-value .vision-img {
  width: 35%;
}
.mission-vision-value .mission-txt {
  width: 65%;
  padding-right: 60px;
}
.mission-vision-value .mission-img {
  width: 35%;
}
.mission-vision-value .vision .txt-lead {
  margin-top: 40px;
}
.mission-vision-value .h2-border {
  color: #20446B;
}
.mission-vision-value .h2-normal {
  color: #20446B;
}
.mission-vision-value .mission .txt-lead {
  margin-top: 40px;
}
.mission-vision-value .guidelines .h3 {
  width: 30%;
  padding-left: 50px;
}
.mission-vision-value .guidelines .txt-lead {
 width: 60%;
 padding-left: 180px;
}
.mission-vision-value .guidelines .flexBox {
  align-items: center;
  padding: 42px;
}
/* 会社概要 */
.overview .ov-area {
  width: 100%;
}
.overview .ov-area th {
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  font-size: 1.3rem;
  padding: 20px 0 20px 30px;
}
.overview .ov-area td {
  border-top: solid 1px #CBCAC7;
  border-bottom: solid 1px #CBCAC7;
  padding: 20px 0 20px 30px;
  
}

.officer-introduction .flexBox {
  justify-content: center;
  margin-top: 40px;
}
.officer-introduction .officer-img {
  width: 20%;
}
.officer-introduction .officer-txt {
  width: 60%;
  padding-top: 40px;
  padding-left: 60px;
}
.officer-introduction .officer-txt .txt-mini {
  color: #195493;
  margin-bottom: 10px;
}
.officer-introduction .officer-txt .txt-normal {
  margin-top: 20px;
}

.officer-introduction .officer-txt .flexBox {
  justify-content: space-between;
  margin-top: 0;
}
.officer-introduction .officer-snsicon {
  width: 35px;
  margin-top: 30px;
}
.overview .access {
  margin-left: 100px;
}
.overview .access .txt-normal {
  margin-bottom: 20px;
}
/* 関連ページリンク */

.related-pages .flex-container  {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.related-pages .related-link {
  width: 32%;
  margin-bottom: 20px;
  position: relative;
}
.related-pages .related-link .h4 {
  position: absolute;
  top:50%;
  left: 50%;
  transform:translate(-50%,-50%) ;
  color: #FFF;
  font-size: 1rem!important;
  width: max-content;

}
/*------------------------------------------------------------
  職種紹介
------------------------------------------------------------*/
/* 職種紹介 */
/* アンカーリンク */
.occupation .anchor-sp {
  display: none;
}
.occupation .picture-anchor-link.flexBox {
  justify-content: space-between;
}
.occupation .anchor-link-long.business-link {
  width: 47%;
  height: fit-content;
  background-color: #1D3D60;
  margin-bottom: 20px;
}
.occupation .anchor-link-long.business-link .anchor-link-img {
  width: 40%;
}
.occupation .anchor-link-long.business-link .anchor-link-txt {
  padding:20px 0 20px 20px;
} 
.occupation .anchor-link-long.engineer-link {
  width: 47%;
  height: fit-content;
  background-color: #0C172E;
  margin-bottom: 20px;
}
.occupation .anchor-link-long.engineer-link .anchor-link-img {
  width: 40%;
}
.occupation .anchor-link-long.engineer-link .anchor-link-txt {
  padding:20px 0 20px 20px;
} 
.occupation .anchor-link-long.corporate-link {
  width: 47%;
  height: fit-content;
  background-color: #20446B;
  margin-bottom: 20px;
}
.occupation .anchor-link-long.corporate-link .anchor-link-img {
  width: 40%;
}
.occupation .anchor-link-long.corporate-link .anchor-link-txt {
  padding:20px 0 20px 20px;
} 
.occupation .anchor-link-long .arrow_white {
  width: auto;
  margin-right: 20px;
}
.occupation .introduction {
  padding: 0 30px 60px 30px;
}
.occupation .business .h2-normal {
  background-color: #1D3D60;
  color: #FFF;
  padding: 15px 0 15px 30px;
}
.occupation .h3 {
  border-left: 7px solid #1D3D60;
  padding-left: 10px;
  margin-bottom: 60px;
}
.occupation .job-img {
  width: 40%;
  padding: 40px 40px 80px 0;
}
.occupation .business-txt {
  width: 60%;
  margin-top: 40px;
} 
.occupation .business-txt ul {
list-style-type: square;
padding-left: 20px;
}
.occupation .charm-txt {
  width: 60%;
} 
.occupation .charm-txt .txt-lead {
  margin-bottom: 40px;
}
.occupation .charm-img {
  width: 40%;
  margin-left: 40px;
}
.occupation .Job-Information .h3 {
  margin-top: 60px;
  margin-bottom: 40px;
}
.occupation .tow-rows {
  width: 50%;
}
.occupation .tow-rows .txt-normal {
  margin-bottom: 40px;
}

.occupation .one-row {
  margin-bottom: 40px;
}
.occupation .one-row ul {
list-style-type: disc;
padding-left: 20px;
}
.occupation .list-txt {
 width:50%;
 margin-bottom: 40px;
}
.occupation .list-txt ul {
list-style-type: disc;
  padding-left: 20px;
}
.occupation .engineer .flexBox {
  justify-content: space-between;
}
.occupation .engineer .left-pic {
  width: 49%;
  margin-top: 60px;
  margin-bottom: 140px;
}
.occupation .engineer .right-pic {
  width: 49%;
  margin-top: 140px;
  margin-bottom: 60px;
}
.occupation .corporate ul {
  list-style-type:square;
  padding-left: 20px;
}
.occupation .corporate .flexBox {
  justify-content: space-between;
}
.occupation .corporate .left-pic {
  width: 49%;
  margin-top: 60px;
  margin-bottom: 140px;
}
.occupation .corporate .right-pic {
  width: 49%;
  margin-top: 140px;
  margin-bottom: 60px;
}


/* エンジニア職特設ページ enginner-special */
.enginner-special-mv {
  display: flex;
  background-image: url(/images/enginner/enginner-mv_bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  padding-top: 180px;
  padding-bottom: 60px;
}
.enginner-special-mv-catchWrap {
  z-index: 6;
}
.enginner-special-mv-catch {
font-size: 7.5rem;
color:#2B2B2B;

}
.enginner-special-mv-txt {
color:#195493;
}
.enginner-special-img {
width: 50%;
position: absolute;
right: 0;
bottom: 0;
}
.enginner-special-strengths-list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.enginner-special-strengths-item {
width: 32%;
box-sizing: border-box;
display: flex;
padding: 20px ;
margin-top: auto;
margin-bottom: auto;
align-items: center;
}

.enginner-special-strengths-item:nth-of-type(-n+3) {
  /* background: pink; */
  height: 102px;
  margin-bottom: 20px;
}
.enginner-special-strengths-item:nth-of-type(n+4):nth-of-type(-n+6){
  /* background: lightblue; */
  height: 102px;
  margin-bottom: 20px;
}
.enginner-special-strengths-item:nth-of-type(n+7):nth-of-type(-n+9){
  height: 131px;
}
.enginner-special-strengths-number {
  font-weight: 300;
  font-size: 1.75rem;
  text-align: left;
  color: #20446b;
  padding-right: 20px;
  border-right: 1px solid #CBCAC7;
}

.enginner-special-txt {
font-size:1.25rem;
font-weight:500;
line-height: 1.6;
letter-spacing:  0.05em;  
padding-left: 20px;   
}
.enginner-special-value-item {
padding: 30PX 26px 28px 28px;
}

.enginner-special-value-title {
font-size:1.375rem;
font-weight:500;
color:#20446B;
line-height: 1.75;
letter-spacing:  0.05em;
margin-bottom: 10px;
}
.enginner-special-member {
  background: linear-gradient(#0d1933 0%, #000 100%);
}

.enginner-special-entry {
  background-image: url(/images/enginner/enginner-entry-bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.enginner-special-entry-btn{
  width: 100%;
  display: flex;
  color:#DFCC84;
  text-align: center;
  height: 140px;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight:500;
  letter-spacing: 0.05em;          
}
.enginner-special-entry-btn:hover {
  opacity: 0.7;
  color: #DFCC84;
}

@media (max-width:1111px){
  .header-menu li a {
   padding: 0 1vw;
   font-size: 0.85rem;
  }
  .head_logo {
    margin-left: 10px;
  }
  .head_logo a img {
    height: 55px;
  }
  .bg-blue.menu-hasChild .header-menuChild.open {
    background-color: #4C6988;
    width: max-content;
    padding: 0 30px;
    transform: translateX(26%);
  }

  /* 職種紹介---アンカーリンク */
.occupation .picture-anchor-link.flexBox {
  display: none;
}
.occupation .anchor-link-long.corporate-link {
 display: none;
}
.occupation .anchor-sp {
  display: flex;
}
}

@media (max-width:991.98px){
  /*------------------------------------------------------------
  共通パーツ
------------------------------------------------------------*/
.w80 {
  width: 100%;
}
.container {
  width: 100%;
  max-width: 1140px!important;
  padding: 0 30px!important;
  margin: 0 auto;
  box-sizing: border-box;
}

/*------------------------------------------------------------
  ヘッダー、ページヘッダー、mv、フッター
------------------------------------------------------------*/
/* header */
.head_logo a img {
  height: 40px;
}
.header_wrap {
  height: 50px;
  padding-left: 0;
}
.head_logo {
  margin-left: 10px;
}
/* ハンバーガーメニュー */
.openbtn {
  width: 50px;
  height: 50px;
  background-color: #0D1933;
  position: relative;
  padding: 5px 9px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  transition: .2s;
}
.openbtn span {
  display: block;
  width: 100%;
  border-bottom: 2px solid #fff;
  background-color: #fff;
  transition: .2s;
}
.openbtn.open span:nth-child(1) {
  transform: translateY(10px)rotate(45deg);
}
.openbtn.open span:nth-child(3) {
  transform: translateY(-10px)rotate(-45deg);
}
.openbtn.open span:nth-child(2) {
  border-bottom: 0;
}
.header-menu {
  display: none;
}
.header-menu a {
  display: block;
}
.header-menu.open {
  position: absolute;
  display: block;
  width: 100%;
  background: #eee;
  top: 50px;
  height: 100vh;
  z-index: 2;
  overflow-y: scroll;
  padding-bottom: 120px;
}
.header-menu .bg-blue {
  margin: 20px 15px;
}
.header-menu .bg-darkblue {
  margin: 0 15px;
}
.header-menu .bg-blue a,
.header-menu .bg-darkblue a {
  height: 60px;
  line-height: 60px;
}
.header-menu .menu-parent.extlink img {
  left: 90px;
}
.sp-menu-open {
  display: block;
  width: 100px;
  text-align: center;
  height: 30px;
  line-height: 30px;
}
.header-menu li a {
  padding: 0 30px;
}
.bg-blue .sp-menu-open {
  color: #fff;
}
.menu-hasChild > div{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-menu .menu-hasChild .header-menuChild {
  position: initial;
  top: 80px;
  background-color: #ddd;
  width: 100%;
  transform: unset;
  width: 100%;
}
.header-menu .header-menuChild .arrow_black, .header-menu .header-menuChild .extlink {
  width: 100%;
}
.bg-blue.menu-hasChild .header-menuChild.open {
  transform: unset;
  width: 100%;
}
.bg-blue.menu-hasChild .header-menuChild.open .flexBox {
  flex-direction: column;
  text-align: left;
}
.header-menu .header-menuChild .arrow_white {
  width: 100%;
}

/* .header-menu li {
  display: none;
} */
/*　フッターtop */
.footer .footer-bottom {
  text-align: left;
}
.footer-list{
margin-top: 14px;
}
.footer-top_item{
margin-bottom: 20px;
}
.footer-top_item-contact{
margin-bottom: 20px;
}
.footer-top_item-contact >a{
margin-top: 10px;
}
.footer-company p{
margin-bottom: 25px;
font-size: 1.5rem;
}
/* フッターbottom */
.footer-flex{
  display: block;
}
.foooter-address {
  margin-bottom: 30px;
}


/*------------------------------------------------------------
  トップページ　front-page
------------------------------------------------------------*/
/* top-service */
.top-service-reason{
  flex: 1;
  padding-left: 20px;
}
/*------------------------------------------------------------
  個別ページ single-**.php　page-***.php
------------------------------------------------------------*/
/* 採用top recruit */
.recruit-mv-catch{
  font-size:2rem;
}
.recruit-mv-txt{
  font-size: 1rem;
}
/* 新卒採用トップ */
.recruit-mv-title_new{
  font-size: 1.8rem;
}

/* キャリ採用トップ */
.recruit-jogGroup{
  font-size: 1.125rem;
}
.recruit-jobList >li > a{
  font-size: 1.125rem;
}
/* エンジニア職特設ページ enginner-special */
.enginner-special-mv {
  padding-top: 60px;
  padding-bottom: 0;
  background-position: left;
}
.enginner-special-mv-catch {
  font-size: 4rem;
}
.enginner-special-strengths-item {
width: 48%;
}
.enginner-special-strengths-item:nth-of-type(n+7):nth-of-type(-n+8){
  height: 102px;
  margin-bottom: 20px;
}
.enginner-special-strengths-item:nth-of-type(n+9):nth-of-type(-n+10){
  height: 102px;
margin-bottom: 0;
}
.enginner-special-strengths-number {
  font-size: 1.125rem;
  padding-right: 15px;
}
.enginner-special-txt {
  font-size: 1.125rem;
}
.enginner-special-entry-btn{
  height: 100px;
}
.enginner-special-entry-btn:last-child{
margin-top: 20px;
}

/* DXコンサルティング事業 */
.dx-consulting .digital .flexBox {
  display: block;
 }
 .dx-consulting .digital .dx-txt {
  width: 100%;
  padding-right: 0;
}
.dx-consulting .digital .dx-img {
  width: 100%;
}
.dx-consulting .digital {
  padding: 30px;
}
.dx-consulting .speed .dx-img {
  width: 50%;
  padding-right: 30px;
}
/* overview */
.officer-introduction .officer-img {
  width: 30%;
}
}


@media (max-width:768px){
/*------------------------------------------------------------
  共通パーツ
------------------------------------------------------------*/

.section {
  padding-top: 50px;
  padding-bottom: 60px;
}
.section-mb {
  margin-bottom: 60px;
}
.pc{
  display: none !important;
}
.sp{
  display: block !important;
}
.flexBox-r{
  flex-direction: column;
}
.flexBox-r > div{
width: 100%;
}
.container {
  width: 100%;
  max-width: 1140px!important;
  padding: 0 15px!important;
  margin: 0 auto;
  box-sizing: border-box;
}

/* ボタン、パーツ等 */
.btn-main {
  font-size: 1rem;
}
.btn-main_big,.btn-main-white_big{
  width: 220px;
  font-size: 0.875rem;
}
.btn-long_darkblue,.btn-long_blue,.btn-long_white{
  padding-top: 12px;
  padding-left: 15px;
  height: 50px;
  font-size: 1rem;
}

.flexBox.consulting-btn {
    flex-direction: column;
    align-items: center; /* 幅いっぱいにしたい場合 */
  }

/* txt */
.txt-lead {
  font-size: 1rem;
}
.txt-normal {
  font-size: 0.875rem;
  font-weight: 400;
}
.txt-mini{
font-size: 0.75rem;
}

/* title */
.h2-normal,.h2-border,.h2-border_white,.h2-normal_white {
  font-size: 1.5rem;
  margin-bottom: 30px;
}
.h2-border::after {
  margin-left: 25px; 
}
.sub-title {
  margin-bottom: 30px;
}
.h3{
  font-size: 1.375rem!important;
}
.h4 {
  font-size: 1.125rem!important;
}

/*------------------------------------------------------------
  ヘッダー、ページヘッダー、mv、フッター
------------------------------------------------------------*/
/*　フッターtop */
.footer-list{
  margin-bottom: 0;
}
.footer-top_item{
  width: 100%;
  margin-bottom: 20px;
}
.footer-top_item.saiyou .flexBox {
  flex-wrap: wrap;
}
.footer-item, .footer-item-child {
  margin: 3px 0;
}

/*------------------------------------------------------------
 template-Parts
------------------------------------------------------------*/
/* 関連情報 related-info*/
.related-info-link{
  width: 50%;
  margin-bottom: 20px;
}
.related-info-link:nth-child(3),.related-info-link:nth-child(4){
  margin-bottom: 0;
}
.related-info-btn2{
  margin-top: 20px;
}
.related-info-btn1 a,.related-info-btn2 a{
  padding: 30px 20px 30px 20px;
}
/* パンクズリスト */
.section.breadSection {
  overflow-x: scroll;
}
.breadSection .container {
  width: max-content;
  margin: initial;
}

/*------------------------------------------------------------
  トップページ　front-page
------------------------------------------------------------*/
/* top-mv */
.mv{
  height: 380px;
}
.mv-wrap{
  padding:70px 80px 0px 20px;
}  
.mv-title{
  font-size:5rem;
  font-weight: 600;
  font-family: "DIN Condensed";
  text-align:left;
}
.mv-lead{
  font-size: 2rem;
  font-family: "DIN Condensed";
  margin-top: 10px;
  text-align:left;
}

.mv-txt{
  margin-top: 1rem;
  text-align:left;
}

/* top-news */
.top-news{
  height: auto;
}
.top-news .sub-title{
  margin-bottom: 0px;
}
.top-news-container{
  padding: 23px 20px 34px 20px;
}
.top-news-inner{
  flex-direction: column;
}
.top-news-titleWrap {
  width: 100%;
}
.top-news-listWrap {
width: 100%;
}
.top-news-item {
flex-direction: column;
}
.top-news-date {
width: 100%;
}
.top-news-title {
width: 100%;
font-size: 0.875rem;
}

/* achievements */
.top-achievements{
  padding-top: 40px;
  padding-bottom: 30px;
}

.top-achievements .achievements .achievement-img{
  width: 60%;
  margin: auto;
  padding-top: 10px;
  display: block;
}

/* top-service */
.top-service-item{
  flex-direction: column;
  padding: 30px 20px 30px 20px;
}
.top-service-motive{
  width: 100%;
  border-right: 0;
  border-bottom: 1px solid #D8D7D4;
  padding-right: 0;
  padding-bottom: 10px;
}
.top-service-reason{
  width: 100%;
  padding-left: 0;
}
.top-service .mt60.top-service-point {
  margin-top: 40px;
}

.frame-bg-white{
  padding: 20px;
  margin: 15px 10px 15px 10px;
}

.h4.ud-line{
  font-size: 18px;
}

.txt-blue-line{
  margin-bottom: 10px;
}

/* top-recruit */
.top-recruit-box1,.top-recruit-box2{
  height: auto;
  padding: 20px;
}
.top-recruit-btn {
  position: unset;
  margin-top: 20px;
}
.top-recruit-label{
  font-size: 0.875rem;
}
.top-recruit-lead{
  font-size: 1.2rem;
}
.top-recruit-lead br {
  display: none;
}

.top-recruit-position-wrap{
  flex-direction:column;
  margin-top: 10px;
}
.top-recruit-position{
  height: 130px;
  margin-top: 15px;
}

/* top-company */
.top-company-lead{
  font-size: 2.2rem;
}
.top-company-concept{
  font-size: 1.8rem;
}
/* top-blog */
.top-blog-info{
flex-direction: column;
margin-top: 10px;
}
.top-blog-info .top-blog-category{
  margin-top: 5px;
}
/*------------------------------------------------------------
  個別ページ single-**.php page-***.php
------------------------------------------------------------*/
/* 下層ページ ヘッダー */
.page-header_h1{
  font-size: 1.75rem;
  height: 150px;
}
.page-header_h1 .pagetitle_en {
  font-size: 0.875rem;
  margin-top: 5px;
}

/* single-position 職種一覧詳細 */
.single-position .flexBox{
  flex-direction: column;
}
.single-position .h3{
  font-size:1.2rem;
  margin-bottom: 20px;
}
.single-position .h3::before{
  top: 2px;
  width: 7px;
  height: 30px;
}
.single-position .h4{
  font-size:1rem;
}
.single-position p{
  font-size: 0.875rem;
}
.single-position .title-area {
  width: 100%;
  margin-bottom: 15px;
}
.single-position .content-area {
  width: 100%;
}
.single-position .requirements-item{
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, #D8D7D4 29%, #D8D7D4 29%,#D8D7D4 31%,#D8D7D4 31%,#D8D7D4 100%);
  border-image-slice: 1;
}
.single-position .requirements-item .content-area{
  padding-left: 0;
}

/* 採用top recruit */

.recruit-news-titleArea .txt-normal{
  width: 100%;
  margin-bottom: 20px;
  margin-top: 10px;}

.recruit-news-inner{
  padding: 30px 10px 30px 10px;
}
.recruit-news-item{
  padding: 10px 0px 10px 0px;
}
.recruit-news-title {
  font-size: 0.875rem;
  margin-top: 5px;
}
.recruit-news-list .recruit-news-date {
  width: 110px;
}
.recruit-box1{
  flex-direction: column;
}
.recruit-box2{
  display: flex;
  flex-direction: column-reverse;
}
.recruit-boxImg{
  width: 100%;
  min-height: auto;
  overflow: auto;
}
.recruit-boxTxt{
  width: 100%;
}
.recruit-boxTxt{
  margin-top: 20px;
}
/* 採用-福利厚生パーツ */
.recruit-welffareBox {
  padding: 30px 0;
  text-align: center;
}
.recruit-welffareBox:first-of-type,
.recruit-welffareBox2 {
  border-right: 0;
  border-bottom: 1px solid #D8D7D4;
}
.recruit-welffareBox2{
  padding: 30px ;
  text-align: center;
}
.recruit-welffareBox2:last-child {
  border-bottom: 0;
}
.recruit-welffareBox2:last-child br {
  display: none;
}

/* 新卒・キャリア採用トップ */
.recruit-mv-title_mid,.recruit-mv-title_new{
  font-size: 1.125rem;
}

/* 新卒採用トップ */
.recruit-mv-title_new{
  padding-left: 30px;
}
.recruit-new-lead{
font-size: 1.75rem;
}
/* 新卒採用---会社を知る---数字で見る */
.data-pc {
  display: none;
}
.newgraduate.about-company .data .flexBox.sp {
  justify-content: space-between;
  display: flex!important;
  flex-wrap: wrap;
}
.newgraduate.about-company .data .flexBox.sp picture {
  width: 48%;
  display: block;
  margin-bottom: 20px;
}
.newgraduate.about-company .data .data-3rows {
  margin: 20px 0;
  width: 31%;
}
/* キャリア採用トップ */
.recruit-jogGroups{
  padding-right: 0;
  margin-bottom: 20px;
}
.recruit-jogGroup{
  padding: 15px 0 15px 30px;
  font-size: 1rem;
}
.recruit-jobList{
  padding: 12px 12px 25px 12px;
}
.recruit-jobList >li > a{
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 1rem;
}

/* 会社を知る　.recruit-company */
.recruit-company-btn1,
.recruit-company-btn2,
.recruit-company-btn3{
width: 100%;
height: 100px;
font-size: 1rem;
}
.recruit-company-btn2,.recruit-company-btn3{
  margin-top: 20px;
}
.career.about-company .m-v-v .generous-support {
  padding: 20px;
}
.data-pc {
  display: none;
}
.career.about-company .data .flexBox.sp {
  justify-content: space-between;
  display: flex!important;
  flex-wrap: wrap;
}
.career.about-company .data .flexBox.sp picture {
  width: 48%;
  display: block;
  margin-bottom: 20px;
}
.career.about-company .data .data-3rows {
  margin: 20px 0;
  width: 31%;
}

/* 新卒・キャリア採用トップ-エントリーパーツ */
.recruit-entryParts-inner .btn-long_blue,
.recruit-entryParts-inner .btn-long_white{
  height: 80px;
  padding-top: 25px;
}
.recruit-entryParts-inner .btn-long_white{
  margin-top: 20px;
}
/* エンジニア職特設ページ enginner-special */
.enginner-special-strengths-item {
  width: 100%;
  padding: 15px;
}
.enginner-special-txt {
  font-size:1rem;
  padding-left: 15px;
}
.enginner-special-entry-btn{
  font-size: 1rem;
}
.enginner-special-value-title {
font-size: 1rem;
}
.enginner-special-entry-btn{
  height: 80px;
}
.enginner-special-mv {
  flex-direction: column;
}
.enginner-special-img {
  position: relative;
  width: 100%;
}
.enginner-special-mv-catchWrap {
  margin-bottom: 40px;
}

/*------------------------------------------------------------
  採用---共通
------------------------------------------------------------*/
/* 制度・福利厚生 */
.welfare .bg-white {
  padding: 20px;
}
.welfare .brushup .bg-gray.section-mb {
  padding: 20px;
}
.welfare .flexBox {
  display: block;
}
.welfare .point {
  padding: 20px;
}
.welfare .welfare-subject {
  width: 100%;
  margin-top: 0;
  padding-top: 40px;
}
.welfare .welfare-item {
  width: 100%;
}
.welfare .brushup-subject {
  width: 100%;
  margin-bottom: 40px;
}
.welfare .brushup-item {
  width: 100%;
}
/*------------------------------------------------------------
 service
------------------------------------------------------------*/
/* DXコンサルティング事業 */
.dx-consulting .consal-field .flexBox {
  display: block;
 }

 .dx-consulting .consal-field {
  padding-left: 15px;
  padding-right: 15px;
 }

.dx-consulting .speed .dx-img {
  padding-right: 50px;
  padding-left: 10px;
  margin-bottom: 20px;
}
.dx-consulting .digital,
.dx-consulting .speed {
  padding-left: 15px;
  padding-right: 15px;
}
/*------------------------------------------------------------
  会社情報
------------------------------------------------------------*/
/* 会社情報index */
.index .h2-normal br {
  display: none;
}

/*------------------------------------------------------------
 company
------------------------------------------------------------*/
/* overview */
.officer-introduction .officer-img {
  width: 30%;
}
/*------------------------------------------------------------
  ニュース
------------------------------------------------------------*/
.news-catarea .flexBox a {
  font-size: 0.875rem;
}

}

@media (max-width:590px){
/*-----------------------------------------------------------
 template-parts
------------------------------------------------------------*/
 /* 関連ページリンク */
.related-pages .related-link {
  width: 49%;
  margin-bottom: 10px;
}
/* メディア */
.media-list > a{
  width: 49%;
}
.mt20.media-list {
  margin-top: 10px;
}
/*-----------------------------------------------------------
 採用---共通
------------------------------------------------------------*/
/* 社員紹介 */
.employee-introduction .flexBox {
  display: block;
}
.employee-introduction .anchor-link {
  display: none;
}
.employee-introduction .anchor-sp {
  display: block;
}
.employee-introduction .profession .business-item {
  width: 100%;
  padding-bottom: 30px;
}
.employee-introduction .profession.corporate .business-item {
  width: 100%;
  padding-bottom: 30px;
}
.employee-introduction .profession.business .h2-normal {
  margin-top: 40px;
}
.employee-introduction .profession.corporate .h2-normal {
  margin-top: 40px;
}
.employee-introduction .profession.engineer .h2-normal {
  margin-top: 40px;
}
/* 新卒---会社を知る */
/* アンカーリンク */
.newgraduate.about-company .anchor-link-box {
  display:none;
}
.newgraduate.about-company .anchor-sp {
  display: block;
}
/* 新卒---会社を知る */
/* ミッション・ビジョン・バリュー*/
.newgraduate.about-company .m-v-v .flexBox {
  display: block;
 }
 .newgraduate.about-company .m-v-v .mission-txt {
   width: 100%;
 }
 .newgraduate.about-company .m-v-v .box-shadow30 .flexBox {
   display: flex;
 }
 .newgraduate.about-company .m-v-v .box-shadow30 {
   width: 100%;
   margin-top: 30px;
   padding-top: 40px;
   padding-bottom: 40px;
 }
 .newgraduate.about-company .m-v-v img {
  width: 100%;
}
/* キャリア採用---会社を知る */
/* アンカーリンク */
.career.about-company .anchor-link-box {
  display:none;
}
.career.about-company .anchor-sp {
  display: block;
}
/* キャリア採用---会社を知る */
/* ミッション・ビジョン・バリュー*/
.career.about-company .m-v-v .flexBox {
  display: block;
 }
 .career.about-company .m-v-v .mission-txt {
   width: 100%;
 }
 .career.about-company .m-v-v .box-shadow30 .flexBox {
   display: flex;
 }
 .career.about-company .m-v-v .box-shadow30 {
   width: 100%;
   margin-top: 30px;
   padding-top: 40px;
   padding-bottom: 40px;
 }
 .career.about-company .m-v-v img {
  width: 100%;
}
/* TOP → company → ミッション・ビジョン・バリュー */
.mission-vision-value .guidelines .flexBox {
  display: block;
  padding: 25px 10px;
}
.mission-vision-value .guidelines .h3 {
  width: 100%;
  padding-left: 0;
  text-align: center;
}
.mission-vision-value .guidelines .txt-lead {
  width: 100%;
  padding-left: 0;
  text-align: center;
}
/* overview */
.officer-introduction .officer-img {
  width: 30%;
}
}


@media (max-width:520px){
/*------------------------------------------------------------
  共通パーツ
------------------------------------------------------------*/
/* ここに書く */


/*------------------------------------------------------------
  ヘッダー、ページヘッダー、mv、フッター
------------------------------------------------------------*/
/* ここに書く */
/*------------------------------------------------------------
 template-Parts
------------------------------------------------------------*/
/* 関連ページリンク */
.related-pages .related-link .h4 {
  font-size: 0.8rem!important;
  }

/*------------------------------------------------------------
  トップページ　front-page
------------------------------------------------------------*/
/* top-blog */
.top-blog-ist{
  flex-direction: column;
}
.top-blog-item {
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px;
}
.top-blog-info {
  flex-direction: row;
  margin-top: 10px;
}
.top-blog-info .top-blog-category{
  margin-top: 0px;
}
/* top-company */
.top-company-concept.mt20 span {
  display: inline-block;
}
/* 新卒採用トップ */
.flexBox.recruit-new-mv {
  display: block;
}
.recruit-mv-title_new {
  padding-left: 0;
}
.recruit-new-mv > div {
  width: 100%;
}
.recruit-mv-title_new > p {
  padding: 60px 15px;
  margin: auto;
}
.recruitNew-top_img .mv-inner img {
  height: 35vh;
  display: block;
  }
/*------------------------------------------------------------
  個別ページ single-**.php　page-***.php
------------------------------------------------------------*/

 /*------------------------------------------------------------
  事業紹介
------------------------------------------------------------*/
  /* serviceトップ */
.service .service-txt {
  width: 100%;
}
  .service .service-img  {
    width: 100%;
  }
   .service .dexall-power .flexBox{
    display: block;
  }
  .service .power-box {
    width: 100%;
  } 
  .service .synergy-3 .white-box .bg-white {
    padding: 20px;
  }
  .service .synergy-3 .white-box .flexBox {
    display: block;
  }
  .service .synergy-3 .white-box .synergy-txt {
    padding-top: 0;
  }
   .service .synergy-3 .white-box span {
    font-size: 3.125rem;
    margin-left: 0;
  }
  .service .synergy-3 .white-box .arrow_black {
    width: auto;
    margin-right: 0px;
   }

   .service .introduction {
    background-image: url(/images/service/service_03.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
/* DXコンサルティング事業 */

.dx-consulting .speed .flexBox {
  display: block;
 }
 .dx-consulting .speed .dx-img {
  width: 70%;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}
.dx-consulting .speed .dx-txt {
  width: 100%;
}

  /* システムインテグレーション事業 */
  .system-integration .section.bg-white {
    padding-left: 15px;
    padding-right: 15px;
  }
  /* ITエンジニアリング事業 */
  .it-engineering .section.bg-white {
    padding-left: 15px;
    padding-right: 15px;
  }

/*------------------------------------------------------------
  会社情報
------------------------------------------------------------*/
/* 会社情報index */
.index .flexBox {
  display: block;
}
.index .index-btn-tow {
  width: 100%;
  margin-top: 20px;
}

.enginner-special-mv-catch {
  font-size: 1.75rem;
}

/*------------------------------------------------------------
  共通
------------------------------------------------------------*/
/* 環境・文化を知る */
.environment-culture .flexBox {
  display: block;
}
.environment-culture .index-btn-tow {
  width: 100%;
  margin-bottom: 20px;
}
/* 新卒採用エントリー */
.new-graduate .flexBox {
  display: block;
}
.new-graduate .h2-normal {
  font-size: 1.375rem;
  line-height: 1.5;
}
.new-graduate .txt-lead {
  font-size: 0.875rem;
  font-weight: 400;
}
.new-graduate .h2-normal.txt-center {
  padding-top: 0;
}
.new-graduate .newG-txt {
  width: 100%;
  padding-right: 0px;
}
.new-graduate .newG-img {
  width: 100%;
  padding-top: 40px;
}
.new-graduate .recruitment-flow {
  height: fit-content;
  padding: 30px;
}
.new-graduate .selection-txt {
  width: 100%;
  padding-right: 0;
}
.new-graduate .line-txt {
  padding-left: 0;
} 
.new-graduate .bg-gray .flexBox {
  display: flex;
} 
.new-graduate .bg-gray {
  width: 100%;
  border-radius: 20px; 
  padding: 15px;
  margin-top: 20px;
}
.new-graduate .line-QR {
  width: 80%;
  padding-right: 10px;
}
.new-graduate .flowchart {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
}

/* 新卒---職種紹介 */
.occupation .section:first-of-type {
  padding: 30px 15px;
}
.occupation .anchor-sp {
  display:block;
}
.occupation .introduction {
  padding: 0 10px 40px 10px;
}
.occupation .business .h2-normal {
  padding: 10px 10px 10px 20px;
}
.occupation .h3 {
  margin-bottom: 30px;
}
.occupation .flexBox {
  display: block;
}
.occupation .job-img {
  width: 100%;
  padding: 40px 0 0 0;
}
.occupation .business-txt {
  width: 100%;
  margin-bottom: 40px;
} 
.occupation .charm-txt {
  width: 100%;
}
.occupation .charm-img {
  width: 100%;
  margin-left: 0;
}
.occupation .list-txt {
  width: 100%;
}
.occupation .engineer .left-pic {
   width: 100%;
  margin-bottom: 20px;
}
.occupation .engineer .right-pic {
  width: 100%;
  margin-top: 0;
  margin-bottom: 40px;
}
.occupation .corporate .left-pic {
   width: 100%;
  margin-bottom: 20px;
}
.occupation .corporate .right-pic {
  width: 100%;
  margin-top: 0;
  margin-bottom: 40px;
}

/* 新卒---会社を知る */
.newgraduate.about-company .company-message .flexBox {
  display: block;
}
.newgraduate.about-company .company-message img {
  width: 100%;
  margin: 0;
}
.newgraduate.about-company .Why-dexall .flexBox {
  display: block;
  margin-top: 40px;
}
.newgraduate.about-company .Why-dexall .three-item {
  width: 100%;
}
.newgraduate.about-company .Why-dexall .three-item span {
  padding: 10px 15px ;
}
.newgraduate.about-company .Why-dexall .three-item .three-item-txt {
  margin:0;
}
.newgraduate.about-company .Why-dexall .three-item .three-item-txt .h3 {
  padding-top:30px ;
}
.newgraduate.about-company .Why-dexall .three-item .three-item-txt .txt-normal {
  padding :20px;
}

/* キャリア採用エントリー */
.career-recruitment .flexBox {
  display: block;
}
.career-recruitment .h2-normal {
  font-size: 1.375rem;
}
.career-recruitment .txt-lead {
  font-size: 0.875rem;
  font-weight: 400;
}
.career-recruitment .h2-normal.txt-center {
  padding-top: 0;
}
.career-recruitment .newG-txt {
  width: 100%;
  padding-right: 0 ;
}
.career-recruitment .newG-img {
  width: 100%;
  padding-top: 40px ;
}
.career-recruitment .recruitment-flow {
  height: fit-content;
  padding: 30px;
}
.career-recruitment .flowchart {
  width: 60%;
}


/* キャリア採用---会社を知る */
.career.about-company .company-message .flexBox {
  display: block;
}
.career.about-company .company-message img {
  width: 100%;
  margin: 0;
}
.career.about-company .our-values .flexBox {
  display: block;
  padding-top: 0;
}
.career.about-company .our-values .our-values-txt {
  width: 100%;
  padding-top: 40px;
}
/* キャリア採用---会社を知る---数字で見る */

.career.about-company .data .data-2rows {
  width: 100%;
  margin-top: 0;
}
/* mission・vision・value */
.mission-vision-value .flexBox {
  display: block;
}
.mission-vision-value .vision-txt {
  width: 100%;
  padding-right: 0;
}
.mission-vision-value .vision-img {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 40px;
}
.mission-vision-value .vision .txt-lead {
  margin-top: 20px;
}
.mission-vision-value .mission-txt {
  width: 100%;
  padding-right: 0;
}
.mission-vision-value .mission-img {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}
.mission-vision-value .mission .txt-lead {
  margin-top: 20px;
}
/* OverView */
.overview .ov-area th {
  display: block;
  font-weight: 500;
  font-size: 1.0rem;
  border-top: none;
  border-bottom: none;
  padding:15px 0 0 0;
}
.overview .ov-area td {
 display: block;
 border-top: none;
 border-bottom: solid 1px #CBCAC7;
 padding: 5px 0 5px 0;
}
.officer-introduction .flexBox {
  display: block;
}
.officer-introduction .officer-img {
  width: 50%;
}
.officer-introduction .officer-txt {
  width: 100%;
  padding-top: 20px;
  padding-left: 0;
}
.officer-introduction .officer-txt .flexBox {
  display: flex;
  margin-top: 0;
}
.officer-introduction .officer-snsicon {
  margin-top: 20px;
}
.overview .access {
  margin-left: 0;
}
/* メッセージ */
.president-txt.w80.center {
  padding-top: 40px;
}
.president-txt .h3 {
  margin-top: 20px;
}
.president-txt .h3 br {
  display: none;
}
}