@charset "utf-8";

/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face { font-family: 'NotoSerifCJKjp-Regular'; src:url(NotoSerifCJKjp-Regular.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:none;}
a:visited {color:#cf3434; text-decoration:none;}
a:hover {color:#e59c0e; text-decoration:none;}

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

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

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

div:after, section:after, article:after, ul: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; display:block; }
	.alignleft { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; display:block; }
}

@media screen and (max-width: 1140px) {
}

/*------------------------------------------------------------------------------------------------------------------
　wp-pagenavi
-------------------------------------------------------------------------------------------------------------------*/

.wp-pagenavi {
	border-top:#d1d1d1 3px double;
	margin-top:40px;
	padding-top:40px;
	padding-bottom:40px;
	display:block !important;
	clear:both !important;
	text-align:center;
}

.wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend {
		color:#333333 !important;
		text-shadow:0px 1px #F6F6F6 !important;
		padding:6px 12px 8px 12px !important;
		border:solid 1px #fedcd2 !important;
		box-shadow:0px 1px #EFEFEF !important;
		-moz-box-shadow:0px 1px #EFEFEF !important;
		-webkit-box-shadow:0px 1px #EFEFEF !important;
		background:#fedcd2 !important;
		background:-moz-linear-gradient(top,#fedcd2 1px,#F3F3F3 1px,#fedcd2) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#fedcd2),color-stop(0.02,#fedcd2),color-stop(1,#fedcd2)) !important;
		font-size:12px !important;
		margin-right:3px !important;
		text-decoration:none !important;
}	
.wp-pagenavi a:hover {
		color:#fff !important;
		text-shadow:0px 1px #de744c !important;
		border-color:#de744c !important;
		background:#de744c !important;
		background:-moz-linear-gradient(top,#de744c 1px,#de744c 1px,#de744c) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#de744c),color-stop(0.02,#de744c),color-stop(1,#de744c)) !important;
		color:#FFFFFF !important;
		box-shadow:0px 1px #E7E7E7 !important;
		-moz-box-shadow:0px 1px #E7E7E7 !important;
		-webkit-box-shadow:0px 1px #E7E7E7 !important;

}
 .wp-pagenavi span.current{
		padding:4px 12px 8px 12px !important;
		border:solid 1px #DCDCDC !important;
		color:#fff !important;
		font-size:14px;
		box-shadow:0px 1px #E7E7E7 !important;
		-moz-box-shadow:0px 1px #E7E7E7 !important;
		-webkit-box-shadow:0px 1px #E7E7E7 !important;
		margin-right:3px !important;
		text-shadow:0px 1px #de744c !important;
		border-color:#de744c !important;
		background:#de744c !important;
		background:-moz-linear-gradient(top,#de744c 1px,#de744c 1px,#de744c) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#de744c),color-stop(0.02,#de744c),color-stop(1,#de744c)) !important;
}

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

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

@media screen and (max-width: 640px) {
	#primary {
		width:640px;
		overflow-x:hidden;
	}
}

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

@media screen and (max-width: 1230px) {
	article {
		width:100%;
		padding-left:30px;
		padding-right:30px;
	}
	article > nav {
        margin-left: -20px;
	}
}


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

header {
	width:100%;
	height:104px;
	position:fixed;
	top:0;
	left:0;
	box-sizing:border-box;
	border-bottom:1px solid #dbdbdb;
	background-color:#ffffff;
	z-index:99;
}

header .header-primary {
	width:100%;
	max-width:1200px;
	display:block;
	margin-left:auto;
	margin-right:auto;
}

header .header-primary h1 {
	background-image:url(../image/header/logo.png);
	width:230px;
	height:50px;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
	position:relative;
	top:5px;
	transition:0.3s;
}

header .header-primary h1 a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
}

@media screen and (max-width: 960px) {
	header .header-primary h1 {
		margin:0;
		padding:0;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:20px;
		top:10px;
	}
}

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

#mainvisual {
	width:100%;
	padding-top: 108px;
	padding-bottom: 60px;
	position: relative;
	border-bottom: 1px solid #000000;
}

#mainvisual .slider-primary {
	max-width: 1210px;
	width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}

#mainvisual .slider-primary .panel {
	max-width: 1210px;
	width: 100%;
	height: 0;
	padding-top: 39.8347%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}

#mainvisual .slider-primary .panel:nth-child(1) { background-image: url("../image/mainvisual/01.png?v2"); }
#mainvisual .slider-primary .panel:nth-child(2) { background-image: url("../image/mainvisual/02.png?v2"); }
#mainvisual .slider-primary .panel:nth-child(3) { background-image: url("../image/mainvisual/03.png?v2"); }

#mainvisual .back {
	background-image:url(../image/mainvisual/back.jpg);
	background-position:center bottom;
	background-repeat:no-repeat;
	width:1920px;
	height:918px;
	position:absolute;
	left:50%;
	margin-left:-960px;
	display: none;
}

#mainvisual .comment {
	background-image:url(../image/mainvisual/comment.png);
	max-width:1048px;
	width: 100%;
	height:133px;
	position:relative;
	margin-left: auto;
	margin-right: auto;
	z-index:4;
	transition:0.3s;
}

#mainvisual .comment p {
	display:none;
}

#mainvisual .comment .more-button {
	background-image:url(../image/mainvisual/more.png);
	width:205px;
	height:75px;
	display:block;
	position:absolute;
	top:28px;
	right:30px;
	transition:0.3s;
}

@media screen and (max-width: 880px) {
	#mainvisual .comment .more-button {
		display:none;
	}
}

#mainvisual .comment .more-button:hover {
	background-image:url(../image/mainvisual/more_on.png);
}

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

#mainvisual .scroll {
	background-image:url(../image/mainvisual/scroll.png);
	width:60px;
	height:75px;
	position:absolute;
	display:block;
	left:50%;
	margin-left:-21px;
	bottom:-40px;
	z-index:3;
	transition:0.3s;
}

#mainvisual .scroll:hover {
	bottom:-45px;
}

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

#subpage #mainvisual {
	background-image:url(../image/mainvisual/header-back_old.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	width:100%;
	height:218px;
	top:104px;
	position:absolute;
}

#subpage.recruit #mainvisual {
	background-image:url(../image/mainvisual/header-back.jpg);
}

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

header nav {
	position:absolute;
	top:-21px;
	right:0;
	max-width:850px;
	width:100%;
}

header nav ul {
	list-style:none;
	margin:0;
	padding:0;
	text-align:center;
	width:100%;
}

@media screen and (max-width: 960px) {
	header nav {
		position:relative;
		top:inherit;
		right:inherit;
		width:111%;
		max-width:none;
		box-sizing:border-box;
	}
	header nav ul {
		text-align:center;
	}
}

header nav ul li a {
	display:block;
	width:16%;
	height:103px;
	line-height:103px;
	box-sizing:border-box;
	float:left;
	border-bottom:2px solid #ffffff;
}

@media screen and (max-width: 960px) {
	header nav ul li a {
		height:inherit;
		line-height:inherit;
	}
}

@media screen and (max-width: 730px) {
	header nav ul li {
		margin-left:15px;
		margin-right:15px;
	}
}

header nav ul li a:hover {
	border-bottom:2px solid #f8b80b;
}

header nav ul li a {
	text-decoration:none !important;
	font-size:15px !important;
	color:#000000 !important;
}

@media screen and (max-width: 640px) {
	header nav ul li a {
		font-size:16px !important;
	}
}


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

#footer {
	width:100%;
	min-height:460px;
	box-sizing:border-box;
	overflow:hidden;
	padding-top:65px;
	padding-bottom:70px;
	position:relative;
	background-color:#f5f5f5;
	background-position:top left;
	background-repeat:no-repeat;
}

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

@media screen and (max-width: 1250px) {
	#footer article {
		padding-left:30px;
		padding-right:30px;
	}
}

#footer .footer-company {
	width:55%;
	float:left;
	position:relative;
	box-sizing:border-box;
	padding-right:80px;
	transition:0.3s;
}

@media screen and (max-width: 1250px) {
	#footer .footer-company {
		padding-right:30px;
	}
}

@media screen and (max-width: 1050px) {
	#footer .footer-company {
		width:100%;
		float:none;
		padding-right:0;
	}
}

#footer .footer-company:before {
	content:"";
	position:absolute;
	width:1px;
	height:100%;
	top:0;
	right:0;
	display:block;
	background-color:#ffffff;
}

#footer .footer-company:after {
	content:"";
	position:absolute;
	width:1px;
	height:100%;
	top:0;
	right:1px;
	display:block;
	background-color:#d2d2d2;
}

@media screen and (max-width: 1050px) {
	#footer .footer-company:before, #footer .footer-company:after {
		display:none;
	}
}

#footer .footer-company p {
	font-size:13px;
	margin:0;
	padding:0;
	padding-bottom:27px;
	letter-spacing:-1px;
}

@media screen and (max-width: 1050px) {
	#footer .footer-company p {
		font-size:16px;
		padding-right:30px;
	}
}

#footer .footer-company .logo {
	background-image:url(../image/footer/logo.png);
	width:296px;
	height:63px;
	margin:0;
	padding:0;
	margin-bottom:27px;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

#footer .footer-company .option {
	width:100%;
	background-color:#ffffff;
	border-radius:10px;
	position:relative;
	box-sizing:border-box;
	padding:22px;
}

#footer .footer-company .option p {
	margin:0;
	padding:0;
	line-height:24px;
}

@media screen and (max-width: 1050px) {
	#footer .footer-company .option p {
		padding-right:0;
	}
}

#footer .footer-company .option p a {
	font-size:24px !important;
	color:#2da6e0 !important;
	font-weight:bold;
	text-decoration:none !important;
}

#footer .footer-company .option .button {
	width:204px;
	height:48px;
	background-image:url(../image/footer/arrow.png);
	background-color:#eeeeee;
	background-position:top 14px right 13px;
	background-repeat:no-repeat;
	position:absolute;
	top:24px;
	right:24px;
	display:block;
	transition:0.3s;
}

#footer .footer-company .option .button:hover {
	background-position:top 14px right 8px;
}

@media screen and (max-width: 1050px) {
	#footer .footer-company .option .button {
		height:60px;
		top:18px;
		background-position:top 20px right 13px;
	}
	#footer .footer-company .option .button:hover {
		background-position:top 20px right 8px;
	}
}

#footer .footer-company .option .button a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:48px;
	display:block;
	color:#000000;
	text-decoration:none;
	text-align:center;
	font-size:15px;
	text-indent:-28px;
	line-height:47px;
}

@media screen and (max-width: 1050px) {
	#footer .footer-company .option .button a {
		height:60px;
		line-height:60px;
		text-indent:-32px;
		font-size:18px;
	}
}

#footer nav {
	width:45%;
	float:right;
	padding-left:80px;
	box-sizing:border-box;
}

@media screen and (max-width: 1250px) {
	#footer nav {
		padding-left:30px;
	}
}

@media screen and (max-width: 1050px) {
	#footer nav {
		width:100%;
		float:none;
		padding-left:0;
		display:none;
	}
}

#footer nav ul {
	list-style:none;
	margin:0;
	padding:0;
	width:50%;
	float:left;
}

#footer nav a {
	color:#000000;
	font-size:14px;
	text-decoration:none;
}

#footer nav a:hover {
	text-decoration:underline;
}

#footer nav ul li {
	position:relative;
	padding-left:22px;
	padding-bottom:10px;
	display:block;
}

#footer nav ul li:before {
	content:"";
	background-image:url(../image/footer/list-ar01.gif);
	width:13px;
	height:13px;
	display:block;
	position:absolute;
	top:7px;
	left:0;
}

#footer nav ul li ul {
	margin-top:0;
	margin-left:-5px;
	padding-top:8px;
	float:none;
	width:100%;
}

#footer nav ul li ul li:before {
	background-image:url(../image/footer/list-ar02.gif);
}

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

.topback a:hover {
	bottom:0;
}

#footer #cc {
	background-color:#f8b500;
	position:absolute;
	bottom:0;
	left:0;
	border-top:3px solid #ffffff;
	width:100%;
	height:70px;
	line-height:70px;
	text-align:center;
	color:#ffffff;
	font-size:14px;
}

@media screen and (max-width: 1050px) {
	#footer #cc {
		text-align:left;
		padding-left:30px;
		font-size:12px;
	}
}

.subpage-footer-nav {
}

.subpage-footer-nav ul {
	list-style:none;
	margin:0;
	padding:0;
	width:calc(100% + 30px);
}

.subpage-footer-nav ul li a {
	width:calc(25% - 30px);
	margin-right:30px;
	box-sizing:border-box;
	border:1px solid #2da6e0;
	background-image:url(../image/layout/arrow01_padding.png);
	background-position:right;
	background-repeat:no-repeat;
	display:block;
	float:left;
	border-radius:5px;
	padding:30px;
	text-decoration:none;
	color:#2da6e0;
	font-size:18px;
	font-weight:bold;
	text-align:center;
	text-indent:-30px;
	transition:0.3s;
}

@media screen and (max-width: 1200px) {
	.subpage-footer-nav ul li a {
		width:calc(50% - 30px);
		margin-bottom:30px;
	}
	.subpage-footer-nav ul li:last-of-type a {
		margin-bottom:0;
	}
}

@media screen and (max-width: 640px) {
	.subpage-footer-nav ul {
		width:100%;
	}
	.subpage-footer-nav ul li a {
		width:100%;
		margin-bottom:30px;
	}
}

.subpage-footer-nav ul li a:hover {
	background-color:#2da6e0;
	background-image:url(../image/layout/arrow01_padding_hover.png);
	color:#ffffff;
	text-indent:-20px;
}


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

#contents-primary {
	position:relative;
}

#subpage #contents-primary {
	padding-top:320px;
	padding-bottom:70px;
}

#contents {
	position:relative;
}

#subpage #contents h2 {
	position:relative;
	width:490px;
	height:133px;
	background-color:#f8b500;
	text-align:center;
	color:#ffffff;
	font-size:30px;
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:50px;
	padding-top:27px;
	box-sizing:border-box;
	display:block;
	font-weight:normal;
	top:-30px;
}

#subpage #contents h2 span {
	display:block;
	font-size:16px;
}

#subpage #contents h3 {
	font-size:24px;
	margin:0;
	padding:0;
	display:block;
	position:relative;
	text-align:center;
	margin-bottom:50px;
}

#subpage #contents h3:after {
	width:92px;
	height:3px;
	display:block;
	margin-left:auto;
	margin-right:auto;
	margin-top:20px;
	content:"";
	background-color:#f8b500;
}

.info-title {
	color: #000000 !important;
    text-decoration: none !important;
}

.info-title:after {
	width: initial !important;
}

#subpage .box {
	border:3px solid #f8b500;
	box-sizing:border-box;
	padding:20px;
	background-color:#fff7e2;
}

#subpage .box h4 {
	color:#f8b500;
	font-size:28px;
	font-weight:normal;
	border-bottom:1px solid #f8b500;
	padding-bottom:15px;
	margin-bottom:30px;
	margin-top:0;
	padding-top:0;
}

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

#top-about {
	max-width:1398px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display:block;
	padding-top:70px;
	padding-bottom:70px;
	position:relative;
}

@media screen and (max-width: 1430px) {
	#top-about {
		box-sizing:border-box;
		padding-left:30px;
		padding-right:30px;
	}
}

@media screen and (max-width: 800px) {
	#top-about {
		padding-left:0;
		padding-right:0;
		padding-top:30px;
		padding-bottom:30px;
	}
}

#top-about:before {
	content:"";
	width:1px;
	height:70px;
	background-color:#000000;
	display:block;
	position:absolute;
	top:0;
	left:50%;
	margin-left:9px;
}

#top-about:after {
	content:"";
	width:1px;
	height:70px;
	background-color:#000000;
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:9px;
}

@media screen and (max-width: 800px) {
	#top-about:before, #top-about:after {
		display:none;
	}
}

#top-about .content {
	background-image:url(../image/contents/top/about.jpg?v6);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:contain;
	width:100%;
	height:0;
	padding-top:43.4907%;
	max-width:1398px;
	border:1px solid #000000;
	display:block;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}

@media screen and (max-width: 800px) {
	#top-about .content {
		border:none;
		padding-top:0;
		height:380px;
		background-size:cover;
	}
}

#top-about p {
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
	display:block;
}

#workcate-primary {
}

#workcate-primary .content {
	width:100%;
	height:570px;
	padding-top:60px;
	padding-bottom:60px;
	box-sizing:border-box;
	z-index:-2;
	position:relative;
	background-position:center bottom;
	background-repeat:no-repeat;
}

#workcate-primary .content#workcate02 {
	height:750px;
}

@media screen and (max-width: 850px) {
	#workcate-primary .content {
		height:700px !important;
	}
	#workcate-primary .content#workcate02 {
		padding-top:0 !important;
	}
	#workcate-primary .content#workcate03 {
		padding-top:0 !important;
	}
}

#workcate-primary .content h2 {
	font-size:48px;
	font-weight:normal;
	font-family: 'NotoSerifCJKjp-Regular';
	margin:0;
	padding:0;
	margin-bottom:30px;
	padding-top:37px;
	line-height:48px;
	position:relative;
	width:100%;
	height:158px;
	box-sizing:border-box;
}

#workcate-primary .content#workcate02 h2 {
	padding-left:764px;
}

@media screen and (max-width: 1230px) {
	#workcate-primary .content#workcate02 h2 {
		padding-left:inherit;
	}
}

#workcate-primary .content h2:before {
	content:"";
	background-color:#ffffff;
	border:1px solid #000000;
	display:block;
	width:100%;
	height:158px;
	position:absolute;
	top:0;
	z-index:-1;
}

#workcate-primary .content#workcate01 h2:before { left:-724px; }
#workcate-primary .content#workcate02 h2:before { right:-724px; }
#workcate-primary .content#workcate03 h2:before { left:-724px; }

#workcate-primary .content h2 span {
	font-size:24px;
	color:#f8b500;
	display:block;
	font-family:Verdana, Geneva, sans-serif;
}

@media screen and (max-width: 1230px) {
	#workcate-primary .content h2 {
		text-align:center;
		display:block;
		margin-left:auto;
		margin-right:auto;
		padding-top:0;
		width:100%;
		height:83px;
	}
	#workcate-primary .content h2:before {
		display:none;
	}
}

#workcate-primary .content .photo {
	width:660px;
	height:440px;
	position:absolute;
	top:0;
}

@media screen and (max-width: 1230px) {
	#workcate-primary .content .photo {
		background-position:center top;
		background-repeat:no-repeat;
		background-size:cover;
		width:400px;
		height:250px;
		float:right;
		left:inherit !important;
		right:inherit !important;
		top:inherit !important;
		position:relative !important;
	}
	#workcate-primary .content#workcate02 .photo {
		float:left;
	}
}

@media screen and (max-width: 850px) {
	#workcate-primary .content .photo {
		float:none !important;
		display:block !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}
	#workcate-primary .content#workcate01 .photo {
		margin-top:-110px;
	}
	#workcate-primary .content#workcate03 .photo {
		margin-top:-168px;
	}
}

#workcate-primary .content#workcate01 .photo { right:0; }
#workcate-primary .content#workcate02 .photo { left:0; }
#workcate-primary .content#workcate03 .photo { right:0; }

#workcate-primary .content ul {
	list-style:none;
	margin:0;
	padding:0;
	max-width:478px;
	width:100%;
}

@media screen and (max-width: 1230px) {
	#workcate-primary .content ul {
		width:calc(100% - 430px);
		float:left;
		max-width:none;
	}
}

#workcate-primary .content#workcate02 ul {
	float:right;
}

@media screen and (max-width: 850px) {
	#workcate-primary .content ul {
		float:none;
		display:block;
		margin-left:auto;
		margin-right:auto;
		width:100%;
	}
	#workcate-primary .content#workcate01 ul, #workcate-primary .content#workcate03 ul {
		top:290px;
		position:relative;
	}
	#workcate-primary .content#workcate02 ul {
		width:calc(100% + 10px) !important;
		margin-top:40px;
	}
	#workcate-primary .content#workcate02 ul li {
		width:calc(50% - 10px);
		margin-right:10px;
		float:left;
	}
}

#workcate-primary .content ul li {
	background-color:#f0f0f0;
	border:1px solid #e1e1e1;
	padding-top:10px;
	padding-bottom:10px;
	margin-bottom:10px;
	display:block;
	box-sizing:border-box;
	text-align:center;
}

#workcate-primary .content#workcate01 {
	background-image:url(../image/contents/top/workcate01-back.jpg);
	background-position:left;
}
#workcate-primary .content#workcate02 {
	background-image:url(../image/contents/top/workcate02-back.jpg);
	background-position:center;
}
#workcate-primary .content#workcate03 {
	background-image:url(../image/contents/top/workcate03-back.jpg);
	background-position:center;
}

#information {
}

#information .information-latest{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

#information .list {
    width: 30%;
    border: 1px solid #000000;
    margin-bottom: 30px;
}

#information .list .thum {
    width: 100%;
    max-height: 225px;
}

#information .list .date {
    padding: 0 20px;
}

#information .list .date p{
    color: #333333;
    margin: 20px 0 0;
}

#information .list .date h5{
    font-size: 20px;
    font-weight: normal;
    color: #000000;
    margin: 5px 0 20px;
    line-height: 22px;
}

#information .content {
	width:100%;
	padding-top:60px;
	padding-bottom:60px;
	box-sizing:border-box;
	z-index:98;
	position:relative;
	background-position:center bottom;
	background-repeat:no-repeat;
}

@media screen and (max-width: 850px) {
	#information .content {
		height:700px !important;
	}
}

#information .content h2 {
	font-size:48px;
	font-weight:normal;
	font-family: 'NotoSerifCJKjp-Regular';
	margin:0;
	padding:0;
	margin-bottom:30px;
	padding-top:37px;
	line-height:48px;
	position:relative;
	width:100%;
	height:158px;
	box-sizing:border-box;
	border:1px solid #000000;
    text-align: center;
}

#information .content h2 span {
	font-size:24px;
	color:#f8b500;
	display:block;
	font-family:Verdana, Geneva, sans-serif;
}

@media screen and (max-width: 1230px) {
	#information .content h2 {
		text-align:center;
		display:block;
		margin-left:auto;
		margin-right:auto;
		padding-top:0;
		width:100%;
		height:83px;
	}
	#information .content h2:before {
		display:none;
	}
}

#top-ss {
	margin-top:70px;
	position:relative;
	border:1px solid #000000;
	box-sizing:border-box;
	padding:60px;
}

@media screen and (max-width: 850px) {
	#top-ss {
		margin-top:0;
	}
}

@media screen and (max-width: 800px) {
	#top-ss {
		padding:30px;
	}
}

#top-ss:before {
	content:"";
	width:1px;
	height:70px;
	display:block;
	position:absolute;
	top:-70px;
	left:50%;
	background-color:#000000;
}

#top-ss h2 {
	background-image:url(../image/contents/top/ss-title.png);
	width:574px;
	height:46px;
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:50px;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

@media screen and (max-width: 800px) {
	#top-ss h2 {
		background-repeat:no-repeat;
		background-size:contain;
		width:500px;
		height:40px;
		margin-top:10px;
	}
}

#top-ss .ss-list-primary {
	width:calc(100% + 50px);
}

/*#top-ss .ss-list-primary .list {
	width:calc(33.333% - 50px);
	margin-right:50px;
	float:left;
	position:relative;
	padding-bottom:68px;
}*/

#top-ss .ss-list-primary .list {
	width:calc(50% - 50px);
	margin-right:50px;
	float:left;
	position:relative;
	padding-bottom:68px;
}

@media screen and (max-width: 1100px) {
	#top-ss .ss-list-primary {
		width:100%;
	}
	#top-ss .ss-list-primary .list {
		width:100%;
		float:none;
		margin-right:0;
		margin-bottom:60px;
	}
	#top-ss .ss-list-primary .list:last-of-type {
		margin-bottom:0;
	}
}

#top-ss .ss-list-primary .list .gmap iframe {
	width:100%;
	max-height:300px;
}

#top-ss .ss-list-primary .list .tel {
	background-image:url(../image/contents/top/tel.png);
	background-position:left;
	background-repeat:no-repeat;
	height:32px;
	display:block;
	padding-left:43px;
	line-height:32px;
}

#top-ss .ss-list-primary .list .tel a {
	font-size:30px;
	color:#f8b500;
	text-decoration:none;
}

#top-ss .ss-list-primary .list .gmap-button a {
	background-color:#eeeeee;
	background-image:url(../image/contents/top/map-more-ar.png);
	background-position:right;
	background-repeat:no-repeat;
	border:1px solid #e0e0e0;
	box-sizing:border-box;
	text-align:center;
	width:100%;
	padding-top:10px;
	padding-bottom:10px;
	display:block;
	text-decoration:none;
	color:#000000;
	position:absolute;
	bottom:0;
	transition:0.3s;
}

/* トップ下部　バナースペース（共有） */

#top-bana {
	width:100%;
	max-width:1200px;
	padding-top:100px;
	padding-bottom:100px;
	margin-left:auto;
	margin-right:auto;
	transition:0.3s;
	box-sizing:border-box;
}

@media screen and (max-width: 1250px) {
	#top-bana {
		padding-left:30px;
		padding-right:30px;
	}
}

#top-bana h2 {
	font-size:35px;
	display:block;
	text-align:center;
	color:#000000;
	margin:0;
	padding:0;
	margin-bottom:60px;
	font-weight:normal;
	font-family: 'NotoSerifCJKjp-Regular';
}

#top-bana h2 span {
	font-size:18px;
	display:block;
	color:#f8b500;
	font-family:Verdana, Geneva, sans-serif;
}

#top-bana .corporate_group {
	width:60%;
	float:left;
	position:relative;
	box-sizing:border-box;
	padding-right:30px;
}

#top-bana .corporate_group:after {
	content:"";
	display:block;
	width:1px;
	height:100%;
	background-color:#0cb59b;
	position:absolute;
	top:0;
	right:0;
}

#top-bana .related_companies {
	width:40%;
	float:right;
	padding-left:30px;
	box-sizing:border-box;
}

#top-bana .corporate_group .bana-primary {
	width:calc(100% + 30px);
}

#top-bana .corporate_group .bana {
	width:calc(50% - 30px);
	margin-right:30px;
	float:left;
	border:1px solid #e0e0e0;
	text-align:center;
	box-sizing:border-box;
}

@media screen and (max-width: 1000px) {
	#top-bana .corporate_group {
		width:50%;
	}
	#top-bana .related_companies {
		width:50%;
	}
	#top-bana .corporate_group .bana-primary {
		width:100%;
	}
	#top-bana .corporate_group .bana {
		width:100%;
		margin-right:0;
		margin-bottom:30px;
		float:none;
	}
}

@media screen and (max-width: 700px) {
	#top-bana .corporate_group {
		width:100%;
		padding:0 !important;
		box-sizing:border-box;
		padding-bottom:50px !important;
	}
	#top-bana .related_companies {
		width:100%;
		padding:0 !important;
		box-sizing:border-box;
	}
	#top-bana .corporate_group:after {
		display:none;
	}
}

#top-bana .related_companies .bana-primary {
	width:100%;
}

#top-bana .related_companies .bana {
	width:100%;
	border:1px solid #e0e0e0;
	text-align:center;
	box-sizing:border-box;
}

#top-bana .bana img {
	max-width:100%;
	transition:0.3s;
}

#top-bana .bana img:hover {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}


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

#company-message {
	padding-bottom:60px;
}

#company-message p {
	margin:0;
	padding:0;
	padding-bottom:50px;
	font-size:14px;
	line-height:30px;
}

#company-message .alignright {
	margin-left:50px;
}

@media screen and (max-width: 1140px) {
	#company-message .alignright {
		margin-left:auto;
	}
}

#company-policy {
	background-color:#fff7e2;
	padding-top:70px;
	padding-bottom:70px;
}

.company-policy-list-primary {
	width:100%;
	box-sizing:border-box;
	border:1px solid #000000;
	background-color:#ffffff;
}

.company-policy-list-primary .list {
	width:33.333%;
	height:100%;
	box-sizing:border-box;
	float:left;
	padding:30px;
	border-right:1px dotted #cbcbcb;
}

@media screen and (max-width: 1000px) {
	.company-policy-list-primary .list {
		width:100%;
		height:auto;
		float:none;
		border-right:none;
		border-bottom:1px dotted #cbcbcb;
	}
}

.company-policy-list-primary .list img {
	margin-bottom:30px;
	max-width:100%;
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.company-policy-list-primary .list p {
	width:100%;
	text-align:center;
	line-height:30px;
}

#company-service {
	padding-top:70px;
	padding-bottom:30px;
}

.service-content01, .service-content02, .service-content03 {
	width:100%;
	max-width:1200px;
	min-height:600px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:50px;
	position:relative;
}

#company-service h4 {
	font-size:36px;
	font-weight:normal;
	font-family: 'NotoSerifCJKjp-Regular';
	margin:0;
	padding:0;
	margin-left:-5px;
	padding-top:15px;
	margin-bottom:35px;
}

.service-content01 .mv, .service-content02 .mv, .service-content03 .mv {
	width:600px;
	height:600px;
	display:block;
	position:absolute;
	top:0;
	z-index:1;
}

.service-content01 .mv { background-image:url(../image/contents/company/content01-mv.jpg?v2); right:0; }
.service-content02 .mv { background-image:url(../image/contents/company/content02-mv.jpg?v3); left:0; }
.service-content03 .mv { background-image:url(../image/contents/company/content03-mv.jpg); right:0; }

@media screen and (max-width: 900px) {
	.service-content01 .mv, .service-content02 .mv, .service-content03 .mv {
		position:relative;
		width:calc(100% - 100px);
		height:400px;
		overflow:hidden;
		background-position:center;
		background-size:cover;
		margin-left:auto;
		margin-right:auto;
		top:inherit;
	}
	.service-content01 .mv{background-position: 50% 10%;}
}

@media screen and (max-width: 640px) {
	.service-content01 .mv{background-position: 50% 10%;}
	
}

.service-content01 .detail, .service-content02 .detail, .service-content03 .detail {
	background-color:#ffffff;
	border:1px solid #000000;
	width:100%;
	height:calc(100% - 100px);
	display:block;
	position:absolute;
	padding:60px;
	box-sizing:border-box;
	z-index:2;
}

@media screen and (max-width: 900px) {
	.service-content01 .detail, .service-content02 .detail, .service-content03 .detail {
		border:none;
		height:auto;
		width:100%;
		padding-top:0;
		position:relative;
	}
}

.service-content01 .detail {
	left:50%;
	top:50px;
	margin-left:-1150px;
}

.service-content02 .detail {
	right:50%;
	top:50px;
	margin-right:-1150px;
}

.service-content03 .detail {
	left:50%;
	top:50px;
	margin-left:-1150px;
}

@media screen and (max-width: 1230px) {
	.service-content01 .detail {
		margin-left:0;
		left:-10px;
		width:calc(50% + 50px);
	}
	.service-content02 .detail {
		margin-right:0;
		right:-10px;
		width:calc(50% + 50px);
	}
	.service-content03 .detail {
		margin-left:0;
		left:-10px;
		width:calc(50% + 50px);
	}
}

@media screen and (max-width: 900px) {
	.service-content01 .detail, .service-content02 .detail, .service-content03 .detail {
		margin-left:auto;
		margin-right:auto;
		left:inherit;
		right:inherit;
		width:100%;
	}
}

.service-content01 .detail article, .service-content03 .detail article {
	padding-left:500px;
}
.service-content02 .detail article {
	padding-right:calc(100% - 54%);
}

@media screen and (max-width: 1230px) {
	.service-content01 .detail article, .service-content02 .detail article, .service-content03 .detail article {
		padding-left:0;
		padding-right:0;
	}
	.service-content02 .detail article {
	}
}

#company-service .content-number {
	color:#f8b500;
	font-weight:bold;
	position:relative;
	margin-top:-10px;
}

#company-service .content-number:after {
	content:"";
	width:calc(100% - 110px);
	height:2px;
	background-color:#f8b500;
	position:absolute;
	top:12px;
	right:0;
	display:block;
}

#company-service ul {
	list-style:none;
	margin:0;
	padding:0;
	padding-top:20px;
}

#company-service ul li {
	background-image:url(../image/contents/company/ar.png);
	background-position:top left;
	background-repeat:no-repeat;
	width:100%;
	height:40px;
	padding-left:55px;
	box-sizing:border-box;
	margin-bottom:13px;
	padding-top:5px;
}

#company-service ul li:last-of-type {
	margin-bottom:0;
}

#company-service ul li a {
}

.service-content01-option {
	width:100%;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width: 640px) {
	.service-content01-option {
		width:calc(100% - 60px);
		display:block;
	}
}

.service-content01-option .box {
	background-color:#ffffff !important;
	padding:40px !important;
	box-sizing:border-box !important;
	border:1px solid #000000 !important;
	margin-bottom:40px !important;
}

.service-content01-option .box.itsumo-carnet {
	background-image:url(../image/contents/company/carnet.jpg);
	background-position:right;
	background-repeat:no-repeat;
	background-size:contain;
}
.service-content01-option .box.prism {
	background-image:url(../image/contents/company/prism.jpg);
	background-position:right;
	background-repeat:no-repeat;
	background-size:contain;
}

@media screen and (max-width: 1120px) {
	.service-content01-option .box.itsumo-carnet, .service-content01-option .box.prism {
		background-size:auto;
		background-position:calc(50% - 80px) 0;
		padding-top:380px;
	}
}
@media screen and (max-width: 640px) {
	.service-content01-option .box.itsumo-carnet, .service-content01-option .box.prism {
		background-size:auto;
		background-position:calc(50% - 114px) 0;
		padding-top:380px !important;
	}
}

.service-content01-option .box h5 {
	background-color:#f8b500;
	margin:0;
	padding:0;
	padding-left:50px;
	padding-right:50px;
	padding-top:15px;
	padding-bottom:15px;
	color:#ffffff;
	display:inline-block;
	text-align:center;
	font-size:24px;
	margin-left:-70px;
	margin-top:-10px;
	margin-bottom:35px;
}

@media screen and (max-width: 1230px) {
	.service-content01-option .box h5 {
		margin-left:0;
		margin-top:0;
	}
}

.service-content01-option .box h6 {
	font-size:24px;
	margin:0;
	padding:0;
	padding-bottom:20px;
}

.service-content01-option .box p {
	margin:0;
	padding:0;
	padding-right:650px;
}

@media screen and (max-width: 1120px) {
	.service-content01-option .box p {
		padding-right:0;
	}
}

.service-content01-option .box ol {
	margin:0;
	padding:0;
	padding-left:18px;
}

#service-product {
	padding-top:70px;
	padding-bottom:70px;
	background-color:#fff7e2;
}

#service-product .box {
	border:1px solid #000000;
	padding:40px;
	background-color:#ffffff;
	margin:40px;
}

#service-product .box:last-of-type {
	margin-bottom:0;
}

#service-product .box h4 {
	font-size:30px;
	margin:0;
	padding:0;
	margin-bottom:30px;
	color:#ff2230;
}

#service-product .box h4 span {
	font-size:16px;
	display:block;
	color:#000000;
}

#service-product .box p {
	margin:0;
	padding:0;
}

#service-product .box img {
	margin-bottom:0;
}

.separate {
	width:calc(100% + 50px);
	padding-top:50px;
}

.separate .separate-child {
	width:calc(50% - 50px);
	margin-right:50px;
	float:left;
}

@media screen and (max-width: 800px) {
	.separate {
		width:100%;
	}
	.separate .separate-child {
		width:100%;
		margin-right:0;
		float:none;
	}
	.separate .separate-child:first-of-type {
		padding-bottom:40px;
	}
}

#service-company, #service-history {
}

#service-company ul, #service-history ul {
	width:100%;
	list-style:none;
	display:block;
	margin:0;
	padding:0;
}

#service-company ul li, #service-history ul li {
	display:block;
	position:relative;
	border-bottom:1px dotted #cccccc;
	padding-bottom:15px;
	margin-bottom:15px;
	padding-left:150px;
	font-size:14px;
}

#service-company ul li span, #service-history ul li span {
	position:absolute;
	top:0;
	left:0;
}


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

.recruit-content {
}

.recruit-content h4 {
	color:#f8b500;
	font-size:28px;
	font-weight:normal;
	border-bottom:1px solid #f8b500;
	padding-bottom:15px;
	margin-bottom:30px;
}

.recruit-content .separate {
	width:calc(100% + 40px);
	padding-bottom:40px;
}

.recruit-content .separate .separate-left {
	width:calc(50% - 40px);
	margin-right:40px;
	float:left;
}

.recruit-content .separate .separate-right {
	width:calc(50% - 40px);
	margin-right:40px;
	float:left;
}

@media screen and (max-width: 900px) {
	.recruit-content .separate {
		width:100%;
	}
	
	.recruit-content .separate .separate-left {
		width:100%;
		margin-right:0;
		float:none;
	}
	
	.recruit-content .separate .separate-right {
		width:100%;
		margin-right:0;
		float:none;
	}
}

.recruit-content .separate ul {
	list-style:none;
	margin:0;
	padding:0;
	display:block;
}

.recruit-content .separate ul li {
	width:100%;
	padding-bottom:15px;
	margin-bottom:15px;
	border-bottom:1px dotted #cccccc;
	position:relative;
	padding-left:140px;
	box-sizing:border-box;
	font-size:14px;
}

.recruit-content .separate ul li ul {
	list-style:circle;
	padding-left:20px;
}
.recruit-content .separate ul li ul li {
	width:100%;
	padding-bottom:0;
	margin-bottom:0;
	border-bottom:none;
	position:relative;
	padding-left:0;
	box-sizing:border-box;
}


@media screen and (max-width: 640px) {
	.recruit-content .separate ul li {
		font-size:15px;
	}
}

.recruit-content .separate ul li strong {
	position:absolute;
	top:0;
	left:0;
	display:block;
}









.job-description dt{
  font-weight: bold;
  margin-bottom: 5px;
}

.job-description dd{
  margin-left: 0em;
  /*text-indent: -1em;*/
}
.job-description dd::before{
  content: "○";
}

.job-description .dd-list{
  list-style: disc!important;
  padding-left: 30px!important;
}

.annotation p{
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
}

.annotation p::before{
  content: "※";
}

.list-sentence span{
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

.job-description-list{
  /*background-color: #F3F3F3;*/
  border-top: 2px solid #F3F3F3;
  border-bottom: 2px solid #F3F3F3;
  max-width: 800px;
  margin: 90px auto;
  padding: 40px 10px;
}

.job-description-list dl{
  display: flex;
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}


.job-description-list dt{
  font-weight: bold;
  text-align: center;
  width: 20%;
  margin-right: 30px;
}

.job-description-list dd{
  margin-left: 0;
}

.job-description-list dd a{
  background-color: #2da6e0;
  color: #fff;
  text-decoration: none;
  padding: 5px 10px;
}

.job-description-list dd a:hover{
  text-decoration: underline;
  opacity: 0.8;
}

.job-description-list dd a:first-child{
  margin-right: 10px;
}

@media screen and (max-width: 740px) {
  .job-description-list dl{
    display: block;
    text-align: center;
  }
  .job-description-list dl:first-of-type{
    margin-bottom: 40px;
  }

  .job-description-list dt{
    width: 100%;
    margin-bottom: 20px;
  }
}
