/*header*/
#header{
	position: fixed;
	width: 100%;
	z-index: 999;
	transition:.3s;
}
#header.scroll {
	background-color: rgba(255,255,255,.8);
}
.header_inner{
	padding: 20px 30px;
	display: grid;
	grid-template-columns: 310px 1fr;
	justify-items: self-end;
	align-items: center;
}
.header_inner ul{
	display: flex;
}
.header_inner ul li{
	display: flex;
	padding-right: 1.2em;
}
.header_inner ul li:last-child{
	padding-right: 0;
}
.header_inner ul li a{
	padding-bottom: 0.3em;
}
.header_inner ul li a:hover{
	border-bottom: 3px solid #6A9F21;
}
.logo{
	width: 100%;
}
/*MV*/
#mv .wrap{
	background-image: url(../img/mv.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	height: min(32vw,600px);
	border-bottom: 5px #6A9F21 solid;
	position: relative;
}
#mv .wrap::before{
	content:"";
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
	background: rgb(255,255,255);
background: linear-gradient(0deg, rgba(255,255,255,0) 50%, rgba(255,255,255,1) 100%);
}
#mv .contents{
	text-align: center;
	position: relative;
	z-index: 1;
	padding-top: min(10vw,200px);
}
h1{
	font-size: 4.0rem;
	line-height: 1.5;
	text-shadow:0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff;
	margin-bottom: 0.3em;
}
#mv p{
	font-size: 2.4rem;
	line-height: 1.5;
	text-shadow:0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff;
}
/*共通*/
h2{
	font-size: 2.8rem;
	line-height: 1.5;
}
h2 span{
	display: block;
	font-size:1.6rem;
	color:#6A9F21;
}
.contents{
	padding: 90px 0;
}
.contents_inner{
	display: grid;
	grid-template-columns: 20em 1fr;
}
table th, table td{
	line-height: 1.8;
	padding: 1.5em 0;
	border-bottom: dotted #BABABA 1px;
	font-size: 1.6rem;
}
table th{
	width: 30%;
}
table td{
	width: 70%;
}
table p{
	line-height: 1.8;
	text-indent: -1em;
	margin-left: 0.5em;
}
a.access{
	display: inline-grid;
	grid-template-columns: 13px 1fr;
	grid-column-gap: 5px;
	align-items: center;
	margin-left: 2em;
	color:#E7433E;
	font-weight: 500;
}
a.access:hover{
	opacity: 0.7;
}
/*会社沿革*/
#history .wrap{
	background-color: #FAFAFA;
}
/*ディスクロージャー*/
.disclosure{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
	justify-content: start;
	align-items: center;
}
.disclosure a{
	text-align: center;
	border: #707070 1px solid;
	padding: 1em 0;
	position: relative;
	display: inline-block;
}
.disclosure a::after{
	content: "";
	display: inline-block;
	background: url(../img/triangle.png) 100% 100% / cover;
	height: 12px;
	width: 12px;
	position: absolute;
	bottom:3px;
	right:3px;
}
.disclosure a:hover{
	background-color: #efefef;
	cursor:pointer;
}
/*footer*/
#footer{
	border-top:5px #6A9F21 solid;
}
.footer{
	text-align:center;
	margin: 90px 0 20px;
}
.footer .logo{
	width: 310px;
	margin: 0 auto 90px;
}
.footer .copyright{
	font-size: 1.4rem;
}
/**GO TO TOP**/
.pagetop{
	position:fixed;
	bottom:280px;
	right:30px;
	width: 70px;
	height: 70px;
}
.pagetop:hover{
	opacity: 0.7;
}
@media screen and (max-width: 1200px) {
	h1{
		font-size: 3.0rem;
	}
	#mv p{
		font-size: 2.0rem;
	}
	.contents{
		padding: 50px 0;
	}
	.contents_inner{
		display: grid;
		grid-template-columns: 15em 1fr;
	}
	/*footer*/
	.footer{
		margin: 50px 0 20px;
	}
	.footer .logo{
		width: 200px;
		margin: 0 auto 50px;
	}
	/**GO TO TOP**/
	.pagetop{
		position:fixed;
		bottom:200px;
		right:30px;
		width: 70px;
		height: 70px;
	}
}
@media screen and (max-width: 1024px) {
	.header_inner {
		padding: 10px 20px;
		grid-template-columns: 240px 1fr;
	}
	.header_inner ul li {
		font-size: 1.5rem;
	}
	h1{
		font-size: 2.4rem;
	}
	#mv p{
		font-size: 1.6rem;
	}
	#mv .contents {
		padding-top: min(12vw, 120px);
	}
	.contents_inner{
		display: grid;
		grid-template-columns: 1fr;
		grid-row-gap: 1.5em;
	}
	h2{
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	/*MV*/
	#mv .wrap{
		height: 300px;
	}
	.header_inner {
        grid-template-columns: 1fr;
		justify-items: center;
		grid-row-gap: 10px;
    }
	.header_inner ul li{
		font-size:min(4vw,1.5rem);
	}
	.logo{
		width: 200px;
	}
	h1{
		font-size: 2rem;
	}
	#mv p{
		font-size: 1.4rem;
	}
	#mv .contents {
		padding-top: 120px;
	}
	h2{
		font-size: 2.2rem;
		line-height: 1.5;
	}
	h2 span{
		display: block;
		font-size:1.4rem;
		color:#6A9F21;
	}
	.contents{
		padding: 30px 0;
	}
	#history table th{
		width: 10em;
	}
	#history table td{
		width: calc(100% - 10em);
	}
	table th, table td{
		font-size: 1.4rem;
		padding:1em 0.5em;
	}
	a.access{
		margin-left: 0;
		margin-top:0.5em;
	}
	/*ディスクロージャー*/
	.disclosure{
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 20px;
		justify-content: space-between;
		grid-column-gap: 20px;
		grid-row-gap: 20px;
	}
	/*footer*/
	.footer{
		margin: 30px 0 20px;
	}
	.footer .logo{
		width: 200px;
		margin: 0 auto 30px;
	}
	.footer .copyright{
		font-size: min(3.2vw,1.2rem);
	}
	/**GO TO TOP**/
	.pagetop {
		position: fixed;
		bottom: 140px;
		right: 10px;
		width: 50px;
		height: 50px;
	}
}

body#intromovie {
	display: grid;
	align-items: center;
	height: 100vh;
	height: 100dvh;
}