@charset "utf-8";
/* CSS Document */
@media all {
	#contents ul.list li a .e-title{
		font-family: "Sawarabi Gothic", sans-serif;
		font-weight: 400;
		font-style: normal;
	}
	
	#firstview{
		width: 100%;
	}
	#firstview video{
		width: 100%;
	}
	
	#description{
		padding: 80px 20px 40px;
		text-align: center;
	}
	#description .text{
		font-size: 1.4rem;
		line-height: 2;
		margin-bottom: 40px;
	}
	#description ul.list{
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		border-top: solid 1px #aaa;
	}
	#description ul.list li{
		font-size: 1.2rem;
		padding: 1em;
		border-bottom: solid 1px #aaa;
	}
	
	#business{
		padding: 40px 5px;
	}
	h2{
		font-size: 1.1rem;
		text-align: center;
	}
	.h2sub{
		font-size: 2.8rem;
		text-align: center;
		margin-bottom: 40px;
	}
	#business .dscrptn{
		font-size: 1.3rem;
		text-align: center;
		margin-bottom: 30px;
	}
	#business ul.flow{
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
	}
	#business ul.flow li{
		width: 25%;
		padding: 0 15px;
	}
	#business ul.flow li .image{
		width: 100%;
		margin-bottom: 10px;
	}
	#business ul.flow li .text{
		font-size: 1.4rem;
	}
	
	#strengths{
		padding: 40px 20px;
	}
	#strengths ul.list{
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		border-top: solid 1px #aaa;
	}
	#strengths ul.list li{
		font-size: 1.3rem;
		text-align: center;
		padding: 1em;
		border-bottom: solid 1px #aaa;
	}
	
	#contents{
		padding: 60px 0 40px;
	}
	#contents ul.list{
		width: 100%;
		display: flex;
	}
	#contents ul.list li{
		width: calc(100% / 3);
		padding: 0 1px;
	}
	#contents ul.list li a{
		display: block;
		position: relative;
	}
	#contents ul.list li a .shade{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.4);
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		color: #fff;
	}
	#contents ul.list li a .title{
		font-size: 1rem;
		margin-bottom: 0.3em;
	}
	#contents ul.list li a .e-title{
		font-size: 2.4rem;
	}
	
	#access{
		padding: 80px 20px;
		text-align: center;
	}
	#access .address{
		font-size: 1.2rem;
		margin: 0.5em;
	}
	#access .text{
		font-size: 1rem;
		margin-bottom: 40px;
	}
	#access .map{
		width: 100%;
		max-width: 800px;
		margin: 0 auto;
	}
	
}

@media screen and (max-width: 768px){
	
	#description{
		padding: 40px 20px;
		text-align: justify;
	}
	#description .text{
		width: 100%;
		max-width: 480px;
		margin: 0 auto 20px;
		font-size: 1.2rem;
	}
	#description ul.list li{
		font-size: 1.1rem;
	}
	
	#business{
		padding: 20px 10px;
	}
	.h2sub{
		margin-bottom: 20px;
	}
	#business ul.flow li{
		width: 50%;
		padding: 0 10px 20px;
	}
	#business ul.flow li .text{
		font-size: 1.2rem;
	}
	
	#strengths{
		padding: 20px 20px;
	}
	#strengths ul.list li{
		font-size: 1.2rem;
		text-align: justify;
	}
	
	#contents ul.list{
		flex-direction: column;
	}
	#contents ul.list li{
		width: 100%;
		padding: 1px 0;
	}
	
	#access{
		padding: 40px 20px;
		text-align: center;
	}
	
}

@media screen and (min-width: 769px) and (max-width: 1024px){

}

@media screen and (min-width: 1025px), print{

}
