@charset "UTF-8";

/* ===============================
	共通スタイル
=============================== */

/* 交換不要ラベル */
.gray-label {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 0.2em 1em;
  background-color: var(--steel-gray);
}

.pci-container {
	display: flex;
	flex-wrap: wrap;
	row-gap: 4rem;
}

.pci-logo {
	inline-size: 100%;
	max-inline-size: 340px;
	margin-inline: auto;
	position: relative;
}

.pci-logo sup {
	position: absolute;
	top: 61%;
	right: 15%;
}

.flex-container.column2 {
	row-gap: 5rem;
}

.thumb-pci {
	background: url(images/movie01.jpg) no-repeat center center / cover;
}

#sub01 .movie-container {
	margin-top: 4rem;
}

.thumb-pci {
	background: url('images/popup-thumb01.jpg') no-repeat center center/cover;
}

.thumb-filter {
	background: url('images/popup-thumb02.jpg') no-repeat center center/cover;
}

#sub03 .flex-item:has(img) {
	max-inline-size: 230px;
	margin-inline: auto;
}

#sub05 .flex-container {
	column-gap: 5rem;
}

.allergy-logo {
	margin-inline: auto;
	max-inline-size: 230px;
}

/* PM2.5 */
#pm25 {
	margin-top: var(--margin-medium);
	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;
}

/* 特長ポップアップボタン */
#sub07 .btn-feature-open {
	margin: var(--margin-small) auto 0;
}

/* ==========================================
	ホバー、マウスポインタがサポートされている環境
=========================================== */
@media (hover:hover) and (pointer: fine) {}

/* ====================================
	スマートフォン専用スタイル（～768px）
===================================== */
@media screen and (width <768px) {}

/* ====================================
	TAB、PC、印刷専用スタイル（768px～）
===================================== */
@media print,
screen and (width >=768px) {
	.pci-text {
		flex: 1 0;
	}

	.pci-logo {
		inline-size: 340px;
	}

	.pci-logo sup {
		top: 45%;
		right: 18%;
	}

	.flex-container.column2>.flex-item {
		inline-size: 48%;
	}

	.allergy-text {
		flex: 1 0;
	}

	#sub03 .flex-container {
		column-gap: 4rem;
	}

	#sub03 .flex-item:has(img) {
		inline-size: 30%;
	}

	#sub03 .flex-item:has(.text) {
		flex: 1 0;
	}

	.btn-has-arrow-left {
		margin-top: 3rem;
	}

	/* 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;
	}
}