@charset "utf-8";
/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }

/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.t_center{ text-align:center !important;}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

.sp {
	display: none !important;
}

.pageTop {
	margin: 0 auto 7px;
	width: 920px;
	text-align: center;
}

/*------------------------------------------------------------
	h2
------------------------------------------------------------*/
#main h2 {
	margin-bottom: 80px;
	text-align: center;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	
	.sp {
		display: block !important;
	}
	
	/*------------------------------------------------------------
		h2
	------------------------------------------------------------*/
	.pageTop {
		margin-bottom: 50px;
		width: auto;
	}
}

/*------------------------------------------------------------
	animated
------------------------------------------------------------*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 55px, 0);
    transform: translate3d(0, 55px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 55px, 0);
    transform: translate3d(0, 55px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}



/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/
#main .comLinkUl {
	margin: 0 -89px 0 0;
	overflow: hidden;
}

#main .comLinkUl li {
	margin: 0 80px 62px 0;
	float: left;
	width: 300px;
	text-align: left;
}

#main .comLinkUl li .photo {
	margin-bottom: 16px;
	position: relative;
	width: 300px;
	border: 1px solid #343434;
}

#main .comLinkUl li .photo a {
	display: block;
}

#main .comLinkUl li .photo img {
	width: 300px;
}

#main .comLinkUl li .photo::after,
#main .comLinkUl li .photo::before,
#main .comLinkUl li .photo a::after,
#main .comLinkUl li .photo a::before {
	background-color: #FFF;
	content: '';
	display: block;
	position: absolute;
	z-index: 10;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
#main .comLinkUl li .photo::after {
	height: 1px;
	left: -1px;
	top: -1px;
	width: 0px;
}
#main .comLinkUl li .photo::before {
	bottom: -1px;
	height: 1px;
	right: -1px;
	width: 0px;
}
#main .comLinkUl li .photo a::after {
	bottom: -1px;
	height: 0px;
	left: -1px;
	width: 1px;
}
#main .comLinkUl li .photo a::before {
	height: 0px;
	right: -1px;
	top: -1px;
	width: 1px;
}

#main .comLinkUl.speComUl {
	margin: 0 -44px;
	overflow: hidden;
	text-align: center;
}

#main .comLinkUl.speComUl li {
	margin: 0 40px 62px;
	display: inline-block;
	width: 300px;
	float: none;
	text-align: left;
	vertical-align: top;
}

#main .comLinkUl.speComUl li .photo {
	margin-bottom: 16px;
	position: relative;
	width: 300px;
	border: 1px solid #343434;
}

#main .comLinkUl.speComUl li .photo a {
	display: block;
}

#main .comLinkUl.speComUl li .photo img {
	width: 300px;
}

#main .comLinkUl.speComUl li .photo::after,
#main .comLinkUl.speComUl li .photo::before,
#main .comLinkUl.speComUl li .photo a::after,
#main .comLinkUl.speComUl li .photo a::before {
	background-color: #FFF;
	content: '';
	display: block;
	position: absolute;
	z-index: 10;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
#main .comLinkUl.speComUl li .photo::after {
	height: 1px;
	left: -1px;
	top: -1px;
	width: 0px;
}
#main .comLinkUl.speComUl li .photo::before {
	bottom: -1px;
	height: 1px;
	right: -1px;
	width: 0px;
}
#main .comLinkUl.speComUl li .photo a::after {
	bottom: -1px;
	height: 0px;
	left: -1px;
	width: 1px;
}
#main .comLinkUl.speComUl li .photo a::before {
	height: 0px;
	right: -1px;
	top: -1px;
	width: 1px;
}

/* hover */
#main .comLinkUl li .photo:hover::after,
#main .comLinkUl li .photo:hover::before {
	width: 100%;
	width: calc(100% + 1px);
}
#main .comLinkUl li .photo:hover a::after,
#main .comLinkUl li .photo:hover a::before {
	height: 100%;
	height: calc(100% + 1px);
}

#main .comLinkUl li .photo a img {
	opacity: 1 !important;
}

#main .comLinkUl li .title {
	margin-bottom: 13px;
	font-size: 16px;
	font-weight: bold;
}

#main .comLinkUl li .time {
	margin-bottom: 11px;
	font-size: 12px;
}

#main .comLinkUl li .text {
	margin-bottom: 20px;
	line-height: 1.9;
}

#main .comLinkUl li .link {
	line-height: 1.9;
}

#main .comLinkUl li .link a {
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: .3s;
}

#main .comLinkUl li .link a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	background-color: #fff;
	transition: .3s;
}

#main .comLinkUl li .link a:hover::after {
	width: 100%;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#main .comLinkUl {
		margin: 0 25px;
	}
	
	#main .comLinkUl li {
		margin: 0 0 47px;
		width: 100%;
		height: auto !important;
	}
	
	#main .comLinkUl li:last-child {
		margin: 0;
	}
	
	#main .comLinkUl li .photo {
		margin-bottom: 14px;
		width: auto;
	}
	
	#main .comLinkUl li .photo img {
		width: 100%;
	}
	
	#main .comLinkUl li .title {
		margin-bottom: 18px;
		font-size: 10px;
	}
	
	#main .comLinkUl li .time {
		font-size: 10px;
	}
	
	#main .comLinkUl li .text {
		margin-bottom: 15px;
		font-size: 9px;
	}
	
	#main .comLinkUl li .link {
		font-size: 10px;
	}
	
	#main .comLinkUl img {
		width: 100%;
	}
	
	#main .comLinkUl.speComUl {
		margin: 0 25px 87px;
	}
	
	#main .comLinkUl.speComUl li {
		margin: 0 0 47px;
		width: 100%;
		height: auto !important;
	}
	
	#main .comLinkUl.speComUl li:last-child {
		margin: 0;
	}
	
	#main .comLinkUl.speComUl li .photo {
		margin-bottom: 14px;
		width: auto;
	}
	
	#main .comLinkUl.speComUl li .photo img {
		width: 100%;
	}
	
	#main .comLinkUl.speComUl li .title {
		margin-bottom: 18px;
		font-size: 10px;
	}
	
	#main .comLinkUl.speComUl li .time {
		font-size: 10px;
	}
	
	#main .comLinkUl.speComUl li .text {
		margin-bottom: 15px;
		font-size: 9px;
	}
	
	#main .comLinkUl.speComUl li .link {
		font-size: 10px;
	}
	
	#main .comLinkUl.speComUl img {
		width: 100%;
	}
}