@charset "UTF-8";


                
.contents_inner {
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}
.overimg:hover{opacity: 0.5;}
.spnone{display: block;}
.sponly{display: none;}
.f-left{float: left;}
.f-right{float: right;}
.img100{width: 100%;}
.normal{font-weight: normal;}
.justify{text-align: justify;}
.w48per{width: 48%;}
.w30per{width: 30%;}
.w48per img{width: 100%;}
.w66per{width: 66%;position: relative;}
.w80per{width: 80%;margin: 0 auto;}
.w90per{width: 90%;margin: 0 auto;}
.white{color:#ffffff;}

.sec_p{line-height: 1.8;}
.tbonly{display: none;}
.center{text-align: center;}
.shadow{filter: drop-shadow(4px 4px 5px  rgba(0, 0, 0, 0.32));}
.center_left{text-align: center;}

.bnr_mtb img{margin: 0.6em 0 2em; }
/* 全体英字タイトル：左右センター */
.ttlIconCenter{
  display: flex;
  flex-direction: column;
  align-items: center;   /* ← 日本語も含めてセンター */
  gap: 5px;
  margin: 2em 0 1em;
}

/* 上段：アイコン＋英字 */
.ttlIconCenter__top{
  display: flex;
  align-items: center;   /* ← アイコンを英字の高さ中央に */
  gap: 16px;
}

/* アイコン */
.ttlIconCenter__icon{
  width: 30px;
  height: auto;
  display: block;
  flex: 0 0 auto;
}

/* 英字 */
.ttlIconCenter__en{
  font-size: 2.4em;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #4b4b4b;
  text-align: center;
}

/* 日本語 */
.ttlIconCenter__jp{
  font-size: 1.2em;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.0;
  color: #4b4b4b;
  text-align: center;
}


/* section_01 */
.section_01{position: relative; z-index: 100;padding: 1em 0;}
/* news */
.news{
  padding:100px 0px;
}

.news-inner{
  max-width:1200px;
  margin:auto;
  display:flex;
  gap:80px;
  align-items:flex-start;
}

.news-head{
  flex-shrink:0;
  width:230px;
}

.news-title{
  font-size:4.6em;
  font-weight:bold;
  line-height:1;
  color:#31305f;
  margin:0;
}

.news-sub{
  margin-top:10px;
  font-size:1.8em;
  font-weight:700;
  color:#e58b00;
}

.news-body{
  flex:1;
}

.news-item{
  display:grid;
  grid-template-columns:120px 120px 1fr;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#444;
  padding:12px 0;
}

.news-item time{
  font-size:1.14em;
  font-weight:normal;
  color:#050a68;
  letter-spacing:.05em;
}

.news-cat{
  width:100%;
  max-width:120px;
  text-align:center;
  font-size:0.94em;
  color:#fff;
  background:#e58b00;
  border-radius:999px;
  padding:5px 0;
  line-height:1;
}

.news-text{
  font-size:1.0em;
  line-height:1.6;
}

.news-btn-wrap,.service-btn-wrap{
  text-align:center;
  margin-top:40px;
}

.news-btn,.service-btn{
  width:min(100%,360px);
  height:60px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border:2px solid #31305f;
  border-radius:999px;
  background:#fff;
  box-shadow:12px 12px 25px rgba(0,0,0,.25);
  text-decoration:none;
}

.news-btn span,.service-btn span{
  font-size:1.14em;
  font-weight:700;
  color:#31305f;
}

.news-btn::after,.service-btn::after{
  content:"";
  width:18px;
  height:18px;
  border-top:2px solid #31305f;
  border-right:2px solid #31305f;
  transform:rotate(45deg);
  position:absolute;
  right:30px;
  top:50%;
  margin-top:-9px;
}

/* ======================
SP
====================== */

@media (max-width:640px){

  .news{
    padding:40px 0px;
  }

  .news-inner{
    display:block;
  }

  .news-head{
    width:auto;
    margin-bottom:10px;
  }

  .news-title{
    font-size:3em;
  }

  .news-sub{
    font-size:1.4em;
  }

  .news-item{
    display:block;
    padding:10px 0;
    border-bottom:1px solid #d8d8d8;
  }

  .news-item time{
    display:inline-block;
    font-size:1em;
    margin-bottom:5px;
  }

  .news-cat{
    display:inline-block;
    width:100px;
    max-width:none;
    margin-right:0px;
    padding:5px 0;
    font-size:0.94em;
  }

  .news-text{
    display:block;
    font-size:1em;
    line-height:1.4;
  }

.news-btn-wrap,.service-btn-wrap{
    margin-top:30px;
  }

.news-btn,.service-btn{
    height:50px;
    border-width:1px;
  }

.news-btn span,.service-btn span{
    font-size:1.2em;
  }

.news-btn::after,.service-btn::after{
    right:20px;
  }

}
/* section_02 */
.section_02{margin-top: -150px; padding-top: 150px; background-color: #e9e8e9;position: relative;background-size: cover;background: url("../img/sec_02_bg_012_pc.webp");background-size: cover;background-position: top;background-repeat: no-repeat;}

.service{
  padding:80px 0px 0px;
	overflow:hidden;
}

.service-inner{
 display: grid;
  grid-template-columns: 52% 48%;
  align-items: center;
  padding: 0 0;
}

.service-main-img{
	width: 100%;
}
.service-main-img img{
	width: 100%;
  height: 700px;
  object-fit: cover;
	object-position: left;
  display: block;
padding-right: 6%;
box-sizing: border-box;}

.service-sub-img img{
  width:100%;
  display:block;
}

.service-content{
  flex:1;
	
}

.service-title{
  margin:0;
  font-size:4.6em;
  line-height:1;
  font-weight:700;
  color:#31305f;
}

.service-sub{
  margin:10px 0 30px;
  font-size:1.8em;
  font-weight:700;
  color:#e58b00;
}

.service-text{
	text-align: justify;
  font-size:1em;
  line-height:1.9;
  color:#4a4a4a;
  margin-bottom:50px;
}

.service-sub-img{
  margin-top:20px;
}


@media (max-width:640px){
.section_02{margin-top: 0px; padding-top: 0px; background-color: none;position: relative;background-size: cover;background: url("../img/sec_02_bg_012_sp.webp");background-size: cover;background-position: top;background-repeat: no-repeat;}
  .service{
    padding:50px 20px 50px;
  }

  .service-inner{
    display:block;
	  padding: 0px 0;
  }

  .service-main-img img{
    width:100%;
	  height: auto;
    margin-bottom:40px;
	  margin-left:0;
	  padding-right: 0;
  }

  .service-title{
    font-size:3em;
  }

  .service-sub{
    font-size:1.4em;
    margin:0px 0 10px;
  }

  .service-text{
    font-size: .84em;
    line-height:1.8;
    margin-bottom:30px;
  }

  .service-sub-img{
    margin-top:20px;
  }

  .service-btn-wrap{
    margin-top:-25px;
    position:relative;
    z-index:2;
  }

  .service-btn{
    width:85%;
    height:50px;
    border-width:1px;
  }

  .service-btn span{
    font-size:1em;
  }

  .service-btn::after{
    right:35px;
  }

}
/* section_03 */
.section_03{margin-top:2em; position: relative; background: url("../img/sec_03_bg_01_pc.webp") center / cover no-repeat;}
.strength {
  position: relative;
  min-height: 620px;
  color: #fff;
  overflow: hidden;
	text-align: left;
}

.strength__inner {
 box-sizing: border-box;
  width: 1200px;
  padding: 5em 100px;
	margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}
.strength__content {
  flex: 0 0 48%;
}

.strength__visual {
  flex: 0 0 45%;
}

.strength__visual img {
  width: 100%;
  height: auto;
  display: block;
	filter: drop-shadow(4px 4px 5px  rgba(0, 0, 0, 0.7));
}
.strength__title {
  margin: 0 0 20px;
  font-size: 4.6em;
  font-weight: 900;
  line-height: .9;
  letter-spacing: .02em;
}

.strength__sub {
  margin: 0 0 34px;
  font-size: 1.8em;
  font-weight: 800;
  line-height: 1.4;
}

.strength__lead {
  margin: 0 0 90px;
  font-size:1.2em;
  font-weight: 800;
  line-height: 2;
  letter-spacing: .04em;
}

.strength__btn {

  width:min(100%,360px);
  height:60px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border-radius:999px;
  background:#e18600;
  text-decoration:none;
}

.strength__btn span{
  font-size:1.14em;
  font-weight:700;
  color:#ffffff;
}

.strength__btn::after{
  content:"";
  width:18px;
  height:18px;
  border-top:2px solid #ffffff;
  border-right:2px solid #ffffff;
  transform:rotate(45deg);
  position:absolute;
  right:30px;
  top:50%;
  margin-top:-9px;
}


@media (max-width: 640px) {
.section_03{margin-top:2em; position: relative; background: url("../img/sec_03_bg_01_sp.webp") top center / cover no-repeat;}

  .strength__inner {
    flex-direction: column;
    padding: 80px 20px 60px;
    gap: 50px;
	  width: 90%;
	  margin: 0 auto;
  }
.strength__content,
  .strength__visual {
    flex: none;
    width: 100%;
  }
  .strength__visual {
    order: 1;
  }

  .strength__content {
    order: 2;
  }
  .strength__title {
    font-size: 3em;
  }

  .strength__sub {
    margin-bottom: 10px;
    font-size: 1.4em;
  }

  .strength__lead {
    margin-bottom: 30px;
    font-size: 1.0em;
    line-height: 1.6;
  }

  .strength__btn {
    width: 100%;
	  height: 50px;
  }
}

/* section_04 */
.section_04{background-image: url("../img/sec_04_bg_01_pc.webp");
    background-repeat: no-repeat;
    background-position: top right; /*右下に表示 したものを左上に反転*/
    background-size: cover; /*高さにあわせる*/
   position: relative;overflow: hidden;}

.section_04::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.95) 0%,
    rgba(255,255,255,.75) 45%,
    rgba(255,255,255,.1) 100%
  );
}
.works__inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  position: relative;
	
}
.works__content {
  flex: 0 0 48%;
}

.works__visual {
  flex: 0 0 45%;
}


.works__catch {
	width: 100%;
  margin: 45px 0 0px;
  color: #e28a00;
  font-size: 3em;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .15em;
	position: relative;
	z-index: 10;
}

.works__title {
  margin: 0;
  font-size: 4em;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.works__sub {
  margin: 10px 0 18px;
  color: #e28a00;
  font-size: 1.8em;
  font-weight: 800;
}

.works__text {
  margin: 0;
  color: #444;
  font-size: 1em;
  line-height: 1.85;
  letter-spacing: .04em;
	text-align: justify;
}

.works__btn {
  width:min(100%,360px);
  height:60px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  border-radius:999px;
  background:#ffffff;
  text-decoration:none;
	border: 1px solid #252850;
	bottom:0;
}
.works__btn span{
  font-size:1.14em;
  font-weight:700;
  color:#252850;
}
.works__btn::after{
  content:"";
  width:18px;
  height:18px;
  border-top:2px solid #252850;
  border-right:2px solid #252850;
  transform:rotate(45deg);
  position:absolute;
  right:30px;
  top:50%;
  margin-top:-9px;
}
@media (max-width: 640px) {
.section_04{background-image: url("../img/sec_04_bg_01_sp.webp");
    background-repeat: no-repeat;
    background-position: top center; /*右下に表示 したものを左上に反転*/
    background-size: contain; /*高さにあわせる*/
   position: relative;overflow: hidden;}
.works::before {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.15) 0%,
      rgba(255,255,255,.65) 45%,
      #fff 68%
    );
  }
.works__inner {
    min-height: auto;
    padding: 0px 0 80px;
	  display: block;
	  width: 90%;
	  margin: 0 auto;
  }
.works__catch {
	  width: 80%;
	  margin: 1.4em auto 0;
	  text-align: left;
    margin-bottom: 0px;
    font-size: 1.8em;
    line-height: 1.08;
    letter-spacing: .08em;
  }
.works__content,
  .works__visual {
    flex: none;
    width: 100%;
  }
.works__title {
    font-size: 3em;
  }
.works__sub {
    margin: 0px 0 10px;
    font-size: 1.4em;
  }
.works__text {
    font-size: .84em;
    line-height: 1.8;
	letter-spacing: 0em;
  }
.works__btn {
    width: 100%;
	height: 50px;
  }

}

/* section_05 */
.section_05{background: url("../img/sec_05_bg_01_pc.svg");background-repeat: no-repeat;background-position: top center;background-size: cover;position: relative;z-index: 0;padding: 50px 0;margin-bottom: 50px;}
.company {
  padding: 0;

}


.company__body {
position: absolute;
	margin-top: -130px;
width: 40%;
	margin-right: 5%;
padding: 30px 0 0px;
	float: left;
	box-sizing: border-box;
}

.company__title {
  margin: 0px 0 0;
  color: #303252;
  font-size: 4.6em;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.company__sub {
  margin: 10px 0 20px;
  color: #e28a00;
  font-size: 1.8em;
  font-weight: 800;
}

.company__text {
	width: 85%;
  margin: 0 0 50px;
  text-align: justify;
  color: #444;
  font-size: 1em;
  line-height: 1.9;
  letter-spacing: .04em;
}

.company__photo {width: 55%; float: right;
}

.company__photo img {
  width: 100%;
  height: auto;
}

.company__btn {
  width:min(100%,360px);
  height:60px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border-radius:999px;
  background:#ffffff;
  text-decoration:none;
border: 1px solid #e18600;
}

.company__btn span{
  font-size:1.14em;
  font-weight:700;
  color:#e18600;
}

.company__btn::after{
  content:"";
  width:18px;
  height:18px;
  border-top:2px solid #e18600;
  border-right:2px solid #e18600;
  transform:rotate(45deg);
  position:absolute;
  right:30px;
  top:50%;
  margin-top:-9px;
}

@media (max-width: 640px) {
.section_05{background: none;background-repeat: no-repeat;background-position: top center;background-size: cover;position: relative;z-index: 0;padding: 0px 0 0;margin-bottom: 50px;background: linear-gradient(180deg, #e9e8e9 0%, #e9e8e9 70%, #ffffff 70%, #ffffff 100%);margin-top: 50px;}
  .company {
    padding: 0px 0;
	  position: relative;
	  margin-top: -80px;}
  .company__inner {
	  width: 90%;
	  margin: 0 auto;
    display: block;
	  position:relative;
	  margin-top: -80px;
	  overflow: hidden;}
.company__body {
position:relative;
	margin-top: 0px;
width: 100%;
	margin-right: 0%;
padding: 30px 0 0px;
	float: none;
	box-sizing: border-box;}
.company__title {
    font-size: 3em;
  }
.company__sub {
    margin: 0px 0 10px;
    font-size: 1.4em;
  }
.company__text {
	  width: 100%;
    margin-bottom: 20px;
   font-size: .84em;
    line-height: 1.8;
	letter-spacing: 0em;}
.sp_company__photo {
	  width: 100%; float: none;
    margin: 0 0 0 0%;}
.sp_company__photo img {
	  width: 100%;
    height: auto;}
.company__btn {
    width: 90%;
	  height: 50px;
	  margin-top: -20px;
	  margin: -20px auto 0;}
}

/* section_06 */
.section_06{background-image: url("../img/sec_06_bg_01_pc.webp");
    background-repeat: no-repeat;
    background-position: top center; /*右下に表示 したものを左上に反転*/
    background-size: cover; /*高さにあわせる*/
    height: auto;
    width: 100%;
	position: relative;padding:0em;box-sizing: border-box;color:#ffffff;}
.recruit__inner{
    position: relative;
    box-sizing: border-box;
    width: 1200px;
    padding: 5em 100px;
	margin:0 auto;
	text-align:left;
}
.recruit__title {
  margin: 0 0 20px;
  font-size: 4.6em;
  font-weight: 900;
  line-height: .9;
  letter-spacing: .02em;
	text-align: center;
}

.recruit__sub {
	text-align: center;
  margin: 0 0 34px;
  font-size: 1.8em;
  font-weight: 800;
  line-height: 1.4;
}
.recruit__btn {
  width:min(100%,360px);
  height:60px;
  margin:1em auto;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border-radius:999px;
  background:#ffffff;
  text-decoration:none;
border: 1px solid #e18600;
	filter: drop-shadow(4px 4px 5px  rgba(0, 0, 0, 0.7));
}

.recruit__btn span{
  font-size:1.14em;
  font-weight:700;
  color:#e18600;
}

.recruit__btn::after{
  content:"";
  width:18px;
  height:18px;
  border-top:2px solid #e18600;
  border-right:2px solid #e18600;
  transform:rotate(45deg);
  position:absolute;
  right:30px;
  top:50%;
  margin-top:-9px;
}
@media (max-width: 640px) {
.recruit__inner{
    width: 100%;
    padding: 2em 5%;
	margin:0 auto;
	text-align:left;
}
  .recruit__title {
	    margin: 0 0 0px;
    font-size: 3em;
  }
  .recruit__sub {
    margin-bottom: 16px;
    font-size: 1.4em;
  }
	.recruit__btn {
  width:80%;
}






/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width:1000px) {
.spnone{display: block;}
.tbonly{display: block;}
.sponly{display: none;}




	}
/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width:640px) {
.spnone{display: none;}
.sponly{display: block;}
.tbonly{display: none;}
.f-left{float: none;}
.f-right{float: none;}
.w90per{width: 100%;margin:0 auto;}
.w80per{width: 80%;margin:0 auto;}
.w48per{width: 100%;margin-bottom: 3%;}
.w66per{width: 100%;position: relative;}	
.center_left{text-align: left;}

/* 全体英字タイトル：左右センター */
.ttlIconCenter{
  display: flex;
  flex-direction: column;
  align-items: flex-start;   /* ← 日本語も含めてセンター */
  gap: 5px;
  margin: 2em 0 1em;
}

/* 上段：アイコン＋英字 */
.ttlIconCenter__top{
  display: flex;
  align-items: center;   /* ← アイコンを英字の高さ中央に */
  gap: 10px;
}

/* アイコン */
.ttlIconCenter__icon{
  width: 25px;
  height: auto;
  display: block;
  flex: 0 0 auto;
}

/* 英字 */
.ttlIconCenter__en{
  font-size: 2.0em;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #4b4b4b;
  text-align: center;
}

/* 日本語 */
.ttlIconCenter__jp{
  font-size: 1.0em;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.0;
  color: #4b4b4b;
  text-align: center;
}

/* news */


/* section_02 */
	
/* section_03 */

	
/* section_04 */


/* section_05 */




}
