@charset "UTF-8";

/* ====================================
	共通スタイル
 ==================================== */
.maxw450 {
	max-width: 450px;
}

.maxw860 {
	max-width: 860px;
}

span.block {
	display: inline-block;
}

ul.star.b li span,
.caption-r.b {
	color: #000;
}

.text-medium {
	font-weight: 500;
}

.mt1t5em {
	margin-top: 1.5em;
}

.sub-title .has-pic {
	display: inline-block;
}

.pic {
	padding: 1px 4px 1.2px;
	border: #000 solid 1px;
	font-size: 1.3rem;
	position: relative;
	top: -1.5px;
	display: inline-block;

}
.pic-title{
	margin-right: 1rem;
}
.sub-sub-title.line-gray::before {
	background: #707070;
}

#sub01 .btn-arrow {
	display: block;
	font-weight: 500;
	width: 380px;
	margin: 6rem auto 0;
	font-size: 1.8rem;
	line-height: 1.4;
}

#sub01 .btn-arrow a {
	background-color: #87AFA4;
}

#sub02 .img-text {
	font-weight: 500;
}

.flex-title {
	font-weight: 500;
	text-align: center;
}

/* ====================================
	プラグイン・アニメーション設定
 ==================================== */



/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	.pic {
		padding: 0px 4px .2px;
		font-size: 1.2rem;
	}

	/* 動画 */
	#video1.video-container {
		margin-top: 3rem;
	}

	.bg-sub-title {
		font-size: 1.5rem;
		margin-top: 4rem;
	}


	/* 個別指定 */
	.sub-inner-title,
	.flex-title {
		font-size: 1.6rem;
	}

	.flex-title+.img-container {
		margin-top: 1rem;
	}

	#sub01 .btn-arrow {
		margin: 3rem auto 0;
		font-size: 1.4rem;
		width: 250px;
	}

	#sub02 .bg-sub-title+.flex-container>.flex-item {
		margin-top: 3rem;
	}

	#sub02-2 .inner .sub-sub-title+.img-container.pc-slim {
		margin-top: 1.6rem;
	}

	.sub-sub-item .bg-sub-title {
		margin-top: 5.5rem;
	}
	#sub02-2 .inner .flex-container .flex-item:first-of-type .sub-sub-title,
	#sub02-2 .inner .sub-sub-title {
		margin-top: 5rem;
	}
	#sub02-2 .inner .flex-container .flex-item .sub-sub-title {
		margin-top: 2rem;
	}

	#sub02-2 .inner .text-container {
		margin-top: 1.4rem;
	}

	#sub02-2 .inner .text-container+.img-container {
		margin-top: 2rem;
	}

	#sub02-2 .text-container+.sub-sub-item.inner .flex-item {
		margin-top: 0rem;
	}
	


}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {
	.cap-container {
		width: max-content;
		margin-left: auto;
	}

	/* 動画 */
	#video1.video-container {
		margin-top: 4rem;
	}

	/* 個別指定 */
	.sub-inner-title {
		font-size: 1.8rem;
	}

	.flex-title {
		font-size: 2rem;
		margin-top: 4rem;
	}

	.flex-title+.img-container {
		margin-top: 1rem;
	}


	#sub01 .sub-sub-item {
		padding-top: 6rem;
	}
	#sub02-2 .sub-title+.text-container+.sub-sub-item {
    padding-top: 5rem;
}
	#sub03 .flex-item.r-adj {
		width: 66%;
		padding-left: 4%;
	}

	#sub03 .flex-item.l-adj {
		flex: 1;
	}

	#sub04 .flex-container.half-custom>.flex-item:nth-of-type(n+3) {
		margin-top: 2rem;
	}
}