@charset "UTF-8";
/* Main CSS */

/* ==================== */
/* main preset */
/* ==================== */

  .sp_dev{
    display: none;
  }
#main-content {}
#main-content section {}

#philosophy {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
#philosophy::after {
  content: "";
  display: block;
  clear: both;
}
#philosophy .slider-wrapper {
  position: absolute;
  top: 100px;
  z-index: -1;
}

#philosophy .philosophy-content {
  max-width: 1200px;
  margin: auto;
}

#philosophy .philosophy-content .strengths,
#philosophy .philosophy-content .personnel {
  /*padding-left: 30px;*/
	padding-left: 0px;
}
#philosophy .philosophy-content .personnel {
  float: right;
}

#philosophy .philosophy-content .strengths::before,
#philosophy .philosophy-content .personnel::before {
  display: inline-block;
  font-family: "Oswald", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #899fbb;
  transform: rotate(90deg) translate(95px, 55px);
}

/*#philosophy .philosophy-content .strengths::before {
  content: "Strengths";
}*/
#philosophy .philosophy-content .personnel::before {
  content: "Personnel";
}

#philosophy .philosophy-content article div {
  max-width: 900px;
  padding: 30px 0;
}

#philosophy .philosophy-content article .sub-heading {
  font-size: 3.5rem;
}
#philosophy .philosophy-content article p {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.8;
  padding-left: 8px;
}
#philosophy .philosophy-content article p + p {
  font-size: .925rem;
  font-weight: 400;
  padding-top: 18px;
}

#ourbusiness,
#recruit,
#ourstrength,
#companyaccess,
#our-strangth-section,
#recruit-interview
{
  padding: 60px 0 100px;
  background: #EFF3F9;
  background: linear-gradient(180deg, rgba(239, 243, 249, 1) 0%, rgba(239, 243, 249, 1) 45%, rgba(255, 255, 255, 1) 100%);
}
#companyphilosophy,
#engeneerling,
#recruit-table1
{
  padding: 60px 0 60px;
  background: #EFF3F9;
  margin-bottom:50px

}


#ourbusiness article,
#recruit article,
#ourstrength article{
  max-width: 1200px;
  margin: auto;
}
#ourbusiness article h2.heading,
#recruit article h2.heading,
#ourstrength article h2.heading,
#ourbusiness article h3.heading,
#recruit article h3.heading,
#ourstrength article h3.heading{
  position: relative;
  left: -8px;
  font-size: 7.5rem;
  margin-bottom: 70px;
  font-family: 'Oswald', 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-optical-sizing: auto;
}



#ourstrength article h2.headingg{
  position: relative;
  left: -8px;
  font-size: 7.5rem;
  margin-bottom: 50px;
  font-family: 'Oswald', 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-optical-sizing: auto;
	    color: #155aa8;
}



#ourbusiness article h2.heading sub,
#recruit article h2.heading sub,
#ourstrength article h2.heading sub,
#ourbusiness article h3.heading sub,
#recruit article h3.heading sub,
#ourstrength article h3.heading sub{
  position: absolute;
  bottom: -8px;
  left: 8px;
  display: block;
  font-size: 1.375rem;
  color: #000;
}

#ourbusiness article h3.heading,
#recruit article h3.heading,
#ourstrength article h3.heading{
  left: -4px;
  font-size: 2rem;
  margin-bottom: 100px;
}



#ourbusiness article h3.headingg,
#recruit article h3.headingg,
#ourstrength article h3.headingg{
  left: -4px;
  font-size: 2rem;
  margin-bottom: 55px;
	font-family: 'Oswald', 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	position: relative;
	font-weight: 600;
}


#ourbusiness article h3.heading sub,
#recruit article h3.heading sub,
#ourstrength article h3.heading sub{
  bottom: -25px;
  left: 4px;
  font-size: 1.025rem;
  color: #999;
}
#ourbusiness article h3.heading::after,
#recruit article h3.heading::after,
#ourstrength article h3.heading::after{
  content: "";
  position: absolute;
  bottom: -60px;
  bottom:-40px;
  left: 4px;
  display: block;
  width: 120px;
  height: 3px;
  background: #155BA8;
  background: linear-gradient(90deg, rgba(21, 91, 168, 1) 0%, rgba(0, 188, 148, 1) 100%);
}


#ourbusiness article h3.headingg::after,
#recruit article h3.headingg::after,
#ourstrength article h3.headingg::after{
  content: "";
  position: absolute;
  bottom: -25px;
  left: 4px;
  display: block;
  width: 120px;
  height: 3px;
  background: #155BA8;
  background: linear-gradient(90deg, rgba(21, 91, 168, 1) 0%, rgba(0, 188, 148, 1) 100%);
}



#ourbusiness article h3.headingTop{
  position: relative;
  left: -8px;
  font-size: 7.5rem;
  margin-bottom: 70px;
  font-family: 'Oswald', 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-optical-sizing: auto;
}
#ourbusiness article h3.headingTop sub
{
  position: absolute;
  bottom: -8px;
  left: 8px;
  display: block;
  font-size: 1.375rem;
  color: #000;
}
#ourbusiness article h3.headingTop{
  left: -4px;
  font-size: 2rem;
  margin-bottom: 55px;
}
#ourbusiness article h3.headingTop sub
{
  bottom: -25px;
  left: 4px;
  font-size: 1.025rem;
  color: #999;
}
#ourbusiness article h3.headingTop::after{
  content: "";
  position: absolute;
  bottom: -25px;
  left: 4px;
  display: block;
  width: 120px;
  height: 3px;
  background: #155BA8;
  background: linear-gradient(90deg, rgba(21, 91, 168, 1) 0%, rgba(0, 188, 148, 1) 100%);
}
#main-content .headingTop {
    font-family: "Oswald", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    color: #155aa8;
}









#ourbusiness .category,
#ourbusiness .category .category-item {
  display: flex;
}
#ourbusiness .category {
  flex-direction: column;
}
#ourbusiness .category .category-item:nth-child(odd) {
  flex-direction: row-reverse;
}
#ourbusiness .category .category-item:nth-child(even) {
  flex-direction: row;
}
#ourbusiness .category .category-item:nth-child(odd) .category-caption {
  padding-right: 35px;
}
#ourbusiness .category .category-item:nth-child(even) .category-caption {
  padding-left: 35px;
}

#ourbusiness .category .category-item {
  margin-bottom: 90px;
}
#ourbusiness .category .category-item:last-child {
  margin-bottom: 0;
}
#ourbusiness .category .category-item .category-visual,
#ourbusiness .category .category-item .category-caption {
  line-height: 1.8;
  width: 50%;
  box-sizing: border-box;
}
#ourbusiness .category .category-item .category-caption {
  margin-top: -16px;
}

#ourbusiness .category .category-item .category-caption p {
  margin-bottom: 30px;
}
#ourbusiness .category .category-item .category-caption a {
  display: inline-block;
  padding: 12px 70px;
  border: solid 1px #155aa8;
  border-radius: 100px;
  color: #155aa8;
  font-weight: 600;
  text-decoration: none;
}

#recruit {
}
#recruit .recruit-items {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
}
#recruit .recruit-item {
  width: 49%;
}


.l1img{width:100%;max-width:642px;text-align:center;margin:0 auto;}
.l1img img{width:100%;}

.l2img{width:100%;max-width:500px;text-align:center;margin:0 auto;}
.l2img img{width:100%;}

@media screen and (max-width: 1180px) {
#ourbusiness article, #recruit article {
    padding: 0 20px;
}
}


@media screen and (max-width: 1024px) {
  #ourbusiness article, #recruit article, #ourstrength article {
        padding: 0;
    }
  #philosophy .philosophy-content {
    width: 90%;
    margin: auto;
  }

  #ourbusiness article h2.heading,
  #recruit article h2.heading,
  #ourstrength article h2.heading{
    width: 90%;
    margin: 0 auto 70px;
  }

  #ourbusiness .category .category-item:nth-child(odd),
  #ourbusiness .category .category-item:nth-child(even) {
    flex-direction: column;
  }
  #ourbusiness .category .category-item .category-caption {
    margin-top: 16px;
  }
  #ourbusiness .category .category-item:nth-child(odd) .category-caption,
  #ourbusiness .category .category-item:nth-child(even) .category-caption {
    padding: 0;
  }
  #ourbusiness .category .category-item .category-visual,
  #ourbusiness .category .category-item .category-caption,
  #recruit .recruit-items {
    width: 90%;
    margin: auto;
  }
  #ourbusiness .category .category-item .category-visual{
    margin-bottom: 5vw;
  }

  #ourbusiness article h3.heading,
  #recruit article h3.heading,
  #ourstrength article h3.heading{
    text-align: center;
  }
  #ourbusiness article h3.heading sub,
  #recruit article h3.heading sub,
  #ourstrength article h3.heading sub {
    left: 0;
    right: 0;
  }
  #ourbusiness article h3.heading::after,
  #recruit article h3.heading::after,
  #ourstrength article h3.heading::after{
    left: 0;
    right: 0;
    width: 120px;
    margin: auto;
  }
  #ourbusiness .category .category-item .category-caption p {
    text-align: center;
  }
  #ourbusiness .category .category-item .category-caption a {
    display: block;
    width: 40%;
    margin: auto;
    text-align: center;
  }
}

@media screen and (max-width: 812px) {
  .pc_dev{
    display: none;
  }
  .sp_dev{
    display: block;
  }
#philosophy {
    padding: 40px 0;
}
#philosophy .slider-wrapper {
    top: 30px;
}
#philosophy .philosophy-content article .sub-heading {
        font-size: 7vw;
        line-height: 1;
        margin-bottom: 10px;
    }
#philosophy .philosophy-content article p {
    font-size: inherit;
    padding-left: 0;
}
  #ourbusiness article h2.heading,
  #recruit article h2.heading,
  #ourstrength article h2.heading {
    font-size: 16vw;
    text-align: center;
  }
	
  #ourstrength article h2.headingg {
    font-size: 16vw;
    text-align: center;
  }	
	
	
	
	
  #ourbusiness article h2.heading sub,
  #recruit article h2.heading sub,
  #ourstrength article h2.heading sub {
    left: 0;
    right: 0;
    font-size: 3.5vw;
    text-align: center;
  }
#ourbusiness article h3.heading, #recruit article h3.heading, #ourstrength article h3.heading {
    left: 0;
    font-size: 1.4rem;
    margin-bottom: 100px;
}
    #ourbusiness .category .category-item .category-caption a {
        width: 90%;
    }
#ourbusiness .category .category-item .category-caption p {
        text-align: left;
    }
#ourbusiness, #recruit, #ourstrength {
    padding: 40px 0 40px;
  }
#ourbusiness .category .category-item {
    margin-bottom: 50px;
}
  #recruit .recruit-items {
    justify-content: center;
    flex-direction: column;
  }
  #recruit .recruit-item {
    width: 100%;
    margin-bottom: 5vw;
  }
#philosophy .philosophy-content .strengths::before, #philosophy .philosophy-content .personnel::before {
    margin-top: -40px;
}
}

.origins-wrapper{width:100%;max-width:1200px;margin:50px auto;display:flex;justify-content:space-between;}
.origins-wrapper > div{width:31%;padding:30px;box-shadow:2px 2px 5px #aaa;border-radius:30px}
.origins-wrapper > div  h4{font-size:2em;font-weight:800;text-align:center;margin-bottom:10px}
.origins-wrapper > div:nth-child(1) h4{color:#259417}
.origins-wrapper > div:nth-child(2) h4{color:#165bba}
.origins-wrapper > div:nth-child(3) h4{color:#461874}

.origins-wrapper > div p:nth-of-type(1){font-size:1.2em;font-weight:bold;margin-bottom:20px;text-align:center;}
.origins-wrapper > div figure{width:80%;max-width:122px;margin:20px auto;}
.origins-wrapper > div figure img{width:100%;}


.guideing-wrapper{margin-left:1.5em;}
.guideing-wrapper li{list-style:disc;margin-bottom:10px}

.orgn-chart-wrapper figure{width:80%;max-width:768px;margin:20px auto;}
.orgn-chart-wrapper figure img{width:100%;}

.company-table{table-layout:fixed;border-collapse:collapse;width:100%;}
.company-table tr{border-bottom:1px solid #d5d5d5;}
.company-table tr th,.company-table tr td{padding:20px 30px}
.company-table tr th{width:33%;}

#companyaccess iframe{width:100%;max-width:1200px;margin:0 auto;height:70vw;max-height:500px} 

#greeting .greeting-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap;}
#greeting .greeting-wrapper article{line-height:1.7;margin-bottom:20px}
#greeting .greeting-wrapper p{line-height:1.7;margin-bottom:20px;padding-left:0.5em}
#greeting .greeting-wrapper > figure{width:38%;overflow:hidden;height:auto;}
#greeting .greeting-wrapper > figure > img{width:100%;border-radius:30px 0 30px 0px;height:100%;object-fit:cover;max-height:456px}
#greeting .greeting-wrapper > div{width:58%;}

.recruit-message-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap;}
#recruit-message .recruit-message-wrapper > div{width:80%;display:flex;align-content:center;flex-wrap:wrap}
#recruit-message  .recruit-message-wrapper p{line-height:1.7;margin-bottom:20px;padding-left:0.5em}
#recruit-message  .recruit-message-wrapper > figure{width:18%;overflow:hidden;height:auto;}
#recruit-message  .recruit-message-wrapper > figure span{display:block;font-size:0.9em;padding:10px;position:relative;margin-top:-5em;text-align:center;color:#fff;text-shadow:0px 0px 3px rgba(0,0,0,0.95)}
#recruit-message  .recruit-message-wrapper > figure > img{width:100%;border-radius:30px 0 30px 0px;height:100%;object-fit:cover;max-height:456px}

.sign-wrapper{display:flex;margin-top:0px;align-items:center;font-weight:bold;justify-content:flex-end;}
.sign-wrapper img{width:10em;}

#businessareas-area h4{font-weight:bold;font-size:1em;margin-bottom:10px}
#businessareas-area p{margin-bottom:20px}
.ourstrength-wrapper {margin-bottom:40px;font-weight:500;font-size:1.2em;line-height:1.7;display:inline-block;}
.ourstrength-wrapper span{color:#165bba;font-weight:bold;font-size:1.3em}
#businessareas-area .inne  div.businessareas-block h4{width:100%;height:2.5em;}
#businessareas-area .inne  div.businessareas-block figure{width:100%;overflow:hidden;border-radius:20px 0 20px 0;margin-bottom:20px;margin-top:10px;}
#businessareas-area .inne  div.businessareas-block figure img{width:100%;height:100%;object-fit:cover;}
#businessareas-area .inne  div.businessareas-block{box-shadow:2px 2px 5px #aaa;padding:20px 20px;justify-content:space-between;background:#fff;flex-wrap:wrap;margin-bottom:20px;border-radius:30px 0 30px 0;align-items:center;background:#f3f9f9;width:24%}
#businessareas-area .inne  div.businessareas-block p{width:100%;line-height:1.9}
#businessareas-area .inne  div.businessareas-block{
background: #e6ebff;
background: linear-gradient(0deg,rgb(244, 246, 255) 0%, rgb(252, 255, 255) 100%);
}
.businessareas-wrapper{display:flex;justify-content:space-between;}
#ostrength p{margin-bottom:0.5em;line-height:1.8}
#our-strangth-section p strong{font-size:1.63em;display:block;line-height:1.8;color:#215796;
padding:40px 60px;border-radius:20px 0 20px 0;box-shadow:2px 2px 5px #aaa;background:#fff;
}

.recruitment-table-wrapper h4{font-size:1.3em;border-bottom:2px solid #215796;padding-bottom:10px;
font-weight:bold;}

.recruitment-table-wrapper table{table-layout:fixed;border-collapse:collapse;width:98%;max-width:1200px;}
.recruitment-table-wrapper table td{width:calc(100% - 200px);text-align:left;padding:15px}
.recruitment-table-wrapper table tr td:nth-child(1){width:230px;font-weight:bold;color:#215796;/*text-align:center;*/}
.recruitment-table-wrapper table tr{border-bottom:1px solid #aaa;}
#recruit-interview .inne .interview-wrapper{display:flex;justify-content:space-between;}
#recruit-interview .inne .interview-wrapper figure{width:200px;}
#recruit-interview .inne .interview-wrapper figure img{width:100%;}
#recruit-interview .inne .interview-wrapper > div {width:calc(100% - 200px - 20px);}
#recruit-interview .inne .interview-wrapper > div p{margin-bottom:0.5em;line-height:1.9}



.texpoi{
	line-height:1.8;
	margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
.wr {
    width: 90%;
    margin: auto;
}
#our-strangth-section p strong{font-size:1.3em;padding:30px}
}
.btnst{
    display: inline-block;
    padding: 12px 70px;
    border: solid 1px #155aa8;
    border-radius: 100px;
    color: #155aa8;
    font-weight: 600;
    text-decoration: none;
}
@media screen and (max-width: 812px) {
.btnst {
    width: 90%;
	margin:auto;
	display: block;
    margin: auto;
    text-align: center;
}
#our-strangth-section p strong{font-size:1.2em;padding:20px}
#recruit-message .recruit-message-wrapper > figure{width:70%;margin:auto auto 30px auto;}
#recruit-message .recruit-message-wrapper > div{width:100%}
.interview-wrapper{flex-wrap:wrap}
#recruit-interview .inne .interview-wrapper figure{width:100%;text-align:center;margin-bottom:20px}
#recruit-interview .inne .interview-wrapper figure img{max-width:246px}
#recruit-interview .inne .interview-wrapper > div{width:100%}
.recruitment-table-wrapper table td{display:block;width:100%;}
.recruitment-table-wrapper table tr td:nth-child(1){width:100%;text-align:left;padding-bottom:0}
.recruitment-table-wrapper table tr td:nth-child(2){padding-top:0}
}

.category-visual img{
	border-radius: 30px 0 30px 0;
}
@media screen and (max-width: 1024px) {
.category-visual img{
	border-radius: 20px 0 20px 0;
}
.businessareas-wrapper{flex-wrap:wrap;}
#businessareas-area .inne  div.businessareas-block{
width:100%;display:flex;justify-content:space-between;
}
#businessareas-area .inne  div.businessareas-block figure{width:30%;}
#businessareas-area .inne  div.businessareas-block p{width:67%}
#businessareas-area .inne  div.businessareas-block h4{height:auto;}

}

.recruit-visual img{
	border-radius: 30px 0 30px 0;
}
@media screen and (max-width: 1024px) {
.recruit-visual img{
	border-radius: 20px 0 20px 0;
}
.origins-wrapper{flex-wrap:wrap;}
.origins-wrapper > div{width:90%;margin:0 auto;margin-bottom:20px}
}
@media screen and (max-width: 768px) {
#businessareas-area .inne  div.businessareas-block figure{width:100%;height:150px;}
#businessareas-area .inne  div.businessareas-block p{width:100%}
.ourstrength-wrapper{font-size:1.1em;padding:20px}
#greeting .greeting-wrapper > figure,#greeting .greeting-wrapper > div{width:100%;margin-bottom:20px}
}

.dateLabel{
	margin-bottom:30px;
	font-size:14px;
}

.bayu img{
	max-width:100%;
	width: auto;
	height:auto;
	margin:30px 0 0 0;
}


.texpoi{
	margin-bottom: 30px;
}
.deps{
	width:48%;
	float:right;
	border-radius:30px 0 30px 0;
	overflow:hidden;
}
.deps img{
	width:100%;
	height:auto;
}
.depss{
	width:48%;
	float:left;
}
@media screen and (max-width: 768px) {
.deps{
	width:100%;
	float:none;
	border-radius:20px 0 20px 0;
}
.depss{
	width:100%;
	float:none;
	margin-bottom:40px;
}
}