@charset "UTF-8";

/** -------------------
	header
------------------- **/

/** -- fv -- **/
.fv {
	max-width: 1440px;
	margin: 0 auto;
	position: relative;
}
.fv .sec_inner {
	color: #fff;
	position: absolute;
	left: 50%;
	top: calc(50% - 40px);
	transform: translateX(-50%);
}
.fv h2 {
	display: table;
	margin-left: auto;
}
.fv .btn_yellow {
	margin-left: auto;
	margin-top: 50px;
}
@media screen and (max-width: 1190px) {
	.fv .sec_inner {
		top: calc(50% - 4vw);
	}
	.fv .btn_yellow {
		margin-top: 4.5vw;
	}
}
@media screen and (max-width: 640px) {
	.fv figure {
		height: 80vw;
	}
	.fv figure img {
		object-fit: cover;
		height: 100%;
		width: 100%;
	}
	.fv .sec_inner {
		bottom: 8vw;
		left: auto;
		right: 0;
		top: auto;
		transform: initial;
	}
	.fv .btn_yellow {
		margin-top: 4.5vw;
	}
}

/** -------------------
	main
------------------- **/
main {
	display: block;
}
@media screen and (max-width: 1190px) {
	
}
@media screen and (max-width: 640px) {
	
}

/** -- top_news -- **/
.top_news {
	padding: 50px 0;
}
.top_news .inner {
	margin-bottom: 30px;
	position: relative;
}
.top_news .headline_2 {
	margin: 0;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.top_news dl {
	margin-left: 240px;
}
.top_news dd {
	margin-bottom: 20px;
}
.top_news dd:last-child {
	margin-bottom: 0;
}
.top_news dd a:hover {
	color: #FF9F4B;
}
.top_news .btn_white {
	margin-left: auto;
}
@media screen and (max-width: 1190px) {
	.top_news {
		padding: 5vw 0;
	}
	.top_news .inner {
		margin-bottom: 3vw;
	}
	.top_news dl {
		margin-left: 20vw;
	}
	.top_news dd {
		margin-bottom: 2vw;
	}
}
@media screen and (max-width: 640px) {
	.top_news {
		padding: 10vw 0 12vw;
	}
	.top_news .inner {
		margin-bottom: 3vw;
	}
	.top_news .headline_2 {
		margin-bottom: 5vw;
		position: relative;
		left: auto;
		top: auto;
		text-align: center;
		transform: initial;
	}
	.top_news dl {
		margin-bottom: 8vw;
		margin-left: 0;
	}
	.top_news dd {
		margin-bottom: 5vw;
	}
	.top_news .btn_white {
		margin: 0 auto;
	}
}

/** -- top_about -- **/
.top_about {
	margin-bottom: 120px;
	padding-top: 150px;
	overflow: hidden;
}
.top_about figure {
	margin-right: calc((1110px - 100vw) / 2);
	width: calc(50% + ((100vw - 1110px) / 2));
}
.top_about figure img {
	object-fit: cover;
	object-position: 0 0;
	height: 100%;
	width: 100%;
}
.top_about .text_box {
	margin-right: 50px;
	padding-bottom: 100px;
	padding-top: 20px;
	position: relative;
	width: calc(50% - 50px);
}
.top_about .headline_1 {
	margin-bottom: 70px;
	position: relative;
}
.top_about .headline_1::before {
	background: url("../img/koujitsu_maru.png") no-repeat 0 0 / 100%;
	content: '';
	display: block;
	position: absolute;
	left: -185px;
	top: -220px;
	height: 346px;
	width: 346px;
	z-index: -1;
}
.top_about .btn_white {
	position: absolute;
	bottom: 0;
	right: 10px;
}
@media screen and (max-width: 1190px) {
	.top_about {
		margin-bottom: 12vw;
		padding-top: 14vw;
	}
	.top_about figure {
		margin-right: -4vw;
		width: calc(50% + 4vw);
	}
	.top_about .text_box {
		margin-right: 4vw;
		padding-bottom: 10vw;
		padding-top: 2vw;
		width: calc(50% - 4vw);
	}
	.top_about .headline_1 {
		margin-bottom: 5vw;
	}
	.top_about .headline_1::before {
		left: -15.5vw;
		top: -19vw;
		height: 30vw;
		width: 30vw;
		z-index: -1;
	}
	.top_about .btn_white {
		position: absolute;
		bottom: 0;
		right: 10px;
	}
}
@media screen and (max-width: 640px) {
	.top_about {
		margin-bottom: 12vw;
		padding-top: 0;
	}
	.top_about .sec_inner {
		flex-direction: column-reverse;
	}
	.top_about figure {
		margin: 0 -6vw 20vw;
		width: auto;
	}
	.top_about .text_box {
		margin-right: 4vw;
		padding-bottom: 10vw;
		padding-top: 2vw;
		width: 100%;
	}
	.top_about .headline_1 {
		margin-bottom: 8vw;
	}
	.top_about .headline_1::before {
		left: -18vw;
		top: -24vw;
		height: 46vw;
		width: 46vw;
		z-index: -1;
	}
	.top_about .btn_white {
		margin: 12vw auto 0;
		position: relative;
		bottom: auto;
		right: auto;
	}
}

/** -------------------
	footer
------------------- **/