@charset "UTF-8";

/* ====================================
	共通スタイル
 ==================================== */
#sub03 .flex-item:has(img) {
	max-inline-size: 10rem;
	margin-inline: auto;
}

#sub05 .flex-item:has(img) {
	max-inline-size: 20rem;
	margin-inline: auto;
}

.h-mt {
	margin-top: 10rem;
}

.text-container>.smallText {
	margin-top: 3rem;
	font-size: 1.2rem;
}

.section-title+.flex-container .sub-item {
	margin-top: 0;
}

.section-title+.flex-container.column2 {
	row-gap: 6rem;
}


/* SVG画像 */

.chevron-right {
	inline-size: .6em;
	block-size: 1em;
}

/* ボタン */
.has-arrow-left {
	margin-top: 2rem;
}

/* 補足記事：コラム */
.column-container {
	position: relative;
	background: #f5f5f5;
	padding: 6rem 5rem;
	margin-top: 10rem;
}

.column-icon {
	font-weight: 700;
	color: #fff;
	background-color: #000;
	border-radius: 50px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.4rem;
	padding: 0.4em 2.4em;
}

.title-box {
	width: 80%;
	text-align: center;
	padding-bottom: 0.4rem;
	margin-left: auto;
	margin-right: auto;
}

.column-title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2.2;
	border-bottom: 2px dotted #000;
	padding-bottom: 3px;
}

.column-container .text-container {
	width: 100%;
}

.column-container .column-text {
	margin-top: 2rem;
	line-height: 1.8;
}

.column-container .text-container h4 {
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.column-container .img-container {
	text-align: center;
}
.sleep-img,
.sleep-text {
	margin-top: 0;
}
.column-container .img-container img{
	max-width: 50rem;
}

/* ====================================
	ホバーが有効な環境のみ
===================================== */
@media (hover:hover) and (pointer: fine) {}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media screen and (width < 768px) {

	.h-mt {
		margin-top: 4rem;
	}

	.btn-spec {
		margin-top: 2rem;
	}

	.text-container>.smallText {
		margin-top: 2rem;
	}

	.section-title+.flex-container.column2 {
		row-gap: 4rem;
	}

	/* 補足記事：コラム */
	.title-box {
		width: 100%;
	}

	.column-container {
		padding: 3em 1em 3em;
		margin-top: 6rem;
	}

	.column-icon {
		font-size: 1.6rem;
		padding: 0.4em 2.5em;
	}

	.column-container .text-container {
		margin-inline: auto;
	}

	.column-container .column-title {
		font-size: 1.8rem;
		padding-bottom: 4px;
	}

	.column-container .text-container-text {
		font-size: 1.4rem;
	}

}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (width >=768px) {
	#sub03 .flex-item:has(img) {
		inline-size: 12%;
		margin-left: 7rem;
	}

	#sub03 .flex-item:has(.text) {
		flex: 1 0;
	}

	#sub05 .flex-item:has(img) {
		inline-size: 23%;
		margin-left: 7rem;
	}

	#sub05 .flex-item:has(.text) {
		flex: 1 0;
	}

	.flex-container.column2 .sub-item .text-container {
		flex-grow: 0;
}
}

/* ====================================
	タブレット専用スタイル（768px～1080px）
===================================== */
@media screen and (768px <=width < 1080px) {}