@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	padding: 0 30px;
}

@media all and (min-width: 897px) {
	.content {
		padding: 0 50px;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 45px;
	padding-left: 65px;
	position: relative;
	font-size: 1.2rem;
	letter-spacing: 0.15em;
}
.headLine01:after {
	width: 45px;  
	height: 2px;
	background-color: black;
	position: absolute;  
	top: 18px;
	left: 0;  
	content: ""; 
}
.headLine01 .txtSpan {
	margin-top: 12px;
	display: block;
}
.headLine01-style {
	padding: 0 0 65px 0;
	text-align: center;
}
.headLine01-style::after {
	top: auto;
	bottom: 0;
	width: 2px;
	height: 50px;
	left: 50%;
	transform: translateX(-50%);
}

@media all and (min-width: 897px) {
	.headLine01 {
		margin-bottom: 99px;
		padding-left: 295px;
		font-size: 2.4rem;
	}
	.headLine01 .txtSpan {
		display: inline-block;
		margin: 0 0 0 35px;
	}
	.headLine01::after {
		width: 223px;
		top: 50%;
		transform: translateY(-50%);
	}
	.headLine01-style {
		margin-bottom: 63px;
		padding: 0 0 110px;
	}
	.headLine01-style .txtSpan {
		display: block;
		margin: 40px 0 0;
	}
	.headLine01-style::after {
		width: 3px;
		height: 90px;
		top: auto;
		transform: none;
	}
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	margin: 0 auto;
	max-width: 267px;
}
.comLink a {
	padding: 5px;
	box-sizing: border-box;
	overflow: hidden;
	min-height: 63px;
	color: white;
	letter-spacing: 0.15em;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
	position: relative;
	transition: ease .2s;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.comLink a:after {
	width: 27px;  
	height: 2px;
	background-color: white;
	position: absolute;  
	top: 50%;
	transform: translateY(-50%);
	left: 0;  
	content: ""; 
}
.comLink a .txtSpan {
	padding: 0 37px;
	display: inline-block;
	background: url(../../images/common/icon03.png) no-repeat right center;
	background-size: 18px auto;
}

@media all and (min-width: 897px) {
	.comLink {
		width: 306px;
		max-width: inherit;
	}
	.comLink a {
		position: relative;
		font-size: 1.5rem;
	}
	.comLink a .txtSpan {
		position: relative;
		z-index: 2;
		display: block;
		padding: 0 40px;
	}
	.comLink a:after {
		width: 39px;  
		height: 2px;
		background-color: white;
		position: absolute;  
		overflow: hidden;
		top: 50%;
		transform: translateY(-50%);
		right: 0;  
		content: ""; 
		z-index: 3;
	}
	.comLink .subSpan {
		position: relative;
		z-index: 3;
		display: block;
	}
	.comLink a:hover {
		color: black;
	}
	.comLink a:hover .txtSpan {
		background-image: url(../../images/common/icon06.png);
	}
	.comLink a:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background:#fff;
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
   }
   .comLink a:hover:before{
		transform-origin:left top;
		transform:scale(1, 1);
	}
	.comLink a:hover .subSpan {
		color: black;
	}
	.comLink a:hover::after{
		background-color: black;
	}
}


/*------------------------------------------------------------
	comLink02
------------------------------------------------------------*/
.comLink02 {
	max-width: 269px;
	margin: 7px auto 0;
}
.comLink02 a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 62px;
	padding: 5px;
	box-sizing: border-box;
	border: 2px solid #000000;
	font-size: 1.7rem;
	letter-spacing: 0.15em;
	background: #fff url(../../images/common/icon04.svg) no-repeat right 20px center;
	background-size: 22px auto;
}

@media all and (min-width: 897px) {
}


.fadein {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1.2s;
}
.fadein.visible {
	opacity: 1;
	transform: translateY(0);
}

.dely02 {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}