@charset "utf-8";

/* -------------------------------
   BASE
------------------------------- */

body {
	-webkit-text-size-adjust: 100%;
}
#wrap {
	width:100%;
	min-width:320px;
	overflow:hidden;
}
.pc {
	display:none;
}
.spNL:before {
	content: "\A" ;
	white-space: pre ;
}
img {
	max-width:100%;
	width:auto;
	max-height:100%;
	height:auto;
}


/* -------------------------------
   common
------------------------------- */

#pageTit{
	font-size:20px;
	padding:5px;
}


/* -------------------------------
   header
------------------------------- */

#header{
	padding:20px;
	position: relative;
}

#header #logo{
	height:40px;
}

#header #logo img{
	width:240px;
}

#btnSpNav{
	width:20px;
	height:16px;
	position: fixed;
	right:20px;
	top:24px;
	background: #FFF;
	border:solid 6px #FFF;
	box-sizing: content-box;
}

#btnSpNav span,
#btnSpNav:before,
#btnSpNav:after{
	background: #2A3B74;
	width:100%;
	height:2px;
	position: absolute;
	left:0;
}

#btnSpNav span{
	top:50%;
	margin-top:-1px;
}

#btnSpNav:before{
	content:"";
	top:0;
}

#btnSpNav:after{
	content:"";
	bottom:0;
}

.navOpen #btnSpNav span{
	opacity:0;
}

.navOpen #btnSpNav:before{
	top:50%;
	margin-top:-1px;
	transform: rotate(45deg);
}

.navOpen #btnSpNav:after{
	top:50%;
	margin-top:-1px;
	transform: rotate(135deg);
}

#gNav{
	opacity:0;
	z-index: 10;
	position: fixed;
	top:73px;
	background: rgba(42,59,116,0.99);
	width:calc(100% - 40px);
	transition:all 0.3s;
	overflow: hidden;
	height:0;
	padding:0;
	border:solid 2px rgba(255,255,255,0.1);
}

.navOpen #gNav{
	padding:5px 20px;
	opacity:1;
	height:auto;
}

#gNav li:not(:last-child){
	border-bottom:solid 1px rgba(255,255,255,0.1);
}

#gNav a{
	color:#FFF;
	display: block;
	padding:10px 0;
}


/* -------------------------------
   footer
------------------------------- */

/* -------------------------------
   contents
------------------------------- */

#contents{
	padding:30px 20px;
}

#home #contents{
	padding:0;
}

/* -------------------------------
   home
------------------------------- */

#mainVisual{
	height:260px;
	background-size:cover;
	padding-top:120px;
}

#mainVisual .txt{
	text-align: center;
}

#mainVisual .txt img{
	width:200px;
}

#mainVisual .scroll img{
	width:51px;
	margin-top:50px;
}

.sec{
	padding:30px 20px;
}

.sec:nth-child(2n){
	background: #2A3B74;
	color:#FFF;
	padding:30px 20px;
}

.sec .inner h2{
	font-size:20px;
	margin:0 -20px 20px;
	padding:0 20px 5px;
}

.sec .inner .img{
	max-width:50%;
	margin:0 auto 20px;
}

#message .inner .signature{
	font-size:18px;
}

#message .inner .signature .post{
	font-size:14px;
	margin-right:20px;
}

.baseList dt{
	border-bottom:solid 1px #2A3B74;
	padding-bottom:5px;
	margin-bottom:15px;
}

.sec:nth-child(2n) .baseList dt{
	border-bottom:solid 1px #FFF;
}

.baseList{
	margin-top:20px;
}

.baseList dd:not(:last-child){
	margin-bottom:35px;
}

.baseList dd li{
	display: inline-block;
	margin-right:30px;
}

.baseList dd table,
.baseList dd tbody,
.baseList dd tr,
.baseList dd th,
.baseList dd td{
	display: block;
}

.baseList dd tr:not(:last-child) td{
	margin-bottom:10px;
}

#profile .staff:not(:last-child){
	margin-bottom:80px;
}

#profile .staff .name{
	font-size:18px;
	margin-top:-10px;
	margin-bottom:20px;
	text-align: center;
	line-height: 1.5;
}

#profile .staff .name .en{
	display: block;
}

.btnContact{
	text-align: center;
	margin-top:0;
}

.btnContact li{
	margin-top:10px;
}

#access{
	margin-top:30px;
}

#access h3{
	font-size:20px;
	letter-spacing: 0.2em;
	margin-bottom:10px;
}

#access .map{
	margin-bottom:20px;
}

#access .map iframe{
	width:100%;
	height:200px;
}

.btnMap{
	text-align: center;
}

/* -------------------------------
   contact
------------------------------- */

.contactTable,
.contactTable tbody,
.contactTable tr,
.contactTable th,
.contactTable td{
	display: block;
}

.contactTable{
	margin-top:20px;
}

.contactTable th{
	padding:10px;
}

.contactTable td{
	padding:10px 0 20px;
}

.contactBtn li:first-child{
	margin-bottom:10px;
}