@charset "utf-8";

/* common
------------------------------------------------------------*/
.inner {
	max-width: 1200px;
	width: 100%;
	margin: auto;
}
p {
	margin-bottom: 20px;
}
ol {
	padding-left: 20px;
}
ol li {
	list-style-type: disc;
}
ul.indent li::before {
	content: "└";
	color: #ccc;
	margin-right: 10px;
	display:inline-block;
}
.sp {
	display: none!important;
}
.center {
	text-align: center;
}
.top,
.orangeArea {
	background: #fbf1e3;
}

/* hx
------------------------------------------------------------*/
h1 {
	font-size: 10px;
	font-size: 1rem;
	color: #999;
}
.h2Wrap {
	width: 100%;
	height: 0;
	height: 450px\0/;
	background-repeat: no-repeat;
	background-position: center top;
	background-attachment: fixed;
	position: relative;
	transition: height 0.5s;
	-webkit-animation: autoHeight 0.8s ease 0.1s 1 forwards;
  animation: autoHeight 0.8s ease 0.1s 1 forwards;
}
.h2Wrap.size-l {
	height: 0;
	height: 650px\0/;
	-webkit-animation: autoHeight_size-l 0.8s ease 0.1s 1 forwards;
  animation: autoHeight_size-l 0.8s ease 0.1s 1 forwards;
}
@-webkit-keyframes autoHeight {
  100% {
		height: 450px;
  }
}
@keyframes autoHeight {
  100% {
		height: 450px;
  }
}
@-webkit-keyframes autoHeight_size-l {
  100% {
		height: 650px;
  }
}
@keyframes autoHeight_size-l {
  100% {
		height: 650px;
  }
}
.h2Wrap.about {
	background-image: url(../about/images/h2.jpg);
}
.h2Wrap.service {
	background-image: url(../service/images/h2.jpg);
}
.h2Wrap.business {
	background-image: url(../business/images/h2.jpg);
}
.h2Wrap.person {
	background-image: url(../person/images/h2.jpg);
}
.training .h2Wrap {
	background-image: url(../training/images/h2.jpg);
}
.h2Wrap.recruit {
	background-image: url(../recruit/images/h2.jpg);
}
.h2Wrap.privacy {
	background-image: url(../images/h2_privacy.jpg);
}
.h2Wrap.sitemap {
	background-image: url(../images/h2_sitemap.jpg);
}
.h2Wrap.itw {
	height: 650px;
	background-attachment: scroll;
	border-bottom: 3px solid #635245;
	-webkit-animation: none;
	animation: none;
}
.h2Wrap.itw.itw01 {
	background-image: url(../person/images/01_main.jpg);
}
.h2Wrap.itw.itw02 {
	background-image: url(../person/images/02_main.jpg);
}
.h2Wrap.itw.itw03 {
	background-image: url(../person/images/03_main.jpg);
}
.h2Wrap.itw.itw04 {
	background-image: url(../person/images/04_main.jpg);
}
.h2Wrap > h2 {
	font-family: 'Overpass', sans-serif;
	font-size: 36px;
	font-size: 3.6rem;
	color: #fff;
	padding-top: 50px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	letter-spacing: 5px;
	opacity: 0;
	opacity: 1\0/;
	-webkit-animation: fadeIn 0.8s ease 1s 1 forwards;
  animation: fadeIn 0.8s ease 1s 1 forwards;
}
@-webkit-keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
.h2Wrap h2 span {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	margin-top: 5px;
	display: block;
	letter-spacing: 2px;
}
.box > .inner > h3 {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	padding-bottom: 20px;
	margin: 80px 0 30px;
	border-bottom: 2px solid #eee;
	position: relative;
	letter-spacing: 2px;
}
.box > .inner > h3:first-child {
	margin-top: 0;
}
.box > .inner > h3::after {
	content: "";
	width: 40px;
	height: 2px;
	background: #a91c1c;
	margin-top: 20px;
	display: block;
	position: absolute;
}
.itw .txtArea h3 {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #a91c1c;
	margin-bottom: 30px;
}
.itw .graph h2,
.itw .private h3 {
	font-weight: bold;
	padding: 0;
	margin-bottom: 60px;
	display: inline-block;
	letter-spacing: 2px;
}
.itw .graph h2 span,
.itw .private h3 span {
	font-family: 'Overpass', sans-serif;
	font-size: 30px;
	font-size: 3rem;
	font-weight: normal;
	padding-bottom: 5px;
	margin-bottom: 10px;
	display: block;
	border-bottom: 2px solid #111;
}
h4 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #a91c1c;
	margin: 50px 0 20px;
	letter-spacing: 1px;
}
.multi h4,
h4:first-child,
h3 + h4 {
	margin-top: 0;
}
h5 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 15px;
}


/* トップページ
------------------------------------------------------------*/
.top p {
	margin-bottom: 0;
}


/* メインビジュアル
-------------------------*/
#slider {
	border-bottom: 3px solid #635245;
}


/* sec01
-------------------------*/
#sec01 {
	padding: 70px 0 80px;
}
.bnrArea {
	width: 100%;
	display: table;
	table-layout: fixed;
}
#sec01 .bnrArea:first-child {
	margin-bottom: 60px;
}
.bnrArea > div {
	display: table-cell;
	vertical-align: top;
}
.bnrArea > div a {
	color: #333;
	background: #fff;
	padding: 40px 30px 50px;
	display: block;
	position: relative;
	text-decoration: none;
}
.bnrArea > div:nth-child(even) a {
	background: #e8e1dc;
}
.bnrArea > div a:hover {
	opacity: 1;
}
.bnrArea > div h2 {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	color: #444;
	position: absolute;
	top: -15px;
	letter-spacing: 3px;
}
.bnrArea > div h2 span {
	font-size: 12px;
	font-size: 1.2rem;
	color: #a91c1c;
	display: block;
}
.bnrArea.size-s > div h2 {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.5;
	top: -10px;
	letter-spacing: 1px;
}
.bnrArea.size-s > div h2 span {
	font-family: 'Fjalla One', sans-serif;
	font-weight: normal;
	letter-spacing: 2px;
}
.bnrArea > div a p {
	font-family: 'Fjalla One', sans-serif;
	padding-right: 27px;
	border-right: 3px solid #333;
	letter-spacing: 2px;
	position: absolute;
	right: 0;
	bottom: 16px;
	transition: 0.2s;
}
.bnrArea > div a:hover p {
	color: #a91c1c;
	padding-right: 15px;
	border-color: #a91c1c;
}
.bnrArea > div figure {
	position: relative;
}
.bnrArea > div figure::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
}
.bnrArea > div a:hover figure::after {
	background: rgba(0,0,0,.3);
}


/* sec02
-------------------------*/
#sec02 {
	background: #fff;
	padding: 100px 0 150px;
	text-align: center;
}
#sec02 h2,
#sec03 h2 {
	font-weight: bold;
	margin-bottom: 60px;
	display: inline-block;
	letter-spacing: 2px;
}
#sec02 h2 span,
#sec03 h2 span {
	font-family: 'Overpass', sans-serif;
	font-size: 34px;
	font-size: 3.4rem;
	font-weight: normal;
	padding-bottom: 5px;
	margin-bottom: 10px;
	display: block;
	border-bottom: 2px solid #111;
}
.circleArea {
	display: table;
	border-collapse: separate;
	border-spacing: 60px 0;
	margin: auto;
}
.circleArea a {
  background: #fff;
	width: 230px;
	height: 230px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	border-radius: 50%;
	text-decoration: none;
	letter-spacing: 2px;
  position: relative;
  overflow: hidden;
}
.circleArea a:hover {
	opacity: 1;
}
.circleArea a .txt{
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #333;
  position: relative;
  transition: all 0.4s ease;
  z-index: 2;
}
.circleArea a:hover .txt{
  color: #fff;
}
.circleArea a .effect {
	width: 230px;
	height: 230px;
	border: 4px solid #a91c1c;
	border-radius: 50%;
  position: absolute;
	top: 0;
  transition: all 0.4s ease;
  z-index: 1;
}
.circleArea a:hover .effect{
  border-width: 115px;
}
.circleArea a .txt span {
	font-size: 10px;
	font-size: 1rem;
	color: #a91c1c;
	display: block;
	transition: 0.3s;
}
.circleArea a:hover .txt span{
  color: #fff;
}


/* sec03
-------------------------*/
#sec03 {
	background: #f4f2ed;
}
#sec03 h2 {
	color: #fff;
	margin-bottom: 50px;
}
#sec03 h2 span {
	border-color: #fff;
}
#sec03 section {
	background: #99cbd0;
	padding: 50px 120px 60px;
	text-align: center;
	position: relative;
	top: -50px;
}
#sec03 li {
	background: #f9f9f9;
	padding: 15px 100px;
	text-align: left;
}
#sec03 li:not(:first-child){
	margin-top: 10px;
}
#sec03 li span {
	margin-right: 40px;
}


/* 下層ページ
------------------------------------------------------------*/
#contentsWrap {
	position: relative;
}
#contents {
	background: #fbf1e3;
	padding: 20px 0;
}
#contents p,
#contents li,
#contents dt,
#contents dd,
#contents th,
#contents td  {
	line-height: 1.8;
	letter-spacing: 1px;
}
.x2 > li,
.x2 > div {
	width: 580px;
	float: left;
}
.x2 > li:nth-child(even),
.x2 > div:nth-child(even) {
	margin-left: 40px;
}
.x2 > li:nth-child(n+3),
.x2 > div:nth-child(n+3) {
	margin-top: 40px;
}
.x3 > li,
.x3 > div {
	width: 380px;
	margin-right: 30px;
	float: left;
}
.x3 > li:nth-child(3n),
.x3 > div:nth-child(3n) {
	margin-right: 0;
}
.x3 > li:nth-child(n+4),
.x3 > div:nth-child(n+4) {
	margin-top: 30px;
}
.x3 li figcaption {
	margin-top: 15px;
}
.x3 li figcaption h4 {
	margin: 0;
}
table td > div:not(:first-child) {
	padding-top: 20px;
	margin-top: 20px;
	border-top: 1px dotted #ccc;
}
.multi.sub {
	padding-left: 30px;
	margin-left: 30px;
	border-left: 4px solid #f5f5f5;
}
.multi:not(:last-child) {
	margin-bottom: 30px;
}
.multi img.fl {
	margin-right: 50px;
}
.multi img.fr {
	margin-left: 50px;
}
.box {
	max-width: 98%;
	background: #fff;
	padding: 60px 0;
	margin: auto;
}
.box:not(:first-child) {
	margin-top: 20px;
}
.anchorArea + .box {
	margin-top: 0;
}
table.col-2 {
	width: 100%;
	border-top: 1px solid #ead9b8;
}
table.col-2 th,
table.col-2 td {
	padding: 20px;
	border-bottom: 1px solid #ead9b8;
}
table.col-2 th {
	font-weight: bold;
	width: 20%;
	background: #fdf7eb;
}
.anchorArea li {
	width: 232px;
	float: left;
	text-align: center;
}
.anchorArea li:not(:first-child) {
	margin-left: 10px;
}
.anchorArea li a {
	color: #fff;
	background: #757575;
	padding: 10px;
	display: block;
	text-decoration: none;
	transition: 0.3s;
}
.anchorArea li a:hover,
.anchorArea li.ac a {
	color: #333;
	background: #fff;
	opacity: 1;
}
.anchorArea li.ac a:hover {
	opacity: 1;
}
.anchorArea li a[href^="http"]::after {
	background-image: url(../images/i_outlink-wt.gif);
	transition: 0.3s;
}
.anchorArea li a[href^="http"]:hover::after {
	background-image: url(../images/i_outlink.gif);
}
.paragraph {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	 -webkit-column-gap: 30px; 
	-moz-column-gap: 30px;
	column-gap: 30px;
	text-align: justify;
}
.paragraph > p {
	margin-bottom: 0;
}


/* ボタン系
-------------------------*/
.btnArea a:not(:first-child) {
	margin-left: 20px;
}
#contents .btn-entry {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #a91c1c;
	background: #fff;
	padding: 15px 50px;
	display: inline-block;
	border: 2px solid #a91c1c;
	text-decoration: none;
	cursor: pointer;
	transition: 0.3s;
}
#contents .btn-entry:hover {
	color: #fff;
  background: #a91c1c;
	opacity: 1;
}
#contents .btn-entry::after {
	transition: .3s;
}
#contents .btn-entry:hover::after {
	background-image: url(../images/i_outlink-wt.gif);
}
.btn-media {
	max-width: 300px;
	display: inline-block;
	text-align: center;
	text-decoration: none;
}
.btn-media::after {
	display: none!important;
}
/*.btn-media figure {
	padding: 10px 50px;
}*/
.btn-media figcaption {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	padding: 5px 0;
	letter-spacing: 1px;
}
.btn-mynavi {
	border: 2px solid #00aaeb;
}
.btn-mynavi figcaption {
	background: #00aaeb;
}
.btn-recnavi {
	border: 2px solid #0068b7;
}
.btn-recnavi figcaption {
	background: #0068b7;
}
.btn-more {
	color: #fff;
	background-color: #99cbd0;
	padding: 10px 50px 10px 20px;
	display: inline-block;
	text-decoration: none;
	position: relative;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.btn-more:hover {
	opacity: 1;
}
.btn-more::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #387e9f;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.btn-more::after {
	content: "";
	width: 6px;
	height: 10px;
	background: url(../images/i_arrow-wt.png) no-repeat;
	margin-top: -5px;
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
}
.btn-more:hover::before,
.btn-more:focus::before,
.btn-more:active::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}


/* サブナビ
-------------------------*/
.subNav h3 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.subNav li {
	width: 20%;
	float: left;
	text-align: center;
	position: relative;
}
.subNav li figure::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.subNav li.ac figure::after {
	background: none;
}
.subNav li .txtArea {
	width: 80%;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.subNav li a {
	line-height: 30px;
	color: #fff;
	padding: 0 50px;
	display: inline-block;
	border: 2px solid #fff;
	border-radius: 17px;
	text-decoration: none;
	transition: 0.3s;
}
.subNav li a:hover {
	color: #333;
	background: #fff;
	opacity: 1;
}
.subNav li a[href^="http"]::after {
	background-image: url(../images/i_outlink-wt.gif);
	transition: 0.3s;
}
.subNav li a[href^="http"]:hover::after {
	background-image: url(../images/i_outlink.gif);
}


/* パンくず
-------------------------*/
.pankuzu {
	margin-left: -600px;
	position: absolute;
	top: 70px;
	left: 50%;
	z-index: 10;
}
.pankuzu li {
	font-size: 12px;
	font-size: 1.2rem;
	color: #f9f9f9;
	display: inline-block;
	text-shadow: 0 0 20px #000;
	letter-spacing: 1px;
}
.pankuzu li:before {
	content: ">";
	color: #f9f9f9;
	margin: 0 15px;
}
.pankuzu li:first-child:before {
	display: none;
}
.pankuzu li a {
	color: #f9f9f9;
	display: inline-block;
	text-decoration: none;
	position: relative;
}
.pankuzu li a:hover {
	opacity: 1;
}
.pankuzu li a::before {
	content: "";
	width: 0;
	height: 1px;
	background: #f9f9f9;
	display: block;
	position: absolute;
	left: 50%;
	bottom: -3px;
	transition: 0.3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.pankuzu li a:hover::before {
	width: 100%;
}
	
	
/* 事業を知る
-------------------------*/
.iconArea {
	width: 100%;
}
.iconArea li {
	width: 291px;
	background: #f9f9f9;
	padding: 20px 0;
	float: left;
	text-align: center;
	position: relative;
}
.iconArea li:not(:first-child) {
	margin-left: 12px;
}
.iconArea li p {
	margin: 10px 0 0;
	letter-spacing: 1px;
}
.iconArea li p span {
	font-family: 'Overpass', sans-serif;
	font-size: 10px;
	font-size: 1rem;
	color: #a91c1c;
	display: block;
	letter-spacing: 2px;
}
.iconArea li::before,
.iconArea li::after {
	content: "";
	display: block;
	border-style: solid;
	position: absolute;
	top: 0;
	right: 0;
}
.iconArea li::before {
	border-width: 0 20px 20px 0;
	border-color: transparent #fff transparent transparent;
}
.iconArea li::after {
	border-style: solid;
	border-width: 20px 0 0 20px;
	border-color: transparent transparent transparent #efe9dc;
}


/* 人を知る
-------------------------*/
.personList a {
	display: block;
	text-decoration: none;
	position: relative;
}
.prof {
	background: #fff;
	position: relative;
}
.personList .prof {
	width: 94%;
	padding-top: 30px;
	margin-top: -50px;
	left: 3%;
	transition: 0.3s;
}
.catch .prof {
	max-width: 500px;
	padding: 40px 0 20px;
	margin: 50px 0 0 20px;
}
.catch.line-3 .prof {
	margin-top: 30px;
}
.personList li a:hover .prof {
	margin-top: -40px;
}
.prof .icon {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 30px;
	color: #fff;
	background: #e39292;
	padding: 0 15px;
	display: inline-block;
	position: absolute;
	top: -15px;
	left: 30px;
	letter-spacing: 2px;
}
.prof .txtArea {
	width: 100%;
	display: table;
}
.prof .txtArea p,
.prof .txtArea dl {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
	color: #999;
	padding: 0 20px 0 30px;
	margin-bottom: 0;
	display: table-cell;
	vertical-align: top;
	letter-spacing: 1px;
}
.prof .txtArea p span {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	color: #333;
	margin-bottom: 8px;
	display: block;
}
.prof .txtArea dl {
	width: 300px;
	padding-bottom: 5px;
	border-left: 1px solid #eee;
}
.catch .txtArea dl {
	width: 280px;
}
.prof .txtArea dl dt,
.prof .txtArea dl dd {
	padding-top: 5px;
}
.prof .txtArea dl dt {
	width: 80px;
	float: left;
}
.prof .txtArea dl dd {
	padding-left: 80px;
}
.prof .txtArea dl dd:not(:last-child) {
	border-bottom: 1px dotted #eee;
}
.personList li a:hover {
	opacity: 1;
}
.personList li figure {
	position: relative;
	overflow: hidden;
}
.personList li figure::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
}
.personList li a:hover figure::after {
	background: rgba(0,0,0,.3);
}
.personList li.ac figure::after {
	background: none;
}
.personList li figure img {
	transition: 0.3s;
}
.personList li a:hover figure img {
	transform: scale(1.05);
}
.h2Wrap.itw > .inner {
	height: 650px;
	position: relative;
}
.h2Wrap.itw .catch {
	padding-top: 0;
	position: absolute;
	top: 170px;
	right: 0;
}
.h2Wrap.itw .catch.line-3 {
	top: 130px;
}
.prof .icon.blue {
	background: #99cbd0!important;
}
#contents.itw {
	background: none;
	position: relative;
	margin-top: -50px;
	padding: 0;
}
.lead {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: normal;
	color: #111;
	background: #fbf1e3;
	padding: 30px 50px;
	margin-bottom: 50px;
	text-align: center;
	letter-spacing: 1px;
}
#contents.itw .imgArea.fl {
	margin-right: 50px;
}
#contents.itw .imgArea.fr {
	margin-left: 50px;
}
#contents.itw .imgArea li:not(:first-child) {
	margin-top: 10px;
}
#contents.itw .txtArea {
	padding-top: 30px;
	overflow: hidden;
}
#contents.itw .private {
	background: #fbf1e3;
	padding: 40px 100px;
	margin-top: 70px;
	text-align: center;
}
#contents.itw .private .txtArea {
	padding-top: 0;
	text-align: left;
}
.thumbArea {
	margin-top: 50px;
}
.thumbArea li {
	width: 25%;
	float: left;
}
.thumbArea li a {
	display: block;
	position: relative;
}
.thumbArea li.ac a {
	pointer-events: none;
}
.thumbArea li a:hover {
	opacity: 1;
}
.thumbArea li figure {
	position: relative;
	overflow: hidden;
}
.thumbArea li figure::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(30,1,1,.5);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
}
.thumbArea li a:hover figure::after {
	background: rgba(30,1,1,.4);
}
.thumbArea li.ac figure::after {
	background: none;
}
.thumbArea li figure img {
	transition: 0.3s;
}
.thumbArea li a:hover figure img {
	transform: scale(1.05);
}
.thumbArea li figcaption {
	font-size: 12px;
	font-size: 1.2rem;
	color: #fff;
	text-align: right;
	position: absolute;
	right: 20px;
	bottom: 15px;
	letter-spacing: 2px;
}
.thumbArea li figcaption span {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
.graph {
	background: url(../images/bg_pattern.png) #f4f2ed;
	padding: 60px 0;
	text-align: center;
}
.graph li {
	position: relative;
}
.graph li p {
	width: 1040px;
	margin: auto;
	position: absolute;
	top: 35px;
	left: 0;
	right: 0;
	z-index: 100;
}
.graph .bx-pager {
	margin-top: 20px;
	text-align: center;
}
.graph .bx-pager .bx-pager-item {
	margin: 0 0 0 8px;
	display: inline-block;
}
.graph .bx-pager .bx-pager-item:first-child {
	margin-left: 0;
}
.graph .bx-pager.bx-default-pager a {
	width: 28px;
	color: #333;
	background: #fff;
	padding: 3px 0;
	display: block;
	border-bottom: 1px solid #eee;
	border-radius: 3px;
	text-decoration: none;
}
.graph .bx-pager.bx-default-pager a.active {
	color: #fff;
	background: #a91c1c;
}
.graph .bx-pager.bx-default-pager a.active:hover {
	opacity: 1;
}
.graph .bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}


/* 仕事を知る
-------------------------*/
.flow #bx-pager {
	margin-top: 30px;
}
.flow #bx-pager a {
	width: 185px;
	margin-right: 18px;
	float: left;
	display: block;
	position: relative;
}
.flow #bx-pager a:nth-child(6n) {
	margin-right: 0;
}
.flow #bx-pager a:nth-child(n+7) {
	margin-top: 18px;
}
.flow #bx-pager a.active::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(30,1,1,.5);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.flow #bx-pager a.active:hover {
	opacity: 1;
}
.graph .bx-wrapper,
.flow .bx-wrapper {
	position: relative;
}
.flow .bx-wrapper .bx-controls {
	width: 100%;
	position: absolute;
	top: 230px;
	left: 0;
}
.graph .bx-wrapper .bx-prev,
.flow .bx-wrapper .bx-prev {
	background: url(../business/images/controls.png) no-repeat 0px 0;
	left: -80px;
}
.graph .bx-wrapper .bx-next,
.flow .bx-wrapper .bx-next {
	background: url(../business/images/controls.png) no-repeat -50px 0;
	right: -80px;
}
.graph .bx-wrapper .bx-controls-direction a,
.flow .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	outline: 0;
	text-indent: -9999px;
	z-index: 100;
	width: 50px;
	height: 50px;
	margin-top: -25px;
}
.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}
.flow li {
	width: 100%;
	display: table;
}
.flow li > p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.flow li > p:first-child {
	width: 794px;
}
.flow li > p.txtArea {
	padding: 0 40px 30px;
}
.flow li > p.txtArea span {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #a91c1c;
	display: block;
}
.flow li > p.txtArea span::after {
	content: "";
	width: 30px;
	height: 1px;
	background: #ddd;
	margin: 15px auto 30px;
	display: block;
}


/* 採用情報
-------------------------*/
#acMenu {
	border-top: 1px solid #ead9b8;
}
#acMenu dt {
	background: url(../images/i_arrow-red02.png) no-repeat right 15px center;
	background-size: 10px 6px;
	display: block;
	padding: 15px 40px 15px 15px;
	border-bottom: 1px solid #ead9b8;
	cursor: pointer;
	transition: 0.3s;
}
#acMenu dt:hover {
	background-color: #fdf7eb;
}
#acMenu dt span {
	font-family: 'Overpass', sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	color: #a91c1c;
	margin-right: 15px;
}
#acMenu dd {
	background: #fdf7eb;
	padding: 12px 15px;
	border-bottom: 1px solid #ead9b8;
	display: none;
}
#acMenu dd a {
	text-decoration: underline;
}
#acMenu dd a:hover {
	text-decoration: none;
	opacity: 1;
}


/* 研修・教育
-------------------------*/
.flowImg {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.flowImg li {
	max-height: 90px;
	color: #fff;
	background: #99cbd0;
	padding: 20px 30px;
	display: table-cell;
	vertical-align: middle;
	position: relative;
}
.flowImg li:not(:first-child) {
	padding-left: 50px;
}
.flowImg li:nth-child(2) {
	background: #77b4bf;
}
.flowImg li:nth-child(3) {
	background: #5da0b1;
}
.flowImg li:nth-child(4) {
	background: #4a93ae;
}
.flowImg li:last-child {
	background: #387e9f;
}
.flowImg li:not(:last-child)::before,
.flowImg li:not(:last-child)::after {
	content: "";
	border-style: solid;
	border-width: 45px 0 45px 20px;
	border-color: transparent transparent transparent #99cbd0;
	display: block;
	position: absolute;
	top: 0;
	right: -20px;
	z-index: 10;
}
.flowImg li:not(:last-child)::before {
	border-color: transparent transparent transparent #fff;
	right: -22px;
}
.flowImg li:nth-child(2)::after {
	border-color: transparent transparent transparent #77b4bf;
}
.flowImg li:nth-child(3)::after {
	border-color: transparent transparent transparent #5da0b1;
}
.flowImg li:nth-child(4)::after {
	border-color: transparent transparent transparent #4a93ae;
}
.flowImg li a {
	color: #fff;
	display: inline-block;
	text-decoration: none;
}


/* サイトマップ
-------------------------*/
.sitemap a {
	color: #333;
	text-decoration: none;
}
.sitemap h4 {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 40px;
}
.sitemap h4:first-child {
	margin-top: 0;
}


@media screen and (max-width:480px) {
	
	/* common
	------------------------------------------------------------*/
	.inner {
		max-width: 92%;
		margin: auto;
	}
	.sp {
		display: block!important;
	}
	.x2 > li,
	.x2 > div,
	.x2 > li:nth-child(even),
	.x2 > div:nth-child(even),
	.x3 > li,
	.x3 > div {
		width: 100%;
		margin: 0 0 20px;
		float: none;
	}
	
	
	/* ボタン系
	------------------------------------------------------------*/
	#contents .btn-entry {
		font-size: 1.4rem;
		width: 100%;
		padding: 15px;
		display: block;
		text-align: center;
	}
	.btnArea::after { content: "";display: block;clear: both; }
	.btn-media {
		width: 49%;
		margin: 0!important;
		float: left;
	}
	.btnArea a:not(:first-child) {
		float: right;
	}
	.btn-media figure {
		padding: 10px;
	}
	.btn-media figcaption {
		font-size: 1rem;
		letter-spacing: 0;
	}
	
	
	/* hx
	------------------------------------------------------------*/
	h1 {
		display: none;
	}
	.h2Wrap,
	.h2Wrap.size-l {
		height: 180px;
		background-size: cover;
		background-attachment: scroll;
		-webkit-animation: none;
		animation: none;
	}
	.h2Wrap > h2 {
		font-size: 2.4rem;
		padding-top: 0;
	}
	.h2Wrap h2 span {
		font-size: 1.2rem;
	}
	.h2Wrap.itw {
		height: 260px;
		background-position: center top;
	}
	.h2Wrap.itw.itw01 {
		background-image: url(../person/images/01_main_sp.jpg);
	}
	.h2Wrap.itw.itw02 {
		background-image: url(../person/images/02_main_sp.jpg);
	}
	.h2Wrap.itw.itw03 {
		background-image: url(../person/images/03_main_sp.jpg);
	}
	.h2Wrap.itw.itw04 {
		background-image: url(../person/images/04_main_sp.jpg);
	}
	.itw .txtArea h3 {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
	.itw .graph h2,
	.itw .private h3 {
		font-size: 1.2rem;
		margin-bottom: 30px;
	}
	.itw .graph h2 span,
	.itw .private h3 span {
		font-size: 2rem;
	}
	.box > .inner > h3 {
		font-size: 1.6rem;
		padding-bottom: 10px;
		margin: 50px 0 20px;
		text-align: center;
	}
	.box > .inner > h3::after {
		margin: 10px 0 0 -20px;
		left: 50%;
	}
	h4 {
		font-size: 1.5rem;
		margin: 30px 0 10px;
	}
	h5 {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
	
	
	/* トップページ
	------------------------------------------------------------*/
	/* sec01
	-------------------------*/
	#sec01 {
		padding: 20px 0;
	}
	#sec01 .bnrArea:first-child {
		margin-bottom: 15px;
	}
	.bnrArea,
	.bnrArea > div {
		display: block;
		text-align: center;
	}
	.bnrArea > div:not(:last-child) {
		margin-bottom: 15px;
	}
	.bnrArea > div a {
		padding: 15px 20px 20px;
	}
	.bnrArea.size-s > div a {
		background: #e8e1dc;
	}
	.bnrArea.size-s > div:nth-child(even) a {
		background: #fff;
	}
	.bnrArea > div h2,
	.bnrArea.size-s > div h2 {
		font-size: 1.8rem;
		margin-bottom: 15px;
		position: static;
	}
	.bnrArea > div figure {
		height: 150px;
		overflow: hidden;
	}
	.bnrArea > div figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.bnrArea > div a p {
		display: none;
	}
	
	
	/* sec02
	-------------------------*/
	#sec02 {
		padding: 30px 0;
	}
	#sec02 h2,
	#sec03 h2 {
		font-size: 1.2rem;
		margin-bottom: 30px;
	}
	#sec02 h2 span,
	#sec03 h2 span {
		font-size: 2rem;
	}
	.circleArea {
		width: 100%;
		border-spacing: 10px 0;
		table-layout: fixed;
	}
	.circleArea a {
		width: auto;
		height: auto;
		background: #a91c1c;
		padding: 20px 0;
		border-radius: 0;
		border-width: 2px;
		letter-spacing: 1px;
	}
	.circleArea a .txt {
		font-size: 1.6rem;
		color: #fff;
	}
	.circleArea a .txt span {
		color: #fff;
	}
	.circleArea a::before {
		display: none;
	}
	
	
	/* sec03
	-------------------------*/
	#sec03 {
		background: #99cbd0;
		padding: 30px 0;
	}
	#sec03 section {
		background: none;
		padding: 0;
		top: 0;
	}
	#sec03 li {
		padding: 10px 20px;
	}
	#sec03 li span {
		font-size: 1.2rem;
		color: #99cbd0;
		margin: 0 0 5px 0;
		display: block;
	}
	
	
	
	/* パンくず
	-------------------------*/
	.pankuzu {
		display: none;
	}
	
	
	/* 下層ページ
	------------------------------------------------------------*/
	#contents {
		padding: 0 0 20px;
	}
	#contents p,
	#contents li,
	#contents dt,
	#contents dd,
	#contents th,
	#contents td {
		line-height: 1.6;
		letter-spacing: 0;
	}
	.multi {
  	display: -webkit-flex;
  	display: flex;
    -webkit-flex-flow: column nowrap;
		flex-flow: column nowrap; 
	}
	.multi img.fl,
	.multi img.fr,
	.imgArea.fl,
	.imgArea.fr {
		margin: 0;
		float: none;
		-webkit-order: 2;
		order: 2;
	}
	.multi.sub {
		padding-left: 0;
		margin-left: 0;
		border-left: none;
	}
	.box {
		max-width: 100%;
		padding: 30px 0;
	}
	table.col-2 th,
	table.col-2 td {
		width: 100%;
		padding: 15px 10px;
		display: block;
	}
	table.col-2 th {
		padding: 8px;
		text-align: center;
	}
	.paragraph {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	.paragraph > p {
		margin-bottom: 20px;
	}
	.paragraph > p + p {
		text-indent: 0;
	}
	.anchorArea {
		max-width: 100%;
		margin: 1px 0;
	}
	.anchorArea li {
		width: 50%;
		margin: 0!important;
	}
	.anchorArea li:last-child {
		width: 100%;
	}
	.anchorArea li:nth-child(even) {
		border-left: 1px solid #fdf7eb;
	}
	.anchorArea li:not(:last-child) {
		border-bottom: 1px solid #fdf7eb;
	}
	.anchorArea li.ac a {
		background: #fdf7eb;
	}
	
	
	/* サブナビ
	-------------------------*/
	.subNav h3 {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
	.subNav li {
		width: 100%;
		float: none;
	}
	.subNav li a {
		font-size: 1.2rem;
		line-height: 24px;
	}
	
	
	/* 事業を知る
	-------------------------*/
	.iconArea li {
		width: 49%;
		margin: 0 0 5px!important;
	}
	.iconArea li:nth-child(even) {
		float: right;
	}
	.iconArea li p {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	.iconArea li p span {
		display: none;
	}
	
	
	/* 人を知る
	-------------------------*/
	.personList .prof {
		width: 100%;
		padding: 10px 10px 0;
		margin-top: 0;
		left: 0;
	}
	.prof .txtArea,
	.prof .txtArea p,
	.prof .txtArea dl {
		padding: 0;
		display: block;
	}
	.catch .prof {
		background: rgba(255,255,255,.9);
		padding: 15px 20px;
		margin: 0;
	}
	.prof .icon {
		font-size: 1rem;
		line-height: 24px;
		padding: 0 10px;
		top: -12px;
		left: initial;
		right: 10px;
	}
	.prof .txtArea p,
	.prof .txtArea dl {
		font-size: 1.1rem;
		line-height: 1.3;
	}
	.prof .txtArea p {
		color: #555;
		padding-bottom: 10px;
		border-bottom: 1px dotted #eee;
	}
	.catch .prof .txtArea p {
		border-color: #999;
		margin-bottom: 5px;
	}
	.prof .txtArea p br {
		display: none;
	}
	.prof .txtArea p span {
		font-size: 1.6rem;
		margin-bottom: 5px;
	}
	.prof .txtArea dl {
		border-left: none;
	}
	.h2Wrap.itw {
		margin-bottom: 100px;
	}
	.h2Wrap.itw > .inner {
		height: 260px;
		padding-top: 170px;
	}
	#contents.itw {
		padding-top: 20px;
		margin-top: 0;
	}
	.h2Wrap.itw .catch {
		width: 100%;
		position: static;
	}
	.h2Wrap.itw .catch h2 {
		display: none;
	}
	#contents.itw .txtArea {
		padding: 0;
		overflow: inherit;
	}
	.lead {
		font-size: 1.4rem;
		padding: 15px;
		margin-bottom: 30px;
	}
	#contents.itw .catch p,
	#contents.itw p.catch {
		line-height: 1.6;
		letter-spacing: 0;
	}
	#contents.itw .imgArea.fl,
	#contents.itw img.fl,
	#contents.itw .imgArea.fr,
	#contents.itw img.fr {
		margin: 0;
		float: none;
	}
	#contents.itw img.fl,
	#contents.itw img.fr {
		margin: 0 0 20px;
	}
	#contents.itw .imgArea li {
		width: 49%;
		margin: 0;
		float: left;
	}
	#contents.itw .imgArea li:not(:first-child) {
		margin: 0 0 0 2%;
	}
	#contents.itw .private {
		padding: 30px 20px 20px;
	}
	#contents.itw .private .imgArea img {
		width: 49%;
		float: left;
	}
	#contents.itw .private .imgArea img:nth-child(even) {
		float: right;
	}
	.thumbArea li {
		width: 100%;
	}
	.thumbArea li figcaption {
		color: #eee;
		right: 15px;
		bottom: 10px;
	}
	.thumbArea li figcaption span {
		font-size: 1.6rem;
		color: #fff;
		margin-bottom: 5px;
	}
	.graph {
		padding: 30px 0;
	}
	.graph li p {
		font-size: 1.2rem;
		/*width: 100%;*/
		height: 130px;
		background: #fff;
		padding: 15px;
		display: table-cell;
		vertical-align: middle;
		border-radius: 3px;
		position: static;
	}
	.graph li p br {
		display: none;
	}
	.graph .bx-pager .bx-pager-item {
		margin: 0 0 0 4px;
	}
	.graph .bx-pager.bx-default-pager a {
		font-size: 1.2rem;
		width: 24px;
	}
	.graph .bx-wrapper .bx-controls-direction {
		display: none;
	}
	
	
	/* 仕事を知る
	-------------------------*/
	.flow li,
	.flow li > p,
	.flow li > p:first-child {
		width: 100%;
		display: block;
	}
	.flow li > p.txtArea {
		font-size: 1.2rem;
		padding: 0;
	}
	.flow li > p.txtArea span {
		font-size: 1.6rem;
	}
	.flow li > p.txtArea span::after {
		margin: 10px auto 20px;
	}
	.flow #bx-pager {
		margin-top: 0;
	}
	.flow #bx-pager a {
		width: 30%;
		margin-right: 5%;
	}
	.flow #bx-pager a:nth-child(3n) {
		margin-right: 0;
	}
	.flow #bx-pager a:nth-child(n+4) {
		margin-top: 10px;
	}
	.flow .bx-wrapper .bx-controls {
		display: none;
	}
	
	
	/* 研修・教育
	-------------------------*/
	.flowImg {
		display: block;
	}
	.flowImg li {
		padding: 15px 20px;
		display: block;
		text-align: center;
	}
	.flowImg li:not(:first-child) {
		padding: 20px 20px 15px;
	}
	.flowImg li:not(:last-child)::before {
		display: none;
	}
	.flowImg li:not(:last-child)::after {
		margin-left: -15px;
		border-width: 10px 15px 0 15px;
		border-color: #99cbd0 transparent transparent transparent;
		top: inherit;
		right: inherit;
		left: 50%;
		bottom: -10px;
	}
	.flowImg li:nth-child(2)::after {
		border-color: #77b4bf transparent transparent transparent;
	}
	.flowImg li:nth-child(3)::after {
		border-color: #5da0b1 transparent transparent transparent;
	}
	.flowImg li:nth-child(4)::after {
		border-color: #4a93ae transparent transparent transparent;
	}
	.flowImg li br {
		display: none;
	}
	.training .multi {
		display: block;
	}
	.training .multi:not(:last-child),
	.training .x3 li:not(:last-child) {
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: 1px dashed #ead9b8;
	}
	.training .multi p,
	.training .x3 li p {
		margin-bottom: 0;
	}
	.training .multi h4 {
		margin-top: 15px;
	}
	.training .x3 li h4 {
		margin-bottom: 10px;
	}
	
	
	/* 採用情報
	-------------------------*/
	.qArea {
		padding: 0;
	}
	.qArea li a {
		background-position: right 10px center;
		padding: 10px 30px 10px 10px;
	}
	
	
	/* フォーム
	-------------------------*/
	form table input,
	form textarea,
	form select {
		width: 100%;
	}
	form .placeholder {
		display: none;
	}
	
}


/* PCのみ適用
------------------------------------------------------------*/
@media screen and (min-width:480px) {
	.top header .btn-entry,
	.top nav li,
	#sec01 .bnrArea:first-child > div {
		opacity: 0;
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
		opacity: 1\0/;
		transform: translateY(0)\0/;
	}
	.top header .btn-entry,
	.top nav li:first-child {
		-webkit-animation: fadeTop 1s ease 0.3s 1 forwards;
		animation: fadeTop 1s ease 0.3s 1 forwards;
	}
	.top nav li:nth-child(2),
	#sec01 .bnrArea:first-child > div:first-child {
		-webkit-animation: fadeTop 1s ease 0.6s 1 forwards;
		animation: fadeTop 1s ease 0.6s 1 forwards;
	}
	.top nav li:nth-child(3) {
		-webkit-animation: fadeTop 1s ease 0.8s 1 forwards;
		animation: fadeTop 1s ease 0.8s 1 forwards;
	}
	.top nav li:nth-child(4),
	#sec01 .bnrArea:first-child > div:nth-child(2) {
		-webkit-animation: fadeTop 1s ease 1s 1 forwards;
		animation: fadeTop 1s ease 1s 1 forwards;
	}
	.top nav li:nth-child(5) {
		-webkit-animation: fadeTop 1s ease 1.2s 1 forwards;
		animation: fadeTop 1s ease 1.2s 1 forwards;
	}
	.top nav li:nth-child(6),
	#sec01 .bnrArea:first-child > div:nth-child(3) {
		-webkit-animation: fadeTop 1s ease 1.4s 1 forwards;
		animation: fadeTop 1s ease 1.4s 1 forwards;
	}
	@-webkit-keyframes fadeTop {
		100% {
			opacity: 1;
			-webkit-transform: translateY(0);
			-ms-transform: translateY(0);
			transform: translateY(0);  
		}
	}
	@keyframes fadeTop {
		100% {
			opacity: 1;
			-webkit-transform: translateY(0);
			-ms-transform: translateY(0);
			transform: translateY(0);  
		}
	}	
}