@charset "UTF-8";

/* --------------------- 共通スタイル ---------------------  */

h4 {
	font-size: 6.4vw;
}

.ttl.ttlIn:before {
	bottom: 5px;
}

/* --------------------- End 共通スタイル ---------------------  */



/* --------------------- Concept ---------------------  */

#mainvisual .wrap {
	padding: 20% 0 17% 0;
}

#concept #main #subsection {
	position: relative;
	padding: 20% 0 18% 0;
}

#concept #main #subsection .wrapper {
	margin: 0 20px;
}

#concept #main #subsection .description {
	text-align: center;
	margin-bottom: 6%;
}

#concept #main #subsection .description .txt {
	display: inline;
}

#concept #main #howweway {
	position: relative;
	background-color: #f2f2f2;
}

#concept #main #howweway .wrapper {
	padding: 0 0 20% 0;
	margin: 0 20px;
}

#concept #main #howweway .wrapper h3 {
	margin-bottom: 33px;
}

#concept #main #howweway .wrapper .boxWrap {
	margin-bottom: 20%;
}

#concept #main #howweway .wrapper .bnrBox {
	margin-bottom: 60px;
	padding: 35px 20px;
	background-color: #fff;
}

#concept #main #howweway .wrapper .bnrBox:last-child {
	margin-bottom: 0;
}

#concept #main #howweway .wrapper .bnrBox h4 {
	margin-bottom: 20px;
	font-size: 5.4vw;
	text-align: center;
	font-weight: bold;
}

#concept #main #howweway .wrapper .bnrBox .image {
	width: 70%;
	margin: 0 auto;
	margin-bottom: 20px;
}

#concept #main #howweway .wrapper .bnrBox .txt {
	margin-bottom: 30px;
}

.boxList li {
	margin-bottom: 30px;
	font-weight: 300;
}

.boxList li {
	padding: 22px 0;
	margin-bottom: 20px;
	text-align: center;
	border: 1px solid #000;
	font-size: 4vw;
	font-weight: 300;
}

.boxList li:last-child {
	margin-bottom: 0;
	margin-right: 0;
}


/* --------------------- End TOP ---------------------  */


/* --------------------- Tablet ---------------------  */

@media screen and (min-width:768px) {

	/* --------------------- 共通スタイル ---------------------  */

	h4 {
		font-size: 32px;
	}

	.boxList {
		display: flex;
		justify-content: space-between;
	}

	.boxList li {
		width: calc(100% / 2 - 20px);
		margin-bottom: 0;
		font-size: 20px;
		font-weight: 400;
	}

	/* --------------------- End 共通スタイル ---------------------  */

	/* --------------------- Concept ---------------------  */

	#concept #main #subsection {
		padding: 16% 0 40px 0;
	}

	#concept #main #subsection .wrapper {
		flex-wrap: nowrap;
		margin: 0 40px;
	}

	#concept #main #howweway .wrapper {
		padding: 0 0 13% 0;
		margin: 0 40px;
	}

	#concept #main #howweway .wrapper h3 {
		margin-bottom: 9%;
	}

	#concept #main #howweway .wrapper .boxWrap {
		margin-bottom: 10%;
	}

	#concept #main #howweway .wrapper .bnrBox .box {
		display: flex;
		align-items: center;
	}

	#concept #main #howweway .wrapper .bnrBox .box div {
		width: 70%;
	}

	#concept #main #howweway .wrapper .bnrBox .box .image {
		width: 27%;
	}

	#concept #main #howweway .wrapper .bnrBox h4 {
		font-size: 3vw;
		text-align: left;
	}

}

@media screen and (min-width:1280px) {

	/* --------------------- 共通スタイル ---------------------  */

	.ttl {
		font-size: 48px;
	}

	.boxList li {
		width: calc(100% / 2 - 35px);
	}

	/* --------------------- End 共通スタイル ---------------------  */

	/* --------------------- Concept ---------------------  */

	#concept #main #subsection {
		padding: 8.2% 0 158px 0;
	}

	#concept #main #subsection .wrapper {
		margin: 0 auto;
	}

	#concept #main #subsection .description .txt {
		margin-bottom: 80px;
	}

	#concept #main #howweway .wrapper {
		padding: 0 0 245px 0;
		margin: 0 auto;
	}

	#concept #main #howweway .wrapper h3 {
		margin-bottom: 100px;
	}

	#concept #main #howweway .wrapper .boxWrap {
		margin-bottom: 100px;
	}

	#concept #main #howweway .wrapper .bnrBox {
		padding: 35px;
	}

	#concept #main #howweway .wrapper .bnrBox h4 {
		margin-bottom: 20px;
		font-size: 28px;
		text-align: left;
	}

	#concept #main #howweway .wrapper .bnrBox .txt {
		font-size: 20px;
		line-height: 40px;
	}

}