@charset "UTF-8";

/*----------------------------------------
	- base
-----------------------------------------*/
:root {
	--main_color: #BB2929;
}

/*=======================================
	base
=======================================*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
img,
figure,
picture {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
ul,
li {
	list-style: none;
}
a {
	text-decoration: none;
	opacity: 1;
	transition: all 0.3s ease;
}
@media (hover: hover) {
	a:hover {
		opacity: 0.8;
	}
}


.gray_bg {
	background-color: #F5F5F5;
	border-radius: 10px;
}
.add_red {
	color: var(--main_color);
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.gray_bg {
		border-radius: 0;
	}
}


/*============================
#init_sec
============================*/

#init_sec .content {
	margin: 75px auto 90px;
	padding: 66px 50px 48px;
}
#init_sec .content h3 {
	text-align: center;
	font-size: 38px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.84;
	margin-bottom: 72px;
}
#init_sec .content h3 .add_red {
	font-size: 45px;
}
#init_sec .content .clms {
	display: flex;
	gap: 0 60px;
	align-items: center;
}
#init_sec .content .clms:nth-child(2) {
	margin-bottom: 55px;
}
#init_sec .content .clms:nth-child(3) {
	flex-direction: row-reverse;
}
#init_sec .content .clms .img {
	width: 470px;
}
#init_sec .content .clms .txt {
	width: calc(100% - 470px - 60px);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7777;
	text-align: justify;
}
@media screen and (max-width: 1250px) {
	#init_sec .content h3 {
		font-size: calc((38 / 1250) * 100vw);
	}
	#init_sec .content h3 .add_red {
		font-size: calc((45 / 1250) * 100vw);
	}
	#init_sec .content .clms {
		gap: 0 4.8vw;
	}
	#init_sec .content .clms .img {
		width: 37.6vw;
	}
	#init_sec .content .clms .txt {
		width: calc(100% - 37.6vw - 4.8vw);
	}
	#init_sec .content .clms .txt {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	#init_sec .content {
		margin: 40px auto 40px;
		padding: 35px 30px;
	}
	#init_sec .content h3 {
		font-size: 20px;
		margin-bottom: 30px;
	}
	#init_sec .content h3 .add_red {
		font-size: 22px;
	}
	#init_sec .content .clms {
		flex-direction: column;
		gap: 20px 0;
	}
	#init_sec .content .clms:nth-child(2) {
		margin-bottom: 35px;
	}
	#init_sec .content .clms:nth-child(3) {
		flex-direction: column;
	}
	#init_sec .content .clms .img {
		width: 100%;
	}
	#init_sec .content .clms .txt {
		width: 100%;
		line-height: 1.7;
		font-size: 14px;
		font-weight: 400;
	}
}

/*============================
#solu_sec
============================*/

.txt_area h3 {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.843;
	letter-spacing: 0.05em;
}
.txt_area p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7777;
	letter-spacing: 0.1em;
	text-align: justify;
}

#solu_sec .content {
	padding: 50px 50px 60px;
	display: flex;
	gap: 0 65px;
	margin-bottom: 100px;
}
#solu_sec .content .txt_area {
	width: calc(100% - 450px - 65px);
}
#solu_sec .content .txt_area h3 {
	margin-bottom: 26px;
}
#solu_sec .content .img {
	width: 450px;
}

@media screen and (max-width: 1250px) {
	.txt_area h3 {
		font-size: calc((32 / 1250) * 100vw);
	}
	.txt_area p {
		font-size: 16px;
	}
	#solu_sec .content {
		gap: 0 5vw;
	}
	#solu_sec .content .txt_area {
		width: calc(100% - 5vw - 36vw);
	}
	#solu_sec .content .img {
		width: 36vw;
	}
}
@media screen and (max-width: 767px) {
	.txt_area h3 {
		font-size: 20px;
		text-align: center;
	}
	.txt_area p {
		font-size: 14px;
		font-weight: 400;
	}
	#solu_sec .content {
		padding: 35px 30px;
		gap: 30px 0 ;
		flex-direction: column;
		margin-bottom: 50px;
	}
	#solu_sec .content .txt_area {
		width: 100%;
	}
	#solu_sec .content .img {
		width: 100%;
	}
}

/*============================
#safe_sec
============================*/

#safe_sec .content {
	padding: 50px 50px 60px;
	display: flex;
	gap: 0 65px;
	margin-bottom: 100px;
}
#safe_sec .content .img {
	width: 380px;
}
#safe_sec .content .txt_area {
	width: calc(100% - 380px - 65px);
}
#safe_sec .content .txt_area h3 {
	margin-bottom: 40px;
}
@media screen and (max-width: 1250px) {
	#safe_sec .content {
		gap: 0 5vw;
	}
	#safe_sec .content .img {
		width: 30.4vw;
	}
	#safe_sec .content .txt_area {
		width: calc(100% - 30.4vw - 5vw);
	}
}
@media screen and (max-width: 767px) {
	#safe_sec .content {
		padding: 35px 30px;
		gap: 30px 0;
		flex-direction: column;
		margin-bottom: 50px;
	}
	#safe_sec .content .img,
	#safe_sec .content .txt_area {
		width: 100%;
	}
	#safe_sec .content .txt_area h3 {
		margin-bottom: 20px;
		font-size: 19px;
	}
}

/*============================
#chk_sec
============================*/
#chk_sec .content {
	padding: 50px;
	margin-bottom: 200px;
}
#chk_sec .content h4 {
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.84;
	margin-bottom: 50px;
}
#chk_sec .content .img {
	width: 100%;
	max-width: 1020px;
}
@media screen and (max-width: 1250px) {
	#chk_sec .content {
		margin-bottom: 16vw;
	}
	#chk_sec .content h4 {
		font-size: calc((32 / 1250) * 100vw);
	}
}
@media screen and (max-width: 767px) {
	#chk_sec .content {
		padding: 15px 30px 25px;
		margin-bottom: 40px;
	}
	#chk_sec .content h4 {
		font-size: 17px;
		margin-bottom: 20px;
		text-align: center;
	}
	#chk_sec .content .img {
		width: 52vw;
		max-width: 380px;
		margin: 0 auto;
	}
}