@charset "utf-8";
/*------------------------------------------------------------
	concept
------------------------------------------------------------*/
#main {
	margin-bottom: 0;
	padding-bottom: 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-feature-settings: "palt";
	overflow-x: clip;
}
#main img {
	max-width: 100%;
}
#main .mainImg {
	margin-bottom: 115px;
	text-align: center;
}
#main .mainImg h2 {
	margin-bottom: 0;
}
#main .mainImg img {
	width: 1280px;
}
#main .content {
	width: 862px;
}
#main p {
	text-align: justify;
	word-break: break-all;
	overflow-wrap: anywhere;
}
#main .sec01 {
	margin: 0 0 75px;
	width: auto;
	max-width: initial;
}
#main .h3Ttl01 {
	margin-bottom: 34px;
	padding-bottom: 7px;
	font-size: 30px;
}
#main .h3Ttl01 .num {
	margin-right: 28px;
	margin-bottom: 5px;
	font-size: 79px;
}
#main .h3Ttl01 .txt {
	letter-spacing: 0.05em;
}
#main .sec01 .imgBox {
	margin-bottom: 45px;
}
#main .sec01 .imgBox .textBox p {
	margin: 0;
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.1em;
}
#main .sec01 .photo01 {
	margin-bottom: 60px;
}
#main .sec02 {
	margin-bottom: 79px;
}
#main .sec02 .h3Ttl01 {
	margin-bottom: 41px;
	padding-bottom: 6px;
}
#main .sec02 .h3Ttl01 .num {
	margin-bottom: 7px;
}
#main .sec02 .imgBox {
	margin-bottom: 26px;
	display: flex;
	gap: 17px;
}
#main .sec02 .imgBox:last-child {
	margin-bottom: 0;
}
#main .sec02 .imgBox .textBox {
	width: 57.45%;
}
#main .sec02 .imgBox .textBox p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.15em;
}
#main .sec02 .imgBox .textBox .ttl {
	margin-bottom: 8px;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
#main .sec02 .imgBox .photoBox {
	margin-top: 6px;
	flex: 1;
}
#main .sec02 .imgBox .photoBox img {
	width: 100%;
}
#main .sec03 {
	margin-bottom: 128px;
}
#main .sec03 .h3Ttl01 {
	margin-bottom: 47px;
}
#main .sec03 .img01 {
	margin-bottom: 22px;
}
#main .sec03 .tblImg {
	margin-bottom: 42px;
}
#main .sec03 .img02 {
	margin-bottom: 106px;
}
#main .btnList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px;
}
#main .btnList li {
	width: 262px;
}
#main .btnList li a {
	display: block;
}
#main .btnList li a:hover {
	opacity: 0.7;
}
#main .grayBox {
	padding: 121px 0 130px;
	background: #222224;
}
#main .grayBox .img01 {
	margin-bottom: 108px;
}
#main .grayBox .img02 {
	margin-bottom: 90px;
}
#main .grayBox .img03 {
	margin: 0 0 79px;
	width: auto;
	max-width: initial;
}
#main .bgBlack {
	padding-bottom: 24px;
}
#main .btmBox {
	padding-top: 53px;
	padding-bottom: 55px;
}
#main .linkList.driverList {
	padding-left: 26px;
	width: 786px;
	gap: 52px 14%;
}
#main .linkList.driverList li {
	width: 24%;
	max-width: initial;
	text-align: center;
}
#main .linkList li img {
	width: 159px;
}
#main .linkList li .txt {
	margin-top: 27px;
	font-size: 11px;
}
@media all and (min-width: 641px) {
	#main .btnList li {
		max-width: calc(50% - 25px);
	}
}
@media all and (min-width: 0) and (max-width: 640px) {
	#main .mainImg {
		margin-bottom: 16.533vw;
	}
	#main .mainImg img {
		width: 100%;
	}
	#main .content {
		width: auto;
	}
	#main .sec01 {
		margin: 0 0 12.533vw;
	}
	#main .h3Ttl01 {
		margin-bottom: 3.2vw;
		padding-bottom: 0.533vw;
		font-size: 4.533vw;
	}
	#main .h3Ttl01 .num {
		margin-right: 0;
		margin-bottom: 1.867vw;
		font-size: 8.533vw;
	}
	#main .sec01 .imgBox {
		margin-bottom: 5.067vw;
	}
	#main .sec01 .imgBox .textBox p {
		margin: 0 10.667vw;
		font-size: 4vw;
		text-align: justify;
		line-height: 1.82;
	}
	#main .sec01 .photo01 {
		margin: 0 6.667vw 5.867vw;
	}
	#main .sec01 .photo01 img {
		width: 100%;
	}
	#main .tblImg {
		margin: 0 0 0 6.667vw;
		overflow-x: auto;
	}
	#main .tblImg img {
		width: 221.6vw;
		max-width: initial;
	}
	#main .sec02 {
		margin-bottom: 13.333vw;
	}
	#main .sec02 .h3Ttl01 {
		margin-bottom: 4.267vw;
		padding-bottom: 0.533vw;
	}
	#main .sec02 .imgBox {
		margin: 0 10.667vw 13.333vw;
		display: block;
	}
	#main .sec02 .imgBox:last-child {
		margin-bottom: 0;
	}
	#main .sec02 .imgBox .textBox {
		width: auto;
		margin-bottom: 4vw;
	}
	#main .sec02 .imgBox .textBox p {
		font-size: 4vw;
		line-height: 1.8;
	}
	#main .sec02 .imgBox .textBox .ttl {
		margin-bottom: 0.8vw;
		font-size: 4.267vw;
	}
	#main .sec02 .imgBox .photoBox {
		margin: 0 0.267vw;
	}
	#main .sec03 {
		margin-bottom: 19.2vw;
	}
	#main .sec03 .h3Ttl01 {
		margin-bottom: 5.333vw;
	}
	#main .sec03 .img01 {
		margin: 0 10.667vw 11.733vw 10.133vw;
	}
	#main .sec03 .img01 img {
		width: 100%;
	}
	#main .sec03 .tblImg {
		margin-bottom: 14.933vw;
	}
	#main .sec03 .tblImg img {
		width: 265.867vw;
	}
	#main .sec03 .img02 {
		margin: 0 6.4vw 14.4vw 6.667vw;
	}
	#main .sec03 .img02 img {
		width: 100%;
	}
	#main .btnList {
		flex-direction: column;
		gap: 4.8vw;
		align-items: center;
	}
	#main .btnList li {
		width: 82.667vw;
		max-width: 100%;
	}
	#main .grayBox {
		padding: 11.467vw 9.333vw 15.7vw 8.533vw;
	}
	#main .grayBox img {
		width: 100%;
	}
	#main .grayBox .img01 {
		margin-bottom: 13.6vw;
	}
	#main .grayBox .img02 {
		margin: 0 1.333vw 10.667vw 2.133vw;
	}
	#main .grayBox .img03 {
		margin: 0 -2.667vw 13.867vw -1.867vw;
		width: auto;
		max-width: initial;
	}
	#main .grayBox .btnList {
		margin-right: -0.533vw;
	}
	#main .bgBlack {
		padding-bottom: 0;
	}
	#main .btmBox {
		margin: 0 2.667vw 0 2.933vw;
		padding: 11.733vw 0;
	}
	#main .linkList.driverList {
		padding-left: 0;
		width: auto;
		gap: 39px 10.7%;
	}
	#main .linkList.driverList li {
		width: 26.2%;
	}
	#main .linkList li .txt {
		margin-top: 1.067vw;
		font-size: 2.4vw;
		text-decoration: none;
	}
}