/*
Theme Name: PandI
Template: twentyfifteen
Theme URI: http://untitled.blue/pandi_wp/wp/themes/pandi
Author: the WordPress team
Author URI: http://sslhost/pandi_wp/
Description: The 2017 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain: pandi

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

@charset "UTF-8";
/* CSS Document */

/* ----------------------------------------------------------------------------------------------------
*  トップページ
* --------------------------------------------------------------------------------------------------*/
.top .aaa img {
	width: 50%;
}
.top .slider01 {
	width: 50%;
	float: left;
}
.top .sliderWrap .fR {
	width: 50%;
}
.top .sliderWrap .fR .slideWrap{
	width: 50%;
	float: left;
}
.top [class^="boxArea"] .fL {
	padding-right: 115px;
}
.top [class^="boxArea"] .fR {
	padding-left: 115px;
}
.top [class^="boxArea"] .btnStyle04 {
	margin-top: 60px;
}
.top .boxArea01.whiteGray:before {
	background: #e5e5e5;
}
.top .boxArea01.whiteGray:after {
	background: #efefef;
}
.top #enginnering {
	padding: 115px 0 90px;
}
.top #enginnering .fL,
.top #enginnering .fR {
	width: 50%;
}
.top #enginnering .fL {
	text-align: center;
}
.top #enginnering .fR {
	padding-right: 12.5%;
}
.top #enginnering h2 {
	display: inline-block;
	text-align: left;
	padding: 0 25% 0 10%;
	position: relative;
}
.top #enginnering h2:before {
	position: absolute;
	top: -25px;
	right: 0;
	content: "";
	width: 1px;
	height: 147px;
	background: #1a1a1a;
	transform: rotate(37deg);
}
.top #enginnering p {
	font-size: 13px;
	line-height: 2.4;
}
.top #enginnering .fR .btnStyle04 {
	margin: 60px 0 -34px;
}
.top #recruit {
	padding: 105px 0 115px;
	background: #f9f9f9;
}
.top #recruit .fL,
.top #recruit .fR {
	width: 50%;
}
.top #recruit .fL {
	text-align: center;
}
.top #recruit .fR {
	padding-right: 12.5%;
}
.top #recruit h2 {
	display: inline-block;
	text-align: left;
	padding: 0 25% 0 10%;
	position: relative;
}
.top #recruit h2:before {
	position: absolute;
	top: -25px;
	right: 0;
	content: "";
	width: 1px;
	height: 147px;
	background: #1a1a1a;
	transform: rotate(37deg);
}
.top #recruit p {
	font-size: 13px;
	line-height: 2.4;
}
.top #recruit ul {
	margin-top: 85px;
}
.top #recruit ul li {
	width: 50%;
	float: left;
}
.top #recruit ul li .btnStyle04 {
	width: 70.5%;
	margin: -34px auto 0;
}
.top #member {
	display: table;
	width: 100%;
	padding: 90px 15px 125px;
}
.top #member > * {
	display: table-cell;
}
.top #member .left {
	width: 36%;
	padding-right: 80px;
}
.top #member .left .btnStyle04 {
	margin-top: 60px;
}
.top #news dl {
	font-size: 13px;
	line-height: 1.75;
	padding-left: 37px;
}
.top #news dl + dl {
	margin-top: 1.5em;
}
.top #news dl dt {
	font-weight: bold;
	position: relative;
}
.top #news dl dt:before {
	position: absolute;
	top: 4px;
	left: -37px;
	content: "";
	width: 13px;
	height: 13px;
	background: #ec1c24;
}
.top #news dl dd:after {
	position: absolute;
	content: "";
	width: 16px;
	height: 16px;
	margin: 3px 0 0 3px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
}
.top #news dl dd.icoArrow:after {
	background-image: url(common/img/ico_arrow01.png);
}
.top #news dl dd.icoLink:after {
	background-image: url(common/img/icolink01.png);
}
.top .bnrList01 {
	max-width: 765px;
	margin: 110px auto;
}

@media screen and (max-width:768px) {
	.top .sliderWrap {
		overflow: hidden;
	}
	.top .slider01 {
		width: 102%;
		max-height: 295px !important;
		margin-right: -1%;
		float: none;
	}
	.top .sliderWrap .fR {
		width: 102%;
		float: none;
	}
	.top .sliderWrap .fR .slider03 {
		margin-left: -0.2%;
	}
	.top .sliderWrap .fR .slider04,
	.top .sliderWrap .fR .slider05 {
		display: none !important;
	}
	.top [class^="boxArea"] .fL {
		padding-right: 7%;
	}
	.top [class^="boxArea"] .fR {
		padding-left: 7%;
	}
	.top [class^="boxArea"] .btnStyle04 {
		margin-top: 28px;
	}
	.top .boxArea02 .fL {
		padding: 30px 0 35px 0 !important;
		margin-bottom: 30px;
	}
	.top .boxArea02 .fR {
		padding: 0 0 55px 0 !important;
	}
	.top #enginnering {
		padding: 35px 0 30px;
	}
	.top #enginnering .fL,
	.top #enginnering .fR {
		width: auto;
		float: none;
	}
	.top #enginnering .fR {
		padding-right: 0;
	}
	.top #enginnering h2 {
		display: block;
		padding: 0 0 20px;
	}
	.top #enginnering h2:before {
		display: none;
	}
	.top #enginnering p {
		font-size: 9px;
	}
	.top #enginnering .fR .btnStyle04 {
		max-width: 423px;
		width: 76.9%;
		margin: 30px auto -34px;
	}
	.top #recruit {
		padding: 35px 0 45px;
	}
	.top #recruit .fL,
	.top #recruit .fR {
		width: auto;
		float: none;
	}
	.top #recruit .fR {
		padding-right: 0;
	}
	.top #recruit h2 {
		display: block;
		padding: 0 0 20px;
	}
	.top #recruit h2:before {
		display: none;
	}
	.top #recruit p {
		font-size: 9px;
	}
	.top #recruit ul {
		margin-top: 25px;
	}
	.top #recruit ul li {
		width: auto;
		float: none;
	}
	.top #recruit ul li + li {
		margin-top: 33px;
	}
	.top #recruit ul li img {
		display: block;
		margin: auto;
	}
	.top #recruit ul li .btnStyle04 {
		max-width: 423px;
		width: 76.9%;
		margin: -34px auto 0;
	}
	.top #member {
		display: block;
		padding: 45px 7% 65px;
	}
	.top #member > * {
		display: block;
		width: auto !important;
	}
	.top #member .left {
		padding: 0 0 35px;
	}
	.top #member .right .btnStyle04 {
		margin-top: 65px;
	}
	.top #news dl {
		font-size: 9px;
		line-height: 2.2;
		padding-left: 20px;
	}
	.top #news dl dt {
		font-size: 10px;
	}
	.top #news dl dt:before {
		top: 7px;
		left: -20px;
		width: 9px;
		height: 9px;
	}
	.top #news dl dd:after {
		width: 12px;
		height: 12px;
		margin-top: 4px;
	}
	.top .bnrList01 {
		margin: 50px 7% 70px;
	}
	.top .bnrList01 li:nth-child(1n+0) {
		width: 48%;
		vertical-align: top;
		text-align: center;
		margin: 30px 4% 0 0;
	}
	.top .bnrList01 li:nth-child(-n+2) {
		margin-top: 0;
	}
	.top .bnrList01 li:nth-child(even) {
		margin-right: 0;
	}
}

@media screen and (max-width:767px) {
	.top .sliderWrap .fR {
		margin: 0 1% -14.1% 0;
		margin: 0 1% 0 0;
	}
	.top .boxArea01 .fL,
	.top .boxArea01 .fR {
		padding: 35px 7% !important;
	}
	.top #enginnering .fR .btnStyle04 {
		margin-bottom: -17px;
	}
	.top #recruit ul li .btnStyle04 {
		margin-top: -17px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  会社概要
* --------------------------------------------------------------------------------------------------*/
.company #main {
	font-size: 15px;
	line-height: 1.87;
}
.company .ttlStyle02 {
	margin-bottom: 60px;
}
.company section + section {
	margin-top: 140px;
}
.company #message p + p {
	margin-top: 1.5em;
}
.company #identity p + p {
	margin-top: 1.5em;
}
.company #history ul li + li {
	margin-top: 9px;
}
.company #customer dl + dl {
	margin-top: 25px;
}
.company #customer dl dt {
	margin-bottom: 10px;
	position: relative;
}
.company #customer dl dt:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	content: "";
	height: 1px;
	width: 100%;
	margin: auto;
	background: #4d4d4d;
	z-index: -1;
}
.company #customer dl dt span {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	padding-right: 0.9em;
	background: #fff;
}
.company #thailand .accordionBox {
	display: none;
}
.company #thailand p + p {
	margin-top: 1.5em;
}
.company #thailand .table02 {
	margin: 65px 0 85px;
}
.company #thailand .btnAccordion {
	text-align: center;
	color: #e40038;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.0;
	padding: 22px 0;
	border: solid 1px #e40038;
	cursor: pointer;
}
.company #thailand .btnAccordion span {
	display: inline-block;
	padding-right: 30px;
	position: relative;
}
.company #thailand .btnAccordion span:after {
	position: absolute;
	right: 0;
	content: "";
	width: 16px;
	height: 16px;
	background-image: url(common/img/btn_accordion01.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
}
.company #thailand .btnAccordion.close span:after {
	background-image: url(common/img/btn_accordion02.png);
}
.company #access .accessBox + .accessBox {
	margin-top: 90px;
}
.company #access dl {
	line-height: 2.26;
	margin-bottom: 30px;
}
.company #access dl dt {
	font-size: 16px;
	font-weight: bold;
	padding-top: 28px;
	position: relative;
}
.company #access dl dt:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 78px;
	height: 8px;
	background: #e40038;
}
.company #access .gMap {
	position: relative;
	padding-bottom: 50%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.company #access .gMap iframe,
.company #access .gMap object,
.company #access .gMap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.company #access .gMap + p {
	margin-top: 25px;
}

@media screen and (max-width:768px) {
	.company #thailand .btnAccordion {
		width: 43%;
		margin: auto;
	}
}

@media screen and (max-width:767px) {
	.company #main {
		font-size: 10px;
		line-height: 1.75;
	}
	.company .ttlStyle02 {
		margin-bottom: 30px;
	}
	.company section + section {
		margin-top: 70px;
	}
	.company #customer dl dt span {
		font-size: 11px;
	}
	.company #thailand .table02 {
		margin: 35px 0 40px;
	}
	.company #thailand .btnAccordion {
		width: 76%;
		font-size: 11px;
		padding: 11px 0;
	}
	.company #thailand .btnAccordion span {
		padding-right: 21px;
	}
	.company #thailand .btnAccordion span:after {
		width: 12px;
		height: 12px;
	}
	.company #access .accessBox + .accessBox {
		margin-top: 60px;
	}
	.company #access dl {
		margin-bottom: 20px;
	}
	.company #access dl dt {
		padding-top: 20px;
		font-size: 11px;
	}
	.company #access dl dt:before {
		width: 60px;
		height: 4px;
	}
	.company #access .gMap + p {
		margin-top: 15px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  事業領域
* --------------------------------------------------------------------------------------------------*/
.service section + section {
	margin-top: 100px;
}
.service section ul {
	margin-top: 60px;
}
.service section ul li {
	font-size: 15px;
	line-height: 2.46;
	padding-left: 1em;
	position: relative;
}
.service section ul li:before {
	position: absolute;
	left: 0;
	content: "・";
}

@media screen and (max-width:767px) {
	.service section + section {
		margin-top: 55px;
	}
	.service section ul {
		margin-top: 30px;
	}
	.service section ul li {
		font-size: 10px;
		line-height: 2.2;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  開発実績
* --------------------------------------------------------------------------------------------------*/
.enginnering section {
	font-size: 15px;
}
.enginnering section + section {
	margin-top: 105px;
}
.enginnering section h2 {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 45px;
}
.enginnering section h2 span {
	display: inline-block;
	color: #e40038;
	margin-left: 0.2em;
}
.enginnering .table02 th {
	width: 31%;
	font-size: 16px;
	font-weight: bold;
}
.enginnering .table02 td {
	width: 69%;
}
.enginnering .imageArea h3 {
	font-size: 16px;
	font-weight: bold;
	margin: 35px 0 20px;
}
.enginnering .ContentArea {
	line-height: 2.46;
	padding: 30px 0;
	margin-top: 47px;
	border-top: solid 1px #4d4d4d;
	border-bottom: solid 1px #4d4d4d;
}
.enginnering .ContentArea h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (max-width:768px) {
	.enginnering section h2 {
		font-size: 22px;
	}
}

@media screen and (max-width:767px) {
	.enginnering #main {
		padding-top: 50px;
	}
	.enginnering section {
		font-size: 11px;
	}
	.enginnering section + section {
		margin-top: 55px;
	}
	.enginnering section h2 {
		margin-bottom: 30px;
	}
	.enginnering .table02 th {
		width: 34.5%;
		font-size: 11px;
	}
	.enginnering .table02 td {
		width: 65.5%;
	}
	.enginnering .imageArea h3 {
		font-size: 11px;
		margin: 15px 0;
	}
	.enginnering .ContentArea {
		line-height: 2.2;
		padding: 15px 0;
		margin-top: 25px;
	}
	.enginnering .ContentArea h3 {
		font-size: 11px;
		margin-bottom: 7px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  採用情報
* --------------------------------------------------------------------------------------------------*/
.recruit #member {
	display: table;
	width: 100%;
	padding: 90px 0 125px;
}
.recruit #member > * {
	display: table-cell;
}
.recruit #member .left {
	width: 36%;
	padding-right: 80px;
}
.recruit #member .left .btnStyle02 {
	margin-top: 60px;
}
.recruit #event {
	display: table;
	width: 100%;
	padding-bottom: 150px;
}
.recruit #event > * {
	display: table-cell;
}
.recruit #event .left {
	width: 60%;
}
.recruit #event .right {
	width: 40%;
	padding-left: 8%;
}
.recruit #event .right p {
	font-size: 13px;
	line-height: 2.44;
	margin: 40px 0;
}
.recruit #event .right img + .btnStyle02{
	margin-top: 60px;
}

@media screen and (max-width:768px) {
	.recruit #member {
		display: block;
		padding: 45px 0 65px;
	}
	.recruit #member > * {
		display: block;
		width: auto !important;
	}
	.recruit #member .left {
		padding: 0 0 35px;
	}
	.recruit #member .right .btnStyle02 {
		margin-top: 65px;
	}
	.recruit #event {
		display: block;
		padding-bottom: 50px;
	}
	.recruit #event > * {
		display: block;
		width: auto !important;
	}
	.recruit #event .right {
		padding: 0;
	}
	.recruit #event .right p {
		margin: 25px 0 40px;
	}
	.recruit #event img {
		margin: auto;
	}
	.recruit #event .right .btnStyle02 {
		position: relative;
		margin-top: -34px;
		z-index: 10;
	}
}

@media screen and (max-width:767px) {
	.recruit #event .right img + .btnStyle02 {
		margin-top: -17px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  採用コンセプト
* --------------------------------------------------------------------------------------------------*/
.concept #ttlArea01:before,
.concept #ttlArea01 .ttlBox,
.concept .bgContainer,
.concept #main {
	background: #0f62b5;
}
.concept #main {
	color: #fff;
	line-height: 2.5;
	padding: 150px 0 200px 140px;
}
.concept #main h2 {
	font-size: 28px;
	font-weight: bold;
	line-height: 2.47;
	margin-bottom: 120px;
}
.concept #main p + p {
	margin-top: 1.5em;
}

@media screen and (max-width:768px) {
	.concept .container {
		background: #0f62b5;
	}
	.concept #main {
		font-size: 12px;
		padding: 50px 0 80px;
		line-height: 1.91;
	}
	.concept #main h2 {
		font-size: 17px;
		line-height: 2.1;
		margin-bottom: 45px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  社員紹介
* --------------------------------------------------------------------------------------------------*/
.member .btnStyle03 {
	margin-top: 130px;
}

@media screen and (max-width:767px) {
	.member .staffList li:nth-child(1n+0) {
		width: 41%;
		margin: 11% 0 0;
	}
	.member .staffList li:nth-child(even) {
		float: right;
	}
	.member .staffList li:nth-child(-n+2) {
		margin-top: 0;
	}
	.member .staffList li .num {
		font-size: 6px;
	}
	.member .btnStyle03 {
		margin-top: 65px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  先輩社員
* --------------------------------------------------------------------------------------------------*/
.staff #main {
	position: relative;
}
.staff #main h2 {
	position: absolute;
	top: -57px;
	left: 70px;
	color: #0071bb;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.3;
}
.staff #main h2 span {
	display: inline-block;
	font-size: 40px;
	padding-bottom: 10px;
	border-bottom: solid 3px #0071bb;
}
.staff #main h2 + p {
	color: #0071bb;
	font-weight: bold;
	margin-top: -5px;
}
.staff [class^="sec"] p {
	font-size: 15px;
	line-height: 2.26;
}
.staff .sec01 h3 {
	margin: 50px 0 75px;
}
.staff .sec01 p + p {
	margin-top: 2.5em;
}
.staff .sec02 {
	margin-top: 125px;
}
.staff .sec02 .ttlStyle01 span {
	color: #0071bb;
	border-color: #0071bb;
	margin-bottom: 45px;
}
.staff .sec02 > div {
	width: 45.6%;
}
.staff .sec02 .fR {
	margin-top: 30px;
}
.staff .other {
	padding: 80px 0 105px 28.5%;
	clear: both;
}
.staff .other .contentIn {
	padding-left: 80px;
}
.staff .other h2 {
	color: #0071bb;
	font-size: 27px;
	font-weight: bold;
	margin-bottom: 50px;
}
.staff .other .btnStyle02 {
	font-size: 16px;
	margin-top: 70px;
}

@media screen and (max-width:768px) {
	.staff #main h2 {
		position: static;
		font-size: 15px;
	}
	.staff #main h2 span {
		font-size: 26px;
	}
	.staff #main h2 + p {
		font-size: 11px;
		margin-top: 20px;
	}
	.staff [class^="sec"] p {
		font-size: 10px;
	}
	.staff .sec01 h3 {
		margin: 45px 0 40px;
	}
	.staff .sec02 {
		margin-top: 50px;
	}
	.staff .sec02 .ttlStyle01 span {
		margin-bottom: 40px;
	}
	.staff .sec02 > div {
		width: auto;
		float: none;
	}
	.staff .sec02 .fR {
		width: 54%;
	}
	.staff .other {
		padding: 35px 0 70px;
		margin: 0 -8% 0;
		background: #f1f1f1;
	}
	.staff .other .contentIn {
		padding: 0 7%;
	}
	.staff .other h2 {
		font-size: 17px;
		margin-bottom: 40px;
	}
	.staff .other .btnStyle02 {
		font-size: 11px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  仕事紹介・研修制度・キャリアステップ
* --------------------------------------------------------------------------------------------------*/
.step #main {
	color: #4d4d4d;
}
.step h2.ttlStyle03 {
	margin-bottom: 80px;
}
.step .sec01 .freshersList {
	margin-top: 70px;
}
.step .sec01 .freshersList dl {
	width: 46%;
	line-height: 1.9;
	float: left;
	margin-top: 55px;
	border-top: solid 11px #0071bb;
}
.step .sec01 .freshersList dl:nth-child(even) {
	float: right;
}
.step .sec01 .freshersList dl:nth-child(-n+2) {
	margin-top: 0;
}
.step .sec01 .freshersList dl dt {
	font-size: 18px;
	font-weight: bold;
	margin: 20px 0 25px;
}
.step .sec01 .freshersList dl dd {
	font-size: 14px;
}
.step .sec02 {
	margin: 125px 0 150px;
}
.step .sec02 .careerList {
	margin-top: 60px;
}
.step .sec02 .careerList li {
	width: 50%;
	font-size: 14px;
	line-height: 1.5;
	float: left;
	padding: 30px 20px 28px;
	border-bottom: solid 1px #e5e5e5;
}
.step .sec02 .careerList li:nth-child(even) {
	float: right;
}
.step .sec02 .careerList li:nth-child(-n+2) {
	border-top: solid 1px #e5e5e5;
}
.step .sec02 .careerList li span {
	display: block;
	font-size: 15px;
	font-weight: bold;
	padding: 30px 0 7px;
	position: relative;
}
.step .sec02 .careerList li span:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 20px;
	height: 11px;
	background: #0071bb;
}
.step .sec03 .ttlStyle03 {
	margin-bottom: 100px;
}
.step .sec03 dl {
	padding: 0 25px;
}
.step .sec03 dl + dl {
	padding-top: 40px;
	margin-top: 40px;
	border-top: solid 1px #e5e5e5;
}
.step .sec03 dl dt {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}
.step .sec03 dl dt img {
	display: inline-block;
	vertical-align: middle;
	margin-right: 30px;
}
.step .sec03 dl dd {
	font-size: 15px;
	line-height: 1.86;
}

@media screen and (max-width:768px) {
	.step #main {
		font-size: 11px;
	}
	.step h2.ttlStyle03 {
		margin-bottom: 40px;
	}
	.step .sec01 .freshersList {
		margin-top: 45px;
	}
	.step .sec01 .freshersList dl:nth-child(1n+0) {
		width: auto;
		float: none;
		border-width: 6px;
		margin: 45px 0 0;
	}
	.step .sec01 .freshersList dl:first-child {
		margin-top: 0;
	}
	.step .sec01 .freshersList dl dt {
		font-size: 13px;
		margin: 17px 0 25px;
	}
	.step .sec01 .freshersList dl dd {
		font-size: 10px;
	}
	.step .sec02 {
		margin: 65px 0 75px;
	}
	.step .sec02 .careerList {
		margin-top: 45px;
	}
	.step .sec02 .careerList li:nth-child(1n+0) {
		width: auto;
		font-size: 10px;
		float: none;
		padding: 24px 0 20px;
	}
	.step .sec02 .careerList li:first-child {
		padding-top: 0;
		border-top: none;
	}
	.step .sec02 .careerList li span {
		font-size: 12px;
		padding: 20px 0 10px;
	}
	.step .sec02 .careerList li span:before {
		width: 13px;
		height: 7px;
	}
	.sec03 .ttlStyle03 {
		margin-bottom: 50px;
	}
	.step .sec03 dl {
		padding: 0 0 20px;
	}
	.step .sec03 dl + dl {
		padding-top: 19px;
		margin: 0;
	}
	.step .sec03 dl:last-child {
		border-bottom: solid 1px #e5e5e5;
	}
	.step .sec03 dl dt {
		font-size: 13px;
		margin-bottom: 20px;
	}
	.step .sec03 dl dt img {
		width: 65px;
		margin-right: 20px;
	}
	.step .sec03 dl dd {
		font-size: 10px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  新卒採用
* --------------------------------------------------------------------------------------------------*/
.freshers {
	color: #4d4d4d;
}
.freshers .con01 {
	font-size: 15px;
	font-weight: bold;
	line-height: 2.2;
}
.freshers .con01 p + p {
	margin-top: 2.5em;
}
.freshers .con02 {
	margin-top: 100px;
}
.freshers .con02 .ttlStyle01 {
	margin-bottom: 58px;
}

@media screen and (max-width:768px) {
	.freshers .con01 {
		font-size: 11px;
	}
	.freshers .con01 p + p {
		margin-top: 1em;
	}
	.freshers .con02 {
		margin-top: 50px;
	}
	.freshers .con02 p{
		font-size: 11px;
	}
	.freshers .con02 .ttlStyle01 {
		margin-bottom: 35px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  中途採用
* --------------------------------------------------------------------------------------------------*/
.career {
	color: #4d4d4d;
}
.career .ttlStyle01 {
	margin-bottom: 58px;
}
.career .sec02 {
	margin-top: 110px;
}
.career .sec02 dl + dl {
	margin-top: 55px;
}
.career .sec02 dl dt {
	min-width: 92px;
	text-align: center;
	color: #fff;
	font-size: 14px;
	line-height: 1.0;
	padding: 14px 1em;
	margin-bottom: 20px;
	float: left;
	background: #29aae1;
	border-radius: 21px;
}
.career .sec02 dl dd {
	font-size: 15px;
	line-height: 1.86;
	clear: both;
}
.career .sec02 dl dd ul {
	margin-top: 30px;
}
.career .sec02 dl dd ul li {
	text-align: center;
	font-size: 16px;
	border: solid 2px;
}
.career .sec02 dl dd ul li + li {
	margin-top: 25px;
}
.career .sec02 dl dd ul .mail {
	color: #29aae1;
	border-color: #29aae1;
}
.career .sec02 dl dd ul .tel {
	border-color: #989898;
}
.career .sec02 dl dd ul li a {
	display: block;
	padding: 15px 0 14px;
	position: relative;
}
.career .sec02 dl dd ul .tel a {
	cursor: text;
}
.career .sec02 dl dd ul .mail a:before,
.career .sec02 dl dd ul .tel a:before {
	display: inline-block;
	content: "　";
	width: 22px;
	height: 26px;
	margin: 2px 18px 0 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
}
.career .sec02 dl dd ul .mail a:before {
	background-image: url(common/img/ico_mail01.png);
}
.career .sec02 dl dd ul .tel a:before {
	background-image: url(common/img/ico_tel01.png);
}

@media screen and (max-width:768px) {
	.career .ttlStyle01 {
		margin-bottom: 37px;
	}
	.career .sec02 {
		margin-top: 55px;
	}
	.career .sec02 dl + dl {
		margin-top: 38px;
	}
	.career .sec02 dl dt {
		min-width: 62px;
		font-size: 9px;
		padding: 13px 1em;
		margin-bottom: 15px;
		border-radius: 18px;
	}
	.career .sec02 dl dd {
		font-size: 11px;
	}
	.career .sec02 dl dd ul {
		margin-top: 27px;
	}
	.career .sec02 dl dd ul li {
		font-size: 10px;
		border-width: 1px;
	}
	.career .sec02 dl dd ul li + li {
		margin-top: 22px;
	}
	.career .sec02 dl dd ul li a {
		padding: 8px 0 7px;
	}
	.career .sec02 dl dd ul .mail a:before,
	.career .sec02 dl dd ul .tel a:before {
		position: absolute;
		width: 13px;
		margin: -4px 0 0 -20px;
	}
	.career .bnrList01 {
		margin-top: 65px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  社外活動・イベント紹介
* --------------------------------------------------------------------------------------------------*/
.event #main {
	color: #4d4d4d;
	padding-left: 50px;
}
.event section + section {
	margin-top: 90px;
}
.event .sec01 {
	padding-top: 40px;
}
.event section h2 {
	font-size: 28px;
	font-weight: bold;
	padding-top: 40px;
	position: relative;
}
.event section h2:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 51px;
	height: 11px;
	background: #0071bb;
}
.event .photoGallery {
	text-align: left;
	font-size: 0;
	margin: 60px 0 35px;
}
.event .photoGallery li {
	display: inline-block;
	vertical-align: top;
	width: 20%;
	padding: 1px;
}
.event .photoGallery li a {
	display: block;
}
.event .photoGallery + p {
	line-height: 2;
}

@media screen and (max-width:768px) {
	.event #main {
		padding-left: 0;
	}
	.event section + section {
		margin-top: 70px;
	}
	.event section h2 {
		font-size: 18px;
		padding-top: 25px;
	}
	.event section h2:before {
		width: 33px;
		height: 7px;
	}
	.event .photoGallery {
		margin: 35px 0 20px;
	}
	.event .photoGallery + p {
		font-size: 10px;
	}
}

@media screen and (max-width:767px) {
	.event .photoGallery li {
		width: 25%;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  お問い合わせ
* --------------------------------------------------------------------------------------------------*/
.contact form {
	color: #4d4d4d;
	font-size: 16px;
	padding: 90px 0 150px;
}
.contact form dl + dl {
	margin-top: 45px;
}
.contact form dl dt {
	font-weight: bold;
}
.contact form dl dt .red {
	display: inline-block;
	color: #ec1c24;
	font-size: 14px;
	margin-left: 0.5em;
}
.contact form dl .dt01 {
	position: relative;
}
.contact form dl .dt01:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 1px;
	margin: auto;
	background: #b2b2b2;
	z-index: -1;
}
.contact form dl .dt01 > span {
	display: inline-block;
	padding-right: 1em;
	background: #fff;
}
.contact form dl .dt02 {
	margin-bottom: 15px;
}
.contact form input[type="text"],
.contact form textarea {
	width: 100%;
	border: solid 1px #b2b2b2;
	border-radius: 2px;
}
.contact form input[type="text"] {
	height: 41px;
	padding: 0 20px;
}
.contact form input[type="radio"] {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.contact form textarea {
	min-height: 245px;
	padding: 20px;
	resize: vertical;
}
.contact form .select {
	padding-bottom: 45px;
	margin-bottom: 65px;
	border-bottom: solid 1px #b2b2b2;
}
.contact form .select ul li {
	width: 50%;
	float: left;
	margin-top: 25px;
}
.contact form .btnConfirm {
	margin-top: 100px;
}
.contact form .btnConfirm input {
	background-image: url(common/img/ico_arrow01.png);
	background-repeat: no-repeat;
	background-position: center right 145px;
	background-size: 16px auto;
}

@media screen and (max-width:768px) {
	.contact form {
		padding: 40px 0 75px;
		font-size: 10px;
	}
	.contact form dl + dl {
		margin-top: 20px;
	}
	.contact form dl dt {
		font-size: 11px;
	}
	.contact form dl dt .red {
		font-size: 10px;
	}
	.contact form dl .dt02 {
		margin-bottom: 10px;
	}
	.contact form input[type="text"] {
		height: 27px;
		padding: 0 10px;
	}
	.contact form textarea {
		padding: 10px;
		min-height: 200px;
	}
	.contact form .select {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.contact form .select ul li {
		width: auto;
		float: none;
	}
	.contact form .btnConfirm {
		margin-top: 40px;
	}
	.contact form .btnConfirm input {
		background-position: center right 36%;
		background-size: 11px auto;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  確認画面
* --------------------------------------------------------------------------------------------------*/
.confirm form {
	color: #4d4d4d;
	line-height: 2;
	padding: 60px 0 110px;
}
.confirm form dl dt {
	font-weight: bold;
}
.confirm form .dl01 {
	display: table;
	width: 100%;
	border-bottom: solid 1px #b2b2b2;
}
.confirm form .dl01 > * {
	display: table-cell;
	vertical-align: middle;
	padding: 30px 0;
}
.confirm form .dl01 dt {
	width: 28%;
}
.confirm form .dl02 dt {
	padding: 50px 0 30px;
}
.confirm form .dl02 dd {
	font-size: 15px;
}
.confirm form ul {
	margin-top: 90px;
}
.confirm form ul li + li {
	margin-top: 35px;
}
.confirm form .textError {
	line-height: 3.0;
}
.confirm form .textError span{
	color:#ec1c24;
	font-weight: bold;
}
.confirm form .btnSend input {
	background-image: url(common/img/ico_arrow01.png);
	background-repeat: no-repeat;
	background-position: center right 100px;
	background-size: 16px auto;
}
.confirm form .btnBack > * {
	background-color: #989898;
	background-image: url(common/img/ico_arrow03.png);
	background-repeat: no-repeat;
	background-position: center right 130px;
	background-size: 16px auto;
}
.confirm form .textError + .btnBack{
	margin-top: 100px;
}

@media screen and (max-width:768px) {
	.confirm form {
		padding: 25px 0 70px;
	}
	.confirm form dl dt {
		font-size: 11px;
	}
	.confirm form dl dd {
		font-size: 10px !important;
	}
	.confirm form .dl01 {
		padding: 20px 0;
	}
	.confirm form .dl01 > * {
		display: block;
		padding: 0;
	}
	.confirm form .dl01 dt {
		width: auto;
		margin-bottom: 5px;
	}
	.confirm form .dl02 dt {
		padding: 20px 0 5px;
	}
	.confirm form ul {
		margin-top: 50px;
	}
	.confirm form ul li + li {
		margin-top: 25px;
	}
	.confirm form .textError {
		font-size: 11px;
	}
	.confirm form .btnSend input {
		background-position: center right 26%;
		background-size: 11px auto;
	}
	.confirm form .btnBack > * {
		background-position: center right 31%;
		background-size: 11px auto;
	}
	.confirm form .textError + .btnBack{
		margin-top: 40px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  完了画面
* --------------------------------------------------------------------------------------------------*/
.complete #main {
	padding: 90px 0 140px;
}
.complete #ttlArea02 {
	padding: 152px 0 151px;
}
.complete #ttlArea02 h1 {
	text-align: center;
	font-size: 17px;
}
.complete #main p {
	line-height: 2.0;
}
.complete .btnStyle01 {
	margin-top: 100px;
}

@media screen and (max-width:768px) {
	.complete #main {
		padding: 40px 0 60px;
	}
	.complete #ttlArea02 {
		padding: 87px 0 88px;
	}
	.complete #ttlArea02 h1 {
		font-size: 12px;
	}
	.complete #main p {
		font-size: 11px;
	}
	.complete .btnStyle01 {
		margin-top: 40px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  プライバシーポリシー
* --------------------------------------------------------------------------------------------------*/
.privacy #main {
	padding: 90px 0 145px;
}
.privacy .lead {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 50px;
}
.privacy ol li {
	font-size: 15px;
	margin-bottom: 25px;
	text-indent: -0.9em;
	padding-left: 0.9em;
}
.privacy .tR {
	font-size: 15px;
	margin-top: 60px;
}
.privacy .tR p + p {
	margin-top: 1.5em;
}
.privacy .tL {
	font-size: 15px;
	margin-top: 60px;
}

@media screen and (max-width:768px) {
	.privacy #main {
		padding: 50px 0 60px;
	}
	.privacy .lead {
		font-size: 10px;
		margin-bottom: 35px;
	}
	.privacy ol li {
		font-size: 8px;
		margin-bottom: 20px;
	}
	.privacy .tR {
		font-size: 8px;
		margin-top: 30px;
	}
	.privacy .tL {
		font-size: 8px;
		margin-top: 30px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  コンプライアンス
* --------------------------------------------------------------------------------------------------*/
.compliance #main {
	padding: 90px 0 145px;
	color: #4d4d4d;
}
.compliance .lead {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 50px;
}
.compliance #main p {
	margin-bottom: 50px;
}
.compliance #main p b {
	font-weight: bold;
}

@media screen and (max-width:768px) {
	.compliance #main {
		padding: 50px 0 60px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  セキュリティポリシー
* --------------------------------------------------------------------------------------------------*/
.security #main {
	color: #4d4d4d;
}
.security #main {
	padding: 90px 0 135px;
}
.security .con01 > p {
	font-weight: bold;
	line-height: 2;
}
.security .con01 ol li {
	font-size: 15px;
}
.security .con01 ol li {
	margin-top: 2em;
}
.security .con01 ol li p {
	margin: 2em 1em 0;
}
.security .con01 .tR {
	font-size: 15px;
	margin-top: 50px;
}
.security .con01 .tR p + p {
	margin-top: 1.5em;
}
.security .con02 {
	margin-top: 135px;
}
.security .con02 h2 {
	font-weight: bold;
	padding: 3px 0 5px 25px;
	margin-bottom: 85px;
	border-left: solid 20px #e51a29;
}
.security .con02 .isms {
	margin-bottom: 40px;
}
.security .con02 .isms img {
	margin: 35px 0 90px;
}
.security .con02 table {
	width: 100%;
	font-size: 15px;
	border-bottom: solid 1px #4d4d4d;
}
.security .con02 table tr {
	border-top: solid 1px #4d4d4d;
}
.security .con02 table th {
	width: 24%;
	text-align: left;
	padding: 22px 0;
	vertical-align: middle;
}
.security .con02 table td {
	padding: 22px 0;
	vertical-align: middle;
}
.security .con02 table td ol li {
	text-indent: -0.8em;
	padding-left: 0.8em;
}

@media screen and (max-width:768px) {
	.security #main {
		padding: 50px 0 60px;
	}
	.security .con01 > p {
		font-size: 10px;
		margin-bottom: 2em;
	}
	.security .con01 ol li {
		font-size: 9px;
	}
	.security .con01 ol li {
		margin-top: 1.5em;
	}
	.security .con01 ol li p {
		margin-top: 1.5em;
	}
	.security .con01 .tR {
		font-size: 9px;
		margin-top: 40px;
	}
	.security .con02 {
		font-size: 10px;
		margin-top: 55px;
	}
	.security .con02 h2 {
		padding: 0 0 1px 13px;
		margin-bottom: 32px;
		border-width: 10px;
	}
	.security .con02 .isms {
		margin-bottom: 25px;
	}
	.security .con02 .isms img {
		width: 49.4%;
		margin: 30px 0 40px;
	}
	.security .con02 table th {
		width: 30.9%;
		font-size: 10px;
		padding: 7px 0;
	}
	.security .con02 table td {
		font-size: 11px;
		padding: 7px 0;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  404　File not found
* --------------------------------------------------------------------------------------------------*/
.error #main {
	padding: 90px 0 140px;
}
.error #ttlArea02 {
	padding: 137px 0 135px;
}
.error #ttlArea02 h1 {
	text-align: center;
	font-size: 36px;
}
.error #main p {
	line-height: 2.0;
}
.error .btnStyle01 {
	margin-top: 100px;
}

@media screen and (max-width:768px) {
	.error #main {
		padding: 40px 0 60px;
	}
	.error #ttlArea02 {
		padding: 87px 0 85px;
	}
	.error #ttlArea02 h1 {
		font-size: 18px;
	}
	.error #main p {
		font-size: 11px;
	}
	.error .btnStyle01 {
		margin-top: 40px;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  トップ バナー設置
* --------------------------------------------------------------------------------------------------*/
.top_banner {
	background: #e5e5e5;
}
.top_banner .inner {
	max-width: 880px;
	margin: 0 auto 0;
	padding: 50px 0;
	display: flex;
	justify-content: space-around;
}
.top_banner .inner > div {
	width: 40%;
}
.top_banner .inner > div a {
	display: block;
	padding: 10px 8%;
	background-color: #fff;
	transition: all .3s;
}
.top_banner .inner > div p {
	padding: 5px;
	font-size: 13px;
	text-align: center;
}
.top_banner .inner a:hover {
	opacity: .7;
}
#newsBox.boxArea01 .fL {
	padding-top: 60px;
}
@media screen and (max-width:768px) {
	.top_banner .inner {
		padding: 30px 15px 20px;
		flex-direction: column;
	}
	.top_banner .inner > div {
		width: 100%;
		margin: 0 auto 10px;
	}
	.top_banner .inner > div a {
		display: block;
		width: 80%;
		margin: 0 auto;
		padding: 5px 12%;
	}
}

.contact dd.img-auth {
	text-align: left;
	text-justify: none;
}
