@charset "utf-8";

/* contents
------------------------------------------------------------------------------------ */
div#contents {
	margin-top:0;
}

/* footer
------------------------------------------------------------------------------------ */
footer {
	margin-top:0;
}


/* topMv
------------------------------------------------------------------------------------ */
section#topMv {
	position: relative;
	height:810px;
}
section#topMv div.sectionInner {
	position: relative;
	top: 360px;
	z-index: 2;
}
section#topMv div.sectionInner h2 {
	color:#09639a;
	font-size:4rem;
	line-height:150%;
	font-weight:700;
}
section#topMv div.sectionInner h3 {
	font-family: "BIZ UDPGothic", sans-serif;
	font-size: 1.25rem;
	line-height: 100%;
	font-weight: 700;
	letter-spacing: 0;
	margin-top:30px;
}
section#topMv div.sectionInner h3 br {
	display: none;
}

section#topMv div#topMvImage01,
section#topMv div#topMvImage02,
section#topMv div#topMvImage03,
section#topMv div#topMvImage04,
section#topMv div#topMvImage05,
section#topMv div#topMvImageWhite {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

section#topMv div#topMvImage01 {
	background: url("../../images/top_mv01.png") right 50% no-repeat;
	background-size: cover;
}

section#topMv div#topMvImage02 {
	background: url("../../images/top_mv02.png") right 50% no-repeat;
	background-size: cover;
	animation: topMvImage02 0.75s 3.75s forwards;
}
@keyframes topMvImage02 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

section#topMv div#topMvImage03 {
	background: url("../../images/top_mv03.png") right 50% no-repeat;
	background-size: cover;
	animation: topMvImage03 0.75s 3.0s forwards;
}
@keyframes topMvImage03 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

section#topMv div#topMvImage04 {
	background: url("../../images/top_mv04.png") right 50% no-repeat;
	background-size: cover;
	animation: topMvImage04 0.75s 2.25s forwards;
}
@keyframes topMvImage04 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

section#topMv div#topMvImage05 {
	background: url("../../images/top_mv05.png") right 50% no-repeat;
	background-size: cover;
	animation: topMvImage05 0.75s 1.5s forwards;
}
@keyframes topMvImage05 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

section#topMv div#topMvImageWhite {
	background-color: #FFF;
	animation: topMvImageWhite 0.75s 0.75s forwards;
}
@keyframes topMvImageWhite {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}


/* topAbout
------------------------------------------------------------------------------------ */
section#topAbout {
	display: flex;
	flex-wrap: wrap;
}
section#topAbout div#topAboutLeft {
	width:50%;
	background: url("../../images/top_about.jpg") 50% 50% no-repeat;
	background-size: cover;
}
section#topAbout div#topAboutRight {
	width:50%;
	padding:200px 100px;
	box-sizing: border-box;
}


/* topService
------------------------------------------------------------------------------------ */
section#topService {
}
section#topService div.sectionInner ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top:100px;
}
section#topService div.sectionInner ul li {
	position: relative;
	width: calc((100% - 50px) / 2);
}
section#topService div.sectionInner ul li p.topServicePhoto {
}
section#topService div.sectionInner ul li h4 {
	position: absolute;
	left: 30px;
	bottom: 30px;
	color:#FFF;
	font-size:1.375rem;
	line-height:100%;
	font-weight:700;
}


/* topAchievements
------------------------------------------------------------------------------------ */
section#topAchievements {
	margin-top:200px;
}
section#topAchievements ul.topAchievementsSlideWrapper div.slick-list {
	padding: 0 0 0 5% !important;
}
section#topAchievements ul.topAchievementsSlideWrapper div.slick-list li.slick-slide {
	width: 400px;
	margin-right:20px;
}
section#topAchievements ul.topAchievementsSlideWrapper div.slick-list li.slick-slide h3 {
	font-size:1.375rem;
	line-height:150%;
	font-weight:700;
	margin-top:20px;
}

ul.topAchievementsSlideWrapper button.slick-prev,
ul.topAchievementsSlideWrapper button.slick-next {
	width: 80px;
	height: 80px;
	color: #FFF;
	font-size: 2rem;
	line-height: 100%;
	background-color: #2297a9;
	z-index: 2;
}
ul.topAchievementsSlideWrapper button.slick-prev {
	left: 0;
}
ul.topAchievementsSlideWrapper button.slick-prev:before {
	display: none;
}
ul.topAchievementsSlideWrapper button.slick-next {
	right: 0;
}
ul.topAchievementsSlideWrapper button.slick-next:before {
	display: none;
}



@media screen and (min-width:769px) and (max-width:1280px) {
	/* topMv
	------------------------------------------------------------------------------------ */
	section#topMv {
		height:540px;
	}
	section#topMv div.sectionInner {
		top: 240px;
	}
	section#topMv div.sectionInner h2 {
		font-size:3rem;
		line-height:150%;
	}
	section#topMv div.sectionInner h3 {
		font-size: 1.125rem;
		line-height: 100%;
		margin-top:20px;
	}

	/* topAbout
	------------------------------------------------------------------------------------ */
	section#topAbout div#topAboutLeft {
		width:100%;
		height:360px;
	}
	section#topAbout div#topAboutRight {
		width:100%;
		padding:80px 5% 150px 5%;
	}

	/* topService
	------------------------------------------------------------------------------------ */
	section#topService div.sectionInner ul {
		margin-top:80px;
	}
	section#topService div.sectionInner ul li {
		position: relative;
		width: calc((100% - 30px) / 2);
	}
	section#topService div.sectionInner ul li h4 {
		left: 25px;
		bottom: 25px;
		font-size:1.25rem;
		line-height:100%;
	}

	/* topAchievements
	------------------------------------------------------------------------------------ */
	section#topAchievements {
		margin-top:150px;
	}
	section#topAchievements ul.topAchievementsSlideWrapper div.slick-list li.slick-slide {
		width: 300px;
		margin-right:20px;
	}
}



@media screen and (max-width:768px) {
	/* topMv
	------------------------------------------------------------------------------------ */
	section#topMv {
		height:100vh;
	}
	section#topMv div.sectionInner {
		position: absolute;
		width: 90%;
		left: 5%;
		top: auto;
		bottom: 50px;
	}
	section#topMv div.sectionInner h2 {
		font-size:3rem;
		line-height:137.5%;
	}
	section#topMv div.sectionInner h3 {
		font-size: 1rem;
		line-height: 150%;
		margin-top:10px;
	}
	section#topMv div.sectionInner h3 br {
		display: inline;
	}

	section#topMv div#topMvImage01 {
		background: url("../../images/top_mv01_sp.png") 50% top no-repeat;
		background-size: cover;
	}
	section#topMv div#topMvImage02 {
		background: url("../../images/top_mv02_sp.png") 50% top no-repeat;
		background-size: cover;
		animation: topMvImage02 0.75s 3.0s forwards;
	}
	@keyframes topMvImage02 {
		0% {
			opacity: 1;
		}
		100% {
			opacity: 0;
		}
	}
	section#topMv div#topMvImage03 {
		background: url("../../images/top_mv03_sp.png") 50% top no-repeat;
		background-size: cover;
		animation: topMvImage03 0.75s 2.25s forwards;
	}
	@keyframes topMvImage03 {
		0% {
			opacity: 1;
		}
		100% {
			opacity: 0;
		}
	}
	section#topMv div#topMvImage04 {
		background: url("../../images/top_mv04_sp.png") 50% top no-repeat;
		background-size: cover;
		animation: topMvImage04 0.75s 1.5s forwards;
	}
	@keyframes topMvImage04 {
		0% {
			opacity: 1;
		}
		100% {
			opacity: 0;
		}
	}
	section#topMv div#topMvImage05 {
		display: none;
	}

	/* topAbout
	------------------------------------------------------------------------------------ */
	section#topAbout div#topAboutLeft {
		width:100%;
		height:240px;
	}
	section#topAbout div#topAboutRight {
		width:100%;
		padding:50px 5% 100px 5%;
	}

	/* topService
	------------------------------------------------------------------------------------ */
	section#topService div.sectionInner ul {
		margin-top:50px;
	}
	section#topService div.sectionInner ul li {
		width: 100%;
		margin-top:30px;
	}
	section#topService div.sectionInner ul li:first-child {
		margin-top:0;
	}
	section#topService div.sectionInner ul li h4 {
		left: 20px;
		bottom: 20px;
		font-size:1rem;
		line-height:100%;
	}

	/* topAchievements
	------------------------------------------------------------------------------------ */
	section#topAchievements {
		margin-top:100px;
	}
	section#topAchievements ul.topAchievementsSlideWrapper div.slick-list li.slick-slide {
		width: 200px;
		margin-right:15px;
	}
	section#topAchievements ul.topAchievementsSlideWrapper div.slick-list li.slick-slide h3 {
		font-size:1rem;
		line-height:150%;
		margin-top:15px;
	}
	ul.topAchievementsSlideWrapper button.slick-prev,
	ul.topAchievementsSlideWrapper button.slick-next {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
	}
}
