@charset "utf-8";

/* -------------------------------
   BASE
------------------------------- */

#wrap {
	position:relative;
	width:100%;
	min-width:960px;
	margin:0 auto;
	overflow:hidden;
}
.sp {
	display:none!important;
}
.pcNL:before {
	content: "\A" ;
	white-space: pre ;
}

a{
	transition:all 0.3s;
}

a:hover{
	opacity:0.7;
}

/* -------------------------------
   common
------------------------------- */

#pageTit{
	font-size:24px;
	padding:10px;
}

/* -------------------------------
   header
------------------------------- */

#header{
	padding-top:45px;
}

#gNav{
	margin:30px 0 10px;
}

#gNav ul{
	font-size:0;
}

#gNav li{
	font-size:16px;
	display: inline-block;
	margin:0 20px;
}

/* -------------------------------
   footer
------------------------------- */


/* -------------------------------
   contents
------------------------------- */

#contents{
	width:960px;
	margin:0 auto;
	padding:50px 0;
}

#home #contents{
	padding:0;
}

/* -------------------------------
   home
------------------------------- */

#mainVisual{
	height:410px;
	width:1400px;
	margin:0 auto;
	text-align: center;
	padding-top:180px;
}

#mainVisual .scroll{
	margin-top:120px;
}

.sec{
	padding:0 500%;
	margin:0 -500%;
}

.sec .inner{
	position: relative;
	padding:75px 0 75px 360px;
}

.sec .inner:before{
	content:"";
	display: block;
	width:300px;
	background: #2A3B74;
	height:100%;
	position: absolute;
	left:0;
	top:0;
}

.sec:nth-child(2n) .inner:before{
	background: #FFF;
}

.sec .inner h2{
	font-size:24px;
	padding-left:60px;
	margin-left:-60px;
	padding-bottom:30px;
	margin-bottom:50px;
}

.sec .inner .img{
	position: absolute;
	left:0;
	margin-top:-50px;
}

#message .inner .signature{
	font-size:22px;
}

#message .inner .signature .post{
	font-size:16px;
	margin-right:30px;
}

.baseList{
	margin-top:30px;
}

.baseList dt{
	float:left;
	font-size:16px;
	width:130px;
	line-height: 1.5;
	clear: both;
}

.baseList dd{
	border-left:solid 1px #2A3B74;
	margin-bottom:50px;
	margin-left:130px;
	padding-left:20px;
}

.baseList dd:last-child{
	margin-bottom:0;
}

.sec:nth-child(2n) .baseList dd{
	border-left-color:#FFF;
}

.baseList dd table th{
	padding-right: 20px;
	font-weight: normal;
	vertical-align: top;
	white-space: nowrap;
}

#profile .staff:not(:last-child){
	border-bottom:solid 1px #2A3B74;
	padding-bottom:50px;
	margin-bottom:50px;
	margin-left:-60px;
	padding-left:60px;
}

#profile .staff .name{
	letter-spacing: 0.3em;
	font-size:20px;
	margin-bottom:20px;
}

#profile .staff .name .en{
	margin-left:30px;
	letter-spacing: normal;
}

.btnContact{
	text-align: right;
}

.btnContact a:hover{
	background: rgba(255,255,255,0.2);
}

#access{
	margin-top:50px;
}

#access h3{
	font-size:24px;
	letter-spacing: 0.3em;
	margin-bottom:20px;
}

#access .map{
	float:left;
	width:260px;
	margin-right:30px;
}

.btnMap{
	text-align: right;
}

/* -------------------------------
   privacy
------------------------------- */

.privacyPolicy dt{
	width:340px;
}

.privacyPolicy dd{
	margin-left:340px;
}

/* -------------------------------
   contact
------------------------------- */

.contactTable{
	width:100%;
	margin-top:30px;
}

.contactTable th{
	width:340px;
	padding:10px 20px;
	border-bottom:solid 10px #FFF;
}

.contactTable td{
	padding:10px 20px;
	border-bottom:solid 10px #FFF;
}

.contactTable tr:last-child th,
.contactTable tr:last-child td{
	border-bottom:none;
}

.contactTable label{
	display: inline-block;
	margin-right:30px;
}

.contactTable label input{
	margin-right:5px;
}

.contactBtn{
	margin-top:30px;
}

.contactBtn li{
	width:400px;
}

.contactBtn li:first-child{
	float:left;
}

.contactBtn li:last-child{
	float:right;
}

.contactBtn li button:hover{
	opacity: 0.7;
}
