/*******************************************
*
* css for TOP
*
********************************************/
@charset "UTF-8";


sup{
	font-size:0.75em;
}


#indexFrame{
	display:block;
	overflow:hidden;
	position:relative;
	padding-top: 96px;
}

#contentBody .innerFrame{
	width:1000px;
	/*padding:0 20px;*/
}


.contentMenu{
	display:block;
	overflow:hidden;
	padding:50px 0;
}

.contentMenu h2.pgTtl{
	display:block;
	overflow:hidden;
	text-align:center;
	color:#000000;
	margin-bottom:50px;
}

.contentMenu h2.pgTtl > .jpTtl{
	display:inline-block;
	overflow:hidden;
	font-size: 2.8rem;
	font-weight:bold;
	line-height:125%;
	position:relative;
	z-index:5;
	padding:0 40px;
}

.contentMenu h2.pgTtl > .jpTtl:before {
    content: "";
    display: block;
    border-top: solid 1px #000000;
    width: 25px;
    height: 1px;
    position: absolute;
    top: 50%;
    left:0;
    z-index:1;
}

.contentMenu h2.pgTtl > .jpTtl:after {
    content: "";
    display: block;
    border-top: solid 1px #000000;
    width: 25px;
    height: 1px;
    position: absolute;
    top: 50%;
    right:0;
    z-index:1;
}

.contentMenu a.linkedBtn{
	min-width:320px;
}


.contTxt{
	display:block;
	overflow:hidden;
	font-size:2.4rem;
	line-height:155%;
	text-align:center;
	margin-bottom:50px;
}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	#indexFrame{
		padding-top: calc(18vw + 3px);
	}

	.contentMenu{
		/*padding:40px 0;*/
	}

	.contentMenu h2.pgTtl{
		margin-bottom:30px;
	}

	.innerFrame,
	#contentBody .innerFrame{
		width:100%;
		padding:0 0!important;
	}

	#footerNavi .innerFrame{
		padding:0 20px!important;
	}

	.contentMenu h2.pgTtl > .jpTtl{
		font-size:1.8rem;
	}
	.contentMenu span.enTtl{
		font-size:1.4rem;
	}

	.contentMenu a.blackBtn{
		width:90%;
		min-width:auto;
	}

	.contTxt{
		font-size:1.6rem;
		padding:0 20px;
		margin-bottom:40px;
	}


}



/* ==========================================================
*
* 表紙エリア
*
========================================================== */
#coverBox{
	display:block;
	overflow:hidden;
}

#mainImage{
	display:block;
	overflow:hidden;
	width: 100%;
	height: 600px;
	position:relative;
}

#mainImage ul{
	display:block;
	overflow:hidden;
	width:100%;
	height:600px;
	position:relative;
	background-color:#f7f7f7;
}

#mainImage ul > li{
	display:block;
	overflow:hidden;
	width:100%;
	height:600px;
	position:absolute;
	top:0;
	left:0;
	opacity:0;
	animation:fadeAnime 30s ease infinite;
}


#mainImage img{
	width:100%;
	height:100%;
	/*min-width:1024px;*/
	object-fit: cover;
	position:relative;
}


#mainImage > p{
	display:inline-block;
	overflow:hidden;
	width:668px;
	height:600px;
	position:absolute;
	top:0;
	left:0;
}


/*スライドアニメーション設定 */
#mainImage ul > li:nth-child(1) { animation-delay: 0s}
#mainImage ul > li:nth-child(2) { animation-delay: 10s}
#mainImage ul > li:nth-child(3) { animation-delay: 20s}
 
@keyframes fadeAnime{
	0% { opacity: 0 }
	16% { opacity: 1 }
	33% { opacity: 1 }
	49% { opacity: 0 }
	100% { opacity: 0 }
}



/* for TB --------------------------*/
@media screen and ( max-width:896px) {

	#mainImage > .innerFrame > p{
		left:35px;
	}

}

/* for SP --------------------------*/
@media screen and ( max-width:750px) {

	#mainImage{
		height:auto;
	}
	#mainImage ul,
	#mainImage ul > li{
		height:98vw;
	}

	#mainImage > p{
		display:block;
		width:76vw;
		height:auto;
		position:relative;
		margin:-25% auto 0;
	}

	#mainImage > p > img{
		object-fit:unset;
	}



}


/*TOP LINK*/
#topLink{
	display:block;
	overflow:hidden;
	margin-top:22px;
}

#topLink ul{
	display:block;
	overflow:hidden;
}

#topLink ul > li{
	display:block;
	overflow:hidden;
	width:33.3%;
	min-width:320px;
	height:90px;
	float:left;
}

#topLink ul > li > a{
	display:block;
	overflow:hidden;
	text-align:center;
	height:90px;
}

#topLink ul > li > a.current,
#topLink ul > li > a:hover{
	text-decoration:none;
}

#topLink ul > li > a.current{
	pointer-events:none;
}

.slick-slide img{
	margin:0 auto;
}

/* for TB --------------------------*/
@media screen and ( max-width:896px) {

	#topLink ul > li{
		min-width:auto;
		height:auto;
	}

	#topLink ul > li > a{
		height:auto;
	}

	#topLink ul > li > a > img{
		width:100%;
		height:auto;
		max-width:320px;
	}

}

/* for SP --------------------------*/
@media screen and ( max-width:750px) {

	#topLink ul > li{
		min-width:auto;
		height:auto;
	}

	#topLink ul > li > a{
		height:auto;
	}

	#topLink ul > li > a > img{
		width:100%;
		height:auto;
		max-width:320px;
	}
	
	.slick-slide img{
		width:100%;
		height:auto;
	}

}


/* ==========================================================
*
* スペシャルメッセージ
*
========================================================== */
#altMsg{
	display:block;
	overflow:hidden;
	margin:50px 0 0;
}

#altMsg > .innerFrame{
	width:992px;
}

#msgBody{
	display:block;
	overflow:hidden;
}

#msgBody > h2{
	display:block;
	overflow:hidden;
	text-align:center;
	font-size:1.8rem;
	line-height:125%;
	padding:0.5em 1em;
	font-weight:bold;
}

#msgBody > p{
	display:block;
	overflow:hidden;
	line-height:175%;
	padding:30px 40px;
}


.redBox{
	border:1px solid #e50012;
}

.redBox > h2{
	color:#ffffff;
	background-color:#e50012;
}



/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	#altMsg{
		padding: 0 20px;
		margin:1em 0 0;
	}

	#altMsg > .innerFrame{
		width:100%;
	}

	#msgBody > h2{
		font-size:1.4rem;
	}

	#msgBody > p{
		padding:1.5em;
	}


}


/* ==========================================================
*
* ニュースリリース
*
========================================================== */
#news{
	background-color:#f7f7f7;
	margin-top:50px;
}

#news > .innerFrame{
	padding:30px 50px;
	background-color:#ffffff;
	margin-bottom:50px;
}

#news .dateList{
	display:block;
	overflow:hidden;
}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	#news{
		margin-top:2em;
	}

	#news > .innerFrame{
		padding:0 0;
	}

	#news .dateList{

	}

	#news dl.dateList dt{
		padding:1em 20px;
	}
	#news dl.dateList dd{
		padding:0 20px 1em;
	}

}


/* ==========================================================
*
* サービスの特徴
*
========================================================== */
#service{
	padding:80px 0;
}

#service .overview{
	display:block;
	overflow:hidden;
	text-align:center;
	font-size:1.4rem;
	line-height:175%;
	margin:40px 0;
}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {
	#service{
		padding:40px 0;
	}

	#service .overview{
		text-align:left;
		padding:0 10px;
		margin:40px 0 0;
	}

}


/*------------------------------------------
 3列リスト
 ------------------------------------------*/
ul.lsSp3{
	clear:both;
	display:block;
	overflow:hidden;
}

ul.lsSp3 > li{
	display:block;
	overflow:hidden;
	width:33.3%;
	float:left;
	text-align:center;
}

ul.lsSp3 > li > a{
	width:100%;
}



/* for TB --------------------------*/
@media screen and ( max-width:896px) {

	/**/

}



/* for SP --------------------------*/
@media screen and ( max-width:750px) {

	ul.lsSp3 > li{
		width:100%;
		float:none;
	}

}


#service ul.lsSp3{
	margin-bottom:50px;
}

#service ul.lsSp3 > li{
	padding:0 10px;
}

#service .dataTile > h4 {
    display: block;
    overflow: hidden;
    font-size: 2.1rem;
    line-height:125%;
    margin: 0 0 20px;
    font-weight:bold;
	color:#e41845;
}
#service .dataTile > p {
    display: block;
    overflow: hidden;
    font-size: 1.4rem;
    line-height:155%;
}


#service dl.cautionList{
	clear:both;
	margin:50px auto 0;
	width:80%;
}



/* for TB --------------------------*/
@media screen and ( max-width:896px) {

}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {
	#service .dataTile > h4 {
	    font-size: 1.8rem;
    	margin:0 0 0.5em;
	}

	#service .dataTile > p {
	    padding:0 0;
	}

	#service ul.lsSp3{
		margin-bottom:0;
	}

	#service ul.lsSp3 > li{
		padding:0 15px;
		margin-bottom:2em;
	}


	#service dl.cautionList{
		margin:30px auto 0;
		width:100%;
		padding:0 15px;
	}

}


/*注意文*/
#service .iconImg{
	display:block;
	overflow:hidden;
	text-align:center;
}

#service .infoBox{
	display:block;
	overflow:hidden;
	background-color:#f7f7f7;
	padding:25px 50px;
	font-size: 1.2rem;
	color:#595757;
	line-height:155%;
	margin:40px 0;
}


/* for TB --------------------------*/
@media screen and ( max-width:896px) {

}

/* for SP --------------------------*/
@media screen and ( max-width:750px) {

	#service .infoBox{
		padding:25px 20px;
	}

	#service .iconImg > img{
		width:40vw;
		max-width:150px;
		height:auto;
	}

}



/* ==========================================================
*
* 会社概要
*
========================================================== */
#company{
	text-align:center;
	background-color:#f7f7f7;
}


/*------------------------------------------
 フロー
 ------------------------------------------*/
ul#corpList{
	display:block;
	overflow:hidden;
	width:1050px;
	margin:0 auto 35px;
	letter-spacing:-.4em;
}

ul#corpList > li{
	display:inline-block;
	overflow:hidden;
	letter-spacing:normal;
	padding:0 15px 15px;
}

.corpInner{
	display:block;
	overflow:hidden;
	width:300px;
	text-align:center;
}

.corpInner > a{
	display:block;
	overflow:hidden;
	text-decoration:none;
	color:#000000;
}

.corpInner > a:hover{
	text-decoration:none;
}

.corpInner p{
	display:block;
	overflow:hidden;
	font-size:1.6rem;
	line-height:155%;
	margin-top:0.25em;
}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	ul#corpList{
		width:calc(100% - 15px);
	}

	ul#corpList > li{
		padding:0 5px 10px;
		width: 50%;
	}

	.corpInner{
		width:100%;
		height:auto;
	}

	.corpInner p{
		font-size:1.4rem;
		margin-top:0;
	}

	.corpInner img{
		width:100%;
		height:auto;
		max-width:300px;
	}

}


/* ==========================================================
*
* グループ関連リンク
*
========================================================== */
#groups{
	/**/
}

.groupList{
	display:block;
	overflow:hidden;
	float:left;
}

.groupList:nth-child(1){
	width:66%;
	/*padding-right:80px;*/
	border-right:1px solid #ababab;
}

.groupList:nth-child(2){
	width:34%;
	padding-left:80px;
}


.groupList h3{
	display:block;
	overflow:hidden;
	font-size:1.6rem;
	font-weight:bold;
	margin-bottom:1em;
}


.groupList > ul{
	display:block;
	overflow:hidden;
	line-height:200%;
}

.groupList:nth-child(1) > ul{
	width:50%;
	float:left;
}



/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	#groups{
	}

	.groupList{
		display:block;
		overflow:hidden;
		float:none;
		padding:0 20px;
	}

	.groupList:nth-child(1){
		width:100%;
		border-right:none;
		margin-bottom:30px;
	}

	.groupList:nth-child(2){
		width:100%;
		padding:0 20px;
	}

	.groupList:nth-child(1) > ul{
		width:100%;
		float:none;
	}


	.groupList a[href^="http"] > span:before{
	    content: "\e907";
	    color: #fa0046;
	    margin-right: 0.25em;
	}

	.groupList a[href^="http"] > span:after{
		content:"";
	}

}