@charset "UTF-8";

/* =========================================================
 mainvisual
========================================================= */
/* mainvisual */
.visual{ color:#fff;position: relative;background-color: #f5f5f5; }
.visual .img{ vertical-align: top; }

.visual .visual-area{ position: relative;text-align: center; }

.visual .trim{ position: relative;width: 100%;overflow: hidden; }
.visual .trim .img{ position: absolute;top: 0;left: 0; }

.visual h2{
	position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%,-50%);-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);-o-transform: translate(-50%,-50%);transform: translate(-50%,-50%);
}
.visual h2 .en{ font-family: "UniversBQ Bold", sans-serif; }
.visual h2 .en,
.visual h2 .jp{ display: block;position: relative; }
.visual h2:before{
	content: '';background-color: #fff;display: block;
	-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);-o-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: auto;margin-right: auto;
}

#mainvisual .visual .btn{ width: 100%;position: absolute;bottom: 0;left: 0; }
#news-details #mainvisual .visual .btn{ display: none; }
#mainvisual .visual .btn-in{ margin-left: auto;margin-right: auto; }
#mainvisual .visual .btn a{ display: block; }
#mainvisual .visual .btn a:link,
#mainvisual .visual .btn a:visited,
#mainvisual .visual .btn a:hover,
#mainvisual .visual .btn a:focus{ color:#fff;text-decoration:none; }
#mainvisual .visual .btn .label{ display: block; }

/* mainvisual-text */
#mainvisual .text-area{ background-color: #0a0e0e;color: #fff;position: relative; }
#mainvisual .text-area .text-set { display: table;margin-left: auto;margin-right: auto;table-layout: fixed; }

#mainvisual .text-area .text-set .title{ font-weight: bold; }
#mainvisual .text-area .text-set .title .en { font-family: "UniversBQ Bold", sans-serif;font-weight: normal;line-height: 1; }

/* =========================================================
 breadcrumbs
========================================================= */
#breadcrumbs { background-color:#efefef; }
#news-details #breadcrumbs{ color: #fff;background-color: transparent;position: absolute;left: 0;top: 0;width: 100%; }

#breadcrumbs .section-inner { margin-left: auto;margin-right: auto; }

#breadcrumbs{ padding-top: 13px;padding-bottom: 13px; }
#breadcrumbs li {
	display: inline-block;position: relative;white-space: nowrap;
	font-weight: bold;font-size: 11px;letter-spacing: 0.5px;
}
#breadcrumbs li:nth-child(n+2){ padding-left: 2.1em; }
#breadcrumbs li:nth-child(n+2)::before { content: '\003E';position: absolute;left: 0.7em;top: -1px; }
#breadcrumbs a { color: #373737;text-decoration: underline; }
#news-details #breadcrumbs a { color: #fff; }
/* =========================================================
 summary
========================================================= */
#summary{ background-color: #fbfbfb; }
#summary._ver2{ background-color: #fff; }
#summary .section-inner{ margin-left: auto;margin-right: auto; }
#summary .summary .title{ letter-spacing: 2.9px;padding-bottom: 1.8em; }
#summary .summary .text{ line-height: 1.5; }

#summary .igraph .title{ height: 4.1em;line-height: 1.6em;padding-top: 1.6em; }
#summary .igraph .text{ line-height: 1.2; }

#summary .infobox{ font-weight: bold; }

#summary .infobox li .label,
#summary .infobox li .callbx { display: inline-block;vertical-align: middle; }
#summary .infobox li .label { color: #3557a4;border: 1.5px solid #3557a4;text-align: center; }
#summary .infobox li .callbx { font-size: 10px;padding-left: 1em; }
#summary .infobox li .callbx .call { color: #2b2e33;font-weight: 500;line-height: 1; }
#summary .infobox li .callbx .hours { color: #595f60;padding-top: 0.5em; }

/*//////////////////////////
PC-TAB
//////////////////////////*/
@media only screen and (min-width:768px) {
	/* =========================================================
	 mainvisual
	========================================================= */
	/* mainvisual */
	.visual .img{ width: 100%; }
	.visual.ver1 .trim{ padding-top: 29.5%; }
	.visual.ver2 .trim{ padding-top: 32.6%; }
	.visual.ver3 .trim{ padding-top: 27.6%; }

	.visual h2{ padding-top: 44px; }
	.visual h2:before{ width: 27px;height: 2px;margin-bottom: 10px;margin-top: 10px; }
	.visual h2 .en{ font-size: 28.3px;letter-spacing: 2.2px;padding-top: 10px; }
	.visual h2 .jp{ font-size: 16px;letter-spacing: 1.2px;padding-top: 10px; }

	#mainvisual .visual .btn{ position: absolute;bottom: 32px;left: 0;display: none; }
	#mainvisual .visual .btn-in{ width: 57px; }
	#mainvisual .visual .btn .ic{ opacity: 1; }
	#mainvisual .visual .btn .ic._hide{ opacity: 0; }
	#mainvisual .visual .btn .label{ padding-top: 7px;letter-spacing: 0.5px; }
	
	/* mainvisual-text */
	#mainvisual .text-area{ padding-left: 25px;padding-right: 25px;padding-top: 25px;padding-bottom: 25px; }
	#mainvisual .text-area .text-set .title,
	#mainvisual .text-area .text-set .text{ display: table-cell;vertical-align: middle; }
	#mainvisual .text-area .text-set .title .en,
	#mainvisual .text-area .text-set .title .jp { display: block; }
	#ai #mainvisual .text-area .text-set{ min-width: 755px;width: 53.6%; }
	#phython #mainvisual .text-area .text-set{ min-width: 1125px;width: 80%; }
	#mainvisual .text-area .text-set .title{ font-size: 15px;padding-left: 0.3em; }
	#ai #mainvisual .text-area .text-set .title{ width: 8.5em;padding-right: 3em; }
	#phython #mainvisual .text-area .text-set .title{ width: 27.2em;padding-right: 4em;text-align: right; }
	#ai #mainvisual .text-area .text-set .title .en{ font-size: 108px;letter-spacing: 10px;margin-top: -48px;margin-left: 0.05em; }
	#phython #mainvisual .text-area .text-set .title .en{ font-size: 108px;letter-spacing: 11px;margin-top: -48px;margin-left: -0.1em; }
	#mainvisual .text-area .text-set .text{ font-size: 11px;letter-spacing: 1.5px;line-height: 1.5; }

	/* =========================================================
	 breadcrumbs
	========================================================= */
	#breadcrumbs .section-inner { min-width: 1125px;width: 80%; }
	#news-details #breadcrumbs{ top: 85px; }

	/* =========================================================
	 summary
	========================================================= */
	#summary .section-inner{ min-width: 1125px;width: 80%;padding-top: 60px;padding-bottom: 60px; }
	#summary._ver2 .section-inner{ padding-top: 12px; }
	#summary .summary .title{ font-size: 21px; }
	#summary .summary .text{ text-align: center;max-width: 73%;margin-left: auto;margin-right: auto; }
	#summary .summary .text .tx-in{ display: inline-block;text-align: left; }
	#summary .igraph{ width: 94%;margin-left: auto;margin-right: auto;padding-top: 35px; }
	#summary .igraph li{ width: 33.3%;float: left; }
	#summary .igraph li .li-in{ padding-left: 15%;padding-right: 15%; }

	#summary .infobox{ padding-top: 58px; max-width: 73%;margin-left: auto;margin-right: auto;text-align: center; }
	#summary .infobox li{ /*float: left;*/padding-left: 30px;padding-right: 30px;display: inline-block; }
	#summary .infobox li .label { width: 78px;height: 32px;line-height: 32px;padding-left: 20px; }
	#summary .infobox li.tel .label{
		background: url("../images/icon-tel.png") no-repeat 8.5px 6px;
		-moz-background-size: 19px 19px;-webkit-background-size: 19px 19px;
		-ms-background-size: 19px 19px;-o-background-size: 19px 19px;background-size: 19px 19px;
	}
	#summary .infobox li.mail .label{
		background: url("../images/icon-mail.png") no-repeat 15.5px 9px;
		-moz-background-size: 16px 12px;-webkit-background-size: 16px 12px;
		-ms-background-size: 16px 12px;-o-background-size: 16px 12px;background-size: 16px 12px;
	}
	#summary .infobox li .callbx .call{ font-size: 27px; }
}
/*//////////////////////////
SP
//////////////////////////*/
@media only screen and (max-width:767px) {
	/* =========================================================
	 mainvisual
	========================================================= */
	/* mainvisual */
	.visual .img{ height: 100%;max-width: none; }
	.visual.ver1 .trim{ padding-top: 89%; }
	.visual.ver2 .trim{ padding-top: 80%; }
	.visual.ver3 .trim{ padding-top: 71%; }

	#company .visual .trim .img{ height: 123%;top: 50%;left: 50%;-webkit-transform: translate(-47%,-50%);-moz-transform: translate(-47%,-50%);
	-ms-transform: translate(-47%,-50%);-o-transform: translate(-47%,-50%);transform: translate(-47%,-50%); }
	#ai .visual .trim .img{ height: 155%;top: 0;left: 50%;-webkit-transform: translate(-29.3%,0);-moz-transform: translate(-29.3%,0);
	-ms-transform: translate(-29.3%,0);-o-transform: translate(-29.3%,0);transform: translate(-29.3%,0); }
	#phython .visual .trim .img{ height: 123%;top: 50%;left: 50%;-webkit-transform: translate(-39%,-43%);-moz-transform: translate(-39%,-43%);
	-ms-transform: translate(-39%,-43%);-o-transform: translate(-39%,-43%);transform: translate(-39%,-43%); }
	#service .visual .trim .img{ height: 192%;top: 50%;left: 50%;-webkit-transform: translate(-59%,-32.5%);-moz-transform: translate(-59%,-32.5%);
	-ms-transform: translate(-59%,-32.5%);-o-transform: translate(-59%,-32.5%);transform: translate(-59%,-32.5%); }
	#recruit .visual .trim .img{ height: 106%;top: 0;left: 50%;-webkit-transform: translate(-30.5%,0%);-moz-transform: translate(-30.5%,0%);
	-ms-transform: translate(-30.5%,0%);-o-transform: translate(-30.5%,0%);transform: translate(-30.5%,0%); }
	#news-list .visual .trim .img{ height: 180%;top: 50%;left: 50%;-webkit-transform: translate(-23.7%,-37%);-moz-transform: translate(-23.7%,-37%);
	-ms-transform: translate(-23.7%,-37%);-o-transform: translate(-23.7%,-37%);transform: translate(-23.7%,-37%); }
	#news-details .visual .trim .img{ height: 201%;top: 50%;left: 50%;-webkit-transform: translate(-23.7%,-34.3%);-moz-transform: translate(-23.7%,-34.3%);
	-ms-transform: translate(-23.7%,-34.3%);-o-transform: translate(-23.7%,-34.3%);transform: translate(-23.7%,-34.3%); }

	.visual h2{ padding-bottom: 55px; }
	.visual.ver2 h2{ padding-bottom: 27px; }
	.visual.ver3 h2{ padding-bottom: 0;padding-top: 14px; }
	.visual h2:before{ width: 21px;height: 2px;margin-bottom: 6px;margin-top: 6px; }
	.visual h2 .en{ font-size: 19px;letter-spacing: 1.2px;padding-top: 12px; }
	.visual h2 .jp{ font-size: 11px;letter-spacing: 1.2px;padding-top: 20px; }

	#mainvisual .visual .btn{ /*padding-bottom: 8px;*/padding-bottom: 15px; }
	#mainvisual .visual.ver3 .btn{ display: none; }
	#mainvisual .visual .btn-in{ width: 40px; }
	#mainvisual .visual .btn .label{ font-size: 10px;padding-top: 5px; }

	/* mainvisual-text */
	#mainvisual .text-area{ padding-left: 15px;padding-right: 15px;padding-top: 15px;padding-bottom: 20px; }
	#mainvisual .text-area .text-set .title{
		font-size: 10px;text-align: left;padding-bottom: 10px;
		margin-left: -5px;margin-right: -1px;margin-top: -28px;
	}
	#mainvisual .text-area .text-set .title .en,
	#mainvisual .text-area .text-set .title .jp{ display: inline-block;vertical-align: baseline; }
	#mainvisual .text-area .text-set .title .en{ font-size: 55px;letter-spacing: 2px;padding-bottom: 5px; }
	#mainvisual .text-area .text-set .title .jp{ padding-bottom: 10px;padding-left: 1em; }
	#mainvisual .text-area .text-set .text{ font-size: 10px;letter-spacing: 0.9px;line-height: 1.6; }

	/* =========================================================
	 breadcrumbs
	========================================================= */
	#breadcrumbs .section-inner { padding-left: 15px;padding-right: 15px; }
	#news-details #breadcrumbs{ top: 53px; }

	/* =========================================================
	 summary
	========================================================= */
	#summary .section-inner{ padding-top: 13%;padding-bottom: 13%;padding-left: 15px;padding-right: 15px; }
	#summary .igraph{ padding-top: 4em; }
	#summary .igraph li{ padding-bottom: 6em; }
	#summary .igraph li:last-child{ padding-bottom: 0; }
	#summary .igraph li .trim{ padding-left: 25%;padding-right: 25%; }
	#summary .igraph li .title{ height: 3.6em;line-height: 3.6em; }
	#summary .igraph li .text{ line-height: 1.5; }

	#summary .infobox{ padding-top: 2em; }
	#summary .infobox li{ width: 100%;padding-bottom: 1em; }
	#summary .infobox li:last-child{ padding-bottom: 0; }
	#summary .infobox li .label{ width: 60px;height: 2.5em;line-height: 2.5em;padding-left: 15px; }
	#summary .infobox li.tel .label{
		background: url("../images/icon-tel.png") no-repeat  5.5px 5px;
		-moz-background-size: 14px 14px;-webkit-background-size: 14px 14px;
		-ms-background-size: 14px 14px;-o-background-size: 14px 14px;background-size: 14px 14px;
	}
	#summary .infobox li.mail .label{
		background: url("../images/icon-mail.png") no-repeat 7px 8px;
		-moz-background-size: 12px 9px;-webkit-background-size: 12px 9px;
		-ms-background-size: 12px 9px;-o-background-size: 12px 9px;background-size: 12px 9px;
	}
	#summary .infobox li .callbx .call{ font-size: 16.3px; }
}