@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　index
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
	
	
/*--------------------------------------------------------------------------
  Mv
---------------------------------------------------------------------------*/
.mv-slider{
  line-height: 0;  
}
.mv-slider .slider-item{
  position: relative;
}
.mv-slider .slider-item .caption,
.mv-pic .caption{
  position: absolute;
  right: 10px;
  bottom: 10px;
  line-height: 1.6; 
}
.mv-pic{
	position: relative;
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/
.ttl-top-sec{
	line-height: 1.2;
	font-weight: normal;
}
.ttl-top-sec .en{
	display: block;
	font-size: 10rem;
	letter-spacing: .04em;
}
.ttl-top-sec .ja{
	display: block;
	font-size: 1.6rem;
	letter-spacing: .02em;
}


/* merit-box
-----------------------------------------------------------------*/
.merit-box{
  padding: 80px 0; 
  line-height: 0;  
}
.merit-box .inner{
	max-width: 1335px;
}
.merit-box ul{
	display: flex;
	justify-content: space-between;
	text-align: center;
}
.merit-box ul li{
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 15px;
}
.merit-box ul li span{
	width: 100%;
}
.merit-box ul li:nth-child(n+2)::before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 1px;
	height: 50px;
	content: "";
	background: #E2E2E2;
}
.merit-box ul li:nth-child(1){
	width: 19.6%;
	padding-left: 0;
	text-align: left;
}
.merit-box ul li:nth-child(2){
	width: 19.85%;
}
.merit-box ul li:nth-child(3){
	width: 32.15%;
}
.merit-box ul li:nth-child(4){
	width: 28.4%;
	padding-right: 0;
	text-align: right;
}


/* cv-btn-area
-----------------------------------------------------------------*/
.cv-btn-area{
	padding: 40px 0;
}
.cv-btn-area .cv-btn-list{
	display: flex;
	justify-content: space-between;
	max-width: 930px;
	margin-inline: auto;
}
.cv-btn-area .cv-btn-list li{
	max-width: 445px;
	width: calc(50% - 5px);
}


/* sec-information
-----------------------------------------------------------------*/
.sec-information{
	padding: 80px 0;
}
.sec-information .ttl-top-sec{
	flex-shrink: 0;
	margin: 0 20px 20px 0;
}
.sec-information .ttl-top-sec .en{
	font-size: 4.6rem;
}
.sec-information .ttl-top-sec .ja{
	font-size: 1.6rem;
}
.sec-information .information-list{
	max-width: 724px;
	width: 65%;
	border-top: 1px solid #E2E2E2;
}
.sec-information .information-list > div{
	padding: 25px 0;
	border-bottom: 1px solid #E2E2E2;
	letter-spacing: .05em;
}
.sec-information .information-list dt{
	font-size: 1.4rem;
}
.sec-information .information-list dd{
	font-size: 1.6rem;
}
.sec-information .information-list dd a{
  text-decoration: underline;  
}
.sec-information .information-list dd a:hover{
  text-decoration: none;  
}


/* sec-concept
-----------------------------------------------------------------*/
.sec-concept{
	padding: 120px 0 160px;
}
.sec-concept h2{
	margin-bottom: 60px;
	text-align: center;
}
.sec-concept h2 + .txt-lead{
	margin-bottom: 120px;
	text-align: center;
	font-size: 3.4rem;
	letter-spacing: .3em;
}
.sec-concept .box01{
	max-width: 550px;
	width: 48%;	
}
.sec-concept .box01 .txt-lead{
	margin-bottom: 50px;
	font-size: 2.8rem;
	letter-spacing: .3em;
}
.sec-concept .txt{
	font-size: 2rem;
	line-height: 2.2;
	letter-spacing: .2em;
}
.sec-concept .txt + .txt{
	margin-top: 40px;
}
.sec-concept .box01 .pic-sub-list{
	margin-top: 170px;
}
.sec-concept .box01 .pic-sub-list li{
  position: relative;
   
}
.sec-concept .box01 .pic-sub-list li:nth-child(1){
  width: fit-content; 
	padding-left: 5%;
}
.sec-concept .box01 .pic-sub-list li:nth-child(2){
	margin-top: 100px;
	padding-right: 5%;
	text-align: right;
}
.sec-concept .box01 .pic-sub-list .caption{
  position: absolute;
  right: 10px;
  bottom: 5px;    
}
.sec-concept .box01 .pic-sub-list li:nth-child(2) .caption{
  right: 6%;  
}
.sec-concept .box02{
	max-width: 550px;
	width: 48%;
}
.sec-concept .box02 .pic-main{
  position: relative;
	margin-bottom: 100px;
}
.sec-concept .box02 .pic-main .caption{
  position: absolute;
  right: 10px;
  bottom: 5px;  
}

/* sec-cv
-----------------------------------------------------------------*/
.sec-cv .cv-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 120px 7%;
	background: url(../img/top/bg_contact.jpg) no-repeat center center;
	background-size: cover;
}
.sec-cv .cv-box .txt-area{
	margin-right: 20px;
	color: var(--light);
}
.sec-cv .cv-box h2{
	margin-bottom: 35px;
}
.sec-cv .cv-box .txt{
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: .2em;
}
.sec-cv .cv-box .cv-btn-list{
	max-width: 485px;
	width: 48%;
}
.sec-cv .cv-box .cv-btn-list li:nth-child(n+2){
	margin-top: 25px;
}


/* sec-contents
-----------------------------------------------------------------*/
.sec-contents{
	padding: 160px 0 50px;
}
.sec-contents h2{
	text-align: right;
}
.sec-contents .cont-nav-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: -100px;
	padding-bottom: 240px;
}
.sec-contents .cont-nav-list li{
	position: relative;
	width: 22.5%;
}
.sec-contents .cont-nav-list li:nth-child(4n+2){
	transform: translateY(80px);
}
.sec-contents .cont-nav-list li:nth-child(4n+3){
	transform: translateY(160px);
}
.sec-contents .cont-nav-list li:nth-child(4n+4){
	transform: translateY(240px);
}
.sec-contents .cont-nav-list li:nth-child(n+5){
	margin-top: 45px;
}
.sec-contents .cont-nav-list h3{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
	padding: 10px;
	color: var(--light);
	line-height: 1;
	font-weight: normal;
}
.sec-contents .cont-nav-list h3 .en{
	display: block;
	margin-bottom: 10px;
	font-size: 3.8rem;
	letter-spacing: .05em;
}
.sec-contents .cont-nav-list h3 .ja{
	font-size: 1.8rem;
	letter-spacing: .2em;
}
.sec-contents .cont-nav-list .thumb{
  position: relative;
	line-height: 0;
	transition: .3s;
}
.sec-contents .cont-nav-list .thumb .caption{
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 1.1rem;
  line-height: 1;  
}
.sec-contents .cont-nav-list a:hover .thumb{
	filter: brightness(1.3);
}
.sec-contents .cont-nav-list a.comingsoon{
	pointer-events: none;
}
.sec-contents .cont-nav-list a.comingsoon::before{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 12;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: var(--dark);
	opacity: .7;
}
.sec-contents .cont-nav-list .txt-comingsoon{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 15;
	width: 100%;
	text-align: center;
	font-size: 4rem;
	letter-spacing: .1em;
	line-height: 1.3;
	color: var(--light);
}





























/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.content{
		margin-top: 60px;
	}
	main,
	#Footer{
		background: none;
	}

/*--------------------------------------------------------------------------
  Mv
---------------------------------------------------------------------------*/
	.mv-slider .slider-item .caption,
	.mv-pic .caption{
		position: absolute;
		right: 5px;
		bottom: 5px;
		font-size: 1rem; 
	}


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/
	.bg-wrap{
		background-size: 100% auto;  
	}
	.ttl-top-sec .en{
		font-size: 5.7rem;
	}
	.ttl-top-sec .ja{
		margin-top: 3px;
		font-size: 1.4rem;
	}


/* merit-box
-----------------------------------------------------------------*/
	.merit-box{
		padding: 20px 0; 
		line-height: 0;
		background: var(--light);  
	}
	.merit-box ul{
		flex-wrap: wrap;
	}
	.merit-box ul li{
		padding: 15px 0;
	}
	.merit-box ul li span{
		display: block;
	}
	.merit-box ul li:nth-child(n+3)::before{
		top: 0;
		transform: none;
		width: 100%;
		height: 1px;
	}
	.merit-box ul li:nth-child(1){
		width: 55%;
		text-align: center;
	}
	.merit-box ul li:nth-child(1) img{
		width: 165px;
	}
	.merit-box ul li:nth-child(2){
		width: 45%;
	}
	.merit-box ul li:nth-child(2) img{
		width: 120px;
	}
	.merit-box ul li:nth-child(3){
		width: 100%;
	}
	.merit-box ul li:nth-child(3) img{
		width: 252px;
	}
	.merit-box ul li:nth-child(4){
		width: 100%;
		text-align: center;
	}
	.merit-box ul li:nth-child(4) img{
		width: 260px;
	}


/* cv-btn-area
-----------------------------------------------------------------*/
	.cv-btn-area{
		padding: 30px 0;
		background: var(--light);
	}
	.cv-btn-area .cv-btn-list{
		display: block;
		max-width: 400px;
	}
	.cv-btn-area .cv-btn-list li{
		max-width: none;
		width: 100%;
	}
	.cv-btn-area .cv-btn-list li:nth-child(n+2){
		margin-top: 15px;
	}


/* sec-information
-----------------------------------------------------------------*/
	.sec-information{
		padding: 40px 0;
		background: var(--light);
	}
	.sec-information .layout-box{
		display: block;
	}
	.sec-information .ttl-top-sec{
		margin: 0 0 30px;
	}
	.sec-information .ttl-top-sec .en{
		font-size: 3.6rem;
	}
	.sec-information .ttl-top-sec .ja{
		font-size: 1.4rem;
	}
	.sec-information .information-list{
		max-width: none;
		width: 100%;
	}
	.sec-information .information-list > div{
		padding: 15px 0;
	}
	.sec-information .information-list dd{
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.sec-information .information-list dd a{
		text-decoration: underline;  
	}
	.sec-information .information-list dd a:hover{
		text-decoration: none;  
	}



/* sec-concept
-----------------------------------------------------------------*/
	.sec-concept{
		padding: 40px 0 60px;
		background:url(../img/top/bg_contact_sp.jpg) no-repeat center bottom var(--light);
		background-size: 100% auto;
	}
	.sec-concept h2{
		margin-bottom: 30px;
	}
	.sec-concept h2 .en{
		font-size: 9rem;
		line-height: 1;
	}
	.sec-concept h2 + .txt-lead{
		margin-bottom: 40px;
		text-align: center;
		font-size: 2.6rem;
		letter-spacing: .2em;
	}
	.sec-concept .layout-box{
		display: block;
	}
	.sec-concept .box01{
		width: 100%;
		margin-inline: auto;	
		margin-bottom: 40px;
	}
	.sec-concept .box01 .pic-main{
    position: relative;
		margin-bottom: 50px;
	}
  .sec-concept .box01 .pic-main .caption{
    position: absolute;
    right: 10px;
    bottom: 5px;  
  }
	.sec-concept .box01 .txt-lead{
		margin-bottom: 20px;
		font-size: 2rem;
		letter-spacing: .1em;
	}
	.sec-concept .txt{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: .1em;
	}
	.sec-concept .txt + .txt{
		margin-top: 20px;
	}
	.sec-concept .box01 .pic-sub-list{
		margin-top: 40px;
	}
  .sec-concept .box01 .pic-sub-list li{
    position: relative;  
  }
	.sec-concept .box01 .pic-sub-list li:nth-child(1){
		width: 70%;
		padding-left: 0;
	}
	.sec-concept .box01 .pic-sub-list li:nth-child(2){
		width: 50%;
		margin: 50px 0 0 auto;
		padding-right: 0;
	}
  .sec-concept .box01 .pic-sub-list li:nth-child(2) .caption{
    right: 10px;  
  }
	.sec-concept .box02{
		width: 100%;
		margin-inline: auto;	
	}
	.sec-concept .box02 .pic-main{
		margin-bottom: 40px;
	}


/* sec-cv
-----------------------------------------------------------------*/
	.sec-cv .inner{
		padding: 0;		
	}
	.sec-cv .cv-box{
		display: block;
		padding: 40px 30px;
	}
	.sec-cv .cv-box .txt-area{
		margin: 0 0 50px;
	}
	.sec-cv .cv-box h2{
		margin-bottom: 20px;
	}
	.sec-cv .cv-box .txt{
		font-size: 1.3rem;
		line-height: 1.8;
	}
	.sec-cv .cv-box .cv-btn-list{
		max-width: 400px;
		width: 100%;
	}
	.sec-cv .cv-box .cv-btn-list li:nth-child(n+2){
		margin-top: 15px;
	}
	.cv-box .cv-btn-list .request a{
		font-size: 1.4rem;
	}


/* sec-contents
-----------------------------------------------------------------*/
	.sec-contents{
		padding: 50px 0 70px;
	}
	.sec-contents .cont-nav-list{
		margin-top: 40px;
		padding-bottom: 25px;
	}
	.sec-contents .cont-nav-list li{
		position: relative;
		width: calc(50% - 10px);
	}
	.sec-contents .cont-nav-list li:nth-child(odd){
		transform: none;
	}
	.sec-contents .cont-nav-list li:nth-child(even){
		transform: none;
	}
	.sec-contents .cont-nav-list li:nth-child(n+3){
		margin-top: 20px;
	}
	.sec-contents .cont-nav-list h3{
		bottom: 5px;
	}
	.sec-contents .cont-nav-list h3 .en{
		margin-bottom: 5px;
		font-size: 2.1rem;
	}
	.sec-contents .cont-nav-list h3 .ja{
		font-size: 1.1rem;
	}
	.sec-contents .cont-nav-list a:hover .thumb{
		filter: brightness(1);
	}
  .sec-contents .cont-nav-list .thumb .caption{
    right: 3px;
    bottom: 3px;
    font-size: 1rem;  
  }
	.sec-contents .cont-nav-list .txt-comingsoon{
		font-size: 2.5rem;
	}



}