@charset "utf-8";

/* ---------------------------------------- 
 - concept
---------------------------------------- */
#concept{
	width: 100%;
	max-width: 1200px;
	margin:65px auto 150px;
	text-align: center;
	position: relative;
	font-size: 1.6rem;
	line-height: 2.4;
}
/* concept_intro */
.concept_intro {
	margin-bottom: 100px;
}
.concept_intro .visual {
	width: 100%;
	margin-bottom: 100px;
	overflow: hidden;
}
.concept_intro .ttl{
	font-size: 3.4rem;	
    font-weight: 200;
	line-height: 1.6;
    max-width: 1000px;
    margin: 0 auto;
}
/* concept_box */
.concept_box {
	display: flex;
	justify-content: space-between;
	width: 96%;
	max-width: 1200px;
    margin-bottom: 140px;
}
.concept_box:nth-child(even) {
	flex-direction:row-reverse;
	margin-left: auto;
}
.concept_box .visual {
	width: 48.6%;
	max-width: 560px;
}
.concept_box .txt {
	width: 48%;
	max-width: 510px;
	text-align: left;
}
/* concept_box */
.concept_end {
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
	#concept{
		font-size: 1.6vw;
	}
	.concept_intro .ttl{
		font-size: 3.0vw;
	}
	.concept_box {
		margin-bottom: 8vw;
	}
}
@media screen and (max-width: 768px) {
	#concept{
		margin:35px auto 70px;
		font-size: 1.5rem;
		line-height: 2.2;
	}
	/* concept_intro */
	.concept_intro {
		margin-bottom: 60px;
	}
	.concept_intro .visual{
		margin-bottom: 60px;
		height: auto;
	}
	.concept_intro .ttl{
		font-size: 2.2rem;	
    	font-weight: 300;
	}
	/* concept_box */
	.concept_box {
		display: block;
		width: 90%;
		margin: 0 auto 75px;
	}
	.concept_box .visual {
		width: 100%;
		max-width: 100%;
		margin: 50px auto 20px;
	}
	.concept_box .visual .sub {
		display: none;
	}
	.concept_box .txt {
		width: 100%;
		max-width: 100%;
		margin-top: 1.5em;
	}
	/* concept_box */
	.concept_end {
		width: 90%;
	}
}