@charset "UTF-8";
/* CSS Document */

/* common */
body main * {
	box-sizing: border-box;
	font-family: 'Helvetica',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS P Gothic", Osaka, sans-serif;
}


picture,
source,
img {
	width: 100%;
	height: auto;
}

h1 {
	opacity: 0;
	transform: translate(0, 15px);
	transition: all 1000ms ease 500ms;
}
h1.anm {
	opacity: 1;
	transform: translate(0, 0);
}

h2 {
	margin-bottom: 3.0em;
	font-size: 21px;
	font-weight: normal;
}

/* module */
.sp_view,
.SPview {
	display: none;
}
.doc p {
	line-height: 2.0;
	letter-spacing: 0.05em;
}
span.en {
	font-family: 'Open Sans', Lato, 'Lato', sans-serif;
}

/* main_kv */
.main_kv {
	position: relative;
}
.main_kv > .inner {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-content: flex-end;
	align-items: flex-end;
	width: 100%;
	height: 100%;
}
.main_kv > .inner h1 {
	position: relative;
	margin-bottom: -140px;
	margin-bottom: calc(315 / 2500 * -100vw);
	z-index: 1;
}
.main_kv > picture {
	width: 100%;
}
.main_kv > img,
.main_kv > picture > img,
.main_kv > video {
	width: 100%;
	height: auto;
}
.main_kv h1 {
	width: calc(1130 / 2500 * 100vw);
	height: calc(622 / 2500 * 100vw);
	background: url(../img/main_title.png) center center / contain no-repeat;
	text-indent: -9999px;
}


/* sec_desc */
.sec_desc {
	padding: 260px 20px 120px;
}
.sec_desc .inner {
	text-align: center;
}
.sec_desc p {
	font-size: 16px;
	line-height: 2;
}
.sec_desc p + p {
	margin-top: 2em;
}
@media (min-width:768px) and (max-width: 1024px) {
	.sec_desc {
		padding: 180px 20px 120px;
	}
	.sec_desc p {
		font-size: 17px;
	}
}

/* sec_item */
.sec_items .inner {
	width: 1080px;
	max-width: 100%;
	margin: 0 auto;
}

/* list */
.list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.list .item {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: calc(590 / 2160 * 100%);
	margin: 0 calc(60 / 2160 * 100%);
	opacity: 0;
	/* transform: translate(0, 15px); */
	transition: all 1000ms ease;
}
.list .item.anm {
	opacity: 1;
	transform: translate(0, 0);
}
/* .list .item.anm:nth-of-type(3n+2) { transition-delay: 200ms; } */
/* .list .item.anm:nth-of-type(3n) { transition-delay: 400ms; } */
.list .item .imgbox {
	position: relative;
	
}
.list .item .imgbox .hoverbox {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	/* background: rgba(180, 175, 174, 0.8); */
	color: #fff;
	opacity: 0;
	transition: all 500ms ease;
}
.list .item .imgbox:hover .hoverbox,
.list .item .imgbox.hover .hoverbox {
	/* background: rgba(180, 175, 174, 0.8) ;*/
	opacity: 1;
}
.list .item .imgbox .hoverbox .hovercontent,
.list .item .imgbox .hoverbox .hovercontent p {
	font-size: 14px;
	line-height: 1.5;
}
.list .item .imgbox .hoverbox .hovercontent a {
	color: #fff;
}
.list .item h2 {
	width: 100%;
	margin-top: 1em;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}
.list .item h2 a {
	color: #333333;
	text-decoration: underline;
}
.list .item h2 a:hover {
	color: #717171;
}

@media (min-width:768px) and (max-width: 1024px) {
	.list .item .imgbox .hoverbox .hovercontent,
	.list .item .imgbox .hoverbox .hovercontent p {
		font-size: 11px;
	}
	.list .item h2 {
		font-size: 13px;
	}
}

/* top-btn */
.top-btn {
	margin-bottom: 70px;
}
.top-btn a {
	color: #333333;
	border: 1px solid #000;
	box-sizing: border-box;
	padding: 15px 0;
	text-decoration: none;
	font-size: 14px;
	display: block;
	width: 180px;
	margin: 18px auto 60px;
	text-align: center;
}
.top-btn a:hover {
	background-color: #333333;
	color: #ffffff;
}

/* note area */
.notes-area {
    font-size: 70%;
    margin-bottom: 2em;
    line-height: 1.7;
}
/* contact area */
.contact-area {
    font-size: 70%;
    line-height: 1.7;
}
.contact-area a {
	color: #333333;
	text-decoration: none;
}

#footer-area {
	width: 1080px;
	max-width: 100%;
	margin: 80px auto 60px;
}

/* footer */
footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	height: 180px;
}
footer a {
	color: #111;
	text-decoration: none;
}
footer .sns {
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 20px;
}
footer .sns li + li {
	margin-left: 0.25em;
}
footer .copyright {
	margin-top: 2em;
	font-size: 11px;
	text-align: center;
	letter-spacing: 0.05em;
}



