@charset "UTF-8";

/* ===============================
	共通スタイル
=============================== */

.font-s {
	font-size: 0.8em;
	font-weight: normal;
}

.caption-l {
	font-size: 1.2rem;
	margin-top: 0.5em;
}

.thumb-pci {
	background: url(images/popup-thumb01.jpg) no-repeat center center / cover;
}

.sub-contents {
	padding: 3rem;
}

.mb1em {
	margin-bottom: 1em;
}

/* AIモニター説明 */
.ai-monitor>.section-sub-title {
	margin-top: 5rem;
}

.ai-monitor .sub-item {
	margin-top: 0;
}

.ai-monitor .flex-container {
	row-gap: 5rem;
}

/* PM2.5 */
#pm25 {
	margin-top: 0;
	padding: 2rem 2rem 1rem;
	border: solid 1px #9b6e1d;
}

#pm25 .flex-container {
	padding: 5%;
}

#pm25 .flex-item-img {
	padding: 1rem 1rem 2rem;
}

.pm25-title {
	padding: 0.5em;
	background: url('images/bg-pm25.png') no-repeat center top/cover;
	color: #fff;
	text-align: center;
}

#pm25 .catch {
	padding: 0.5em;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	border-radius: 0.5rem;
	text-align: center;
	background: var(--steel-gray);
	color: #fff;
}

#pm25 .catch sup {
	color: #fff;
}

#pm25 .catch span {
	font-size: 0.7em;
	font-weight: normal;
}

#pm25 .cap-text {
	padding: 0 1rem 1rem;
}

/* 英国アレルギー協会認定マーク */
.allergy-logo {
	margin-inline: auto;
	max-inline-size: 230px;
}

/* クリーンルームポップアップ */
.btn-feature-open {
	margin: var(--margin-small) auto 0;
	inline-size: min(100%, 320px);
	text-align: center;
	grid-template-columns: 1fr auto 1fr;
}

.btn-feature-open::before {
	content: '';
}

.btn-feature-open svg {
	justify-self: end;
}

.modal-container .flex-container {
	row-gap: 2rem;
}

/* コラム */
.column-container {
	position: relative;
	background: #f5f5f5;
	padding: 5rem 3%;
	margin-top: 7rem;
}

.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;
}

.column-title-box {
	text-align: center;
	padding-bottom: 0.4rem;
	margin-left: auto;
	margin-right: auto;
}

.column-flex-container {
	display: flex;
	justify-content: space-between;
	margin-top: 3rem;
}

.column-title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2.2;
	border-bottom: 2px dotted #000;
	padding-bottom: 3px;
}

.column-text-container {
	inline-size: 46%;
}

.column-img-container {
	inline-size: 50%;
}

/* ==========================================
	ホバー、マウスポインタがサポートされている環境
=========================================== */
@media (hover:hover) and (pointer: fine) {
	.link-btn-spec:hover {
		background-color: #fff;
		color: #000;
		text-decoration: none;
	}
}

/* ====================================
	スマートフォン専用スタイル（～768px）
===================================== */
@media screen and (width <768px) {}

/* ====================================
	TAB、PC、印刷専用スタイル（768px～）
===================================== */
@media print,
screen and (width >=768px) {

	.section-title+.flex-container:has(.sub-item) .sub-item {
		margin-top: 7rem;
	}

	.section-title:has(+.flex-container) {
		margin-bottom: 0;
	}

	#sub03 .flex-container {
		justify-content: start;
	}

	/* クリーンルームポップアップ */
	.modal-container .flex-item {
		inline-size: 48%;
	}

	/* PM2.5 */
	#pm25 {
		border: none;
	}

	#pm25 .flex-container {
		padding: 0;
	}

	#pm25 .flex-item-text {
		flex: 1;
		padding-top: 3rem;
	}

	#pm25 .flex-item-img {
		width: 50%;
		padding: 1rem 1rem 2rem;
	}

	.pm25-title {
		font-size: 1.8rem;
	}

	#pm25 .catch {
		font-size: 1.8rem;
	}

	#pm25 .cap-text {
		text-align: right;
	}

	#sub10 .flex-container {
		column-gap: 5rem;
	}

	.allergy-text {
		flex: 1 0;
	}
}