@charset "utf-8";


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


/* 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:#BB1D1E;
	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;
}


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


/* Service
------------------------------------------------------------------------------------ */
section#topService {
	margin-top:150px;
}
section#topService div.sectionInner {
	display: flex;
	justify-content: space-between;
	width:95%;
	margin-right:0;
}
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;
}
section#topService div.sectionInner div#topServicePhoto {
	width: calc((100% - 520px) - 5%);
	background: url("../../images/service.jpg") 50% 50% no-repeat;
	background-size: cover;
}



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

	/* 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%;
	}

	/* Inspect
	------------------------------------------------------------------------------------ */
	section#topInspect div.sectionInner {
		display: block;
		width:100%;
	}
	section#topInspect div.sectionInner div#topInspectPhoto {
		width: 95%;
		height: 350px;
		margin-right:auto;
	}
	section#topInspect div.sectionInner div#topInspectText {
		width:90%;
		margin:50px auto 0 auto;
		padding:0;
	}

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



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

	/* 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.125em;
		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%;
	}

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

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