@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}


main{
	background: url(../img/bg.png) no-repeat;
    background-position: center top 28.9vw;
    background-size: 100%;
}

main h1{
	width:500px;
	margin:60px auto 0;
	padding:0 0 10px;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	border-bottom:2px solid #1C458F;
}

section .inner{
	width:100%;
	max-width:1120px;
	margin:0 auto;
	padding:80px 40px;
}
section.gray{
	background:#EFEEEE;
}
section.graphic{
	background:url(../img/bg_img.jpg) no-repeat;
	background-size:100%;
}


/*----------------------------------*/
#index ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
#index ul li{
	position:relative;
	width:33%;
	margin:0 0 8px 0;
}
#index ul li img{
	width:100%;
	border-radius:5px;
}
#index ul li div{
	position:absolute;
	bottom:11px;
	width:100%;
	height: 25px;
	color:#fff;
	background: linear-gradient(90deg, rgba(102, 102, 102, 0.50) 0%, rgba(0, 0, 0, 0.50) 50%, rgba(102, 102, 102, 0.50) 100%);
	color: #FFF;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
}
/*----------------------------------*/
section h2{
	position:relative;
	padding:0 0 10px 20px;
	margin:0 0 32px;
	border-bottom:1px solid #999;
	font-size: 28px;
	font-weight: 400;
	line-height: 171.429%;
}
section h2:before{
	position:absolute;
	content:"";
	left:0;
	top:0;
	height:50px;
	border-left:10px solid #1D1E45;
}

.product{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.product li{
	width:calc(42% - 30px);
	line-height:1.77;
}
.product li:not(.photo){
	display:flex;
	flex-wrap:wrap;
	align-items: stretch;
}
.product li:not(.photo) div{
	position:relative;
	width:100%;
}
.product li:not(.photo) div a{
	position:absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:50px;
	bottom:0;
	border: 1px solid #000;
	background: #FFF;
	font-weight: 500;
	text-align:center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.product li:not(.photo) div a:hover {
  background-color: #000;
  color: #fff;
}
.product li.photo{
	width:58%;
}
.product li span{
	font-weight: 700;
}
.product li.photo img{
	border-radius:0 20px 0 0;
}


/*----------------------------------*/
.footlink{
	height: 150px;
	padding:50px 0 0;
	background: #EFEEEE url(../img/logo.svg) repeat-x;
	animation: loop-slide 2.5s infinite linear;
}
@keyframes loop-slide {
  from {
    background-position: 0 bottom;
  }
  to {
    background-position: -280px bottom;
  }
}
.footlink a{
	display: flex;
	width: 400px;
	height: 50px;
	flex-direction: column;
	justify-content: center;
	margin:0 auto;
	color: #000;
	font-weight: 700;
	border: 1px solid #000;
	background: #FFF;
	text-align:center;
}
@media screen and (max-width: 768px) {
	main{
		background: url(../img/bg_sp.png) no-repeat;
		background-position: center top 114vw;
		background-size: 100%;
	}
	main h1{
		width:90%;
	}
	section .inner{
		padding:40px 5%;
	}
	section.graphic{
		background:url(../img/bg_img_sp.jpg) no-repeat;
		background-size:100%;
	}
	/*----------------------------------*/
	#index ul li{
		width:32%;
	}
	#index ul li div{
		bottom:5px;
	}
	/*----------------------------------*/
	.product li{
		width:100%;
	}
	.product li:not(.photo){
		order:2;
	}
	.product li.photo{
		order:1;
		width:100%;
		margin:0 0 20px;
	}
	.product li:not(.photo) div:first-child{
		margin:0 0 40px;
	}
	.product li:not(.photo) div a{
		position:relative;
	}
	/*----------------------------------*/
	.footlink a{
		width:90%;
	}
}