@charset "utf-8";

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

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:none!important;}
.sp{display:block!important;}


/*Contents layout
----------------------------------------------------*/
.contents{
	width:94%;
	margin:0 auto;
}

h2{
	font-size:30px;
}


/*header
----------------------------------------------------*/
header h1 img{
	max-width:291px;
	width:80%;
	height:auto;
}

header p.right{
	position:fixed;
	right:80px;
	width:50%;
	margin-right:0;
	padding-right:0;
	background:#FFF;
	text-align:right;
	z-index:99999;
}

header p.right img{
	width:auto;
	height:50px;
	margin-left:0;
}

header p.right + img{
	padding:0;
}

header.fixed .ttl_logo_s{
	position:fixed;
	top:5px;
	left:20px;
	display:block;
	z-index:999999;
}

.mainImage{
	height:auto;
	padding:100px 0 50px 0;
}


/*navigation
----------------------------------------------------*/
.sp-menu-container{
	position:fixed;
	top:0;
	width:100%;
	background:#FFF;
	z-index:9999;
	height: 50px;
	overflow:auto;
	overflow-y:scroll;
}

.sp-menu-container.active{
	position:fixed;
	top:0;
	width:100%;
	z-index:9999;
	height: 100vh!important;
	overflow:auto;
	overflow-y:scroll;
}

/*icon
-----------------------------------*/
.menu-mobile{
	position:absolute;
	top:10px;
	right:10px;
	z-index:999;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  /*position: relative;
  width: 50px;
  height: 44px;*/
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #06407F;
  border-radius: 0px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}


/*navi
-----------------------------------*/
.top .menu-container {
	top:0;
}

.top .menu-container.fixed{
	top:0;
}

.menu-container {
	background:none;
	position:absolute;
	top:0;
}

.menu-container.fixed{
	position:absolute;
	top:0;
}

.menu-container.fixed .menu{
	width:100%;
	margin:0 auto;
}

.menu > ul {
	position:absolute;
	top:-3000px;
	height: 100vh;
	padding-top:50px;
	overflow:auto;
	overflow-y:scroll;
	background:#FFF;
	z-index:99;
}

.menu-container {
	width: 100%;
}
.menu-mobile {
	display: block;
}
.menu-dropdown-icon > a{
	padding-left:74px!important;
}

.menu-dropdown-icon:before {
	content:url(../img/common/icon_ar_nav.png);
	display: none;
	cursor: pointer;
	float: right;
	padding: 1.2em 2em 0 2em;
	background: #fff;
	color: #333;
}	

.menu-dropdown-icon:before {
	display: block;
}

.menu > ul.show-on-mobile{
	top:0;
}

.menu > ul {
  -webkit-transition: 1s;
  -moz-transition: 1s;
  -ms-transition: 1s;
  -o-transition: 1s;
  transition: 1s;
}

.menu > ul > li {
	float: none;
	width: 100%;
	border-bottom:1px solid #9B9B9B;
	border-left:0!important;
	border-right:0;
	background:#FFF;
	display:block;
	/*display: none;*/
}

.menu > ul > li a {
	width: 100%;
	padding: 1.5em!important;
	color:#333;
	display: block;
}

.menu > ul > li > ul{
	position:relative;
}

.menu > ul > li > ul > li{
	width:100%;
	font-size:15px;
}

.menu > ul > li:nth-of-type(2) > ul > li span,
.menu > ul > li:nth-of-type(3) > ul > li span,
.menu > ul > li:nth-of-type(4) > ul > li span,
.menu > ul > li:nth-of-type(5) > ul > li span,
.menu > ul > li:nth-of-type(6) > ul > li span,
.menu > ul > li:nth-of-type(7) > ul > li span,
.menu > ul > li:nth-of-type(8) > ul > li span,
.menu > ul > li:nth-of-type(9) > ul > li span{
	left:49%!important;
}

.menu > ul > li > ul > li p{
	margin-bottom:10px;
	padding-bottom:15px;
}

.menu > ul > li > ul > li dl{
	float:none;
	width:100%;
	margin:0 0 15px 0;
}

.menu > ul > li > ul > li dl a{
	padding:0;
}

.menu > ul > li > ul > li dl dt{
	position:absolute;
	width:100%;
	padding:5px;
	background:#031C33;
	color:#FFF;
	text-align:left;
}

.menu > ul > li > ul > li dl dt.btn{
    background-color:rgba(3,28,51,0.6);
}

.menu > ul > li > ul > li dl dd{
	height:auto;
}

.menu > ul > li > ul > li dl dd img{
	width:100%;
	height:auto;
}


/*sec01
----------------------------------------------------*/
#sec01{
	padding-top:50px;
	font-size:30px;
}


/*sec03
----------------------------------------------------*/
#sec03 table th{
	padding:20px 20px 20px 0;
}

#sec03 img{
	width:100%;
	height:auto;
}

/*sec04
----------------------------------------------------*/
#sec04 ul{
	float:none;
	width:100%;
	padding:0;
	border-left:0;
}

#sec04 ul:nth-child(4){
	border-right:0;
}


/*sec05
----------------------------------------------------*/
#sec05 img{
	width:100%;
	height:auto;
}

#sec05 table th{
	width:100%;
	padding:10px;
	font-size:22px;
	display:block;
}

#sec05 table td{
	padding:10px;
	display:block;
}


/*sec06
----------------------------------------------------*/
#sec06 img{
	width:100%;
	height:auto;
}

#sec06 h3{
	font-size:18px;
}


/*sec07
----------------------------------------------------*/
#sec07 table{
	float:none;
	width:100%;
	margin-bottom:0px;
}

#sec07 table + table{
	float:none;
}

#sec07 table th,
#sec07 table td{
	padding:10px 0;
}

#sec07 table th{
	width:120px;
}

#sec07  h4 + table th{
	margin-top:20px;
}

#sec07  h4 + table th,
#sec07  h4 + table td{
	width:100%;
	display:block;
}


/*sec08
----------------------------------------------------*/
#sec08 dl{
	margin-bottom:10px;
	padding-bottom:10px;
}

#sec08 dl dt{
	float:none;
	width:100%;
}

#sec08 dl dd{
	float:none;
	width:100%;
}


/*sec9
----------------------------------------------------*/
#sec09 img{
	width:100%;
	height:auto;
}

#sec09 .btn{
	width:90%;
	padding:10px;
}


/*sec10
----------------------------------------------------*/
#sec10 img{
	width:100%;
	height:auto;
}

#sec10 ul li{
	float:none;
	margin:10px 0;
}


/*recruit
----------------------------------------------------*/
.table_recruit th,
.table_recruit td{
	width:100%;
	padding:5px;
	display:block;
}

.table_recruit th.th_lv1,
.table_recruit th.th_lv2,
.table_recruit th.th_lv3{
	width:100%;
}

.table_recruit th.th_lv1{
	background:#283E7D;
	color:#FFF;
}

.box_faq dl{
	margin-bottom:20px;
	padding:10px;
}

.box_faq dl h3{
	padding:10px 0;
}

.box_faq dl dt,
.box_faq dl dd{
	padding-left:32px;
	text-indent:-32px;
}

.box_faq dl dt:before{
	font-size:26px;
}

.box_faq dl dd:before{
	font-size:26px;
}


/*footer
----------------------------------------------------*/
footer{
	padding:20px 0;
}



/*page top
----------------------------------------------------*/
#page-top{
	display:none!important;
}


}
