@charset "utf-8";
/*=============================================================
 common
=============================================================*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: white;
  color: #333;
  font-size: 24px;
  font-family: Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
body {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
/*=============================================================
 pageMain
=============================================================*/
#pageMain{}
#pageMain #pageTtlMain{
	position: relative;
	width: 100%;
}

/*=============================================================
 pageMov
=============================================================*/
#pageMov{position: relative;}
#pageMov video{
	aspect-ratio: 16 / 7.5;
	width: 100%;
	height: auto;
	object-fit: cover;
}
#pageMov #control-btn{
	position: absolute;
	top: 30px;
	right: 30px;
	width: 34px;
	height: 34px;
	z-index: 2;
	cursor: pointer;
	transition: all .3s;
}
#pageMov #control-btn.play{background-image: url('../img/mov-play.svg');}
#pageMov #control-btn.play:hover{background-image: url('../img/mov-play-o.svg');}
#pageMov #control-btn.pause{background-image: url('../img/mov-pause.svg');}
#pageMov #control-btn.pause:hover{background-image: url('../img/mov-pause-o.svg');}




/*=============================================================
 news-area
=============================================================*/
.news-area{
	/*max-width: 994px;*/
	margin: clamp(80px, calc(80px + 0.15625 * (100vw - 768px)), 120px) auto 0;
}
.news-area .news-list{margin-bottom: 24px;}

/*=============================================================
 services-area
=============================================================*/
.services-area{overflow: hidden;}
.services-area .col-2{gap:0;}
.services-area .col-2.col-clm2-1>*:nth-child(odd){width:calc((100% - 0%) / 3 * 2 + 0%);}
.services-area .col-2.col-clm2-1>*:nth-child(even){width:calc((100% - 0%) / 3);}
.services-area .col-2.col-clm2-1>div:last-child{
	background: url("../img/index-p03.jpg") no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(20px, calc(20px + 0.15625 * (100vw - 768px)), 60px);
	box-sizing: border-box;
	color: #fff;
}
.services-area .ttl-h2{
	color: #fff;
	font-family: "Roboto Serif";
	font-size: clamp(30px, calc(30px + 0.0390625 * (100vw - 768px)), 40px);
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
}

/*=============================================================
 link-area
=============================================================*/
.link-area figure{margin-bottom: 32px;}
.link-area .ttl-h2{margin-bottom: 24px;}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PC-large
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media (min-width:1920px){
	
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px){
/*=============================================================
 common
=============================================================*/
/* index-banner */
.index-banner a{display: block;}
.index-banner a span:last-child{}
	
/*=============================================================
 pageMain
=============================================================*/
#pageMain #pageTtlMain{
	margin: 0;
	padding: 0;
}	

	
/*=============================================================
 pageMov
=============================================================*/
#pageMov video{
	aspect-ratio: 10 / 9;
}
#pageMov #control-btn{
	top: 20px;
	right: 20px;
}
/*=============================================================
 banner-company-info
=============================================================*/
.banner-company-info a{padding: 10px 124px 20px 30px;}
.banner-company-info a span:first-child{
	font-size: 2.4rem;
	width: auto;
}
.banner-company-info a span:last-child{width: 100%;}


/*=============================================================
 news-area
=============================================================*/
.news-area .col-2>div + div{margin-top: 60px!important;}

/*=============================================================
 services-area
=============================================================*/
.services-area .col-2.col-clm2-1{display: block;}	
.services-area .col-2.col-clm2-1>* + *{margin-top: 0;}	
.services-area .col-2.col-clm2-1>*:nth-child(odd),
.services-area .col-2.col-clm2-1>*:nth-child(even){width:  100%;}
.services-area .col-2.col-clm2-1>div:last-child{padding: 56px 20px;}
	
/*=============================================================
 link-area
=============================================================*/
.link-area{margin: 80px 0 40px;}
	
.img-radius + .img-radius{margin-top: 80px!important;}
}