@charset "UTF-8";

/*===========================

スライダー

===========================*/

#visual{
	position: relative;
}

#visual a:hover img{
	opacity: 0.8;
}

#visual .slick-next{
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -9px;
	z-index: 5;
}

#visual .slick-prev{
	position: absolute;
	top: 50%;
	left: 25px;
	margin-top: -9px;
	z-index: 5;
}
#visual .slick-next::before{
	content:url("../img/icon/icon_slider_arrow_next2.png");
	/*content: none;*/
	display: block;
	position: absolute;
	right: 1%;
	
}

#visual .slick-prev::before{
	content:url("../img/icon/icon_slider_arrow_prev2.png");
	/*content: none;*/
	display: block;
	position: absolute;
}
#visual a:hover{
	text-decoration: none;
}

@media screen and (max-width: 767px){
#visual .slick-next::before{
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

#visual .slick-prev::before{
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	border-top: 4px solid #fff;
	border-left: 4px solid #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}



#visual .slick-next,
#visual .slick-prev{
	display: none !important;
}
}
.dl_Horizon_smp{
	margin: 30px 0 7px 0;
}


/*===========================

お知らせ

===========================*/
.block_Section .left-float{
	float:left;
}
.block_Section .right-float{
	float:right;
}
img{
	width:100%;
}
.w400{
	width:400px;
}
.w300{
	width:300px;
}
h4.hdg-l5-01{
	color: #177e85;
}
ol,ul,p{
	margin:0.1em 0;
}
ol.number{
	list-style-type: decimal;
}

/* =Blocks
-----------------------*/

.blocks-2{
	width: 47%;
}
.blocks-3{
	width: 30.3333333333332%;
}
.blocks-4{
	width: 22%;
}


@media screen and (max-width:786px) {
	.block_Section .left-float, .block_Section .right-float{
		float:none;
	}
	.blocks-2,.blocks-3,.blocks-4{
		width:100%;
	}
	img{
		width:100% !important;	
	}
}
/*-------------------------------
         index98.html
---------------------------------*/

ul.index98-tv li{
	margin-left: 1em;
}
ul.index98-photo{
	width:100%;
}

ul.index98-photo li{
	float:left;
	width:50%;
}
ul.index98-photo li img{
	width:100%;
}

@media screen and (max-width:786px) {
	
	ul.index98-photo li{
	float:none;
	width:100%;
	}
}

#portfolio {
  width: 100%;
  min-height:420px;
  background: #ffffff;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(400px, 1fr));
  grid-template-rows: 1fr 1fr;
  
}

.project {
  position: relative;
  background: #00a8a9;
  overflow: hidden;
}
.project img {
  position: absolute;
  opacity: 0.9;
}
.project p {
  position: absolute;
  text-align: center;
  width: 100%;
  padding: 1em 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  z-index: 3;
  color:#ffffff;
  font-size:2em;
  font-weight:bold;
  
}
.project .grid__title {
  position: absolute;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  bottom: 0;
  font-weight: 100;
  font-size: 0.8em;
  z-index: 3;
  text-transform: uppercase;
  color: #474545;
  letter-spacing: 2px;
}

.project:hover .grid__overlay {
  transform: translateY(0%);
}

.grid__overlay {
  background: #00a8a9;
  height: 100%;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  position: relative;
  display: grid;
  justify-items: center;
  align-items: center;
  transform: translateY(101%);
  transition: all 0.3s ease-in-out;
}
.grid__overlay button {
  background: none;
  outline: none;
  font-weight: 100;
  letter-spacing: 2px;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-transform: uppercase;
  padding: 10px;
}
.grid__overlay button:hover {
  transition: all 0.3s ease-in-out;
  background: #ffffff;
  color: #00a8a9;
  transform: scale(1.05);
}

.overlay {
  position: fixed;
  background: #00a8a9;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  z-index: 3;
}

.overlay.open {
  display: grid;
  align-items: center;
  justify-items: center;
}

.overlay__inner {
  background: #ffffff;
  width: 700px;
  padding: 20px;
  position: relative;
  opacity: 1;
}

.close {
  position: absolute;
  top: 3px;
  right: 10px;
  background: none;
  outline: 0;
  color: #474545;
  border: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.close:hover {
  color: #D1A39E;
}


#portfolio_smp {
  width: 100%;
  min-height:320px;
  background: #ffffff;
  position: relative;
  display: grid;
  grid-template-columns: repeat(1, minmax(270px, 1fr));
  
}

.project_smp {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.project_smp img {
  position: absolute;
  opacity: 0.9;
}
.project_smp p {
  position: absolute;
  text-align: center;
  width: 100%;
  padding: 3.5em 3em;
  text-transform: uppercase;
  letter-spacing: 2px;
  z-index: 3;
  color:#ffffff;
  font-size:2em;
  font-weight:bold;
  
}
.project_smp .grid__title {
  position: absolute;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  bottom: 0;
  font-weight: 100;
  font-size: 0.8em;
  z-index: 3;
  text-transform: uppercase;
  color: #474545;
  letter-spacing: 2px;
}
/*-------------------------------
         index98.html
---------------------------------
.project_smp:hover .grid__overlay_smp {
  transform: translateY(0%);
}

.grid__overlay_smp {
  background: #00a8a9;
  height: 100%;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  position: relative;
  display: grid;
  justify-items: center;
  align-items: center;
  transform: translateY(101%);
  transition: all 0.3s ease-in-out;
}
.grid__overlay_smp button {
  background: none;
  outline: none;
  font-weight: 100;
  letter-spacing: 2px;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-transform: uppercase;
  padding: 10px;
}
.grid__overlay_smp button:hover {
  transition: all 0.3s ease-in-out;
  background: #ffffff;
  color: #00a8a9;
  transform: scale(1.05);
}

.overlay_smp {
  position: fixed;
  background: #00a8a9;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  z-index: 3;
}

.overlay_smp.open {
  display: grid;
  align-items: center;
  justify-items: center;
}

.overlay_smp__inner {
  background: #ffffff;
  width: 400px;
  padding: 20px;
  position: relative;
  opacity: 1;
}

.close {
  position: absolute;
  top: 3px;
  right: 10px;
  background: none;
  outline: 0;
  color: #474545;
  border: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.close:hover {
  color: #D1A39E;
}
*/

/* hover styles */
.location-listing {
  position: relative;
}

.location-image {
  line-height: 0;
  overflow: hidden;
}

.location-image img {
  -webkit-transition: all 0.5s ease;
     -moz-transition: all 0.5s ease;
       -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.location-title {
  font-size: 1.5em;
  font-weight: bold;
  text-decoration: none;
  z-index: 1;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity .5s;
  color: white;
  
  /* position the text in t’ middle*/
  display: flex;
  align-items: center;
  justify-content: center;
}

.location-listing:hover .location-title {
  opacity: 1;
  color: #fff;
}


.location-listing:hover .location-image img# {
  border-radius: 50%;
  -webkit-transform: rotate(360deg);
     -moz-transform: rotate(360deg);
       -o-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
          transform: rotate(360deg);
}

.location-listing:hover .location-image img {
opacity:0.7;
background-color: #fff;
}
/* for touch screen devices */
@media (hover: none) { 
  .location-title {
    opacity: 1;
  }
  .location-image img {
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}

.image_title{
	color:#ffffff;
	font-size:1.2em;
}

.morph {
  -webkit-transition: all 0.5s ease;
     -moz-transition: all 0.5s ease;
       -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
          transition: all 0.5s ease;
}
 
.morph:hover {
  border-radius: 50%;
  -webkit-transform: rotate(360deg);
     -moz-transform: rotate(360deg);
       -o-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
          transform: rotate(360deg);
}

a.opacity img:hover {
	opacity:0.7;
}

.shine img:hover {
	  background-position: 0 0, 0 0;
  -webkit-transition-duration: 0.5s;
     -moz-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

/**
 * Icon
 */

.shine img:after {  
  background: rgba(255, 255, 255, 0.13);
  background: linear-gradient(
    to right, 
    rgba(255, 255, 255, 0.13) 0%,
    rgba(255, 255, 255, 0.13) 77%,
    rgba(255, 255, 255, 0.5) 92%,
    rgba(255, 255, 255, 0.0) 100%
  );
}

/* Hover state - trigger effect */

.shine img:hover:after {
  opacity: 1;
  top: -30%;
  left: -30%;
  transition-property: left, top, opacity;
  transition-duration: 0.7s, 0.7s, 0.15s;
  transition-timing-function: ease;
}

/* Active state */

.shine img:active:after {
  opacity: 0;
}

@media screen and (max-width: 767px)
{
	.news_pc {
	display:none;
	}
	.grid-container {
	display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  -ms-grid-columns: auto-fill(minmax(100px, 1fr));
  grid-gap: 1em;
  gap:1em;
  background:#00a8a9;
  padding:30px;
}
}

@media screen and (min-width: 768px)
{
	.news_smp {
	display:none;
	}
 .grid-container {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
   -ms-grid-columns: auto-fill (minmax(230px, 1fr));
  grid-gap: 3em;
  gap:3em;
  background:#00a8a9;
  padding: 50px 190px 50px 190px;
}
}

@media screen and (max-width: 767px)
{
	.businnes_pc {
	display:none;
	}
}

@media screen and (min-width: 768px)
{
	.businnes_smp {
	display:none;
	}
}

#keyword{
	position: relative;
	text-align: center;
	padding: 55px 0 90px;
}

#keyword .box{
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 1257px;
}

#keyword .box .box-btn{
	position: absolute;
	right: 10px;;
	bottom: -7px;
}

#keyword .box .box-btn .pc{
	padding: 0 63px;
	line-height: 130px;
}
#keyword .box .box-btn a.btn::after{
	height: 130px;
}

@media screen and (max-width: 767px)
{
	.recruit_pc {
	display:none;
	}
	.news_pc {
	display:none;
	}
}

@media screen and (min-width: 768px)
{
	.recruit_sp {
	display:none;
	}
	.news_sp {
	display:none;
	}
	.index .index_contents h2{
	margin: 50px 0 20px;
	}

}

	.Container__Intro > .Inner {
		padding: 30px 25px;
		text-align: center;
	}
	.Container__Intro {
    color: #fff;
    text-align: center;
    background: #008486;
}
/*
.entry_table img {
	width:50%!important;
}*/

.box_Basic h2 {
text-align:left;
padding:0px;
margin:0px;
}

.box_Basic img {
width:100%;
max-width:30px;
}

.table_Basic a span{
background:#008486!important;
text-align:right!important;
padding:2px;
color:#fff;
border-radius:2px;
}




/* メインビジュアル 610px-------------------------------------------------- 
.company-index #mainVisual {
  position: relative;
  height: 550px;
  overflow: hidden;
}
@media screen and (max-width: 760px) {
  .company-index #mainVisual {
    height: 440px;
  }
}
@media screen and (max-width: 640px) {
  .company-index #mainVisual {
    height: 350px;
  }
}
@media screen and (max-width: 540px) {
  .company-index #mainVisual {
    height: 260px;
  }
}
@media screen and (max-width: 460px) {
  .company-index #mainVisual {
    height:210px;
  }
}

.company-index #mainVisual.is-w img, .company-index #mainVisual.is-w video {
  height: 100%;
  width: auto;
}

.company-index #mainVisual .MVBOX {
  height: 550px;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 760px) {
  .company-index #mainVisual .MVBOX {
    height: 440px;
  }
}
@media screen and (max-width: 640px) {
  .company-index #mainVisual .MVBOX {
    height: 350px;
  }
}
@media screen and (max-width: 540px) {
  .company-index #mainVisual .MVBOX {
    height: 260px;
  }
}
@media screen and (max-width: 460px) {
  .company-index #mainVisual .MVBOX {
    height: 210px;
	
  }
}
@media screen and (min-width: 761px) {
.company-index #mainVisual img, .company-index #mainVisual video {
  height: 100%;
}
}
.company-index #mainVisual img, .company-index #mainVisual video {
  width: auto;
  max-width: 100%;
  vertical-align: top;
}

.company-index #mainVisual .mvText {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText {
    bottom: 20px;
  }
}

.company-index #mainVisual .mvText h2 {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 {
    padding-left: 6.5%;
    padding-right: 6.5%;
  }
}

.company-index #mainVisual .mvText h2 .en {
  font-size: 38px;
  letter-spacing: .05em;
  margin-bottom: 10px;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 .en {
    font-size: 32px;
    line-height: 1;
  }
}

.company-index #mainVisual .mvText h2 .jp {
  font-size: 36px;
/*  letter-spacing: .33em;
  letter-spacing: .2em;
  line-height: 1.7;
}
.company-index #mainVisual .mvText h2 .jp span {
  background: rgba(0,0,0, .6);
  padding: 5px 10px 4px;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 .jp {
    font-size: 18px;
  }
}

.company-index .kopi_textBlock {
  width: 100%; 
  max-width: 914px; 
  margin: 5px auto;
}
.company-index .kopi_textBlock p {
  font-size: 13px;
  color:#47515F;
  line-height: 1.6;
  text-align: right;
  margin-top: 10px;
}

@media screen and (max-width: 960px) {
  .company-index .kopi_textBlock p {
    font-size: 12px;
  }
}*/
/* メインビジュアル 610px-------------------------------------------------- */
.company-index #mainVisual {
  position: relative;
  height: 550px;
  overflow: hidden;
}
@media screen and (max-width: 760px) {
  .company-index #mainVisual {
    height: 440px;
  }
}
@media screen and (max-width: 640px) {
  .company-index #mainVisual {
    height: 350px;
  }
}
@media screen and (max-width: 540px) {
  .company-index #mainVisual {
    height: 260px;
  }
}
@media screen and (max-width: 460px) {
  .company-index #mainVisual {
    height:230px;
  }
}

.company-index #mainVisual.is-w img, .company-index #mainVisual.is-w video {
  height: 100%;
  width: auto;
}

.company-index #mainVisual .MVBOX {
  height: 550px;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 760px) {
  .company-index #mainVisual .MVBOX {
    height: 440px;
  }
}
@media screen and (max-width: 640px) {
  .company-index #mainVisual .MVBOX {
    height: 350px;
  }
}
@media screen and (max-width: 540px) {
  .company-index #mainVisual .MVBOX {
    height: 260px;
  }
}
@media screen and (max-width: 460px) {
  .company-index #mainVisual .MVBOX {
    height: 210px;
	
  }
}
@media screen and (min-width: 761px) {
.company-index #mainVisual img, .company-index #mainVisual video {
  height: 100%;
}
}
.company-index #mainVisual img, .company-index #mainVisual video {
  width: auto;
  max-width: 100%;
  vertical-align: top;
}

.company-index #mainVisual .mvText {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText {
    bottom: 20px;
  }
}

.company-index #mainVisual .mvText h2 {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 {
    padding-left: 6.5%;
    padding-right: 6.5%;
  }
}

.company-index #mainVisual .mvText h2 .en {
  font-size: 38px;
  letter-spacing: .05em;
  margin-bottom: 10px;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 .en {
    font-size: 32px;
    line-height: 1;
  }
}

.company-index #mainVisual .mvText h2 .jp {
  font-size: 36px;
/*  letter-spacing: .33em;*/
  letter-spacing: .2em;
  line-height: 1.7;
}
.company-index #mainVisual .mvText h2 .jp span {
  background: rgba(0,0,0, .6);
  padding: 5px 10px 4px;
}

@media screen and (max-width: 960px) {
  .company-index #mainVisual .mvText h2 .jp {
    font-size: 18px;
  }
}

.company-index .kopi_textBlock {
  width: 100%; 
  max-width: 914px; 
  margin: 5px auto;
}
.company-index .kopi_textBlock p {
  font-size: 13px;
  color:#47515F;
  line-height: 1.6;
  text-align: right;
  margin-top: 10px;
}

@media screen and (max-width: 960px) {
  .company-index .kopi_textBlock p {
    font-size: 12px;
  }
}