@charset "utf-8";


/* Reset ---------------------------------- */

html {
	overflow-y: scroll;
	width: 100%; 
	height: 100%; 
}
body, div, dl, dt, dd, ul, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td	{
	margin: 0;	padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var	{
	font-style: normal;
}

caption, th	{
	text-align: left;
}
q:before ,q:after	{
	content: '';
}
object, embed	{
	vertical-align: top;
}
hr, legend	{
	display: none;
}
h1, h2, h3, h4, h5, h6	{
	font-size: 100%;
	font-weight: normal;
}

img, abbr, acronym, fieldset	{
	border: 0;
}

ul li	{
	list-style-type: none;
}


body {
	color:#191919;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 75%;
	line-height: 150%;

}
html>/**/body {
	font-size: 18px;
}

* + html body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}

a, a:link	{
	text-decoration: none;
	color: #191919;
}
a:visited	{
	text-decoration: none;
}
a:hover	{
	text-decoration: none;
}
a:active	{
	text-decoration: none;
}

img{
	border: none;
	vertical-align:bottom;
}

.clear {
	clear: both;
}



/* layout ---------------------------------- */


section{
	margin-top: -70px;
	padding-top: 70px;
}

.wrap{
	width: calc(1000px - 150px);
	padding: 0 75px;
	margin: auto;
	margin-bottom: 120px;
	overflow: hidden;
}


@media screen and (max-width: 1000px){
	.wrap{
		width: calc(100% - 60px);
		margin: auto;
		padding: 0 30px;
	}
}

.sp{
	display: none;
}

@media screen and (max-width: 700px){
	.pc{
		display: none;
	}
	
	.sp{
		display: block;
	}
}


@media screen and (max-width: 420px){
	.wrap{
		width: calc(100% - 40px);
		margin: auto;
		padding: 0 20px;
	}
}


/* header ---------------------------------- */

header{
	background: rgba(255,255,255,0.9);
	position: fixed;
	width: 100%;
	height: 100px;
	z-index: 4;
	top: -100px;
}


#logo{
	float: left;
	width: 278px;
}

#logo a{
	display: block;
	height: 100px;
}

#logo a img{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

.pc_nav{
	padding: 0px 15px 0px 30px;
}

.pc_nav ul{
	float: right;
	font-size: 0px;	
	padding-right: 20px;
}

.pc_nav ul li{
	display: inline-block;
}

.pc_nav ul li a{
	font-size: 14px;
	color: black !important;
	padding:  15px;
	line-height: 100px;
}

@media screen and (max-width: 520px){
	.pc_nav ul{
		display: none;
	}
}







/* SP用ハンバーガーメニュー ---------------- */

.menu-trigger {
	display: inline-block;
	position: absolute;
	width: 36px;
	height: 28px;
	vertical-align: middle;
	cursor: pointer;
	right: 15px;
	top: 0;
	bottom: 0px;
	margin: auto;
	
}

.menu-trigger span {
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 5px;
	background-color: #3366cc;
	transition: all .5s .2s;
	border-radius: 3px;
}

.menu-trigger.active span {
	background-color: #3366cc;
}


.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(12px) rotate(-45deg);
}

.menu-trigger span:nth-of-type(2) {
	top: 12px;
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-12px) rotate(45deg);
}

.sp_menu {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	color: #fff;
	text-align: center;
	display: none;
	position: fixed;
	top: 80px;
	left: 0;
	z-index: 1;
}

.sp_menu ul {
	border-top: solid 1px #999;
}

.sp_menu ul li a{
	display: block;
	font-size: 16px;
	padding: 15px 0;
	border-bottom: solid 1px #999;
}



@media screen and (min-width: 521px){
	.menu-trigger{
		display: none;
	}
}


@media screen and (max-width: 700px){

	header{
		height: 80px;
	}

	#logo{
		width: 220px;
	}

	#logo a img{
		width: 220px;
	}


	.pc_nav ul{
		padding-right: 0px;
	}
	.pc_nav ul li a{
		line-height: 80px;
			padding:  10px;
	}

}



@media screen and (max-width: 420px){

	.pc_nav{
		padding: 0px 5px 0px 20px;	
	}

	.pc_nav ul{
		padding-right: 0px;
	}
	.pc_nav ul li a{
		line-height: 80px;
	}

}




/* footer ---------------------------------- */


footer{
	background-color: #eaeaea;
	padding-top: 25px;
}

footer p{
	margin-bottom: 20px;
}

small{
	text-align: center;
	display: block;
	padding: 5px 0;
}

#btnTop{
	position: fixed;
	right: 20px;
	bottom: 20px;
	border-radius: 5px;
	background-color: #3366cc;
	text-align: center;
	margin-bottom: 0px;
	display: none;

}

#btnTop a{
	color: #FFF;
	display: block;
	width: 55px;
	height: 42px;
	line-height: 45px;
	font-size: 14px;
}




/* mainv ---------------------------------- */

#mainvWrap{
	position: relative;
	margin-bottom: 105px;
	height: 100vh;
}

#mainvTxt{
	width: 100%;
}


.mainvTxt01,
.mainvTxt02,
.spmainvTxt01,
.spmainvTxt02{
	display: none;
}


#mainvTxt img{
	width: 100%;
	position: absolute;
	margin: auto;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 3;
}


.slider{
	height: 100vh;
	width: 100%;
}

.slide {
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: -1;
	height: 100vh;
	width: 100%;
}

.slide:not(:first-child) {
  display: none;
}

.firstImg{
	background-image: url(../image/mainv0.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100vh;
	width: 100%;
/*	display: none;*/
}


.secondImg{
	display: none;
}

.slider div:nth-child(1){
	background-image: url(../image/mainv1.jpg);
}
.slider div:nth-child(2){
	background-image: url(../image/mainv2.jpg);
}
.slider div:nth-child(3){
	background-image: url(../image/mainv3.jpg);
}

#mainvScroll{
	width: 35px;
	height: 44px;
	position: absolute;
	margin: auto;
	right: 0;
	left: 0;
	bottom: -15px;
}


@media screen and (max-width: 520px){
	.firstImg{
		background-image: url(../image/sp_mainv0.png);
		background-size: 100%;
	}

	.slider div:nth-child(1){
		background-image: url(../image/sp_mainv1.jpg);
	}
	.slider div:nth-child(2){
		background-image: url(../image/sp_mainv2.jpg);
	}
	.slider div:nth-child(3){
		background-image: url(../image/sp_mainv3.jpg);
	}
}


/* page ---------------------------------- */



h2{
	float: left;
	width: 270px;
	margin-bottom: 40px;
}

.wrapRight{
	float: right;
	width: calc(100% - 270px);
}

@media screen and (max-width: 1000px){
	h2{
		float: none;
		width: 100%;
	}

	.wrapRight{
		float: none;
		width: 100%;
	}
}



table{
	width: 100%;
	border-collapse:separate;
	border-spacing: 0px;
	font-size: 18px;
	border-bottom: solid 1px #d8dce2;
	letter-spacing: 2.5px;
	line-height: 2;
	border-right: solid 1px #d8dce2;
	border-left: solid 1px #d8dce2;
}

table th{
	width: 120px;
	background-color: #f0f2f5;
	text-align: center;
	padding: 1em 2em;
	font-weight: normal;
	border-top: solid 1px #d8dce2;
}

table td{
	padding: 1em 2em;
	border-top: solid 1px #d8dce2;]
}

@media screen and (max-width: 1000px){
	table th{
		width: 90px;
		padding: 0.5em 1em;
	}
	table td{
		padding: 0.5em 1em;
	}
}

@media screen and (max-width: 420px){
	table{
		line-height: 1.5;
		font-size: 14px;
	}

	table th{
		width: 90px;
		padding: 0.5em 0.5em;
	}
	table td{
		padding: 0.5em 0.5em;
	}

}



#company{
	background-image: url(../image/bg_company.jpg);
	background-repeat: repeat-x;
	background-size: contain;
	background-position: bottom;
	padding-bottom: 20%;
	margin-bottom: 120px;
}

@media screen and (max-width: 1000px){
	#company{
		padding-bottom: 32%;
		margin-bottom: 90px;
	}
}


.wrapRight dl dt{
	margin-bottom: 15px;
	padding-left: 10px;
	
}

.wrapRight dl dt img{
	vertical-align: middle;
	margin-top: -3px;
	
}

.wrapRight dl dd{
	border-bottom: solid 3px #eaeaea;
	margin-bottom: 12px;
	padding-bottom: 12px;
	padding-left: 10px;
}

.wrapRight dl dd:last-child{
	border: none;
}

#access{
	margin-bottom: 120px;
}

@media screen and (max-width: 420px){

	.wrapRight dl,
	footer{
		font-size: 14px;
	}


}
