@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 {
	max-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: 1em 0;
	font-size: calc(48 / 1200 * 100vw);
	font-weight: normal;
}


/* module */
.pc_view,
.PCview {
	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: calc(230 / 1200 * -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(807 / 1200 * 100vw);
	height: calc(460 / 1200 * 100vw);
	background: url(../img/sp/main_title.png) center center / contain no-repeat;
	text-indent: -9999px;
}


/* sec_desc */
.sec_desc {
	padding: calc(370 / 1200 * 100vw) 20px calc(220 / 1200 * 100vw);
}
.sec_desc .inner {
	text-align: center;
}
.sec_desc p {
	font-size: calc(40 / 1200 * 100vw);
	line-height: 1.9;
}
.sec_desc p + p {
	margin-top: 2em;
}


/* sec_item */
.sec_items .inner { 
	width: calc(1000 / 1200 * 100vw);
	max-width: 100%;
	margin: 0 auto;
}

/* list */
.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
.list .item {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: calc(480 / 1200 * 100vw);
	margin: 0 0 calc(35 / 1200 * 100vw);
	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) { transition-delay: 200ms; } */
.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: calc(30 / 1200 * 100vw);
	line-height: 1.5;
	letter-spacing: 0;
}
.list .item .imgbox .hoverbox .hovercontent a {
	color: #fff;
}
.list .item h2 {
	width: 100%;
	margin-top: 0.4em;
	font-size: calc(42 / 1200 * 100vw);
	line-height: 1.5;
	text-align: center;
}
.list .item h2 a {
	color: #333333;
	text-decoration: underline;
}


/* top-btn */
.top-btn {
	margin-bottom: 70px;
}
.top-btn a {
	width: 35%;
	font-weight: normal;
	font-size: 70%;
	padding: 6px 0;
	margin: 1em auto 3em;
	-moz-transition: background-color 0.3s ease-out;
	border: 1px solid #000;
	color: #333333;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px 0;
	text-decoration: none;
	display: block;
	margin: 18px auto 60px;
	text-align: center;
}

/* 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: 90%;
	margin: 30px auto 20px;
}



/* footer */
footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	height: calc(250 / 750 * 480px);
}
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;
}
@media screen and (max-width:480px) {
	footer {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		height: calc(250 / 750 * 100vw);
	}
}





