wrap-nav@import url('https://fonts.googleapis.com/css?family=Oswald:400,500,600,700');
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("http://fontawesome.io/assets/font-awesome/css/font-awesome.css");

@font-face {
	font-family: CONDENSEicon;
	src: url("CONDENSEicon.eot");
}

@font-face {
	font-family: CONDENSEdesignicon;
	src: url("../font/CONDENSEdesignicon.eot");
}

@font-face {
		font-family: 'CONDENSEicon';
		src:url('../font/CONDENSEicon.woff') format('woff'),
				url('../font/CONDENSEicon.otf') format('opentype');
}
@font-face {
		font-family: 'CONDENSEdesignicon';
		src:url('../font/CONDENSEdesignicon.woff') format('woff'),
				url('../font/CONDENSEdesignicon.otf') format('opentype');
}

.f_notosansjapanese {
	font-family: "Noto Sans Japanese";
}


@charset "UTF-8";

@media screen and (max-width: 667px) {
html.sp-gnav-open {
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
body { min-width: 2px; }
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, button, figure, figcaption
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
input, textarea, select
{ /*-webkit-appearance: none;*/}
textarea
{ resize: none;}
button
{ border: none; overflow: visible; background: none; vertical-align: top;	font-size: 100%; color: inherit; cursor: pointer; -webkit-appearance: none;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
address, caption, code, em, th
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6, strong, em
{ font-size: 100%; font-weight: normal;}
a, input
{/* outline: none; -webkit-tap-highlight-color:rgba(0,0,0,0);*/}
sup, sub
{ font-size: 63%;}
sup
{ vertical-align: top;}
sub
{ vertical-align: baseline;}
*
{ box-sizing: border-box; -webkit-box-sizing: border-box;}

/* ==========================================================
 wrapper
========================================================== */
.wrapper {
	width: 100%;
	height: 100%;
	min-width:1200px;
	margin: 0 auto;
	overflow: hidden;
}
@media screen and (max-width: 667px) {
.wrapper {
	min-width:100%;
}
.sp-gnav-open .wrapper {
	position:relative;
}
.sp-gnav-open .wrapper:before {
	content: '';
	position:absolute;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_pattern_red.png) 0 0 repeat;
	background-size: 18px auto;
}
}
/* ==========================================================
 header
========================================================== */
.header {
	position: relative;
	width: 100%;
}
.header-fixed {
	display: none;
	position:fixed;
	width: 100%;
	z-index: 99;
	height: 60px;
}
	.header-fixed .header-in { 
		background-color:#fff;
		border-bottom: 3px solid #e62e2e;
		position: relative;
	}
	.header-fixed .header-box { padding-top: 10px; }
	.header-fixed .nav-global .nav { padding-bottom: 18px; }
	.header-in {
		position: absolute;
		z-index: 2;
		left: 0;
		right: 0;
		top: 0;
		
	}
	.header-box {
		width: 1100px;
		margin: 0 auto;
		padding-top: 32px;
		padding-bottom: 0px;
		text-align: left;
	}
	.header-box.low {
		padding-top: 10px;
	}

	.header-logo {
		width: 140px;
		float: left;
		margin-left: 20px;
	}
	.menu_recruit_sp img{
		width:90px;
		position: absolute;
		right:60px;
	}
	.nav-global {
		width: 825px;
		float:left;
		margin: 10px 0 0 85px;
	}
		.nav-global ul {}
			.nav-global .nav {
				display:inline-block;
				/*
				margin-right: 88px;
				margin-right: 75px;
				*/
				margin-right: 68px;
				padding-bottom: 23px;
				cursor: pointer;
			}
			.nav-global .nav:nth-child(6){
				margin-right: 0;
			}
				.nav-global .nav .link {
					text-align:center;
					letter-spacing: 1px;
					font-weight: bold;
					font-size: 16px;
					color: #252c33;
				}
				.nav-global .nav .link:hover {
					text-decoration: none;
				}
					.nav-global .nav .link span {
						display: block;
						font-weight: normal;
						font-size: 10px;
						color:#e52c2c;
						font-family: 'Oswald', sans-serif;
					}
				.nav-global .ico-link {
					display:none;
				}
.slide-line {
	position: absolute;
	bottom: 0;
	height: 5px;
	background-color: #e73434;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	pointer-events: none;
	/*
	cursor: pointer;
	*/
}
@media screen and (max-width: 667px) {
.header {
	position: static;
	background-color: red;
}
	.header-fixed .header-box { padding: 0;}
	.header-in {
		position: fixed;
		z-index: 99;
	}
	.header-box {
		position: static;
		width: 100%;
		padding-top: 0;
	}
	.header-box.low {
		padding-top: 0;
	}
	
	.header-main {
		position: relative;
		z-index: 5;
		overflow: hidden;
		background-color:#fff;
		height: 60px;
		background-image: url(../img/header_line_sp.png);
		background-repeat: no-repeat;
		
	}
	.header-logo {
		width: 140px;
		float: left;
	}
	.header-logo img {
		width: 140px;
		padding: 20px 0 20px 10px;
	}
	.nav-global {
		overflow-y: scroll;
		position: fixed;
		z-index: 3;
		top: 0;
		height: 100%;
		right: -100%;
		display: block;
		width: 100%;
		float: none;
		margin: 0;
		background: transparent;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.sp-gnav-open .nav-global {
		right: 0;
	}
	.nav-global .wrap-nav {
		position: relative;
	}
		.nav-global ul {
			position:relative;
			padding: 1px 20px 1px;
			background-color:#13448F;
			/*
			background: url(../img/bg_pattern_red.png) 0 0 repeat;
			background-size: 18px auto;
			*/
		}
			.nav-global .nav {
				position: relative;
				display: block;
				margin-right: 0;
				padding-bottom: 0;
				border-bottom:1px solid #cccccc;
			}
			.nav-global .nav.home {
				border-top: 1px solid #cccccc;
			}
			.nav-global .nav:last-child {
				margin: 0 0 180px;
			}
				.nav-global .nav .link {
					display: block;
					padding: 25px 0;
					text-align: left;
					letter-spacing: 1px;
					font-weight: bold;
					font-size: 15px;
					color: #fff;
				}
				.nav-global .nav .link:hover {
					text-decoration: none;
				}
					.nav-global .nav .link span {
						display: none;
						font-weight: normal;
						font-size: 10px;
						color:#e52c2c;
						font-family: 'Oswald', sans-serif;
					}
.header-utility {
	width: 60px;
	float:right;
}
.header-box .list-menu {
	overflow:hidden;
}
	.header-box .list-menu li {
		width: 60px;
		float:left;
	}
		.header-box .list-menu li a {
			display:block;
			height: 60px;
			border-left:1px solid #ddd;
			text-align:center;
			color: #e62e2e;
			text-decoration:none;
		}
		.header-box .list-menu li a:hover {
			text-decoration:none;
		}
			.header-box .list-menu li a .fa-address-card {
				display:block;
				padding: 13px 0 5px;
				font-size: 20px;
				text-align:center;
			}
			.header-box .list-menu .btn-menu a {
				width: 60px;
				display:inline-block;
				background: url(../img/ico_menu.jpg) 0 0 no-repeat;
				background-size: 60px 60px;
				-webkit-transition: all 0.3s ease;
				-moz-transition: all 0.3s ease;
				transition: all 0.3s ease;
				position: absolute;
				top:0;
			}
			.sp-gnav-open .header-box .list-menu .btn-menu a {
				background: url(../img/ico_close.jpg) 0 0 no-repeat;
				background-size: 60px 60px;
				-webkit-transition: all 0.3s ease;
				-moz-transition: all 0.3s ease;
				transition: all 0.3s ease;
			}
				.header-box .list-menu li a .menu img {
					width: 100%;
				}
			.header-box .list-menu li a .text {
				font-size: 10px;
				color: #252e33;
				font-weight: bold;
			}

.nav-global .ico-open {
	content: 'ñ';
	position:absolute;
	top: 0;
	right: 0;
	z-index: 99;
	display:block;
	padding-left: 20px;
	color:#fff;
	width: 100%;
	height: 55px;
	line-height: 55px;
	text-align: center;
	font-family: CONDENSEicon;
}
	.nav-global .ico-open span {
		position:relative;
		display:block;
		width: 100%;
		height: 100%;
	}
	.nav-global .ico-open span:before {
		content: 'ï';
		position: absolute;
		right: 8px;
		font-family: CONDENSEicon;
	}
	.nav-global .ico-open.is-active span:before {
		content: 'ñ';
		font-family: CONDENSEicon;
	}
.nav-global .ico-link {
	position:absolute;
	top: 0;
	right: 0;
	z-index: 99;
	display:block;
	padding-left: 20px;
	color:#fff;
	width: 48px;
	height: 55px;
	line-height: 55px;
	text-align: center;
	font-family: CONDENSEicon;
	pointer-events: none;
}
.nav-global .is-active.ico-open {
	content: 'ñ';
	font-family: CONDENSEicon;
}
.slide-line {display:none;}
			
}
/* ==========================================================
 megamenu
========================================================== */

@media screen and (max-width: 667px) {
.wrap-megamenu {
	display:none;
	position: relative;
	top: 0;
	background: none;
}
	.wrap-megamenu .inner {
		width: 100%;
		padding-bottom: 0;
	}
		.wrap-megamenu .inner .title {
			display:none;
		}
	.wrap-megamenu .list {
		display: block;
		margin-top: 0;
	}
		.wrap-megamenu .list .item {
			display: block;
			width: 100%;
			margin: 0;
		}
			.wrap-megamenu .list .item .link {
				background-color: transparent;
				height: auto;
				line-height: 1.2;
				padding: 17px 0;
				border-bottom:none;
			}
			.wrap-megamenu .list .item:nth-child(odd) .link {
				background: #265B9B;
			}
				.wrap-megamenu .list .item figure {
					display:none;
				}
				.wrap-megamenu .list .item .text {
					display:block;
					width: 100%;
					background-color: transparent;
					height: auto;
					top: 0;
					padding: 0 0 0 10px;
					color: #fff;
					font-size: 15px;
				}
	.wrap-megamenu .list-02 {
		display: none;
	}
}
/* ==========================================================
 contents
========================================================== */
.contents {
	margin: 0 auto;
	text-align: left;
}
.contents-main {}
	.contener-01 {
		width: 1100px;
		margin: 0 auto;
	}
@media screen and (max-width: 667px) {
.contents {}
.contents-main {}
	.contener-01 {
		width: 100%;
	}
}

/* ==========================================================
 grid
========================================================== */
/* grid-cmn
---------------------------------------------------------- */
.grid-cmn {
}
	.grid-cmn > .col {
	}
/* ==========================================================
 area
========================================================== */
/* area-cmn
---------------------------------------------------------- */
.area-cmn {
}
/* ==========================================================
 section
========================================================== */
/* sec-cmn
---------------------------------------------------------- */
.sec-cmn-01 {
}
/* section last margin */
section:last-of-type {
	margin-bottom: 0;
}
/* ==========================================================
 box
========================================================== */
/* box-cmn
---------------------------------------------------------- */
.box-cmn {
}
/* ==========================================================
 hero
========================================================== */
/* hero-cmn
---------------------------------------------------------- */
.hero-cmn {
}
/* ==========================================================
 module
========================================================== */

/* ==========================================================
 title
========================================================== */
/* ttl-cmn-01
---------------------------------------------------------- */
.ttl-cmn-01 {
	margin-bottom: 44px;
	font-size: 53px;
	display:inline-block;
	line-height: 1.4;
	font-weight: bold;
	font-style: italic;
	letter-spacing: 0.05em;
	font-family: 'Oswald', sans-serif;
}
.ttl-cmn-01.style-01 {
	font-style: normal;
}
.ttl-cmn-01.s {
	font-size: 48px;
}
.ttl-cmn-01.se {
	font-size: 50px;
}
	.ttl-cmn-01 span {
		display:block;
		font-style: normal;
		font-size: 16px;
		text-align:center;
		font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	}
	.ttl-cmn-01 span.en_col {
		display:inline-block;
		font-weight: bold;
		font-style: italic;
		font-size: 53px;
		font-family: 'Oswald', sans-serif;
		color: #E52D2D;
	}
	.ttl-cmn-01.se span.en_col {
		font-size: 50px;
		color: #92BF00;
	}
	.ttl-cmn-01.s span.en_col {
		font-size: 48px;
	}

@media screen and (max-width: 667px) {
.ttl-cmn-01 {
	margin-bottom: 18px;
	font-size: 30px;
}
.ttl-cmn-01.style-01 {
	font-style: normal;
}
.ttl-cmn-01.s {
	font-size: 30px;
}
.ttl-cmn-01.se {
	font-size: 30px;
}
.ttl-cmn-01.color-01 {
	color:#fff;
}
	.ttl-cmn-01.color-01 span {
		color: #fff;
	}
	
	.ttl-cmn-01 span {
		padding-top: 5px;
		font-size: 11px;
	}
	.ttl-cmn-01 span.en_col {
		padding: 0;
		font-style: italic;
		font-size: 30px;
		color: #E52D2D;
	}
	.ttl-cmn-01 span.en_col.w {
		color: #FFF;
	}
	.ttl-cmn-01.se span.en_col {
		font-size: 30px;
		color: #92BF00;
	}
	.ttl-cmn-01.s span.en_col {
		font-size: 30px;
	}
	
}
/* ttl-cmn-02
---------------------------------------------------------- */
.ttl-cmn-02 {
}
/* ttl-cmn-03
---------------------------------------------------------- */
.ttl-cmn-03 {
}
/* ==========================================================
 text
========================================================== */
/* txt-cmn
---------------------------------------------------------- */
.txt-cmn {
}
/* ==========================================================
 list
========================================================== */
/* list-cmn
---------------------------------------------------------- */
.list-cmn {
}
	.list-cmn li {
	}
/* ==========================================================
 table
========================================================== */
/* table-cmn
---------------------------------------------------------- */
.table-cmn {
}
	.table-cmn th,
	.table-cmn td {
	}
	.table-cmn th {
	}
	.table-cmn td {
	}
/* ==========================================================
 button
========================================================== */
/* btn-cmn
---------------------------------------------------------- */
.btn-cmn-01 {
	position:relative;
	display: block;
	width: 220px;
	margin: 0 auto;
	padding: 16px 0;
	border: 1px solid #e62e2e;
	color: #e62e2e;
	line-height: 1.6;
	text-align: center;
	font-weight: bold;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}
.btn-cmn-01.type-01 {
	border: 1px solid #6f9300;
	color: #336633;
	font-size: 15px;
}
.btn-cmn-01.type-01:hover {
	border: 1px solid #6f9300;
	color: #fff;
	background-color:#6f9300;
}
.btn-cmn-01:hover {
	text-decoration:none;
	border: 1px solid #e62e2e;
	color: #fff;
	background-color:#e62e2e;
}
	.btn-cmn-01 span {
		position: absolute;
		right: 19px;
		top: 20px;
		font-size: 11px;
		font-family: CONDENSEicon;
	}
@media screen and (max-width: 667px) {
.btn-cmn-01 {
	position:relative;
	display: block;
	width: 220px;
	margin: 0 auto;
	padding: 14px 0;
	border: 1px solid #e62e2e;
	color: #e62e2e;
	line-height: 1.6;
	text-align: center;
	font-weight: bold;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}
.btn-cmn-01.color-01 {
	border: 1px solid #fff;
	color: #fff;
}
.btn-cmn-01.type-01 {
	border: 1px solid #6f9300;
	color: #6f9300;
}
.btn-cmn-01.type-01:hover {
	border: 1px solid #6f9300;
	color: #fff;
	background-color:#6f9300;
}
.btn-cmn-01:hover {
	text-decoration:none;
	border: 1px solid #e62e2e;
	color: #fff;
	background-color:#e62e2e;
}
	.btn-cmn-01 span {
		position: absolute;
		right: 26px;
		top: 20px;
		font-size: 11px;
		font-family: CONDENSEicon;
	}
}
/* pagetop
---------------------------------------------------------- */
.btn-cmn-pagetop {
	position: fixed;
	z-index: 2;
	display: block;
	right: 30px;
	bottom: 30px;
	text-align: right;
	width: 80px;
	height: 80px;
	background-color: rgba(37, 46, 51, 0.5);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
	.btn-cmn-pagetop a {
		display:block;
		line-height: 80px;
		color:#fff;
		text-align:center;
		font-size: 25px;
	}
@media screen and (max-width: 667px) {
.btn-cmn-pagetop {
	left: -500px;
	right: auto;
	display:none;
}
}


/* sp
---------------------------------------------------------- */
@media screen and (max-width: 667px) {
.only-pc,
.no-sp { display: none !important;}
.only-sp,
.no-pc  { display: block !important;}
img.only-sp,
img.no-pc { display: inline-block !important;}
}

