@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/popup-thumb01.jpg') no-repeat center center/cover;
}


/* 英国アレルギー協会認定 */

#sub06 .flex-container {
	column-gap: 5rem;
}

.allergy-logo {
	margin-inline: auto;
	max-inline-size: 230px;
}

/* 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;
}


/* コラム */
.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) {}

/* ====================================
	スマートフォン専用スタイル（～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;
	}

	.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;
	}
}