@charset "UTF-8";

/*---------------------------------------------

Index Page CSS

for domain
coded by d-spica at 2018-06-30

---------------------------------------------*/


@import url(default.css);
@import url(https://fonts.googleapis.com/css?family=Anton);
@import url(https://use.fontawesome.com/releases/v5.1.0/css/all.css);
@import url(base.css);


article.contents {
	padding-bottom: 2rem;
}

p.eyecatch {
	background-position: 50% 50%;
	background-size: cover;
	padding-bottom: 36rem;
	font-size: 1.2rem;
}

figure.eyecatch {
	position: relative;
	margin: 0 auto;
	max-width: 60rem;
}

figure.eyecatch video {
	width: 100%;
	height: auto;
}

figure.eyecatch .loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFF url("../img/ajax-loader.gif") no-repeat 50% 50%;
	background-size: 1.6rem auto;
}

section header {
	margin: 0 auto 1.2rem;
	padding: 0 1rem;
	text-align: center;
}

section header h2 {
	margin-bottom: 0.8em;
	font-size: 1.8rem;
	color: #007F66;
}

section header p {
	line-height: 2;
	font-size: 0.75rem;
}


section.summary {
	border-bottom: solid 1px #E7F2EF;
	padding: 3rem 0 4rem;
}

section.summary > div {
	margin: 0 auto;
	padding: 0 1rem;
	max-width: 44rem;
}

section.summary ul.nav-section {
	margin-top: 2rem;
	text-align: center;
	font-size: 1.7rem;
}

section.summary .nav-section li {
	display: inline-block;
	margin: 0 0.3em;
	width: 30%;
	vertical-align: top;
}

section.summary .nav-section li a {
	display: block;
	position: relative;
	box-sizing: border-box;
	background: #339985;
	padding: 0 0.5em;
	padding-top: 1em;
	height: 3.6em;
	line-height: 1.2;
	color: #FFF;
}

section.summary .nav-section li a.lines {
	padding-top: 0.4em;
}

section.summary .nav-section li a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	margin-left: -8px;
	border: solid #FFF;
	border-width: 0 2px 2px 0;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
}
	
section.summary ul.nav-pages {
	margin-top: 2rem;
	text-align: center;
	font-size: 1.4rem;
}

section.summary .nav-pages li {
	display: inline-block;
	margin: 0 0.3em;
	width: 30%;
	vertical-align: top;
}

section.summary .nav-pages li a {
	display: block;
	position: relative;
	box-sizing: border-box;
	border: solid 2px #339985;
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: auto 100%;
	padding: 0 0 0 3em;
	padding-top: 1em;
	height: 3.2em;
	white-space: nowrap;
	line-height: 1.2;
	color: #339985;
}

section.summary .nav-pages li a.lines {
	padding-top: 0.4em;
}

section.summary .banner {
	margin: 2rem auto;
	max-width: 20rem;
}

section.page1,
section.page2 {
	position: relative;
	overflow: hidden;
	margin: 3rem 0;
	font-size: 0.9rem;
}

section.page1 > div,
section.page2 > div {
	position: relative;
	background-position: 50% 50%;
	background-size: cover;
	padding: 2rem 1rem;
}

section.page1 > div::after,
section.page2 > div::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	background: url(../img/bg-wave.png) no-repeat 50% 0;
	background-size: 100% 4rem;
	width: 100%;
	height: 4rem;
}

section.page2 > div::after {
	transform: scale(-1, 1);
}

section.page1 dl,
section.page2 dl {
	overflow: hidden;
	margin: 0 auto;
	max-width: 44rem;
	height: 26em;
}

section.page1 dt,
section.page2 dt {
	margin-top: 0.5rem;
	box-sizing: border-box;
	border-radius: 4em;
	background: rgba(0,127,102,0.7);
	padding-top: 3.3em;
	width: 8em;
	height: 8em;
	text-align: center;
	font-size: 178%;
	color: #FFF;
}

section.page1 dt.lines,
section.page2 dt.lines {
	padding-top: 2.6em;
}

section.page1 dt.lines3,
section.page2 dt.lines3 {
	padding-top: 2.1em;
}

section.page1 dt {
	float: left;
}

section.page2 dt {
	float: right;
}

section.page1 dd,
section.page2 dd {
	width: 22em;
}

section.page1 dd {
	float: right;
}

section.page2 dd {
	float: left;
}

section.page1 li,
section.page2 li {
	margin-bottom: 1em;
}

section.page1 li a,
section.page2 li a {
	display: block;
	background: rgba(255,255,255,0.8);
	padding: 1em 1.5em;
	color: #007F66;
}

section.page1 li a b,
section.page2 li a b {
	margin-right: 0.3em;
	vertical-align: -0.1em;
	font-size: 200%;
}

section.page1 .mark li a,
section.page2 .mark li a {
	padding: 1.45em 1.5em;
}

section.page1 .mark li a::before,
section.page2 .mark li a::before {
	content: '\f4d8';
	margin-right: 0.4em;
	font-family: "Font Awesome 5 Free";
	font-size: 134%;
	font-weight: 700;
}

section.page1 .nav-page,
section.page2 .nav-page {
	position: absolute;
	bottom: 1.5rem;
	z-index: 1;
	font-size: 112%;
	color: #007F66;
}

section.page1 .nav-page {
	right: 5%;
}

section.page2 .nav-page {
	left: 5%;
}

section.page1 .nav-page a,
section.page2 .nav-page a {
	position: relative;
	padding-right: 45px;
}

section.page1 .nav-page a::after,
section.page2 .nav-page a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -8px;
	border: solid #007F66;
	border-width: 0 2px 2px 0;
	width: 30px;
	height: 10px;
	transform: skew(45deg, 0);
}

section.movie {
	margin: 3rem auto;
	padding: 0 1rem;
	max-width: 49rem;
	font-size: 0.75rem;
}

section.movie h2 {
	margin-bottom: 1.2em;
	text-align: center;
	font-size: 1.8rem;
	color: #007F66;
}

section.movie p {
	margin-bottom: 2em;
	line-height: 2;
	text-align: center;
}

section.movie .movie iframe {
	width: 100%;
}

.company section.page1 dt,
.company section.page2 dt {
	display: none;
}



@media all and (max-width:1520px) {
	
	p.eyecatch {
		padding-bottom: 47.27%;
	}

	
}

@media all and (max-width:1020px) {
	
	section.summary ul.nav-section {
		font-size: 1.2rem;
	}

	section.summary .nav-section li {
		margin: 0 0.2em;
	}
	
	section.summary .nav-section li a {
		height: 4em;
	}

	section.summary ul.nav-pages {
		font-size: 1.3rem;
	}

}


@media all and (max-width:800px) {

	p.eyecatch {
		padding-bottom: 70%;
	}

	section.page1,
	section.page2 {
		font-size: 0.8rem;
	}

	section.summary ul.nav-pages {
		font-size: 1.5rem;
	}

	section.summary ul.nav-pages li {
		display: block;
		margin: 0 auto 1rem;
		max-width: 16rem;
		width: auto;
	}

	section.summary .banner {
		margin-top: 1rem;
		max-width: 16rem;
	}

	section.movie p {
		text-align: left;
	}

}


@media all and (max-width:580px) {
	

	article.contents {
		padding-bottom: 0;
	}

	section header h2 {
		font-size: 1.2rem;
	}
	
	section.summary {
		padding: 2rem 0;
	}

	section.summary header p {
		text-align: left;
	}
	
	section.summary ul.nav-section {
		font-size: 0.8rem;
	}

	section.summary .nav-section li a {
		height: 4.5em;
	}
	
	section.page1,
	section.page2 {
		margin: 2rem 0 3rem;
	}
	
	section.page1 > div::after,
	section.page2 > div::after {
		background-size: 100% auto;
		padding-bottom: 10.81%;
		height: 0;
	}

	section.page1 dl,
	section.page2 dl {
		height: auto;
		padding-bottom: 2em;
	}
	
	section.page1 dt,
	section.page2 dt {
		float: none;
		position: static;
		margin-bottom: 1em;
	}

	section.page1 dt {
		margin-right: auto;
	}
	
	section.page2 dt {
		margin-left: auto;
	}
	
	.recruit section.page1 dt {
		margin-right: 0;
		margin-left: auto;
	}

	.recruit section.page2 dt {
		margin-left: 0;
		margin-right: auto;
	}

	section.page1 dd,
	section.page2 dd {
		float: none;
		position: static;
	}

	section.page1 dd {
		margin-left: auto;
	}
	
	section.page2 dd {
		margin-right: auto;
	}
	
	section.page1 .nav-page,
	section.page2 .nav-page {
		bottom: 0;
	}
	
	

}

