
/*pc*/


@charset "UTF-8";
@import "reset.css";


.wrapper {
	width: 100%;
	overflow: hidden;
}

/*===============
	header
===============*/
#header {
	background-color:rgba(255,255,255,0.9);
	position: absolute;
	top:0;
	left:0;
	width:100%;
	z-index:1001;
	position: fixed;
}
#header .inner {
	width:1002px;
	height: 81px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
#header .logo {
	width:104px;
	float:left;
	margin-left:3px;
	margin-top:15px;
}
#header .menu,#header .logo span {
	display:none;
}
#gnavi {
	float:right;
	width:845px;
	margin-top:7px;
}
#gnavi ul {
	overflow:hidden;
}
#gnavi li {
	float:left;
	margin-left:50px;
}
#gnavi .entry {
	position:absolute;
	right:0;
	top:6px;
	width:220px;
}
#gnavi li:first-child {
	margin-left:0;
}
#gnavi li a {
	display:inline-block;
	font-size:16px;
	line-height:68px;
	transition: color 0.3s ease 0s;
}
#gnavi .entry a {
	width:220px;
	height:68px;
	text-align:center;
	background-color:#2addd2;
	border:3px solid #2addd2;
	border-radius:50px;
	color:#ffffff;
	font-size:20px;
	line-height:68px;
	display:inline-block;
	box-sizing:border-box;
	transition: color 0.8s ease 0s;
}
#gnavi .entry a:hover {
	background-color:#ffffff;
	border:3px solid #2addd2;
	color:#2addd2;
}





/*===============
	mainArea
===============*/
#mainArea {
	width:100%;
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
}





/*===============
	共通
===============*/
/*模様背景付きのタイトル*/
.titleBG01 {
	width:100%;
	text-align:center;
	color:#ffffff;
	font-weight:bold;
	font-size:26px;
	line-height:132px;
	height:132px;
	background-image:url(../img/title_bg.png);
	background-position:center top;
	background-repeat:repeat-x;
	position:relative;
}
.titleBG01:after {
	position:absolute;
	content:"";
	bottom: -8px;
	left: 50%;
	margin-left: -6px;
	width: 0;
	height: 0;
	border-top: 8px solid #2abcae;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
}


/*titleBalloon01タイトル（アクセス・会社概要）*/
#mainArea .titleBalloon01 {
	width:100%;
	height:95px;
	border:3px solid #2ebcb1;
	background-color:#ffffff;
	font-size:22px;
	line-height:95px;
	position:relative;
	color: #2ebcb1;
	padding-left:10px;
	box-sizing:border-box;
	text-align:center;
}
#mainArea .titleBalloon01:before {
	content: "";
	position: absolute;
	bottom: -18px;
	left: 50%;
	margin-left: -10px;
	width: 0;
	height: 0;
	border-top: 18px solid #2ebcb1;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}
#mainArea .titleBalloon01:after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: 50%;
	margin-left: -10px;
	width: 0;
	height: 0;
	border-top: 18px solid #fff;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}


/*mainArea .inner*/
#mainArea .inner {
	width:100%;
	max-width:1002px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
#mainArea .inner:after {
  display: block;
  clear: both;
  content: '';
}


/*続きを読むボタン*/
#mainArea a.more {
	width:370px;
	height:75px;
	margin-left:auto;
	margin-right:auto;
	line-height:75px;
	font-size:20px;
	color:#ffffff;
	text-align:center;
	display:block;
	background-color:#8f8f8f;
	border:3px solid #8f8f8f;
	transition: color 0.8s ease 0s;
}
#mainArea a.more:hover {
	background-color:#ffffff;
	color:#8f8f8f;
	border:3px solid #8f8f8f;
}


/*エントリーボタン*/
#mainArea a.entry {
	width:370px;
	height:75px;
	margin-left:auto;
	margin-right:auto;
	line-height:75px;
	font-size:20px;
	color:#ffffff;
	text-align:center;
	display:block;
	background-color:#2addd2;
	border:3px solid #2addd2;
	border-radius:50px;
	box-sizing:border-box;
	transition: color 0.8s ease 0s;
}
#mainArea a.entry:hover {
	background-color:#ffffff;
	border:3px solid #2addd2;
	color:#2addd2;
}



/*別windowボタン*/
.btn a.window {
	width:274px;
	height:70px;
	display:block;
	border:3px solid #2ebcb1;
	background-color:#ffffff;
	font-size:18px;
	line-height:64px;
	position:relative;
	color: #2ebcb1;
	padding-left:10px;
	box-sizing:border-box;
	text-align:center;
}
.btn a.window:hover {
	background-color:#2ebcb1;
	border:3px solid #2ebcb1;
	color:#ffffff;
}
.btn a.window span {
	display:inline-block;
}
.btn a.window span:after {
	content:url(../img/icon_window.png);
	margin-left:5px;
}
.btn a.window:hover span:after {
	content:url(../img/icon_window_ov.png);
	margin-left:5px;
}





/*===============
	slideShow
===============*/
#slideShow li {
	width:100%;
	max-width:1400px;
	height:676px;
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
}
#slideShow li.slide01 {
	background-image:url(../img/slide01.jpg);
}
#slideShow li.slide02 {
	background-image:url(../img/slide02.jpg);
}
#slideShow li.slide03 {
	background-image:url(../img/slide04.jpg);
}
#slideShow li img {
	display:none;
}


/*BX-SLIDERオプション*/
#slideShow .bx-wrapper {
	margin: 0 auto;
}
/* PAGER */
#slideShow .bx-wrapper .bx-pager,
#slideShow .bx-wrapper .bx-controls-auto {
	bottom: 18px;
}
#slideShow .bx-wrapper .bx-pager.bx-default-pager a {
	background: #a3a3a3;
	text-indent: -9999px;
	display: block;
	width: 16px;
	height: 16px;
	margin: 0 5px;
	outline: 0;
	-moz-border-radius: 16px;
	-webkit-border-radius: 16px;
	border-radius: 16px;
}
#slideShow .bx-wrapper .bx-pager.bx-default-pager a:hover,
#slideShow .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #333333;
}

/*arrow*/
#slideShow .bx-wrapper .bx-prev {
	left: 6.357%;
	background: url(../img/slide_l.png) no-repeat 0 0;
}
#slideShow .bx-wrapper .bx-next {
	right: 6.357%;
	background: url(../img/slide_r.png) no-repeat 0 0;
}
#slideShow .bx-wrapper .bx-prev:hover,
#slideShow .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}
#slideShow .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: 36px;
	outline: 0;
	width: 23px;
	height: 38px;
	text-indent: -9999px;
	z-index: 9999;
}





/*===============
	job
===============*/
#job {
	padding-bottom:75px;
	background-image:url(../img/job_bg.jpg);
	background-repeat:no-repeat;
	background-position:center 132px;
	background-size:100% auto;
}
#job .subtitle {
	font-size:26px;
	font-weight:bold;
	text-align:center;
}
#job .inner {
	padding-top:46px;
}
#job .job {
	width:1002px;
}
#job .job .contents {
	height:290px;
	margin-top:30px;
}
#job .photo {
	height:290px;
	display: table-cell;
	vertical-align: middle;
	padding-right:31px;
}
#job .text {
	width:486px;
	display: table-cell;
	vertical-align: middle;
	font-size:14px;
	line-height:1.42;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:0.15rem;
}


/*BX-SLIDERオプション*/
#job .bx-wrapper .bx-viewport {
	background-color:transparent;
}
/*arrow*/
#job .bx-wrapper .bx-prev {
	left: -137px;
	background: url(../img/job_l.png) no-repeat 0 0;
}
#job .bx-wrapper .bx-next {
	right: -137px;
	background: url(../img/job_r.png) no-repeat 0 0;
}
#job .bx-wrapper .bx-prev:hover,
#job .bx-wrapper .bx-next:hover {
	background-position: 0 0;
}
#job .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -73px;
	outline: 0;
	width: 73px;
	height: 73px;
	text-indent: -9999px;
	z-index: 9999;
}


#job .jobIndex {
	text-align:center;
	margin-top:85px;
}
#job .jobIndex li {
	display:inline-block;
	width:253px;
	margin:2px;
}
#job .jobIndex li a {
	display:inline-block;
	width:253px;
	height:76px;
	border:3px solid #2ebcb1;
	background-color:#ffffff;
	font-size:20px;
	line-height:76px;
	position:relative;
	color: #2ebcb1;
	padding-left:10px;
	box-sizing:border-box;
}
#job .jobIndex li a:hover {
	border:3px solid #2ebcb1;
	background-color:#2ebcb1;
	color: #ffffff;
	transition: color 0.8s ease 0s;
}
#job .jobIndex li a.active:before {
  content: "";
  position: absolute;
  top: -18px;
  left: 50%;
  margin-left: -10px;
  width: 0;
  height: 0;
  border-bottom: 18px solid #2ebcb1;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}
#job .jobIndex li a.active:after {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  margin-left: -10px;
  width: 0;
  height: 0;
  border-bottom: 18px solid #fff;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}
#job .jobIndex li a.active:hover:after {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  margin-left: -10px;
  width: 0;
  height: 0;
  border-bottom: 18px solid #2ebcb1;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}
#job .jobIndex li a {
	background-repeat:no-repeat;
	background-position:25px center;
	background-size:37px 37px;
}
#job .jobIndex .job01 a {
	background-image:url(../img/icon_job01.png);
}
#job .jobIndex .job02 a {
	background-image:url(../img/icon_job02.png);
}
#job .jobIndex .job03 a {
	background-image:url(../img/icon_job03.png);
}

#job .jobIndex .job01 a:hover {
	background-image:url(../img/icon_job01_ov.png);
}
#job .jobIndex .job02 a:hover {
	background-image:url(../img/icon_job02_ov.png);
}
#job .jobIndex .job03 a:hover {
	background-image:url(../img/icon_job03_ov.png);
}




/*===============
	message01
===============*/
#message01 {
	padding-bottom:180px;
}
#message01 .inner {
	margin-top:60px;
}
#message01 .text {
	float:right;
	width:610px;
	font-size:16px;
	line-height:1.75;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:0rem;
	margin-right:-10px;
}
#message01 .photo {
	float:left;
	width:346px;
	margin-left:19px;
	text-align:center;
	font-size:16px;
}
#message01 .photo img {
	margin-bottom:20px;
}
#message01 .photo .name {
	display:block;
}
#message01 .text .name {
	display:none;
}





/*===============
	message02,message03
===============*/
/*名前と写真部分*/
.msgIndex {
	width:1002px;
	height:382px;
	margin-left:auto;
	margin-right:auto;
	margin-top:77px;
	overflow:hidden;
	position:relative;
}
.msgIndex ul {
	float:right;
	width:226px;
}
.msgIndex li {
	width:226px;
	height:183px;
	box-sizing:border-box;
	border:3px solid #2ebcb1;
	background-color:#ffffff;
	margin-top:8px;
	display:table;
	vertical-align: middle;
	font-size:20px;
	line-height:1.4;
	color:#2ebcb1;
}
.msgIndex li:first-child {
	margin-top:0;
}
.msgIndex li span {
	display:table-cell;
	vertical-align: middle;
	width:200px;
	padding-left:20px;
	transition: color 0.8s ease 0s;
}
.msgIndex li:hover {
	background-color:#2ebcb1;
	color:#ffffff;
	cursor:pointer;
}
.msgIndex li .photo {
	width:764px;
	height:382px;
	position:absolute;
	left:-770px;
	top:0;
}
.msgIndex li:hover .photo {
	left:0px;
}
.nameIndex {
	display:none;
}


/*インタビュー本文部分*/
.interview dl {
	padding-top:30px;
}
.interview dl:first-child {
	padding-top:20px;
}
.interview dt {
	font-size:19px;
	color:#2ebcb1;
	padding-bottom:10px;
}
.interview dd {
	font-size:16px;
	line-height:2;
	padding-bottom:0.3em;
	overflow:hidden;
}
.interview dd .name {
	float:left;
}
.interview dd .text {
	float:left;
	width:auto;
}
.interview dd .name span {
	width:67px;
	height:25px;
	line-height:25px;
	display:inline-block;
	text-align:center;
	color:#ffffff;
	background-color:#2ebcb1;
	margin-right:10px;
}

/*続きを読む部分*/
.readmore-button-box {
   text-align: center;
   background-image: linear-gradient( 180deg, rgba(255,255,255,0.5), white );
   padding-top: 4.5em;
   margin-top: -6.5em;
   position: relative;
}
.readmore-area {
   display: none;
}



#message02 {
	padding-bottom:100px;
}
#message02 .msgIndex {
	background-image:url(../img/message02_ph0.jpg);
	background-repeat:no-repeat;
}


#message03 {
	padding-bottom:100px;
}
#message03 .msgIndex {
	background-image:url(../img/message03_ph0.jpg);
	background-repeat:no-repeat;
}
#message03 .msgIndex li span {
	display:table-cell;
	vertical-align: middle;
	width:200px;
	padding-left:20px;
}






/*===============
	snap
===============*/
#snap {
	margin-top:100px;
}
#snap ul {
	width:1068px;
	margin-left:-63px;
	margin-top:90px;
	overflow:hidden;
}
#snap li {
	float:left;
	width:293px;
	margin-left:63px;
}
#snap li p {
	height:100px;
	margin-top:10px;
	font-size:14px;
	line-height:1.7;
	letter-spacing:-0.05rem;
	text-align: justify;
	text-justify: inter-ideograph;
}





/*===============
	faq
===============*/
#faq {
	padding-bottom:70px;
}
#faq .inner {
	margin-top:76px;
}
#faq dt {
	background-image:url(../img/faq_bg.png);
	background-size:55px 55px;
	padding:13px 15px;
	color:#ffffff;
	font-size:18px;
}
#faq dd {
	margin:18px 18px 50px;
	font-size:16px;
}

#faq dt span {
	display:table-cell;
}
#faq dt span:first-child {
	width:2.5em;
}





/*===============
	recruit
===============*/
#recruit {
	padding-bottom:70px;
}
#recruit .jobName {
	font-size:24px;
	color:#2addd2;
	text-align:center;
	margin-top:70px;
	margin-bottom:15px;
	font-weight:bold;
}
.table {
	width:100%;
	border-top:1px solid #afafaf;
	border-bottom:1px solid #afafaf;
}
.table th {
	box-sizing:border-box;
	width:150px;
	background-color:#f1f1f1;
	background-image:url(../img/table_border01.png);
	background-repeat:repeat-x;
	background-position:left bottom;
	border-left:1px solid #afafaf;
	border-right:1px solid #afafaf;
	font-weight:normal;
	font-size:16px;
	padding:0.8em;
}
.table td {
	box-sizing:border-box;
	background-color:#ffffff;
	background-image:url(../img/table_border01.png);
	background-repeat:repeat-x;
	background-position:left bottom;
	border-right:1px solid #afafaf;
	font-size:16px;
	padding:0.8em;
	letter-spacing:-0.06rem;
}
.table tr:last-child th,
.table tr:last-child td {
	background-image:none;
}

#recruit .btn {
	margin-top:100px;
}





/*===============
	access
===============*/
#access {
	padding-bottom:70px;
}
#access .inner {
	margin-top:70px;
}
#access .gMap {
	float:left;

}

#access .gMap img {
	width:420px;
	height:auto;
}
#access .text {
	float:right;
	width:486px;
	font-size:16px;
	line-height:1.75;
}
#access .btn a.window {
	width:274px;
	height:70px;
	display:block;
	transition: color 0.8s ease 0s;
}





/*===============
	profile
===============*/
#profile .inner {
	margin-top:66px;
}
#profile .table {
	width:490px;
	height:275px;
	float:left;
}
#profile .table:last-child {
	float:right;
}
#profile .btn {
	margin-top:25px;
}
#profile .btn a.window {
	width:373px;
	margin-left:auto;
	margin-right:auto;
	transition: color 0.8s ease 0s;
}





/*===============
	pagetop
===============*/
#pagetop {
	width:1002px;
	margin:90px auto 42px;
	text-align:right;
}
#pagetop a {
	width:66px;
	display:block;
	margin-left:auto;
	margin-right:0;
}
#pagetop img {
	width:66px;
}





/*===============
	footer
===============*/
#footer {
	background-color:#27bcb8;
	padding-top:38px;
	height:34px;
	color:#ffffff;
	font-size:12px;
	text-align:center;
}