@charset "utf-8";
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#main .topBox {
	padding: 4.1rem 0 5.3rem;
	color: #fff;
	background: linear-gradient(0deg, rgba(255, 142, 0, 1) 0%, rgba(255, 165, 0, 1) 100%);
}
#main .topBox .textBox {
	width: fit-content;
	margin: 0 auto;
}
#main .topBox .textBox .text {
	margin-bottom: 1.9rem;
	text-align: center;
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
#main .topBox .textBox .text .sml {
	font-size: 2.2rem;
}
#main .topBox .textBox .name {
	margin: 0 2.5rem 0 auto;
	width: fit-content;
	font-size: 1.8rem;
	line-height: 1.6;
}
#main .imgBox {
	margin: -6.9rem 0 7.7rem;
	display: flex;
	align-items: center;
	gap: min(3.636vw, 4rem);
	position: relative;
	z-index: 1;
}
#main .imgBox .photoBox {
	width: 40.1%;
}
#main .imgBox .photoBox img {
	width: 100%;
}
#main .imgBox .textBox {
	margin-top: 6rem;
	flex: 1;
}
#main .imgBox .textBox p {
	margin-bottom: 2.1rem;
	color: #251714;
	font-size: 1.4rem;
	line-height: 2.5;
}
#main .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
#main .phoArea {
	position: relative;
	z-index: 1;
}
#main .phoArea img {
	width: 100%;
}
#main .phoArea .imgtext {
	width: 99.6rem;
	max-width: 95%;
	position: absolute;
	top: -8.9rem;
	left: 50%;
	transform: translateX(-50%);
}
#main .phoArea .imgtext img {
	width: 60rem;
	max-width: 65%;
}
#main .about {
	padding: 12.3rem 0 19.2rem;
	position: relative;
}
#main .about .sideTxt {
	width: 14.9rem;
	position: absolute;
	left: 0;
	top: -1.2rem;
}
#main .about .content {
	max-width: 83.8rem;
	position: relative;
	z-index: 1;
}
#main .about h2 {
	margin-bottom: 4rem;
	text-align: center;
}
#main .about h2 img {
	width: 31.7rem;
}
#main .about h3 {
	margin-bottom: 1.1rem;
	padding: 1.1rem 1rem 1rem;
	color: #fff;
	font-size: 3.3rem;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-align: center;
	border-radius: 1rem;
	background: linear-gradient(-90deg, rgba(255, 217, 54, 1) 0%, rgba(255, 165, 0, 1) 100%);
}
#main .about table {
	margin: 0 1.5rem;
	width: calc(100% - 3rem);
	border-collapse: collapse;
}
#main .about th,
#main .about td {
	padding: 2.1rem 0.7rem;
	vertical-align: middle;
	text-align: left;
	color: #251714;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	border-bottom: 1px solid #FFCF00;
}
#main .about th {
	width: 29.6%;
}
#main .about .subSec {
	margin-bottom: 8.3rem;
}
#main .about .subSec:last-child {
	margin-bottom: 0;
}
#main .about h4 {
	text-align: center;
	font-size: 3.6rem;
	font-weight: 700;
	color: #004C88;
	line-height: 1.46;
}
#main .about .secBox {
	margin-bottom: 12.7rem;
}
#main .about .secBox:last-child {
	margin-bottom: 0;
}
#main .about .h3Ttl01 {
	margin-bottom: 4.9rem;
}
@media all and (min-width: 897px) and (max-width: 1080px) {
	#main .imgBox .photoBox {
		width: 37%;
	}
	#main .imgBox .textBox {
		padding: 2rem 0;
	}
}
@media all and (max-width: 896px) {
	#main .topBox {
		margin-bottom: 4rem;
		padding: 2.5rem 0;
	}
	#main .topBox .textBox .text {
		margin-bottom: 1.5rem;
		font-size: 2.4rem;
	}
	#main .topBox .textBox .text .sml {
		font-size: 1.6rem;
	}
	#main .topBox .textBox .name {
		margin-right: 1.5rem;
		font-size: 1.5rem;
	}
	#main .imgBox {
		margin: 0 0 6rem;
		display: block;
	}
	#main .imgBox .photoBox {
		margin: 0 auto 3rem;
		width: 70%;
	}
	#main .imgBox .textBox {
		margin-top: 0;
	}
	#main .imgBox .textBox p {
		margin-bottom: 1.5rem;
		line-height: 1.875;
	}
	#main .imgBox .textBox p:last-child {
		margin-bottom: 0;
	}
	#main .phoArea .imgtext {
		width: 95%;
		top: -3.6rem;
	}
	#main .about {
		padding: 6rem 0 15rem;
	}
	#main .about .sideTxt {
		width: 6rem;
		top: -0.6rem;
	}
	#main .about .content {
		max-width: initial;
	}
	#main .about h2 {
		margin-bottom: 2rem;
	}
	#main .about h2 img {
		width: 22rem;
	}
	#main .about h3 {
		padding: 1rem;
		font-size: 2.6rem;
	}
	#main .about table {
		margin: 0 1rem;
		width: calc(100% - 2rem);
	}
	#main .about th,
	#main .about td {
		padding: 1.5rem 0.5rem;
		font-size: 1.5rem;
	}
	#main .about th {
		min-width: 9.8rem;
	}
	#main .about .subSec {
		margin-bottom: 3.5rem;
	}
	#main .about .subSec:last-child {
		margin-bottom: 0;
	}
	#main .about h4 {
		font-size: 2.6rem;
	}
	#main .about .secBox {
		margin-bottom: 6rem;
	}
	#main .about .secBox:last-child {
		margin-bottom: 0;
	}
	#main .about .h3Ttl01 {
		margin-bottom: 2.5rem;
	}
}