@charset "utf-8";

.l-title-img {
	background-image: url(../img/title_img.jpg);
	background-position: center;
}

@media (max-width: 767px) {
	.l-title-img__h {
		background-image: url(../img/title_img.jpg);
		background-position: center;
	}
}

.o-table .o-list {
	font-size: 100%;
}

/*--------------------------------------------------*/
/* o-voice */
/*--------------------------------------------------*/

.o-voice {
	--color-white: #fff;
	--color-gray: #e5e5e5;
	--img-size: 90px;

	display: flex;
	gap: 50px;
}

.o-voice + .o-voice {
	margin-top: 30px;
}

.o-voice__icon {
	width: var(--img-size);
	flex-shrink: 0;
}

.o-voice__img {
	width: var(--img-size);
	height: var(--img-size);
	border: 2px solid var(--color-gray);
	border-radius: 50%;
	background-color: var(--color-white);
}

.o-voice__img > img {
	max-width: 100%;
	height: auto;
}

.o-voice__attr {
	margin-top: 5px !important;
	font-weight: bold;
	font-size: 87.5%;
	text-align: center;
}

/* o-voice__balloon
------------------------------------------*/

.o-voice__balloon {
	position: relative;
	padding: 20px;
	border: 2px solid var(--color-gray);
	border-radius: 12px;
	background-color: var(--color-white);
}

.o-voice__balloon::before,
.o-voice__balloon::after {
	content: "";
	right: 100%;
	position: absolute;
	width: 0;
	height: 0;
	border: solid transparent;
}

.o-voice__balloon::before {
	top: 25px;
	border-right-color: var(--color-gray);
	border-width: 20px 30px 20px 0;
}

.o-voice__balloon::after {
	top: 27px;
	border-right-color: var(--color-white);
	border-width: 18px 27px 18px 0;
}

.o-voice__balloon > * {
	margin-top: 0 !important;
}

/* o-voice:nth-child(even)
------------------------------------------*/

.o-voice:nth-child(even) {
	flex-direction: row-reverse;
}

.o-voice:nth-child(even) > .o-voice__balloon::before,
.o-voice:nth-child(even) > .o-voice__balloon::after {
	right: auto;
	left: 100%;
	border-right-color: transparent;
	border-right-width: 0;
}

.o-voice:nth-child(even) > .o-voice__balloon::before {
	border-left-color: var(--color-gray);
	border-left-width: 30px;
}

.o-voice:nth-child(even) > .o-voice__balloon::after {
	border-left-color: var(--color-white);
	border-left-width: 27px;
}

/* responsive
------------------------------------------*/

@media (max-width: 767px) {
	.o-voice {
		--img-size: 60px;
		gap: 35px;
	}

	.o-voice + .o-voice {
		margin-top: 25px;
	}

	.o-voice__attr {
		font-size: 68.8% !important;
	}

	.o-voice__balloon {
		padding: 10px;
	}

	.o-voice__balloon::before {
		top: 10px;
	}

	.o-voice__balloon::after {
		top: 12px;
	}
}
