@charset "utf-8";

/* CSS Document */

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* @font-face { font-family: 'FOT-AnitoStd-M'; src: url(./FOT-AnitoStd-M.otf); } */

/*------------------------------------------------------------------------------------------------------------------
　base style
-------------------------------------------------------------------------------------------------------------------*/

body {	
	color:#000000;
	font-size:16px;
	margin:0;
	height:100%;
	position:relative;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.6;
	overflow-x:hidden;
}

a:link {color:#cf3434; text-decoration:underline;}
a:visited {color:#cf3434; text-decoration:underline;}
a:hover {color:#e59c0e; text-decoration:underline;}

img {
	border:0;
	vertical-align: bottom;
}

@media all and (-ms-high-contrast: none){
	/* IE - Avoid bug that stretches on onload */
	* {
		transition:none !important;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　preparation
-------------------------------------------------------------------------------------------------------------------*/

#lineup-font-size-sampler { display:none; }

div:after, section:after, article:after, ul:after, dd:after {
    content: "";
    display: block;
    clear: both;
}

.link a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
}

/*------------------------------------------------------------------------------------------------------------------
　expression
-------------------------------------------------------------------------------------------------------------------*/

.clear { clear:both; }

.under { margin-bottom:30px !important; }
.under-harf { margin-bottom:15px !important; }

.right { float:right; margin-left:30px; margin-bottom:15px; margin-top:5px;}
.left { float:left; margin-right:30px; margin-bottom:15px; margin-top:5px;}

.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }

.first { padding-top:0 !important; margin-top:0 !important; }
.last { padding-bottom:0 !important; margin-bottom:0 !important; }

.ro img:hover,.ro:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.dropshadow {
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
}

/*------------------------------------------------------------------------------------------------------------------
　img align for wordpress
-------------------------------------------------------------------------------------------------------------------*/

.aligncenter {
    display: block;
    margin: 0 auto;
	padding-bottom:25px;
	max-width:100%;
}
.alignright { float: right; margin-left:30px; margin-bottom:25px; max-width:100%; }
.alignleft { float: left; margin-right:30px; margin-bottom:25px; max-width:100%; }

.aligncenter img, .alignright img, .alignleft img {
	max-width:100%;
	height:auto;
}

@media screen and (max-width: 1140px) {
	.aligncenter {
		display: block;
		margin: 0 auto;
		padding-bottom:25px;
		max-width:100%;
		text-align:center;
	}
	.alignright { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; }
	.alignleft { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; }
}


/*------------------------------------------------------------------------------------------------------------------
　primary
-------------------------------------------------------------------------------------------------------------------*/

#primary {
	width:100%;
	height:100%;
	min-width:1160px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

article {
	width:100%;
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	transition:0.3s;
	box-sizing:border-box;
}



/*------------------------------------------------------------------------------------------------------------------
　mainvisual
-------------------------------------------------------------------------------------------------------------------*/

#mainvisual {
}

#mainvisual .panel {
	background-image:url("../image/mainvisual/01.jpg?upd=20240524");
	background-position:center top;
	background-repeat:no-repeat;
	width:100%;
	height:665px;
	transition:0.3s;
}


/*------------------------------------------------------------------------------------------------------------------
　header
-------------------------------------------------------------------------------------------------------------------*/

header {
	position:absolute;
	top:0;
	left:0;
	width:100%;
}

#subpage header {
	position:relative;
	top:inherit;
	left:inherit;
}

header .header-primary {
	width:100%;
	box-sizing:border-box;
	padding-top:50px;
	padding-bottom:27px;
	min-width:1160px;
}

#subpage header .header-primary {
	padding-top:20px;
}

header h1 {
	font-size:14px;
	color:#000000;
	font-weight:normal;
	margin:0;
	padding:0;
	padding-bottom:30px;
}

#subpage header h1 {
	padding-bottom:15px;
}

header .logo {
	background-image:url(../image/header/logo.png?upd=20240524);
	width:446px;
	height:72px;
	position:relative;
	display:block;
}

header .logo a {
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

header .option {
	position:absolute;
	top:0px;
	right:0;
}

#subpage header .option {
	top:20px;
}

header .option .tel {
	background-image:url(../image/header/tel.png);
	width:375px;
	height:77px;
	position:absolute;
	top:0;
	right:0;
}

header .option .tel a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

header .option p {
	display:none;
}

.top-forcompany {

}

.top-forcompany h2 {
	margin:0;
}

.top-forcompany h2 img {
	
}

/*------------------------------------------------------------------------------------------------------------------
　navi
-------------------------------------------------------------------------------------------------------------------*/

nav {
	width:100%;
	background-image:url(../image/navi/back.png);
	background-repeat:repeat-x;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
}

nav ul {
	list-style:none;
	width:100%;
	max-width:1100px;
	margin:0;
	margin-left:auto;
	margin-right:auto;
	padding:0;
	display:block;
}

nav ul li {
	width:20%;
	height:94px;
	background-position:center top;
	background-repeat:no-repeat;
	position:relative;
	float:left;
	box-sizing:border-box;
	border-left:1px #EBEBEB solid;

}

nav ul li:last-child {
	border-right:1px #EBEBEB solid;
}

nav ul li:hover {
	border-bottom:4px solid #e60012;
}

nav ul li:nth-child(1) { background-image:url(../image/navi/navi01.png); }
nav ul li:nth-child(2) { background-image:url(../image/navi/navi02.png); }
nav ul li:nth-child(3) { background-image:url(../image/navi/navi03.png); }
nav ul li:nth-child(4) { background-image:url(../image/navi/navi04.png); }
nav ul li:nth-child(5) { background-image:url(../image/navi/navi05.png); }

nav ul li a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

/*------------------------------------------------------------------------------------------------------------------
　footer
-------------------------------------------------------------------------------------------------------------------*/

#footer {
	width:100%;
	background-image:url(../image/footer/line.gif);
	background-position:top;
	background-repeat:repeat-x;
	padding-top:64px;
	text-align:center;	
}

#subpage #footer {
	margin-top:60px;
}

#footer h3 {
	font-size:16px;
	color:#000000;
	font-weight:normal;
	margin:0;
	padding:0;
	padding-bottom:30px;
}

#footer .logo {
	background-image:url(../image/header/logo.png);
	width:446px;
	height:72px;
	position:relative;
	display:block;
	margin-left:auto;
	margin-right:auto;
}

#footer .logo a {
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

#footer p {
}

#footer p span {
	font-size:24px;
	color:#005bac;
	font-weight:bold;
}

#footer .cc {
	background-image:url(../image/footer/cc-back.gif);
	width:100%;
	height:60px;
	text-align:center;
	line-height:60px;
	color:#ffffff;
	margin-top:50px;
}

.topback a {
	position:absolute;
	bottom:0;
	right:0;
	background-image:url(../image/footer/topback.png);
	width:100px;
	height:100px;
	display:block;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
	transition:0.3s;
}

.topback a:hover {
	bottom:10px;
}

/*------------------------------------------------------------------------------------------------------------------
　additional
-------------------------------------------------------------------------------------------------------------------*/

#contents-primary {
	position:relative;
}

#contents {
	position:relative;
}

table ul {
	margin-bottom: 0;
}

table ul li {
	margin-left:-15px;
	
}

table tr td img.tdright {
	float:right;
	margin-bottom: 0;
}

table dl dd {
	margin:0 auto 30px 0;
}



/*----------------------------------------------------------------------------
   home
------------------------------------------------------------------------------*/

.top-about {
	background-image:url(../image/contents/top/about-back.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	width:100%;
	height:460px;
}

.top-about .text {
	background-image:url(../image/contents/top/about-text.png?upd=20240527);
	width:637px;
	height:278px;
	position:absolute;
	top:80px;
	left:0;
}

.top-about .text h2, .top-about .text p, .top-about .text ul {
	display:none;
}

.top-about .photo {
	background-image:url(../image/contents/top/about-photo.jpg);
	width:420px;
	height:280px;
	position:absolute;
	top:80px;
	right:0;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

.top-characteristic {
	background-image:url(../image/contents/top/point-back.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	width:100%;
	height:570px;
	padding-top:60px;
	box-sizing:border-box;
}

.top-characteristic h2 {
	background-image:url(../image/contents/top/point-title.png);
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	display:block;
	width:476px;
	height:39px;
	margin-bottom:60px;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

.top-characteristic ul {
	width:calc(100% + 42px);
	list-style:none;
	margin:0;
	padding:0;
}

.top-characteristic ul li {
	width:340px;
	height:340px;
	margin-right:40px;
	float:left;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.19);
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.19);
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.19);
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}

.top-characteristic ul li:nth-child(1) { background-image:url(../image/contents/top/point-list01_20250204.png); }
.top-characteristic ul li:nth-child(2) { background-image:url(../image/contents/top/point-list02.png); }
.top-characteristic ul li:nth-child(3) { background-image:url(../image/contents/top/point-list03.png); }

.top-button-primary {
	padding-top: 30px;
	padding-bottom: 30px;
}

.top-button-primary	.pdf-button a {
	display: block;
	width: 420px;
	margin-left: auto;
	margin-right: auto;
	color: #ffffff;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #e63333;
	background-image: url("../image/pdf.png");
	background-position: left 12px center;
	background-repeat: no-repeat;
	text-decoration: none;
	font-size: 20px;
	text-indent: 24px;
	position: relative;
	transition: 0.2s;
}

.top-button-primary	.pdf-button a:hover {
	background-color: #ff6868;
}

.top-button-primary	.pdf-button a:after {
	content: "▶";
	color: #ffffff;
	font-size: 11px;
	position: absolute;
	top: 21px;
	right: 18px;
	display: block;
	transition: 0.2s;
}

.top-button-primary	.pdf-button a:hover:after {
	right: 13px;
}

/*----------------------------------------------------------------------------
   subpage
------------------------------------------------------------------------------*/

#subpage #contents {
	margin-bottom:20px;
}

#subpage article {
	
}

#subpage h2 {
	margin:30px auto;
	font-size: 1.5em;
	padding:30px 0 30px 40px;
	color: rgba(255,255,255,1.00);
	background: rgb(30,87,153); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(30,87,153,1) 0%, rgba(41,137,216,1) 50%, rgba(32,124,202,1) 51%, rgba(125,185,232,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */
}


#subpage table th {
	width:20%;	
}

#subpage p.tabletext {
	margin:30px 0;
	
}

/*----------------------------------------------------------------------------
   works
------------------------------------------------------------------------------*/

.workstext {
	width:100%;
	heght:100%;
	margin-top:30px;
	margin-bottom:30px;
	
}

.workstext .imgarea {
	width:100%px;
	margin:0 auto;
}

.workstext .imgarea img.left {
	margin:20px 20px 0 0;
}

.workstext .imgarea img.right {
	margin:20px 0 0 0 ; 
}


/*----------------------------------------------------------------------------
   recruit
------------------------------------------------------------------------------*/

.circle {
	width:100px;
	height:100px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	float:left;
	margin-right:30px;
}

.circleblue {
	background-color:#C1F8F7;
}

.circlegreen {
	background-color:#C9F5CD;
}

.circletext {
	line-height:100px;
	color:#000;
	text-align:center;
	
}

dl dd.oneline {
	margin-bottom:30px;
	line-height:100px;
}

dl dd.twoline {
	padding-top:20px;
	line-height:30px;
}

.maplead a {
	display:block;
	width:250px;
	height:50px;
	text-align:center;
	line-height:50px;
	background-color:rgb(30,87,153);
	float:right;
	text-decoration: none;
	color:#fff;
	position:relative;
	transition:0.3s;
}

.maplead a:after {
	content:"〉";
	position:absolute;
	top:0;
	right:10px;
}

.maplead a:hover {
	text-decoration: none;
	color:#fff;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.contactlead a {
	display:block;
	width:auto;
	height:100px;
	margin:50px auto;
	text-align:center;
	line-height:100px;
	background-color:#9BF1ED;
	color:#fff;	
	font-size:1.5em;
	border-radius: 1em;
	-webkit-border-radius: 1em;
	-moz-border-radius: 1em;
	background: rgb(201,40,40); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(201,40,40,1) 0%, rgba(242,133,133,1) 51%, rgba(234,126,126,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(201,40,40,1) 0%,rgba(242,133,133,1) 51%,rgba(234,126,126,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(201,40,40,1) 0%,rgba(242,133,133,1) 51%,rgba(234,126,126,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c92828', endColorstr='#ea7e7e',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	text-decoration: none;	
	font-weight: bold;
	position:relative;	
}

.contactlead a:after {
	content:"〉";
	position:absolute;
	top:0;
	left:850px;
}

.contactlead a:hover {
	text-decoration: none;
	color:#fff;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

img.recruitimg {
		margin:0;
}

/*----------------------------------------------------------------------------
   company
------------------------------------------------------------------------------*/

#companytable {
	width:720px;
	float:left;
}

#companytable th {
	width:250px;	

}

img.companyright {
	float:right;
	margin:0 0 16px 30px;
}

/*----------------------------------------------------------------------------
   entry
------------------------------------------------------------------------------*/

.entry-info p {
	text-align:center;
	margin-top:30px;
}

.entry-lead a {
	display:block;
	width:900px;
	height:100px;
	margin:50px auto;
	text-align:center;
	line-height:100px;
	background-color:#9BF1ED;
	color:#fff;	
	font-size:1.5em;
	border-radius: 1em;
	-webkit-border-radius: 1em;
	-moz-border-radius: 1em;
	background: rgb(201,40,40); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(201,40,40,1) 0%, rgba(242,133,133,1) 51%, rgba(234,126,126,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(201,40,40,1) 0%,rgba(242,133,133,1) 51%,rgba(234,126,126,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(201,40,40,1) 0%,rgba(242,133,133,1) 51%,rgba(234,126,126,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c92828', endColorstr='#ea7e7e',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	text-decoration: none;	
	font-weight: bold;
	position:relative;	
}

.entry-lead a:after {
	content:"〉";
	position:absolute;
	top:0;
	left:820px;
}

.entry-lead a:hover {
	text-decoration: none;
	color:#fff;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}