@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Oswald:300');
/* CSS Document */

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
}

/*********************************************************************
 * nagano's style
 ********************************************************************/

.pc{ display: inherit;}
.nav_smp{ display: none !important; }

/* iPhone/iPadの自動サイズ調整機能をOFF */
html, body { height:100%; margin:0; }
html { 
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 62.5% ;
	-webkit-text-size-adjust: none;
	overflow-y: scroll;
}

::selection {
	background: #292929;
	color: #fff;
}

Firefox
::-moz-selection {
	background: #292929;
	color: #fff;
}

a {
	text-decoration: none;
	color: #110b93;
	outline: none;
}

a img {
	-webkit-transition: 0.1s ease-in-out;
	   -moz-transition: 0.1s ease-in-out;
		 -o-transition: 0.1s ease-in-out;
			transition: 0.1s ease-in-out;
}

a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
}

a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
}


td {
	color: #333;
	padding: 5px 0 5px 10px;
}

th {
	color: #333;
	padding: 5px 0 5px 10px;
}

ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

li{
	margin: 0;
	padding: 0;
	text-decoration: none;
}

button {
	background: transparent;
	padding: 0;
	border: none;
}

p,div {
	text-align: left;
	font-size: 1.5rem;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/*********************************************************************
 * site base
 ********************************************************************/

#wrap{
	overflow: hidden;
}

.header_box{
	background: #fff;
}

.h-inner{
	max-width: 1200px;
	margin: 0 auto;
	background: #fff;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.logo_area{
	width: 200px;
}

nav{
	justify-content: space-between;
	width: 100%;
	display: flex;
}

nav .w1200{
	width: 1200px;
	justify-content: space-between;
}

nav .nav{
	min-width: 820px;
	display: flex;
	justify-content: space-between;
}

nav .nav li{
	width: 100%;
	font-size: 20px;
	color: #055797;
	font-weight: bold;

	-webkit-transform: skewX(150deg);
	-moz-transform: skewX(150deg);
	transform: skewX(150deg);
	border-right: 1px solid #cacaca;
	line-height: 27px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and (max-width: 768px) {

nav .nav li{
	font-size: 18px;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

nav .nav li:last-child{
	border-right: none;
}

nav .nav li a{
	color: #055797;
	display:block;
	transform: skewX(-150deg);
	padding:0 10px;
	text-align: center;
}

nav .nav li a p{
	font-size: 14px;
	color: #232323;
	font-weight: normal;
	text-align: center;
}

.main_image{
	position: relative;
	width: 100%;
	height: 55vw;
}

.main_image img{
	width: 100%;
}

.ratio-1_1:before {
	content: "";
	display: block;
	padding-top: 100%; /* 1:1 */
}


.main_image li{
	position: absolute;
	top: 0; left: 0;
	width: 100%;
}

.main_image li::before{
	ontent:''; 
	display:	block;
	padding-top:100vh;
}

.main_image li:nth-child(1){
	position: relative;
}

.main_image li:nth-child(6){
	top: 9vw;
	left: 8vw;
	text-align: center;
}
/*
.main_image li:nth-child(6) div span:nth-child(31),
.main_image li:nth-child(6) div span:nth-child(32),
.main_image li:nth-child(6) div span:nth-child(33),
.main_image li:nth-child(6) div span:nth-child(34),
.main_image li:nth-child(6) div span:nth-child(35),
.main_image li:nth-child(6) div span:nth-child(36),
.main_image li:nth-child(6) div span:nth-child(37),
.main_image li:nth-child(6) div span:nth-child(38){
	font-size: 1.2vw;
}
*/

.main_image li div{
	font-size: 1.9vw;
	color: #fff;
	font-weight: bold;
	line-height: 4vw;
}

.main_image li div img{
	width: 16vw;
}

.main_image li div .logo_text{
	position: relative;
	display: flex;
	align-items: baseline;
	margin-bottom: 1.5vw;
}

.main_image li div .logo_text_line{
	display: flex;
	align-items: baseline;
}

.main_image li div .logo_text_line p{
	font-size: 1.9vw;
}


.main_logo{
	text-decoration: none;
	background: linear-gradient(transparent 50%, rgba(255, 252, 107, .69) 50%);
	background-repeat: no-repeat;
	background-size: 0% 100%;
	transition: background-size 0.1s;
	border-bottom: 7px solid #eeb035;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.nav_pc{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background: rgba(255, 255, 255, 0.9);
	align-items: center;
	justify-content: center;

	transition: .3s;
	transform: translateY(0%);
	height: 90px;
}

.is-fixed {
	transform: translateY(0%);
	height: 100px;
}

/*---------------------------------------------------------*/

.header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 50px;
	background-color: #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,.16);
	z-index: 5;
	display: none;
	justify-content: center;
	align-items: center;
}
.global-nav {
  position: fixed;
  right: -65vw; /* これで隠れる */
  top: 0;
  width: 60vw; /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 40px;
  background-color: #fff;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  flex-wrap: wrap;
  justify-content: center;
}
.hamburger {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 40px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
  margin: 5px;
}
.global-nav__list {
  margin: 10% 0 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.global-nav__item {
	text-align: left;
	padding: 10px 14px;
}
.global-nav__item i{
	color: #155797;
}
.global-nav__item a {
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  text-decoration: none;
  color: #111;
  font-weight: bold;
}
.global-nav__item a:hover {
  background-color: #eee;
}
.hamburger__line {
  position: absolute;
  left: 11px;
  width: 18px;
  height: 2px;
  background-color: #155797;
  transition: all .6s;
}
.hamburger__line--1 {
  top: 14px;
}
.hamburger__line--2 {
  top: 20px;
}
.hamburger__line--3 {
  top: 26px;
}
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all .6s;
  cursor: pointer;
}

.global-nav__item a {
}

.global_tel {
	width: 80%;
}

.global_tel a {
	border: 1px solid #155797;
	color: #155797;
	padding: 5%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	font-weight: bold;
}

.global_tel a i{
	margin-right: 5px;
}


/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0;
}
.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
}
.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}
.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}

/*--------------------------------------*/

.icon-hamburger {
	/*background: #fff;*/
	/*border: 1px solid #ccc;*/
	cursor: pointer;
	height: 50px;
	position: relative;
	width: 50px;
	display: none;
	margin-bottom: 0.4em;
}

.icon-hamburger span {
	background: #cccccc;
	display: block;
	height: 9%;
	left: 50%;
	margin: -8% 0 0 -42%;
	position: absolute;
	top: 50%;
	width: 84%;
}

.icon-hamburger span::before,
.icon-hamburger span::after {
	background: #cccccc;
	content: "";
	display: block;
	height: 100%;
	left: 50%;
	margin: -8% 0 0 -50%;
	position: absolute;
	top: 70%;
	width: 100%;
}

.icon-hamburger span::before {
	margin-top: -38%;
}

.icon-hamburger span::after {
	margin-top: 19%;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and (max-width: 768px) {

.icon-hamburger {
	display: inline-block;
}

.main_image li div .logo_text_line p {
	font-size: 2.1vw;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/*-----------------------*/

.menu-container {
	margin: 0;
	position: fixed;
	top: 18vw;
	z-index: 5;
	display: none;
}

.menu-container .menu {
  border: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-container .menu .menu-item {
  flex: 1;
}

.menu-container .menu .menu-item a {
  background: #fff;
  border-right: 1px solid #ccc;
  color: #333;
  display: block;
  padding: 0.6em 0.4em;
  text-align: center;
  text-decoration: none;
}

.menu-container .menu .menu-item a:hover {
  background: #ccc;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}

@media screen and (max-width: 768px) {
  .menu-container .menu {
    display: none;
    width: 100%;
  }
  .menu-container .menu .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
  }
  .menu-container .menu .menu-item:last-child a {
    border-bottom: none;
  }
}

/* ウィンドウ幅が0～910pxの場合に適用するCSS */
@media screen and ( max-width:910px ){



}/* ウィンドウ幅が0～910pxの場合に適用するCSS */

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.nav_pc {
	height: 90px;
}

nav .w1200 {
	width: 100%;
}

nav .nav {
	min-width: 74%;
}

nav .nav li a p {
	font-size: 10px;
}

nav {
	padding: 1.5% 2%;
}

.is-fixed {
	height: 100px;
}

/*---------------------------------*/

.main_image li:nth-child(6) {
	top: 5vw;
	left: 5vw;
}

.main_image li div {
	font-size: 2.5vw;
	line-height: 6vw;
}

.main_image li div img {
	width: 20vw;
}

/*---------------------------------*/

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* ウィンドウ幅が0～767pxの場合に適用するCSS */
@media screen and ( max-width:767px ){

nav .nav {
	display: none;
}

.header {
	display: flex;
	z-index: 10;
}


header#top{
	display: none;
}

.logo_area {
	max-width: 160px;
}

nav .nav {
	display: none;
}

.header_box {
	height: 20vw;
}

.menu-container {
	display: flex !important;
}

.main_image{
	margin-top: 25px;
}


}/* ウィンドウ幅が0～767pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.main_image li div .logo_text_line p {
	font-size: 4.5vw;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */

/* --------------------------------------------------------------------------- */

/* 見出し */

/* 左 */
h3{
	color: #055797;
	position: relative;
	display: inline-block;
	padding: 0 55px;
	width: 100%;
	line-height: 40px;
	margin-top: 30px;
	margin-bottom: 75px;
}

h3 span{
	font-size: 18px;
	color: #232323;
}


h3.title_left strong{
	background: #fff;
	font-size: 50px;
	padding: 0 10px 0 0;
}

h3.title_left:before {
	content: '';
	position: absolute;
	top: -9%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #055797;
	left:0;
	z-index: -1;
}

/* 右 */
h3.title_center{
	text-align: center;
}

h3.title_center:after {
	content: '';
	position: absolute;
	top: 44%;
	display: inline-block;
	width: 50%;
	height: 1px;
	background-color: #055797;
	right: 0;
	z-index: -1;
}

h3.title_center strong{
	background: #fff;
	font-size: 50px;
	padding: 0 10px 0;
}

h3.title_center.h3_sub strong{
	font-size: 35px;
}

h3.title_center:before {
	content: '';
	position: absolute;
	top: -9%;
	display: inline-block;
	width: 50%;
	height: 1px;
	background-color: #055797;
	left:0;
	z-index: -1;
}

h3.title_center.h3_sub:before{
	top: 6%;
}

h3.title_center.h3_sub:after {
	top: 38%;
}

h3.title_left:after {
	content: '';
	position: absolute;
	top: 44%;
	display: inline-block;
	width: 80%;
	height: 1px;
	background-color: #055797;
	right: 0;
	z-index: -1;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and (max-width: 768px) {

h3.title_center:before {
	top: -2%;
}

h3.title_left:after {
	top: 40%;
}

h3.title_center:after {
	top: 40%;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */



/* 採用情報 */

h3.title_contact{
	color: #055797;
}

h3.title_recruit{
	color: #f5a63e;
}

h3.title_contact strong , h3.title_recruit strong{
	background: #fff;
	font-size: 50px;
	padding: 0 10px 0 0;
}

h3.title_contact:before {
	content: '';
	position: absolute;
	top: -9%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #055797;
	left:0;
	z-index: -1;
}

h3.title_contact:after {
	content: '';
	position: absolute;
	top: 44%;
	display: inline-block;
	width: 80%;
	height: 1px;
	background-color: #055797;
	right: 0;
	z-index: -1;
}

h3.title_recruit:before {
	content: '';
	position: absolute;
	top: -9%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #f5a63e;
	left:0;
	z-index: -1;
}

h3.title_recruit:after {
	content: '';
	position: absolute;
	top: 44%;
	display: inline-block;
	width: 80%;
	height: 1px;
	background-color: #f5a63e;
	right: 0;
	z-index: -1;
}


/* アクセス */

h3.title_access{
	text-align: left;
	color: #fff;
	padding: 0;
	margin-bottom: 30px;
}

h3.title_access:after {
	content: '';
	position: absolute;
	top: 35%;
	display: inline-block;
	width: 50%;
	height: 1px;
	background-color: #055797;
	right: 0;
	z-index: 0;
}

h3.title_access strong{
	/*background: #fff;*/
	font-size: 50px;
	padding: 0 0 0;
}

/*
h3.title_access:before {
	content: '';
	position: absolute;
	top: -9%;
	display: inline-block;
	width: 50%;
	height: 1px;
	background-color: #055797;
	left: 0;
	z-index: -1;
}
*/
h3.title_access:after {
	content: '';
	position: absolute;
	top: 44%;
	display: inline-block;
	width: 36%;
	height: 2px;
	background-color: #fff;
	right: 0;
	z-index: 0;
}

h3.title_access span{
	color: #fff;
}

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

h3 {
	padding: 0 35px;
	margin-bottom: 40px;
}

h3 span{
	font-size: 14px;
	color: #232323;
}

h3.title_left strong {
	font-size: 30px;
}

h3.title_left:before {
	top: 10%;
	width: 25px;
}

h3.title_left:after {
	top: 36%;
}

h3.title_center strong {
	font-size: 25px;
}

h3.title_center:before {
	top: 10%;
}

h3.title_center:after {
	top: 36%;
}


h3.title_center.h3_sub strong{
	font-size: 30px;
}

.title_about span{
	font-size: 12px;
}

h3.title_contact, h3.title_recruit {
	padding: 0;
}

h3.title_contact strong, h3.title_recruit strong {
	font-size: 25px;
}

h3.title_contact:before {
	top: 3%;
	width: 0;
}

h3.title_recruit:before {
	top: 3%;
	width: 0;
}

h3.title_access strong {
	font-size: 30px;
}

h3.title_access:after {
	top: 33%;
	width: 55%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/* --------------------------------------------------------------------------- */

.about_box{
	justify-content: space-between;
	align-items: center;
}

.about_text{
	width: 50%;
	margin: 0 4%;
	font-size: 18px;
}

.about_text h4{
	font-size: 35px;
	font-weight: bold;
	line-height: normal;
}

.about_text h4.ciesf_title{
	font-size: 30px;
}

.about_text h4 .pc{
	display: block;
}

.about_text p{
	font-size: 17px;
	line-height: 35px;
	max-width: 530px;
}

.about_text h4 span{
	/*border-bottom: 5px double #eeb035;*/
	margin-left: 20px;
	font-size: 20px;
}

.about_image{
	position: relative;
	width: 530px;
	height: 430px;
}

.about_image li{
	position: absolute;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

nav .w1200 {
	width: 100%;
}

nav .nav {
	min-width: 74%;
}

nav {
	padding: 1.5% 2%;
}

.is-fixed {
	padding: 1.5% 2%;
}

.nav_pc {
	padding: 0 2%;
}

/*---------------------------------*/

.main_image li:nth-child(6) {
	top: 5vw;
	left: 5vw;
}

.main_image li div {
	font-size: 2.5vw;
}

.main_image li div img {
	width: 20vw;
}

/*---------------------------------*/

.about_box {
	flex-wrap: wrap;
}

.about_text {
	width: 90%;
	margin: 0 5% 3%;
	font-size: 18px;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.main_logo {
	border-bottom: 5px solid #eeb035;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.main_image {
	width: 180%;
	height: 106vw;
	margin-top: 13vw;
	background: rgb(61,18,145);
	background: linear-gradient(90deg, rgba(61,18,145,1) 0%, rgba(76,27,211,1) 100%);
}

.main_image li {
	margin: 0px 0 0 -77vw;
}

.main_image li:nth-child(6) {
	top: -10vw;
	left: 84vw;
}

.main_image li div {
	font-size: 4.4vw;
	line-height: 7vw;
}

.main_image li div img {
	width: 38vw;
}

.about_text h4 {
	font-size: 22px;
	margin-bottom: 25px;
}

.about_text h4 span {
	margin-left: 0px;
	font-size: 16px;
}

.about_text h4 .smp{
	display: block;
}

.about_text h4 .pc{
	display: none;
}

.about_text p {
	font-size: 14px;
	line-height: normal;
	line-height: 27px;
}

.about_text h4.ciesf_title {
	font-size: 22px;
	margin-bottom: 20px;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*-----------------------------------------*/

.service_text{
	font-size: 18px;
	line-height: 36px;
}

/*-------------------------*/

.top_service_list{
	width: 100%;
}

.top_service_list li{
	display: flex;
	justify-content: center;
	padding: 60px 0;
	background-image: url(../img/service_bg01.png);
	background-repeat: no-repeat;
	background-position: center;
	height: 390px;
	background-color: #055797;
}

.top_service_list li:nth-child(2){
	background-color: #edb034;
	background-image: url(../img/service_bg02.png);
}

.top_service_list li h4{
	line-height: 30px;
	position: relative;
	padding-bottom: 25px;
	margin-bottom: 15px;
}

.top_service_list li h4 .smp{
	display: none;
}
/*
.top_service_list li h4:after{
	content: '';
	position: absolute;
	border-bottom: 3px solid #fff;
	width: 80px;
	bottom: 0;
	left: 0;
}
*/
.top_service_list li h4 strong{
	font-size: 30px;
}

.top_service_list li h4 b{
	font-size: 30px;
}

.top_service_list li h4 span{
	font-size: 16px;
	font-weight: normal;
}

.top_service_list li p{
	font-size: 18px;
}

.top_service_list li a{
	font-size: 16px;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 100px;
	padding: 0 10px;
	height: 50px;
	display: flex;
	width: 50%;
	justify-content: center;
	align-items: center;
	margin-top: 50px;
}

.top_service_list li .box{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 1200px;
	color: #fff;
}

.top_service_list li .box .image{
	width: 30%;
}

.top_service_list li .box .image.pc{
	display: flex;
}

.top_service_list li .box .image.smp{
	display: none;
}

/* IEハック */
@media all and (-ms-high-contrast:none) {

.top_service_list li .box .image img{
	max-width: 80%;
}

}/* IEハック */


/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.top_service_list li .box {
	width: 90%;
}

.top_service_list li{
	height: 330px;
}

.top_service_list li .box .image img{
	flex-shrink: 0;
	max-width: 100%;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.top_service_list li{
	padding: 35px 0;
	background-position: top;
	background-size: cover;
}

.top_service_list li:nth-child(2){
	padding: 35px 0;
	background-position: top;
	background-size: cover;
}


.service_text {
	font-size: 15px;
	line-height: 36px;
}

.service_text .pc{
	display: none;
}

.top_service_list li {
	height: auto;
}

.top_service_list li h4 b{
	font-size: 26px;
}

.top_service_list li .box .image {
	width: 120%;
}

.top_service_list li p {
	font-size: 16px;
	line-height: 30px;
}

.top_service_list li a {
	width: 94%;
	margin: 10% 3%;
}


.top_service_list li .box .image.pc{
	display: none;
}

.top_service_list li .box .image.smp{
	display: flex;
	width: 70%;
	margin-top: 8%;
	margin-left: 15%;
	align-items: flex-start;
}

.top_service_list li h4{
	margin-bottom: 0px;
}

.top_service_list li h4 strong {
	font-size: 25px;
}

.top_service_list li h4 span {
	font-size: 14px;
}

.top_service_list li h4 .smp{
	display: block;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/* --------------------------------------------------------------------------- */

.top_contact_title_area{
	display: flex;
	justify-content: center;
}

.top_contact_title_area li{
	width: 50%;
}

/*------*/

.top_contact_area{
	height: 600px;
	display: flex;
	justify-content: center;
}

.top_contact_area li{
	height: 600px;
	background: #aaa;
	width: 50%;
	display: flex;
}

.top_contact_area li:first-child{
	background: #055797;
	justify-content: flex-end;
}

.top_contact_area li:last-child{
	background: #f5a63e;
	justify-content: flex-start;
}

.top_contact_area li .block{
	width: 600px;
	background: #ccc;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.top_contact_area li:first-child .block{
	width: 600px;
	background-image: url(../img/contact_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.top_contact_area li:last-child .block{
	width: 600px;
	background-image: url(../img/recruit_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.top_contact_area li .block h4{
	font-size: 22px;
	line-height: 50px;
	border: 1px solid #fff;
	padding: 30px 60px;
	text-align: center;
	display: table;
	color: #fff;
}

.top_contact_area li .block a{
	font-size: 20px;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 100px;
	padding: 0 10px;
	height: 50px;
	display: flex;
	width: 40%;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

/* IEハック */
@media all and (-ms-high-contrast:none) {

.top_contact_area li .block a i{
	margin-left: 10px;
	font-size: 25px;
	margin-top: -5px;
}

}/* IEハック */


/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.top_service_list li .box {
	width: 90%;
}

.top_contact_area li .block h4 {
	font-size: 20px;
	line-height: 40px;
	padding: 20px 25px;
	width: 90%;
}

.top_contact_area li .block a {
	font-size: 20px;
	height: 60px;
	width: 60%;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.top_contact_area {
	height: auto;
}

.top_contact_area li{
	height: 450px;
}


.top_contact_area li .block h4 {
	font-size: 15px;
	line-height: 30px;
	padding: 20px 20px;
}

.top_contact_area li .block div{
	width: 60%;
}

.top_contact_area li .block h4 .pc{
	display: none;
}

.top_contact_area li .block a {
	font-size: 16px;
	height: 60px;
	width: 90%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */

/* --------------------------------------------------------------------------- */

.access_area{
	width: 100%;
	background-image: url(../img/access_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;

	display: flex;
	justify-content: center;
	color: #fff;
	padding: 70px 0;
}

.access_area li{
	padding: 0 20px;
}

.access_area li h4{
	margin-bottom: 20px;
}

.access_area li p{
	margin-bottom: 20px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.about_image img{
	width: 100%;
}

.access_area {
	width: 100%;
	flex-wrap: wrap;
}

.access_area iframe{
	width: 100%;
}

.about_image li {
	text-align: center;
}

.about_image {
	position: relative;
	width: 100%;
	margin: 0 0 20%;
	display: flex;
	justify-content: center;
	height: 54vw;
	background: #fff;
}

}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* --------------------------------------------------------------------------- */

.footer_box .logo{
	margin: 30px 0 25px;
}

.footer_box .logo img{
	width: 240px;
}

.footer_box .footer_link{
	display: flex;
	justify-content: center;
	width: 100%;
}

.footer_box .footer_link li{
	position: relative;
	padding: 0 1% 0 0;
	margin: 0 1% 0 0;
	width: auto;
	text-align: center;
	border-right: 1px solid #5c5d5d;
	width: 130px;
}

.footer_box .footer_link li:last-child{
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	border-right: none;
}

.footer_box .footer_link a{
	color: #fff;
}

footer .copy{
	justify-content: space-between;
}

.footer_tel{
	color: #fff;
	margin-bottom: 50px;
	text-align: center;
	line-height: normal;
}

.footer_tel p{
	font-size: 20px;
	text-align: center;
	margin-top: 15px;
}

.footer_tel a{
	color: #fff;
}


/* --------------------------------------------------------------------------- */

footer{
	background: #262627;
}

.footer_box{
	padding: 20px 0;
	align-items: center !important;
	justify-content: center;
	flex-wrap: wrap;
}

.footer_box .logo{
	width: 100%;
	text-align: center;
}

.footer_link{
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	color: #fff;
}

.footer_link li i{
	color: #fff;
}

footer .copy{
	text-align: center;
	padding: 20px;
	background: #262627;
	max-width: 1200px;
	margin: 0 auto;
	line-height: 25px;
}

footer .copy a{
	color: #fff;
}

footer .copy .footer_link{
	margin-right: 7%;
}


/* IEハック */
@media all and (-ms-high-contrast:none) {

footer .copy .footer_link li:last-child{
	margin-left: 15px;
}

}/* IEハック */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.footer_tel{
	margin-bottom: 0px;
}

.footer_box .footer_link {
	display: none;
}

.copy .footer_link {
	display: none;
}

.footer_box .logo img {
	width: 200px;
}

footer .copy{
	line-height: 25px;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*-------------------------*/

.pankuzu{
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	margin-top: 10px;
	margin-bottom: 50px
}

.pankuzu i{
	color: #cbcbcb;
	margin: 0 10px;
}


.pankuzu a{
	color: #292929;
}

/*---------------------------------------------------------*/

.page_top{
	width: 100px;
	height: 100px;
	background: linear-gradient(to bottom right, rgba(7,83,142,0) 50%, #07538e 50.5%) no-repeat top left/100% 100%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	position: fixed;
	bottom: 0;
	right: 0;
	cursor: pointer;
	
}

.page_top p{
	text-align: center;
	font-size: 12px;
	color: #fff;
	margin: 10% 17%;
}

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.page_top{
	width: 65px;
	height: 65px;
}


.page_top p {
	font-size: 11px;
	margin: 15% 15%;
	line-height: 13px;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */




/*-----------------------------------------------------------------*/
/*下層ページ*/
/*-----------------------------------------------------------------*/

.policy_list{
	width: 90%;
	margin: 0 auto;
	line-height: normal;
}

.policy_list > li{
	border-bottom: 1px dotted #ccc;
}

.policy_list li ul{
	list-style-type: decimal;
	padding: 0% 8% 5%;
}

.policy_list p{
	padding: 2% 5% 5%;
}

.policy_list h3{
	margin-bottom: 20px;
	padding: 0 5%;
}

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

.sub_page_title{
	background: #155797;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	position: relative;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 5;
}

.sub_page_title h2 {
	color: #fff;
	position: absolute;
	display: inline-block;
	padding: 0 55px;
	width: 100%;
	line-height: 40px;
	text-align: center;
	z-index: 2;
}

.sub_page_title div {
	margin: 0;
	position: relative;
}

.sub_page_title strong{
	font-size: 50px;
}

.sub_page_title span{
	font-size: 20px;
}

.sub_page_title ul{
	margin: auto;
	position: absolute;
	z-index: 1;
	width: 1200px;
	top: 0;
	left: 0;
	right: 0;
}

.sub_page_title ul li{
	position: absolute;
}

/* IEハック */
@media all and (-ms-high-contrast:none) {

.sub_page_title h2 {
	position: relative;
}

}/* IEハック */


/* safariハック */

_::-webkit-full-page-media, _:future, :root .sub_page_title{
	display: -webkit-box;
	-webkit-box-pack: center;
	-webkit-box-align: center;
}

_::-webkit-full-page-media, _:future, :root .sub_page_title h2{
	margin-top: 9vw;
}

/* safariハック */

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.sub_page_title ul {
	top: 13vw;
	left: -2vw;
	width: 768px;
}

}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){


.sub_page_title strong{
	font-size: 11vw;
}

.sub_page_title ul{
	top: 40vw;
	left: -98vw;
	width: 160vw;
}

.sub_page_title h2 {
	position: relative;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */



/*-----------------------------------------------------------------*/
/*会社概要*/
/*-----------------------------------------------------------------*/

.philosophy_box{
	width: 90%;
	margin: 0 auto 80px;
	line-height: normal;
	justify-content: space-between;
	line-height: normal;
	align-items: center;
}

.philosophy_box div:first-child{
	width: 50%;
}

.philosophy_box div:first-child p{
	line-height: 50px;
	font-size: 22px;
	text-align: center;
	font-weight: bold;
}

.philosophy_box div:last-child{
	width: 100%;
}

table.company {
	width: 80%;
	margin: 0 auto 80px;
	border-collapse: separate;
	border-spacing: 0px 15px;
	font-size: 14px;
	line-height: normal;
}

table.company th,
table.company td {
	padding: 10px;
}

table.company th {
	background: #295890;
	vertical-align: middle;
	text-align: left;
	width: 100px;
	overflow: visible;
	position: relative;
	color: #fff;
	font-weight: normal;
	font-size: 15px;
	z-index: 2;
}

table.company th:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #295890;
	border-width: 10px;
	margin-top: -10px;
}
/* firefox */
@-moz-document url-prefix() {
table.company th::after {
	float: right;
	padding: 0;
	left: 30px;
	top: 10px;
	content: " ";
	height: 0;
	width: 0;
	position: relative;
	pointer-events: none;
	border: 10px solid transparent;
	border-left: #295890 10px solid;
	margin-top: -10px;
}
}/* firefox */

table.company td {
	background: #f8f8f8;
	width: 360px;
	padding-left: 20px;
}

.ciesf_bt{
	width: 100%;
	text-align: center;
	font-size: 18px;
	line-height: 60px;
	margin-top: 10%;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.philosophy_box {
	flex-direction: column-reverse;
}

.philosophy_box div:first-child {
	width: 100%;
}

.philosophy_box div:first-child p {
	line-height: 42px;
	font-size: 19px;
}

.philosophy_box div:first-child p .pc{
	display: none;
}

.philosophy_box div:last-child {
	width: 100%;
	margin-bottom: 35px;
}

table.company {
	width: 90%;
}

table.company th,table.company td {
	display:block;
	clear:both;
	width: 100%;
}

table.company th:after {
	content: none;
}

.ciesf_bt {
	line-height: 40px;
}

.ciesf_bt a{
	font-size: 16px;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */

/*-----------------------------------------------------------------*/
/*事業内容*/
/*-----------------------------------------------------------------*/

.service_top{
	text-align: center;
	margin-bottom: 120px;
	background: #eeb035;
	color: #fff;
	padding: 3%;
	border-radius: 100px;
}

.service_top h4{
	text-align: center;
	font-size: 25px;
	margin-bottom: 20px;
}

.service_top p{
	text-align: center;
	font-size: 18px;
	line-height: 45px;
}

.service_system{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.service_system .text{
	width: 50%;
}

.service_system .text h4{
	font-size: 30px;
	margin-bottom: 50px;
	line-height: 50px;
}

.service_system .text h4 span{
	font-size: 20px;
	color: #eeb035;
}

.service_system .text p{
	
}

.service_system .text div{
	display: none;
}

.service_system .image{
	/*display: flex;*/
	width: 40%;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.service_top{
	padding: 5%;
	border-radius: 40px;
}


.service_top p {
	font-size: 16px;
	line-height: 30px;
}

.service_system .text {
	width: 90%;
	margin: 0 5%;
}

.service_system .text div{
	display: flex;
	width: 70%;
	margin: 0 15% 20px;
	align-items: flex-start;
}

.service_system .image{
	display: none;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.service_sub_list{
	width: 100%;
	display: flex;
}

.service_sub_list li{
	padding: 30px;
	width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
}

.service_sub_list li h4{
	text-align: center;
	margin-bottom: 40px;
	color: #232323;
	position: relative;
	padding-bottom: 20px;
	line-height: 32px;
}

.service_sub_list li h4 strong{
	font-size: 2vw;
	line-height: 45px;
}

.service_sub_list li h4 span{
	font-size: 1vw;
}

.service_sub_list li h4:after{
	content: '';
	position: absolute;
	border-bottom: 3px solid #232323;
	width: 80px;
	bottom: 0;
	left: 38%;
}

.service_sub_list li:nth-child(1){ background: #f4f4f4; border-top: 5px solid #055797;}
.service_sub_list li:nth-child(2){ background: #ececec; border-top: 5px solid #eeb035;}
.service_sub_list li:nth-child(3){ background: #f4f4f4; border-top: 5px solid #055797;}

.service_sub_list li .image{
	text-align: center;
	margin-bottom: 40px;
}

.service_sub_list li .image img{
	height: auto;
}

.service_sub_list li p{
	font-size: 15px;
	line-height: 27px;
	color: #232323;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.service_sub_list li h4:after {
	left: 28%;
}

.service_sub_list li h4 strong{
	font-size: 3vw;
	line-height: 45px;
}

.service_sub_list li h4 span {
	font-size: 1.8vw;
}

}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.service_sub_list {
	flex-wrap: wrap;
}

.service_sub_list li{
	width : 100%;
}

.service_sub_list li h4:after {
	left: 37%;
}

.service_sub_list li h4 strong {
	font-size: 9vw;
}

.service_sub_list li h4 span {
	font-size: 4vw;
}

.service_sub_list li .image{
	margin-bottom: 0px;
}

.service_sub_list li .image img{
	width: 40%;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.performance_list{
	width: 90%;
	margin: 0 5% 5%;
}

.performance_list li{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dotted #ccc;
	margin-bottom: 40px;
	padding-bottom: 40px;
	align-items: center;
}

.performance_list li:last-child{
	flex-direction: row-reverse;
}

.performance_list li .text{
	width: 55%;
}

.performance_list li .text h4{
	line-height: 35px;
	margin-bottom: 40px;
}

.performance_list li .text h4 span{
	font-size: 40px;
	color: #edb034;
	font-weight: normal;
}

.performance_list li .text h4 strong{
	font-size: 25px;
	color: #055797;
}

.performance_list li .text p{
	line-height: 30px;
}

.performance_list li .text div{
	display: none;
}

.performance_list li .image{
	display: flex;
	width: 40%;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.performance_list li .text div{
	display: flex;
	width: 100%;
	margin: 0 0 20px;
}

.performance_list li .text {
	width: 100%;
}

.performance_list li .image{
	display: none;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*再調整用----------------------------*/

h4.h4_service{
	font-size: 30px;
	text-align: center;
	line-height: 50px;
}

h5.h5_service{
	font-size: 25px;
	text-align: center;
	line-height: 50px;
	margin-top: 30px;
	margin-bottom: 50px;
}

h5.h5_service.case{
	font-size: 22px;
}

h3.h3_service{
	text-align: center;
	font-size: 40px;
	line-height: 30px;
}

h3.h3_service strong{
	color: #232323;
	margin: 35px 0 0;
	display: flex;
	justify-content: center;
}

h3.h3_service span{
	font-size: 20px;
}

h4.h4_service_sub{
	font-size: 35px;
	line-height: 50px;
}

h5.h5_service_sub{
	font-size: 23px;
	margin-bottom: 50px;
	line-height: normal;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

h5.h5_service_sub{
	line-height: normal;
}


}/* ウィンドウ幅が0～768pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){


.page_link.service_link{
	flex-wrap: wrap;
}

.page_link.service_link li {
	font-size: 15px;
	line-height: 30px;
	width: 100%;
	padding: 4% 4%;
	min-height: 70px;
	justify-content: left;
}

.page_link.service_link li p {
	text-align: left;
	font-size: 25px;
	margin: 0 10px 0 0;
}

.page_link.service_link li a {
	display: flex;
	width: 100%;
}

h4.h4_service{
	font-size: 19px;
	line-height: 35px;
}

h3.h3_service {
	font-size: 27px;
	line-height: 18px;
}

h3.h3_service strong {
	line-height: 36px;
	margin: 25px 0 0;
}

h3.h3_service span {
	font-size: 16px;
}

.service_system .text h4 {
	font-size: 20px;
	margin-bottom: 30px;
	line-height: 35px;
	text-align: center;
}

.service_system .text h4 .pc{
	display: none;
}

h5.h5_service_sub {
	font-size: 17px;
	margin-bottom: 40px;
	line-height: 30px;
	text-align: center;
}

h5.h5_service {
	font-size: 16px;
	line-height: 35px;
	margin-bottom: 10%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */




/*-----------------------------------------------------------------*/
/*採用情報*/
/*-----------------------------------------------------------------*/

.recruit_catch{
	font-size: 40px;
	text-align: center;
	line-height: 60px;
}

.sub_image_main{
	text-align: center;
}

.sub_image_main img{
	width: 80%;
	margin: 5%;
}

.recruit_list{
	margin-bottom: 80px;
}

.recruit_list > li{
	display: flex;
	padding: 30px 0;
	background: #f7f7f7;
	align-items: center;
	border-radius: 20px;
	margin-bottom: 50px;
}

.recruit_list li h3{
	width: 30%;
	text-align: center;
	margin: 0;
}

.recruit_list li h3 i{
	font-size: 5vw;
	margin: 0 0 10px;
}

.recruit_list li div{
	width: 70%;
	line-height: normal;
}

.recruit_list li ul li{
	border-bottom: 1px dotted #ccc;
	padding: 5px 0;
}

.recruit_list li ul li:last-child{
	border: none;
}

.recruit_bt{
	text-align: center;
}

.recruit_bt a{
	text-align: center;
	border-radius: 80px;
	border: 2px solid #055797;
	padding: 2% 5%;
	font-size: 20px;
	color: #055797;
	display: inline-block;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.recruit_catch {
	font-size: 6vw;
	line-height: normal;
}

.sub_image_main img {
	width: 90%;
	margin: 5%;
}

.recruit_list > li {
	flex-wrap: wrap;
}

.recruit_list > li h3{
	width: 100%;
	font-size: 25px;
}

.recruit_list > li h3 i{
	font-size: 50px;
}

.recruit_list li div {
	width: 80%;
	margin: 10%;
}

.recruit_bt a {
	padding: 5% 10%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*-----------------------------------------------------------------*/
/*採用情報 - 再調整*/
/*-----------------------------------------------------------------*/

.recruit_contents_top{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* safariハック */

_::-webkit-full-page-media, _:future, :root .recruit_contents_top{
	display: -webkit-box;
	-webkit-box-pack: center;
	-webkit-box-align: center;
}

/* safariハック */


.recruit_contents_top .text{
	width: 50%;
}

.recruit_contents_top .text .image{
	display: none;
}

.page_link{
	background: #055796;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 100px 0;
}

.page_link li{
	margin: 2% 0;
	font-size: 20px;
	border-left: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 3%;
	font-weight: bold;
	width: 18%;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

.page_link li {
	width: 22%;
}

}/* ウィンドウ幅が0～700pxの場合に適用するCSS */


.page_link li .smp{
	display: none;
}

.page_link li:last-child{
	border-right: 1px solid #fff;
}

.page_link li div{
	text-align: center;
	font-size: 25px;
}

.page_link li a{
	color: #fff;
}

.page_link li i{
	margin-top: 10px;
}

/**/

.service_link{

}

.service_link li{
	font-size: 20px;
	text-align: center;
	line-height: 35px;
	min-height: 135px;
	width: 30%;
}

.service_link li p{
	text-align: center;
	font-size: 22px;
}

.service_link li div.text{
	text-align: center;
	font-size: 20px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/**/

h3.new_h3{
	font-size: 30px;
	font-weight: bold;
	padding: 0;
	line-height: 50px;
	color: #232323;
	margin-bottom: 45px;
}

h3.new_h3_center{
	font-size: 40px;
	font-weight: bold;
	padding: 0;
	line-height: 50px;
	color: #232323;
	margin-bottom: 80px;
	text-align: center;
}

p.font18{
	font-size: 17px;
	line-height: 35px;
	max-width: 500px;
}

p.font18.center{
	text-align: center;
	margin-top: 5%;
	color: #155797;
	font-weight: bold;
	/*border: 1px solid #155797;*/
	padding: 1%;
}

p.font18.center .new{
	border: 2px solid #edb034;
	font-size: 14px;
	padding: 2px 5px;
	color: #edb034;
	font-weight: bold;
}

/* IEハック */
@media all and (-ms-high-contrast:none) {

p.font18.center .new{
	padding: 3px 5px 0;
}

}/* IEハック */


h4.new_h4{
	font-size: 25px;
	font-weight: bold;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

h3.new_h3{
	font-size: 22px;
	line-height: 35px;
	margin-bottom: 25px;
}

h3.new_h3_center{
	font-size: 30px;
	line-height: 35px;
	margin-bottom: 60px;
}

.recruit_contents_top{
	flex-wrap: wrap;
	margin: 0 3%;
}

.recruit_contents_top .text {
	width: 100%;
	overflow: hidden;
}

.recruit_contents_top .text .image{
	display: block;
	overflow: hidden;
	width: 70%;
	margin-left: 15%;
	margin-bottom: 5%;
}

.recruit_contents_top .image{
	display: none;
}


p.font18 {
	font-size: 15px;
	line-height: 27px;
}

p.font18.center{
	border: 1px solid #155797;
}

p.font18.center .new{
	border: none;
}

.page_link{
	margin: 10% 0;
}

.page_link li {
	font-size: 18px;
	padding: 4% 8%;
	line-height: 23px;
	text-align: center;
	width: 100%;
}

.page_link.service_link li {
	font-size: 15px;
	padding: 4% 4%;
	line-height: 23px;
	text-align: center;
	width: 100%;
	min-height: 70px;
	border-left: none;
	border-bottom: 1px solid #fff;
	margin: 0;
}

.page_link.service_link li:last-child {
	border-right: none;
	border-bottom: none;
}

.page_link.service_link li a{
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.page_link.service_link li a .pc{
	display: none;
}

.page_link li div {
	margin-top: -5%;
}

.page_link li .smp{
	display: block;
}

h4.new_h4{
	font-size: 22px;
	font-weight: bold;
}

.service_link li div.text {
	text-align: center;
	font-size: 16px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.recruit_person_list{
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}

.recruit_person_list li{
	width: 50%;
	display: flex;
	margin-bottom: 5%;
}

.recruit_person_list li .image{
	margin-right: 3%;
	width: 120px;
}

.recruit_person_list li p{
	font-size: 18px;
	color: #adadad;
}

.recruit_person_list li h4{
	font-size: 23px;
	line-height: 40px;
}

.recruit_person_list li h4 span{
	font-size: 18px;
}

.contents_line{
	width: 100%;
	height: 100px;
	background: #f7f7f7;
	margin-bottom: 100px;
}

div.anchor{
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

h3.anchor{
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.recruit_person_list li {
	width: 100%;
	margin-bottom: 10%;
}

.recruit_person_list li p {
	font-size: 13px;
}

.recruit_person_list li h4 {
	font-size: 16px;
	line-height: 27px;
}

.recruit_person_list li h4 span {
	font-size: 11px;
}

.recruit_person_list li .image {
	width: 100px;
}

.recruit_person_list li .text{
	width: 100%;
	overflow: hidden;
}

.contents_line{
	height: 60px;
	margin-bottom: 60px;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.recruit_works_list{
	display: flex;
	flex-wrap: wrap;
}

.recruit_works_list li{
	position: relative;
	overflow: hidden;
	width: 50%;
	display: flex;
	/*background: #ccc;*/
	padding: 20px;
	min-height: 300px;
	justify-content: center;
	align-items: center;
}

.recruit_works_list li:nth-child(1):before,.recruit_works_list li:nth-child(4):before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 100%;
	margin: 3% -12% 0;
	background: #edb034;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(-26deg);
	-ms-transform: rotate(-26deg);
	transform: rotate(-26deg);
	z-index: -1;
}

.recruit_works_list li:nth-child(1):after,.recruit_works_list li:nth-child(4):after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	background: #e1a62d;
	z-index: -2;
}


.recruit_works_list li:nth-child(2):before,.recruit_works_list li:nth-child(3):before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 100%;
	margin: 3% -12% 0;
	background: #155797;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(-26deg);
	-ms-transform: rotate(-26deg);
	transform: rotate(-26deg);
	z-index: -1;
}

.recruit_works_list li:nth-child(2):after,.recruit_works_list li:nth-child(3):after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	background: #104a82;
	z-index: -2;
}


.recruit_works_list li .image{
	margin-right: 3%;
	width: 30%;
}

.recruit_works_list li .text{
	width: 62%;
}

.recruit_works_list li p{
	font-size: 16px;
	color: #fff;
}

.recruit_works_list li h4{
	font-size: 25px;
	line-height: 40px;
	color: #fff;
}

.recruit_works_list li h4 span{
	font-size: 18px;
}
/*
.contents_line{
	width: 100%;
	height: 100px;
	background: #f7f7f7;
	margin-bottom: 100px;
}
*/
div.anchor{
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.recruit_works_list li{
	width: 100%;
	display: flex;
	padding: 20px;
	min-height: 180px;
	justify-content: space-around;
	align-items: center;
}

.recruit_works_list li h4 {
	font-size: 18px;
	line-height: 27px;
}

.recruit_works_list li h4 .pc{
	display: none;
}

.recruit_works_list li p {
	font-size: 16px;
}

.recruit_works_list li:nth-child(1):before,.recruit_works_list li:nth-child(3):before{
	background: #edb034;
}

.recruit_works_list li:nth-child(1):after,.recruit_works_list li:nth-child(3):after{
	background: #e1a62d;
}

.recruit_works_list li:nth-child(2):before,.recruit_works_list li:nth-child(4):before{
	background: #155797;
}

.recruit_works_list li:nth-child(2):after,.recruit_works_list li:nth-child(4):after{
	background: #104a82;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.recruit_requirements_box{
	padding: 0 5%;
	margin-bottom: 10%;
}

.recruit_requirements_box h4{
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 20px;
}

.recruit_requirements_box div{
	background: #f0f0f0;
	padding: 5%;
	font-size: 18px;
	line-height: 40px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.recruit_requirements_box h4 {
	font-size: 20px;
}

.recruit_requirements_box div {
	font-size: 15px;
	line-height: 30px;
}

.recruit_requirements_box div ul li{
	border-bottom: 1px dotted #aaa;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.contact_bottom_banner{
	position: relative;
	width: 100%;
	background: url(../img/contact_bg.jpg) no-repeat;
	background-size: cover;
	height: 300px;
	
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;

	justify-content: center;
	-ms-flex-pack: center;
	-webkit-box-pack: center;

	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
}

.contact_bottom_banner::before {
	border-right: 5em solid transparent;
	content: "";
	top: 0;
	left: 46%;
	border-top: 4em solid #fff;
	position: absolute;
	z-index: 1;
	border-left: 5em solid transparent;
}

.welfare_list{
	display: flex;
	flex-wrap: wrap;
}

.welfare_list p{
	line-height: 35px;
	font-size: 18px;
	margin-right: 5%;
}

.contact_bottom_banner a{
	color: #fff;
	border: 3px solid #fff;
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 420px;
	height: 130px;
	font-size: 24px;
	line-height: 35px;
	padding: 0 2%;
}

.contact_bottom_banner a i{
	font-size: 60px;
}

.contact_bottom_banner a p{
	font-size: 24px;
	line-height: 35px;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.welfare_list p{
	width: 100%;
	line-height: 30px;
	font-size: 15px;
}

.contact_bottom_banner::before {
	border-right: 4em solid transparent;
	border-top: 3em solid #fff;
	border-left: 4em solid transparent;
}

.contact_bottom_banner a {
	width: 300px;
	height: 110px;
}

.contact_bottom_banner a i {
	font-size: 50px;
}

.contact_bottom_banner a p {
	font-size: 18px;
	line-height: 30px;
}

.contact_bottom_banner {
	background-size: cover;
	background-position: right;
	height: 250px;
}

.contact_bottom_banner::before {
	left: 33%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*-----------------------------------------------------------------*/
/*お問い合わせ*/
/*-----------------------------------------------------------------*/

.contact_tbl{
	
}

table.contact_tbl{
	width: 80%;
	border-collapse: collapse;
	margin: 0 10% 5%;
}

table.contact_tbl tr{
	border-bottom: solid 2px white;
}

table.contact_tbl tr:last-child{
	border-bottom: none;
}

table.contact_tbl th{
	position: relative;
	text-align: left;
	width: 30%;
	background-color: #155797;
	color: white;
	text-align: left;
	padding: 5% 0;
	z-index: 2;
}

table.contact_tbl th:after{
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top:calc(50% - 10px);
	right:-10px;
	border-left: 10px solid #155797;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}



/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){

table.contact_tbl {
	width: 90%;
	margin: 0 5% 5%;
}

table.contact_tbl th{
	width: 35%;
}


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */


/* IEハック */
@media all and (-ms-high-contrast:none) {

table.contact_tbl th:after{
	display: inline;
	top: auto;
}

}/* IEハック */


table.contact_tbl th span{
	border: 2px solid #edb034;
	padding: 4px 8px;
	color: #edb034;
	margin-left: 10px;
}

table.contact_tbl td{
	text-align: left;
	width: 100%;
	background-color: #eee;
	padding: 3% 10%;
}

table.contact_tbl td ul{
	width: 100%;
	margin: 0 auto;
}

table.contact_tbl td ul li{
	width: 100%;
	text-align: left;
	padding: 5px 0;
}

.contact_text{
	text-align: center;
	margin-bottom: 5%;
	font-size: 18px;
	line-height: 30px;
}

.contact_rule{
	width: 80%;
	background: #f7f7f7;
	height: 300px;
	overflow-y: scroll;
	padding: 5% 5% 0;
}

h4.h4_sub{
	width: 80%;
	margin: 0 auto 2%;
	font-size: 18px;
	text-align: center;
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

table.contact_tbl {
	width: 90%;
	margin: 0 5% 15%;
}

table.contact_tbl th{
	display: block;
	width: 100%;
}

table.contact_tbl th span {
	padding: 2px 5px;
	font-size: 11px;
}

table.contact_tbl th:after{
	content: none;
}

.contact_text{
	font-size: 15px;
	line-height: 27px;
}

.contact_rule{
	font-size: 13px;
}

h4.h4_sub{
	margin: 0 auto 5%;
}


}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


.contact_rule{
	
}

.contact_rule ul{
	line-height: normal;
	width: 100%;
}

.contact_rule ul li{
	line-height: normal;
	margin-bottom: 5%;
}

.contact_rule{
	width: 80%;
	margin: 0 auto 5%;
	/*overflow: overlay;*/
	/*height: 300px;*/
}

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media screen and ( max-width:768px ){


}/* ウィンドウ幅が0～700pxの場合に適用するCSS */

/* ウィンドウ幅が0～479pxの場合に適用するCSS */
@media screen and ( max-width:479px ){

.contact_rule {
	width: 90%;
}

.contact_rule ul {
	width: 100%;
}

}/* ウィンドウ幅が0～479pxの場合に適用するCSS */


/*-----------------------------------------------------------------*/
/*サイトマップ*/
/*-----------------------------------------------------------------*/

.sitemap_list{
	width: 80%;
	margin: 0 auto;
}

.sitemap_list li{
	padding: 0 5% 0;
}

.sitemap_list li a{
	padding: 5%;
}
