@charset "utf-8";


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


/* Mv
------------------------------------------------------------------------------------ */
section#topMv {
	position: relative;
	width:100%;
	height:720px;
	overflow: hidden;
}
section#topMv:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../../images/mv.jpg") 50% 50% no-repeat;
	background-size: cover;
	animation: topMvZoom 20s 1;
	animation-fill-mode: forwards;
}
@keyframes topMvZoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
section#topMv div {
	position: absolute;
	left: 100px;
	top: 50%;
	transform: translateY(-50%);
}
section#topMv div h2 {
}
section#topMv div h2:first-child {
	margin-bottom:30px;
}
section#topMv div h2 span {
	color:#1d7ea8;
	font-size: 2.375em;
	line-height: 100%;
	font-weight:700;
	padding:10px;
	background-color: #FFF;
}
section#topMv div h3 {
	color:#FFF;
	font-family: "Arvo", serif;
	font-style: italic;
	font-size: 1.25em;
	line-height: 100%;
	letter-spacing: 0;
	margin-top:30px;
}


/* Intro
------------------------------------------------------------------------------------ */
section#topIntro {
	margin-top:150px;
}
section#topIntro div.sectionInner p {
	font-size: 1.25em;
	line-height: 200%;
	text-align: center;
	font-weight:700;
}


/* Service
------------------------------------------------------------------------------------ */
section#topService {
	margin-top:150px;
}
section#topService div.sectionInner {
	display: flex;
	justify-content: space-between;
	width:95%;
	margin-left:0;
}
section#topService div.sectionInner div#topServicePhoto {
	width: calc((100% - 520px) - 5%);
	background: url("../../service/images/intercom.jpg") 50% 50% no-repeat;
	background-size: cover;
}
section#topService div.sectionInner div#topServiceText {
	width:520px;
	padding:100px 0;
	box-sizing: border-box;
}
section#topService div.sectionInner div#topServiceText h2.pageTitle {
	margin-bottom:50px;
}


/* LogoScroll
------------------------------------------------------------------------------------ */
section#topLogoScroll {
	margin-top:150px;
}
@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
		to {
		transform: translateX(-100%);
	}
}
div.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}
div.scroll-infinity__wrap ul.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}
div.scroll-infinity__wrap ul.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
div.scroll-infinity__wrap ul.scroll-infinity__list li {
	width: 360px;
	margin-right:70px;
}



@media screen and (min-width:769px) and (max-width:1280px) {
	/* contents
	------------------------------------------------------------------------------------ */
	div#contents {
		margin-top:101px;
	}

	/* Mv
	------------------------------------------------------------------------------------ */
	section#topMv {
		height:480px;
	}
	section#topMv div {
		left: 50px;
	}
	section#topMv div h2:first-child {
		margin-bottom:20px;
	}
	section#topMv div h2 span {
		font-size: 1.75em;
		line-height: 100%;
		padding:8px;
	}
	section#topMv div h3 {
		font-size: 1em;
		line-height: 100%;
		margin-top:20px;
	}

	/* Intro
	------------------------------------------------------------------------------------ */
	section#topIntro div.sectionInner p {
		font-size: 1.125em;
		line-height: 200%;
	}

	/* Service
	------------------------------------------------------------------------------------ */
	section#topService div.sectionInner {
		display: block;
		width:100%;
	}
	section#topService div.sectionInner div#topServicePhoto {
		width: 95%;
		height: 350px;
		margin-right:auto;
	}
	section#topService div.sectionInner div#topServiceText {
		width:90%;
		margin:50px auto 0 auto;
		padding:0;
	}
}



@media screen and (max-width:768px) {
	/* contents
	------------------------------------------------------------------------------------ */
	div#contents {
		margin-top:75px;
	}

	/* Mv
	------------------------------------------------------------------------------------ */
	section#topMv {
		height:300px;
	}
	section#topMv div {
		left: 20px;
	}
	section#topMv div h2:first-child {
		margin-bottom:12px;
	}
	section#topMv div h2 span {
		font-size: 1.428em;
		line-height: 100%;
		padding:5px;
	}
	section#topMv div h3 {
		font-size: 0.857em;
		line-height: 100%;
		margin-top:15px;
	}

	/* Intro
	------------------------------------------------------------------------------------ */
	section#topIntro {
		margin-top:50px;
	}
	section#topIntro div.sectionInner p {
		font-size: 1em;
		line-height: 175%;
	}

	/* Service
	------------------------------------------------------------------------------------ */
	section#topService {
		margin-top:50px;
	}
	section#topService div.sectionInner {
		display: block;
		width:100%;
	}
	section#topService div.sectionInner div#topServicePhoto {
		width: 95%;
		height: 250px;
		margin-right:auto;
	}
	section#topService div.sectionInner div#topServiceText {
		width:90%;
		margin:50px auto 0 auto;
		padding:0;
	}
	section#topService div.sectionInner div#topServiceText h2.pageTitle {
		margin-bottom:30px;
	}
}
