/* ====================================
	共通スタイル
==================================== */
article {
	overflow: hidden;
}

/* ------- sub01 , sub03 ------- */

#sub01.sub-section,
#sub03.sub-section {
	overflow: hidden;
}

#sub01 .commentary .flex-item.img p {
	color: #7C8890;
	font-size: 1.4rem;
}

/* ------- sub02 ------- */

ul.list-figures li {
	padding: 8rem 4rem;
	width: 31.3%;
}

ul.list-figures li .title {
	font-size: 2rem;
	position: relative;
	line-height: 2;
}

ul.list-figures li .title::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #B9B6A9;
	position: absolute;
	left: 0;
	bottom: -25px;
}

ul.list-figures li .text {
	font-size: 1.4rem;
	margin-top: 5rem;
	line-height: 2;
}

/* ------- sub04 ------- */

#sub04 p.intro {
	margin-bottom: 10rem;
}

#sub04 .voice {
	margin-bottom: 10rem;
}

#sub04 .voice .img p.name {
	font-size: 2.6rem;
}

#sub04 .voice .img p.title {
	font-size: 1.2rem;
}

#sub04 .voice .text {
	background-color: #F2F9FC;
}

#sub04 .voice .text p.title {
	position: relative;
	font-size: 2.8rem;
	line-height: 2;
	margin-bottom: 5rem;
	letter-spacing: .1em;
}

#sub04 .voice .text p.title::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 1px;
	background-color: #B9B6A9;
	position: absolute;
	left: 0;
	bottom: -2rem;
}

#sub04 .voice .text p.cap {
	font-size: 1.2rem;
	margin-top: 3rem;
}

/* ====================================
	768px以上専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {


	#mainVisual .main-img {
		background-image: url(../images/mv-pilates.jpg);
	}
	.btn-wrap .btn-arrow-right {
		margin-top: 8rem;
	}
	/* ------- sub01 , sub03 ------- */

	.commentary .flex-item.text p:not(:last-of-type) {
		margin-bottom: 3rem;
	}

	.commentary .flex-item.img {
		position: relative;
		z-index: 2;
	}

	#sub01 .commentary .flex-item.img::before {
		content: '';
		background: url(../images/sub01.jpg) no-repeat;
		background-size: 100%;
		width: 50vw;
		height: 57rem;
		position: absolute;
		top: 0;
		left: 0;
		max-width: 720px;
	}

	#sub03 .commentary .flex-item.img::before {
		content: '';
		background: url(../images/sub03.jpg) no-repeat;
		background-size: 100%;
		width: 50vw;
		height: 57rem;
		position: absolute;
		top: 0;
		left: 0;
		max-width: 720px;
	}

	#sub01 .commentary .flex-item.img p {
		margin-top: 57.5rem;
	}

	/* ------- sub02 ------- */

	ul.list-figures {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 5rem;
	}

	ul.list-figures li {
		width: 31.3%;
	}

	.scroll-in.delay4 {
		transition-delay: .4s;
	}

	.scroll-in.delay8 {
		transition-delay: .8s;
	}

	/* ------- sub04 ------- */

	#sub04 .voice {
		position: relative;
	}

	#sub04 .voice .img {
		width: 33%;
		position: absolute;
		top: 7rem;
		left: 0;
		z-index: 2;
	}

	#sub04 .voice .img .photo {
		margin-bottom: 2rem;
	}

	#sub04 .voice .text {
		width: 70%;
		margin-left: 30%;
		padding: 12rem 12rem 18rem;
		line-height: 2;
	}

	#sub04 .voice.suzuki .text {
		padding-bottom: 24rem;
	}

	#sub04 .voice.tanaka .text {
		padding-bottom: 12rem;
	}


}

/* ====================================
	767px以下専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	#mainVisual .main-img {
		background-image: url(../images/mv-pilates_sp.jpg);
	}
	.btn-wrap .btn-arrow-right {
		margin-top: 4rem;
	}
	/* ------- sub01 , sub03 ------- */

	.commentary .flex-item.text p {
		margin-bottom: 3rem;
	}

	#sub01 .commentary .flex-item.img {
		width: 100%;
		height: 63vw;
		background: url(../images/sub01.jpg) no-repeat;
		background-size: 100%;
		margin-bottom: 4vw;
	}

	#sub01 .commentary .flex-item.img p {
		margin-top: 64vw;
		font-size: 1.2rem;
	}

	#sub03 .commentary .flex-item.img {
		width: 100%;
		height: 63vw;
		background: url(../images/sub03.jpg) no-repeat;
		background-size: 100%;
		margin-bottom: 4vw;
	}

	/* ------- sub02 ------- */

	ul.list-figures li {
		width: 100%;
		padding: 4rem 2rem;
		margin-top: 1.5rem;
	}

	ul.list-figures li:first-child {
		margin-top: 3rem;
	}

	ul.list-figures li .title {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}

	ul.list-figures li .title::before {
		bottom: -1.5rem;
	}

	ul.list-figures li .text {
		font-size: 1.2rem;
		line-height: 2;
		margin-top: 1rem;
	}

	/* ------- sub04 ------- */

	#sub04 .voice:not(:last-of-type) {
		margin-bottom: 6rem;
	}

	#sub04 .voice .img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#sub04 .voice .img .photo {
		width: 30%;
	}

	#sub04 .voice .img .name-area {
		width: 66%;
	}

	#sub04 .voice .img p.name {
		font-size: 2rem;
		line-height: 1;
		margin-bottom: 1rem;
	}

	#sub04 .voice .text {
		padding: 2rem;
		margin-top: 2rem;
	}

	#sub04 .voice .text p.title {
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 3rem;
	}

	#sub04 .voice .text p.title::before {
		bottom: -1.5rem;
	}

	#sub04 .voice .text p.cap {
		font-size: 1rem;
		margin-top: 1rem;
	}

}

/* ====================================
	768px以上1400px以下専用スタイル
===================================== */
@media only screen and (min-width: 768px) and (max-width: 1400px) {

	/* ------- sub01 ------- */

	#sub01 .commentary .flex-item.img p {
		margin-top: 40.5vw;
	}

}

/* ====================================
	768px以上1023px以下専用スタイル
===================================== */
@media only screen and (min-width: 768px) and (max-width: 1023px) {

	.flex-container.half>.flex-item {
		width: 48%;
	}



	/* ------- sub02 ------- */

	ul.list-figures li:first-child {
		margin-top: 0;
	}

	ul.list-figures li {
		padding: 6rem 2rem;
	}

	ul.list-figures li .title {
		font-size: 1.64rem;
	}

	/* ------- sub04 ------- */

	#sub04 .voice .text,
	#sub04 .voice.suzuki .text,
	#sub04 .voice.tanaka .text {
		width: 70%;
		padding: 8rem;
	}

}

/* ====================================
	1024px以上1199px以下専用スタイル
===================================== */
@media print,
screen and (min-width: 1024px) and (max-width: 1199px) {



	/* ------- sub03 ------- */

	#sub03 .commentary {
		padding-bottom: 20rem;
	}

	/* ------- sub04 ------- */

	#sub04 .voice .text,
	#sub04 .voice.suzuki .text,
	#sub04 .voice.tanaka .text {
		width: 70%;
		padding: 8rem;
	}
	#sub04 .voice.suzuki{
		margin-bottom: 18rem;
	}
	#sub04 .voice.sachi{
		margin-bottom: 15rem;
	}
}

/* ====================================
	1200px以上専用スタイル
===================================== */
@media screen and (min-width: 1200px) {



	/* ------- sub03 ------- */

	#sub03 .commentary {
		padding-bottom: 20rem;
	}

}