/* ========== common Component ========== */
.section-bgColor {
	margin-top: 40px;
}
.conversation-wrap {
	background-color: #C3DCFF;
}
.balloon-question h2 {
	color: var(--text-blue);
}
.term-icon img {
	transform: scale(0.9) translate(8px, -6px);
}
.topic-section {
	margin-bottom: 64px;
}
/* SP styles */
@media screen and (width < 768px) {
	.topic-section {
		margin-bottom: 48px;
	}
}
/* クイズ上部のギザギザ分余白調整 */
.topic-section:last-of-type .section-bgColor {
	padding-bottom: 131px;
}
/* SP styles */
@media screen and (width < 768px) {
	.topic-section:last-of-type .section-bgColor {
		padding-bottom: 78px;
	}
}
#section-02 .term-content {
	margin: 24px auto;
}
/* ========== utility style ========== */
.mb-12 {
	margin-bottom: 12px;
}

/* ========== 即時型・遅発型アレルギー ========== */
.tableContent-wrapper {
	display: grid;
	gap: 24px;
}
.tableContent-wrapper h3 {
	margin-bottom: 8px;
}
.table-item-wrapper {
	padding: 4px;
	border-radius: 20px;
}
.table-item-wrapper.red {
	background-color: #EA513A;
}
.table-item-wrapper.blue {
	background-color: #4774B9;
}
.table-item {
	border-collapse: collapse;
}
.table-item thead th {
	color: var(--bg-white);
	font-size: clamp(16px, calc(24 / 1000 * 100vw), 24px);
	line-height: calc(32 / 24);
	padding: 12px;
}
.table-item thead th sup {
	color: var(--bg-white);
}
.table-item tbody th {
	padding: 12px 16px 12px 12px;
	font-size: clamp(14px, calc(18 / 1000 * 100vw), 18px);
	line-height: 1.6;
	font-weight: 700;
	width: 29%;
	vertical-align: middle;
}
.table-item-wrapper.red tbody th {
	background-color: #FDE7EF;
	color: var(--text-red);
}
.table-item-wrapper.blue tbody th {
	background-color: #F0F6FF;
	color: #4774B9;
}
.table-item tbody td {
	background-color: var(--bg-white);
	padding: 12px 16px;
	vertical-align: middle;
	font-size: clamp(12px, calc(16 / 1000 * 100vw), 16px);
	line-height: 1.5;
}
.table-item tr:last-child th {
	border-radius: 0 0 0 20px;
}
.table-item tr:last-child td {
	border-radius: 0 0 20px 0;
}
.layout-gap8 {
	display: grid;
	gap: 8px;
}
/* table内の線 */
.table-item tbody tr + tr th {
	border-top: 2px solid var(--bg-white);
}
.table-item-wrapper.red tbody tr + tr td {
	border-top: 2px solid #FDE7EF;
}
.table-item-wrapper.blue tbody tr + tr td {
	border-top: 2px solid #F0F6FF;
}

/* ========== 背景色付きセクション用 ========== */
.figure-container h3 {
	margin-bottom: 32px;
	display: block;
}
.figure-img {
	display: flex;
	justify-content: center;
}
.figure-img img {
	max-width: 500px;
}

/* ========== キャラクター吹き出し ========== */
/* 横スクロール防止 */
.bubble-areaWrap {
	overflow: hidden;
}
.bubble-container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;	
}
.bubble-character {
	position: absolute;	
}
.bubble-info {
	position: relative;
	background-color: var(--bg-white);
	border: 8px solid #4774B9;
	border-radius: 80px;
	padding: 48px;
	display: grid;
	gap: 24px;
}
.bubble-info-text {
	font-size: 18px;
	line-height: 32px;
}
.bubble-circle {
	position: absolute;
	z-index: 2;
}
@media screen and (width < 768px) {
	.bubble-info {
		border: 4px solid #4774B9;
		border-radius: 40px;
		padding: 24px;
		gap: 12px;
	}
	.bubble-info-text {
		font-size: 12px;
		line-height: 1.5;
	}
}
/* 青色キャラクター右側 */
.bubble-container.character-right {
	padding: 0 335px 0 14px;
}
.character-right .bubble-character {
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.character-right .bubble-character img {
	width: 200px;
}
.character-right .bubble-circle {
	right: 210px; 
	top: 50%;
	transform: translateY(-50%);
}
.character-right .bubble-circle img {
	width: 155px;
}
/* 青色キャラクター右側 */
@media screen and (width < 768px) {
	.bubble-container.character-right {
		padding-right: 145px;
	}
	.character-right .bubble-character {
		top: auto;
		bottom: -75px;
		right: 5px;
	}
	.character-right .bubble-character img {
		width: 100px;
	}		
	.character-right .bubble-circle {
		top: 50%;
		right: 105px;
	}
	.character-right .bubble-circle img {
		width: 50px;
	}	
}
/* 青色キャラクター左側 */
.bubble-container.character-left {
	padding: 18px 14px 18px 305px;
}
.character-left .bubble-character {
	left: 0;
	top: 30%;
}
.character-left .bubble-character img {
	width: 180px;
	height: 231px;
	object-fit: contain;
}
.character-left .bubble-circle {
	left: 180px; 
	top: calc(50% + 25px);
	transform: translateY(-50%);
}
.character-left .bubble-circle img {
	width: 155px;
}
/* 青色キャラクター左側 */
@media screen and (width < 1024px) {
	.character-left .bubble-character {
		top: 50%;
	}
}
@media screen and (width < 768px) {
	.bubble-container.character-left {
		padding-left: 120px;
	}
	.character-left .bubble-character {
		left: -10px;
	}
	.character-left .bubble-character img {
		width: 90px;
		height: auto;
	}
	.character-left .bubble-circle {
		left: 80px; 
		top: 50%;
	}
	.character-left .bubble-circle img {
		width: 50px;
	}
}
/* 怪獣吹き出し用 共通 */
.monster-right .bubble-character img,
.monster-left .bubble-character img {
	width: 180px;	
}
.monster-right .bubble-circle img,
.monster-left .bubble-circle img {
	width: 118px;
}
/* SP styles */
@media screen and (width < 768px) {
	.monster-right .bubble-character img,
	.monster-left .bubble-character img {
		width: 80px;
	}
	.monster-right .bubble-circle img,
	.monster-left .bubble-circle img {
		width: 50px;
	}
}
/* 怪獣吹き出し用 右側 */
.bubble-container.monster-right{
	padding: 24px 250px 40px 14px;
}
.monster-right .bubble-character {
	right: -50px;
	bottom: 0;
	transform: rotate(-20deg);
}
.monster-right .bubble-circle {
	top: 40%;
	right: 155px;
}
/* SP styles */
@media screen and (width < 768px) {
	.bubble-container.monster-right {
		padding-right: 120px;
		padding-bottom: 12px;
	}
	.monster-right .bubble-character {
		bottom: 10px;
		right: -5px;
		transform: rotate(-20deg);
	}	
	.monster-right .bubble-circle {
		right: 80px;
	}
}
/* 怪獣吹き出し用 左側 */
.bubble-container.monster-left{
	padding: 24px 14px 30px 250px;
}
.monster-left .bubble-character {
	left: -50px;
	bottom: 30px;
	transform: rotate(20deg);
}
.monster-left .bubble-circle {
	top: 40%;
	left: 155px;
}
/* SP styles */
@media screen and (width < 768px) {
	.bubble-container.monster-left {
		padding-left: 120px;
		padding-bottom: 12px;
	}
	.monster-left .bubble-character {
		bottom: 30px;
		left: -5px;
		transform: rotate(-20deg);
	}	
	.monster-left .bubble-circle {
		left: 80px;
	}
}
/* バナー用 */
.bnrList-wrap {
	margin-top: 8px;
	display: flex;
	gap: 24px;
}
.bnrList-wrap li:first-child {
	border: 1px solid #e0e0e0;
}
@media screen and (width < 1024px) {
	.bnrList-wrap {
		display: grid;
	}
}
