@charset "utf-8";
/* CSS Document */

body{
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size:16px;
	line-height: 1.5;
	color:#4D4D4D;
}

.inner{
	max-width:1024px;
	width:100%;
	margin:0 auto;
}

header div.nav_box{
	display:flex;
	align-items: center;
	padding:10px 20px;
	box-sizing: border-box;
}

header div.nav_box h1{
	width:200px;
}

header div.nav_box h1 a{
	display:block;
}

header div.nav_box h1 a img{
	width:100%;
	height: auto;
}

header div.nav_box h1 a:hover{
	opacity:0.8;
}

header div.nav_box .inner nav ul{
	display:flex;
	justify-content: space-between;
}

header div.nav_box .inner nav ul li{
	width:20%;
	text-align:center;
}

header div.nav_box .inner nav ul li a{
	display:block;
}

header div.nav_box .inner nav ul li a span{
	background-image:url("../img/common/icon_home_off.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size:auto 33px;
	display:inline-block;
	padding-left: 40px;
	box-sizing: border-box;
}

header div.nav_box .inner nav ul li a span small{
	display:block;
	font-family: "adage-script-jf", sans-serif;
	font-weight: 400;
	font-style: normal;
}

header div.nav_box .inner nav ul li a span:hover{
	background-image:url("../img/common/icon_home_on.png");
}

header div.nav_box .inner nav ul li a:hover span,
header div.nav_box .inner nav ul li a:hover span small{
	color:#002E62;
}

header div.nav_box .inner nav ul li.nav02 a span{
	background-image:url("../img/common/icon_service_off.png");
}

header div.nav_box .inner nav ul li.nav02 a:hover span,
header div.nav_box#nav02 .inner nav ul li.nav02 a span{
	background-image:url("../img/common/icon_service_on.png");
	color:#002E62;
}



header div.nav_box .inner nav ul li.nav03 a span{
	background-image:url("../img/common/icon_corporate_off.png");
}

header div.nav_box .inner nav ul li.nav03 a:hover span,
header div.nav_box#nav03 .inner nav ul li.nav03 a span{
	background-image:url("../img/common/icon_corporate_on.png");
	color:#002E62;
}



header div.nav_box .inner nav ul li.nav04 a span{
	background-image:url("../img/common/icon_recruit_off.png");
}

header div.nav_box .inner nav ul li.nav04 a:hover span,
header div.nav_box#nav04 .inner nav ul li.nav04 a span{
	background-image:url("../img/common/icon_recruit_on.png");
	color:#002E62;
}

header div.nav_box .inner nav ul li.nav05 a span{
	background-image:url("../img/common/icon_contact_off.png");
}

header div.nav_box .inner nav ul li.nav05 a:hover span,
header div.nav_box#nav05 .inner nav ul li.nav05 a span{
	background-image:url("../img/common/icon_contact_on.png");
	color:#002E62;
}

.main p{
	text-align:justify;
}

.main h2.section_title{
	text-align:center;
	margin-bottom: 40px;
	font-size: 2.0rem;
}

.main h2.section_title span{
	font-family:"Times New Roman", Times, "serif";
	display:block;
	padding-top: 5px;
	box-sizing: border-box;
	background-image:url("../img/common/h2_under.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 70px;
	font-weight: normal;
	font-style: italic;
}

div.btn{
	text-align:center;
	margin-top:50px;
}

.c-btn,
.c-bnr,
.c-txt {
  cursor: pointer;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
 
/* ボタン基本コード*/
.c-btn {
  /*background: #ff701e;*/
  border: 2px solid #002E62;
  border-radius: 60px;
  color: #002E62;
  display: block;
  font-weight: bold;
  max-width: 300px;
  padding: 15px 40px;
  text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.c-btn.circle {
  background: #fff;
  color: #002E62;
  overflow: hidden;
  position: relative;
  transition-duration: .4s;
  z-index: 2;
}

.c-btn.circle span{
	color: #002E62;
}

.c-btn.circle:hover span{
	color: #fff;
}

.c-btn.circle::after {
  background: #002E62;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity .5s, transform 0s;
  transition-delay: 0s, .4s;
}
 
.c-btn.circle:hover {
  color: #fff;
}
.c-btn.circle:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity .8s, transform .6s ease-in-out;
}

.top_modoru_button{
	position:fixed;
	right:10px;
	bottom:150px;
	display:none;
}

footer{
	background-image:url("../img/common/footer_bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 80px;
	box-sizing: border-box;
}


ul.contact{
  width: 58%;
}

ul.contact li{
	margin-top:20px;
	text-align:center;
}

ul.contact li a{
	background-color:#FF930B;
	padding:5px;
	border-radius: 50px;
	border:solid 3px #fff;
	display:block;
	box-shadow: 7px 7px 7px 1px #c0c0c0;
}

ul.contact li a span{
	color:#fff;
	background-image: url("../img/common/icon_tel.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size:33px;
	display:inline-block;
	padding-left: 38px;
	box-sizing: border-box;
}

ul.contact li.mail a span{
	background-image: url("../img/common/icon_mail.png");
}

footer a.logo{
	text-align:center;
}

footer a.logo img{
	display:block;
	width:230px;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 20px;
}
	
footer a.logo p{
	color:#fff;
	font-size:4.0rem;
	font-weight: bold;
}

footer p.address{
	text-align:center;
	color:#fff;
}

footer ul.contact {
  display: flex;
  justify-content: center;
	width:58%;
	margin:30px auto;
}

footer ul.contact li{
  margin-top: 20px;
  text-align: center;
  width: 272px;
  padding: 5px;
  box-sizing: border-box;
}

.footer_nav nav ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.footer_nav nav ul li{
	width:16.6%;
	text-align:center;
}

.footer_nav nav ul li a{
	display:block;
	color:#fff;
}

.footer_nav nav ul li a:hover{
	text-decoration:underline;
}

p.copy_right{
	text-align:center;
	color: #fff;
	font-size:0.9rem;
	margin-top: 50px;
}


.pageheader{
	background-image:url("../img/service/page_header.jpg");
	backgroudn-repeat:no-repeat;
	background-size: cover;
	background-position:center center;
	width:100%;
	height: 600px;
	text-align:center;
	position:inherit;
	padding-top:6%;
	box-sizing: border-box;
}

h1.page_title{
	text-align:center;
}

/*下層ページ*/
.breadcrum{
	background-color:#E6E6E6;
	padding:2px;
	box-sizing: border-box;
}

.breadcrum ul{
	display:flex;
}

.breadcrum ul li{
	font-size:0.9rem;
}

.breadcrum ul li a{
	display:block;
	color: #002E62;
	}

/*固定ナビ*/
.fixed{
    position: fixed;
    top: 0;
    left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 100;
  }

.sp_header{
	display:none;
}

.sp_btn{
	display:none;
}

.is-sp  {
    display:none;
  }

@media screen and (max-width: 1023px) {
section.main p{
	font-size:0.9rem;
}
	
.inner {
  max-width: 1024px;
  width: 95%;
  margin: 0 auto;
}
	
header.sp_header{
	width:100%;
	position:fixed;
	height:auto;
	border-bottom:solid 2px #fff;
	z-index: 100;
	background-color: rgba(255, 255, 255, 0.8);
	top: 0;
	padding: 0px;
	border-bottom:solid 3px #002E62;
    box-sizing: border-box;
}
	
header.sp_header div.header_top{
  display: flex;
  justify-content: space-between;
  align-items: center;
	padding:5px;
	box-sizing: border-box;
}
	

	
header .inner{
  max-width: 95%;
	margin:0 auto;
}
	
header.sp_header div.header_top h1{
  width: 40%;
}
	
header.sp_header div.header_top h1 a{
  display:block;
}
	
header.sp_header div.header_top h1 a img{
  width:100%;
	height: auto;
}
	
	/*開閉ボタン*/
	#nav_toggle div {
		position: relative;	}
	
	#nav_toggle span{
		display: block;
		height: 1.5px;
		background: #002E62;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
		width:18px;
		margin-left:5px;
		margin-right:5px;
		position:relative;
		box-sizing:border-box;
	}
	#nav_toggle span:nth-child(1){
		top:-6px;
	}
	#nav_toggle span:nth-child(2){
		top:1px;
		width: 13px;
	}
	#nav_toggle span:nth-child(3){
		top:8px;
		width: 10px;
	}
	
	#nav_toggle>div>p{
		padding-top:32px;
		font-size:83%;
		font-weight:bold;
		text-align:center;
		color:#fff;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 6px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
			width: 25px;
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 3px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
			width: 25px;
		}

header.sp_header nav{
	clear:both;
	padding:10px 10px 0px;
	box-sizing:border-box;
	background-color:rgba(255, 255, 255, 0.95);
	z-index:100;
	position:absolute;
	top:76px;
	width:100%;
	display:none;
	padding-top:0;
	left: 0;
}
	
header.sp_header nav ul li a{
	font-size: 0.9rem;
}
	
header.sp_header nav ul li a span,
header.sp_header nav ul li a span small{
    color:#002E62;
  }
	
header.sp_header nav ul li a span{
    background-image: url("../img/common/icon_home_on.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px;
	padding-left: 25px;
	box-sizing: border-box;
  }
	
header.sp_header nav ul li:nth-child(2) a span{
    background-image: url("../img/common/icon_service_on.png");
  }
	
header.sp_header nav ul li:nth-child(3) a span{
    background-image: url("../img/common/icon_corporate_on.png");
  }
	
header.sp_header nav ul li:nth-child(4) a span{
    background-image: url("../img/common/icon_recruit_on.png");
  }
	
header.sp_header nav ul li:last-child a span{
    background-image: url("../img/common/icon_contact_on.png");
  }
	
header.sp_header nav ul li a.btnarrow {
    font-size: 0.8rem;
    box-sizing: border-box;
    text-align: left;
    width: 100%;
  }
	
header.sp_header nav ul li a.btnarrow::before {
  left: 0%;
	top: 0;
}
	
header.sp_header nav > ul > li {
  width: 100%;
  text-align: left;
  box-sizing: border-box;
}
	
header.sp_header nav > ul > li > a {
  text-align: left;
  border-bottom: solid 1px #002E62;
	font-size: 0.9rem;
	display: block;
	padding:10px 0;
	box-sizing: border-box;
}
	
header.sp_header nav ul li p {
  text-align: left;
	font-size: 0.8rem;
}
	
header.sp_header nav > ul > li a small {
  display: inline-block;
  text-align: left;
  margin-left: 10px;
}
	
header.sp_header nav > ul > li.has-child{
	position:relative;
}
	
header.sp_header nav > ul > li.has-child #nav_toggle{
	position:absolute;
	right:0;
	top:10px;
	width: auto;
    height: 100%;
}
	
header.sp_header.open nav > ul > li.has-child #nav_toggle span{
		display: block;
		height: 1.5px;
		background: #72640c;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
		width:18px;
		margin-left:5px;
		margin-right:5px;
		position:relative;
		box-sizing:border-box;
	}
header.sp_header.open nav > ul > li.has-child #nav_toggle span:nth-child(1){
		top:10px;
	-webkit-transform: rotate(90deg);
			-moz-transform: rotate(90deg);
			transform: rotate(90deg);
	}
header.sp_header.open nav > ul > li.has-child #nav_toggle span:nth-child(2){
		top:8px;
		/*width: 13px;*/
	}
	
header.sp_header.open nav > ul > li.has-child.open #nav_toggle span:nth-child(1) {
	top: 10px;
	 -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	transform: rotate(180deg);
	/*width: 25px;*/
}
header.sp_header.open nav > ul > li.has-child.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
	
header.sp_header nav > ul > li.has-child > ul{
	display:none;
	overflow: hidden;
	margin-left: 1em;
	margin-top: 10px;
}
	
header.sp_header nav > ul > li.has-child > ul > li{
	width:25%;
	float:left;
}

header div.nav_box {
  display: none;
}
	
section.main {
  margin-top: -5px;
}
	
.main h2.section_title {
  font-size: 1.8rem;
	margin-bottom: 30px;
}
	
ul.contact {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
	
ul.contact li {
  width: 47%;
}
	
footer a.logo img {
  width: 140px;
}
	
footer a.logo p {
  font-size: 3rem;
}
	
footer ul.contact {
  width: 100%;
}
	
footer {
  padding: 80px 10px;
}
	
.footer_nav nav ul li a {
  font-size: 0.9rem;
}
	
p.copy_right {
  font-size: 0.8rem;
}
	
.pageheader {
  height: 350px;
  padding-top: 13%;
}
	
h1.page_title {
  width: 195px;
  height: 195px;
}
	
h1.page_title img {
  width: 70px;
}
	
.breadcrum ul li {
  font-size: 0.8rem;
  padding: 5px 0;
  box-sizing: border-box;
}


/*固定ナビ*/
.fixed{
    display:none;
  }
.pc_nav{
	display:none;
}
	
.sp_header{
	display:block;
}
	
	
}


@media only screen and (max-width: 580px) {
header.sp_header div.header_top h1 {
    width: 63%;
  }
	
header.sp_header nav {
    top: 61px;
  }
	
ul.contact {
    flex-wrap: wrap;
  }
	
 ul.contact li {
    width: 100%;
  }
	
footer a.logo img {
    width: 80px;
  }
	
footer a.logo p {
    font-size: 2rem;
  }
	
.footer_nav nav ul li {
  width: 47%;
}
	
.sp_btn{
	display:block;
	position:fixed;
	bottom: 0;
}
	
.sp_btn ul{
	display:flex;
	justify-content: center;
}
	
.sp_btn li{
	width:47%;
	margin:0 10px;
	display:flex;
	align-items: center;
}
	
.sp_btn li a{
	background-image:url("../img/common/sp_btn01.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
	display: block;
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
}
	
.sp_btn li.mail a{
	background-image:url("../img/common/sp_btn02.png");
}
	
.sp_btn li a span{
    font-size: 0.9rem;
	color:#fff;
	font-weight: bold;
	display:inline-block;
	background-image: url("../img/common/icon_tel.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px;
	padding-left: 25px;
	box-sizing: border-box;
  }
	
.sp_btn li.mail a span{
	background-image:url("../img/common/icon_mail_white.png");
}
	
.pageheader  {
    height: 230px;
    padding-top: 20%;
  }
	
.is-sp  {
    display:block;
  }

.text-center{
	text-align: center;
}
	
}

