@charset "UTF-8";

/* ====================================
	ベーススタイル
 ==================================== */

/* ====================================
	共通スタイル
 ==================================== */

.caption-r {
	font-size: 1.2rem;
	text-align: right;
}

.center {
	text-align: center;
}

/* カラー設定 */
.bg-gray {
	background: #535353;
	color: #fff;
}

.bg-light-gray {
	background: #a0a0a0;
	color: #fff;
}

.bg-light-gray sup {
	color: #fff;
}

.bg-blue {
	background: #305DA3;
	color: #fff;
}

.light-gray {
	color: #999;
}

.small-title {
	font-size: 1.4rem;
}

.small {
	font-size: 1.2rem;
}

.weight500 {
	font-weight: 500;
}

/* メインタイトル */
.main-title {
	font-weight: 500;
	text-align: center;
}

/* サブセクション */
.sub-item .base-width {
	border-bottom: solid 1px #D9D9D9;
}

.sub-section:last-of-type .sub-item .base-width {
	border-bottom: none;
}

.sub-item .sub-title {
	font-weight: 700;
}

/* サブサブセクション */
.sub-sub-title {
	padding-left: 13px;
	position: relative;
}

.sub-sub-title::before {
	content: '';
	display: block;
	width: 4px;
	height: 85%;
	background: #000;
	position: absolute;
	top: 8%;
	left: 0;
}

.sub-section .sub-sub-title+.text-container {
	margin-top: 2rem;
}

/*画像サブタイトル */
.img-container img-sub-title {
	padding-bottom: 0.1em;
	font-size: 1.6rem;
}

.img-container .img-title {
	padding-bottom: 0.1em;
	font-size: 1.6rem;
}

/*画像タイトル（囲み枠あり） */
.ttl-gray {
	margin-bottom: 0.5em;
	padding: 0.5em;
	background: #8D8D8D;
	color: #fff;
	text-align: center;
}

.ttl-gray sup {
	color: #fff;
}

.border-title {
	margin-top: 4rem;
	font-size: 1.6rem;
	text-align: center;
	border: 1px solid #000;
	padding: 0.2em;
}

/* 画像リスト（囲み枠下テキスト） */
ul.list-figures li .list-text {
	margin-top: 1em;
	font-size: 1.2rem;
}

.img-container.has-bg-title .img,
.img-container.has-bg-title .text {
	margin-top: 1em;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	article {
		font-size: 1.5rem;
		line-height: 1.6;
	}

	/* フレックスコンテナ */
	.flex-item-text,
	.flex-item-img {
		width: 100%;
	}

	.flex-container>.flex-item {
		width: 100%;
		margin-top: 0;
	}

	.flex-container>.flex-item:first-of-type {
		margin-top: 0;
	}

	.flex-container>.flex-item:first-of-type .sub-sub-title {
		margin-top: 3rem;
	}

	/* フレックスコンテナ ハーフ サブタイトルあり*/
	.flex-container.half .has-sub-title {
		padding-top: 5rem;
	}

	/* メインタイトル */
	.main-title {
		margin: 5rem 0 7rem;
		font-size: 2.2rem;
		line-height: 1.4;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 5rem;
	}

	.sub-section:first-of-type {
		padding-top: 0;
	}

	.sub-item .base-width {
		padding-bottom: 5rem;
	}

	.sub-section .sub-title {
		font-size: 1.8rem;
	}

	.text-container {
		margin-top: 2rem;
	}

	.img-container {
		margin-top: 3rem;
	}

	.sub-section .sub-title+.sub-sub-title {
		margin-top: 3rem;
	}


	/* 注釈セクション */
	.caption-section .base-width {
		padding-top: 5rem;
	}

	/* サブサブセクション */
	.sub-sub-title {
		margin-top: 6rem;
		font-size: 1.6rem;
	}

	.sub-title+.sub-sub-item .sub-sub-title,
	.sub-title+.sub-sub-title {
		margin-top: 3rem;
	}

	/* 画像リスト */
	ul.list-figures li {
		margin-top: 3rem;
	}

	ul.list-figures li:first-child {
		margin-top: 0;
	}

	ul.list-figures li .img {
		width: 100%;
	}

	ul.list-figures.sp-col2,
	ul.list-figures.col4 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	ul.list-figures.sp-col2 li,
	ul.list-figures.col4 li {
		width: 48%;
		margin-top: 1em;
	}

	ul.list-figures.sp-col2.no-gap li {
		width: 50%;
	}

	ul.list-figures.sp-col2 li:nth-child(-n+2),
	ul.list-figures.col4 li:nth-child(-n+2) {
		margin-top: 0;
	}

	/*画像タイトル（囲み枠あり） */
	.list-figures.col3 .img-title-area {
		padding: 0.3em;
		text-align: center;
		font-size: 1.6rem;
		background: #a0a0a0;
		color: #fff;
	}

	.ttl-color-area {
		padding: 0.3em;
		text-align: center;
		font-size: 1.4rem;
		font-weight: 400;
	}

	.btn-arrow {
		margin-bottom: 3rem;
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	/* 最大幅 */
	.maxw750 {
		max-width: 750px;
	}

	.maxw860 {
		max-width: 860px;
	}

	/* サブタイトルあり フレックスコンテナ ハーフ */
	.flex-container.half .has-sub-title {
		padding-top: 8rem;
	}

	/* サブタイトル下にサブサブタイトルあり フレックスコンテナ ハーフ */
	.flex-container.half>.flex-item:nth-child(-n+2) .sub-sub-title {
		margin-top: 4rem;
	}

	/* サブタイトル下にサブサブタイトルあり*/
	.sub-title+.sub-sub-title:first-of-type {
		margin-top: 4rem;
	}

	/* フレックスコンテナ・画像下揃え */
	.fix-bottom-img>.flex-item {
		display: flex;
		flex-direction: column;
	}

	.fix-bottom-img>.flex-item>.img-container {
		min-height: 0%;
		/* IE対応 */
		width: 100%;
		margin-top: auto;
		padding-top: 2rem;
	}

	/* フレックスコンテナ・画像幅固定 */
	.flex-item-text {
		padding-right: 2.7%;
		flex: 1;
	}

	.flex-item-img.w270 {
		width: 270px;
	}

	.flex-item-img.w40p {
		width: 40%;
	}

	/* リストコンテナ・画像下揃え */
	.list-figures.fix-bottom-img li {
		display: flex;
		flex-direction: column;
	}

	.list-figures.fix-bottom-img li .img {
		min-height: 0%;
		margin-top: auto;
		padding-top: 0.2em;
	}

	/* メインタイトル */
	.main-title {
		margin: 8rem 0 8rem;
		font-size: 3.2rem;
		line-height: 1.4;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 8rem;
	}

	.sub-section:first-of-type {
		padding-top: 0;
	}

	.sub-item .base-width {
		padding-bottom: 8rem;
	}

	.sub-title {
		font-size: 2.2rem;
	}

	.text-container {
		margin-top: 4rem;
	}

	.img-container {
		margin-top: 4rem;
	}

	/* 注釈セクション */
	.caption-section .base-width {
		padding-top: 7rem;
	}

	/* サブサブアイテム */
	.sub-sub-item {
		padding-top: 8rem;
	}

	.sub-title+.sub-sub-item {
		padding-top: 4rem;
	}

	.sub-sub-title {
		font-size: 1.8rem;
	}

	.sub-sub-title+.text-container {
		margin-top: 2rem;
	}

	/* サブサブセクション */
	.sub-sub-title {
		font-size: 1.8rem;
	}

	/* 画像リスト */
	ul.list-figures {
		display: flex;
		flex-wrap: wrap;
	}

	ul.list-figures li .img {
		width: 100%;
	}

	ul.list-figures.col2 {
		justify-content: space-between;
	}

	ul.list-figures.col2 li {
		width: 48%;
		margin-top: 1em;
	}

	ul.list-figures.col2.no-gap li {
		width: 50%;
	}

	ul.list-figures.col2 li:nth-child(-n+2) {
		margin-top: 0;
	}

	ul.list-figures.col3 li {
		width: 32%;
		margin-left: 2%;
	}

	ul.list-figures.col3 li:nth-child(3n-2) {
		margin-left: 0;
	}

	ul.list-figures.col4 li {
		width: 23.5%;
		margin-left: 2%;
	}

	ul.list-figures.col4 li:nth-child(4n-3) {
		margin-left: 0;
	}

	/*画像タイトル（囲み枠あり） */
	.list-figures.col3 li:nth-of-type(n+4) {
		margin-top: 4rem;
	}

	.ttl-color-area {
		padding: 0.3em;
		text-align: center;
		font-size: 1.6rem;
		font-weight: 400;
	}
}