@charset "utf-8";
/* CSS PC/SP共通レイアウト */
html {
	font-size: 62.5%;
}
body {
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	font-size: 1.4rem;
	color: #2b2d3d;
	line-height: 1.6;
	background-color: #FFF;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

img {
	border:0px;
	vertical-align: top;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
li {
	list-style-type:none;
	text-decoration:none;
}
h1,h2,h3,h4,h5 {
	font-size:100%;
	font-weight: normal;
}
* {
	margin: 0px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	word-break: break-all;
}
a {
	text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
	color: #2b2d3d;
}
a:hover {
	opacity: 0.7;
	filter: alpha(opacity=80);
}
.font_meiryo {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
}
.font_noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
a.anchor {
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}
#container {
	width: 100%;
	min-width: 1240px;
}
/*--------------------------------------------------*
 *   ヘッダー
 *--------------------------------------------------*/
#headarea {
	display: table;
	width: 1000px;
	margin: 30px auto;
}
#headarea .logo {
	display: table-cell;
	width: 220px;
	vertical-align: middle;
}
#headarea .global_navi {
	display: table-cell;
	width: 670px;
	vertical-align: middle;
}
#headarea .global_navi ul {
	text-align: right;
	letter-spacing: -.40em;
	word-spacing: -.40em;
}
#headarea .global_navi ul li {
	display: inline-block;
	/display: inline;
	/zoom: 1;
	letter-spacing: normal;
	word-spacing: normal;
	vertical-align: middle;
	padding: 0px 20px;
	font-weight: bold;
}
#headarea .global_navi ul li a:hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
#headarea .global_navi ul li a:hover span {
	border-bottom: 3px solid #2b2d3d;
}
#headarea .bt_contact {
	display: table-cell;
	width: 110px;
	vertical-align: middle;
	text-align: center;
}
#headarea .bt_contact a {
	color: #FFF;
	font-weight: bold;
	background-color: #1990AE;
	background: -moz-linear-gradient(left, #00C9CC, #2A5F94);
	background: -webkit-linear-gradient(left, #00C9CC, #2A5F94);
	background: linear-gradient(to right, #00C9CC, #2A5F94);
	padding: 6px 10px 8px;
}

/*--------------------------------------------------*
 *   メイン
 *--------------------------------------------------*/
#main_contents {
	width: 100%;
	padding-bottom: 250px;
	overflow: hidden;
	padding-top:50px;
	background-color: #2b2d3d;

}
#main_contents .mainvisual {
	width: 100%;
	position: relative;
}
#main_contents .mainvisual .inner {
	position: relative;
	overflow: hidden;
	width: 1000px;
	height: 563px;
	margin: 0px auto;
}
#main_contents .mainvisual .inner .bgimg {
	width: 100%;
	height: 563px;
	position: absolute;
	top: 0px;
	left: 0px;
	animation : bgAnime 30s infinite;
}
#main_contents .mainvisual .inner .img1 {
	background: url(../img/img_mainvisual_1.jpg) no-repeat center center;
	background-size: cover;
	opacity: 0;
}
#main_contents .mainvisual .inner .img2 {
	background: url(../img/img_mainvisual_2.jpg) no-repeat center center;
	background-size: cover;
	animation-delay : 10s;
	opacity: 0;
}
#main_contents .mainvisual .inner .img3 {
	background: url(../img/img_mainvisual_3.jpg) no-repeat center center;
	background-size: cover;
	animation-delay : 20s;
	opacity: 0;
}
@keyframes bgAnime {
	0% { opacity: 0; }
	5% { opacity: 1; }
	25% { opacity: 1; }
	30% { opacity: 0; }
	100% { opacity: 0; }
}
#main_contents .mainvisual .catch {
	position: absolute;
	width: 890px;
	top: 70%;
	right: 0px;
}
#main_contents .mainvisual .catch span {
	display: block;
	font-size: 3.6rem;
	font-weight: bold;
	background-color: #FFF;
	padding: 5px 30px;
}
#main_contents .lead {
	font-size: 1.6rem;
	color: #FFF;
	line-height: 2.0;
	text-align: center;
	background-color: #2b2d3d;
	padding: 55px 0px;
}

/*--------------------------------------------------*
 *   タイトル
 *--------------------------------------------------*/
#main_contents .ttl_sub {
	text-align: center;
}
#main_contents .ttl_sub .piece1 {
	font-size: 4.0rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.2;
}
#main_contents .ttl_sub .piece1 span {
	border-bottom: 5px solid #FFF;
}
#main_contents .ttl_sub .piece2 {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	font-size: 2.4rem;
	color: #d4d4d4;
	margin-top: 20px;
}
#main_contents .example .ttl_sub .piece1 {
	color: #2b2d3d;
}
#main_contents .example .ttl_sub .piece1 span {
	border-bottom: 5px solid #2b2d3d;
}

/*--------------------------------------------------*
 *   コンテンツ
 *--------------------------------------------------*/
#main_contents .business {
	width: 100%;
	margin-top: 150px;
}
#main_contents .business .inner {
	margin-top: 80px;
}
#main_contents .business .inner .business_list ul li {
	padding-bottom: 140px;
}
#main_contents .business .inner .business_list ul li .photo {
	width: 1000px;
	margin: 0px auto;
	padding-top: 50px;
	position: relative;
	z-index: 20;
}
#main_contents .business .inner .business_list ul li .content {
	height: 267px;
	background: url(../img/img_back_business.png) no-repeat right top;
	background-size: 100% 267px;
	margin-top: -328px;
	margin-left: 32%;
	z-index: 10;
}
#main_contents .business .inner .business_list ul li .content .wrap {
	height: 255px;
	background: url(../img/txt_sakata.png) no-repeat right bottom;
	padding-left: 18%;
	padding-top: 40px;
}
#main_contents .business .inner .business_list ul li .content .wrap .ttl_business {
	font-size: 3.6rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.3;
	padding-right: 30px;
}
#main_contents .business .inner .business_list ul li .content .wrap .note {
	width: 610px;
	font-size: 1.6rem;
	color: #FFF;
	line-height: 1.4;
	margin-top: 25px;
}
#main_contents .example {
	width: 100%;
	margin-top: 60px;
	background-color: #f9f9f9;
	padding: 100px 0px 30px;
}
#main_contents .example .inner {
	width: 980px;
	margin: 80px auto 0px;
}
#main_contents .example .inner .ttl_border {
	border-top: 2px solid #2b2d3d;
	text-align: center;
}
#main_contents .example .inner .ttl_border span {
	display: inline;
	position: relative;
	top: -15px;
	padding: 0px 25px;
	background-color: #f9f9f9;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.0;
}
#main_contents .example .inner .example_list {
	padding-bottom: 150px;
}
#main_contents .example .inner .example_list ul li {
	width: 420px;
	float: left;
	margin-top: 70px;
	position: relative;
}
#main_contents .example .inner .example_list ul li:nth-child(2n-1) {
	margin-right: 140px;
}
#main_contents .example .inner .example_list ul li .caption {
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: 0px;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 8px 20px;
	background-color: rgba(255,255,255,0.7);
}
#main_contents .news {
	width: 920px;
	margin: 200px auto 0px;
}
#main_contents .news .inner {
	margin-top: 60px;
	text-align: center;
}
#main_contents .news .inner p:nth-child(1) {
	font-size: 1.8rem;
  color: #FFF;
	font-weight: bold;
}
#main_contents .news .inner p:nth-child(2) {
	margin-top: 40px;
}
#main_contents .job {
	width: 920px;
	margin: 200px auto 0px;
}
#main_contents .job .inner {
	margin-top: 80px;
}
#main_contents .job .inner table {
	width: 920px;
	border-top: 1px solid #a0a0a0;
	border-right: 1px solid #a0a0a0;
	font-size: 1.6rem;
}
#main_contents .job .inner table th {
	width: 160px;
	border-bottom: 1px solid #a0a0a0;
	border-left: 1px solid #a0a0a0;
	background-color: #f6fbef;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	padding: 30px 10px 30px 20px;
}
#main_contents .job .inner table td {
	border-bottom: 1px solid #a0a0a0;
	border-left: 1px solid #a0a0a0;
	background-color: #FFF;
	vertical-align: top;
	padding: 30px;
}
#main_contents .job .inner .offer {
	font-size: 1.6rem;color: #FFF;
	text-align: center;
	margin-top: 70px;
}
#main_contents .job .inner .offer span {
	display: block;
	padding-bottom: 10px;
}
#main_contents .company {
	width: 920px;
	margin: 130px auto 0px;
}
#main_contents .company .inner {
	margin-top: 80px;
	overflow: hidden;
}
#main_contents .company .inner .detail {
	width: 520px;
	float: left;
}
#main_contents .company .inner .detail table {
	width: 520px;
  color: #FFF;
	line-height: 1.8;
}
#main_contents .company .inner .detail table th {
	width: 114px;
	font-weight: bold;
	text-align: left;
	border-right: 3px solid #FFF;
	padding: 5px 0px;
}
#main_contents .company .inner .detail table tr:first-child th {
	padding-top: 0px;
}
#main_contents .company .inner .detail table tr:last-child th {
	padding-bottom: 80px;
}
#main_contents .company .inner .detail table td {
	padding: 5px 0px 5px 40px;
}
#main_contents .company .inner .detail table tr:first-child td {
	padding-top: 0px;
}
#main_contents .company .inner .detail table td a.underline {
	text-decoration: underline;
}
#main_contents .company .inner .photo {
	width: 380px;
	float: right;
	margin-top: 50px;
}

#main_contents .company .inner a {
	text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
	color: #fff;
}
#main_contents .company .inner a:hover {
	opacity: 0.7;
	filter: alpha(opacity=80);
}


/*--------------------------------------------------*
 *   フッター
 *--------------------------------------------------*/
#footarea {
	width: 100%;
	padding-bottom: 70px;
	position: relative;
}
#footarea .contact {
	color: #FFF;
	text-align: center;
	background-color: #1990AE;
	background: -moz-linear-gradient(left, #00C9CC, #2A5F94);
	background: -webkit-linear-gradient(left, #00C9CC, #2A5F94);
	background: linear-gradient(to right, #00C9CC, #2A5F94);
	padding: 60px 0px;
}
#footarea .contact .ttl_contact {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 5px;
}
#footarea .access {
	display: table;
	width: 100%;
	height: 270px;
}
#footarea .access .map {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	height: 0;
	overflow: hidden;
	padding-bottom: 270px;
	position: relative;
}
#footarea .access .map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
#footarea .access .office {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	color: #FFF;
	background-color: #2b2d3d;
	padding-left: 70px;
}
#footarea .access .office .name {
	font-size: 2.0rem;
	font-weight: bold;
}
#footarea .access .office .address {
	margin-top: 25px;
}
#footarea .foot_menu {
	margin-top: 30px;
}
#footarea .foot_menu ul {
	text-align: center;
}
#footarea .foot_menu ul li {
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 0px 5px;
}
#footarea .foot_menu ul li a:hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
#footarea .foot_menu ul li a:hover span {
	border-bottom: 3px solid #2b2d3d;
}
#footarea .copyright {
	font-size: 1.3rem;
	text-align: center;
	margin-top: 20px;
}

/*--------------------------------------------------*
 *   ページトップへ
 *--------------------------------------------------*/
#bt_pagetop {
	position: fixed;
	right: 30px;
	bottom: 40px;
	z-index: 200;
}

/*--------------------------------------------------*
 *   フェード
 *--------------------------------------------------*/
.effect-fade {
	opacity : 0;
	transform : translate(0, 45px);
	transition : all 3000ms;
}
.effect-fade.effect-scroll {
	opacity : 1;
	transform : translate(0, 0);
}

/* PCレイアウト */
@media (min-width: 640px) {
/*--------------------------------------------------*
 *   PCでは無効/表示されない
 *--------------------------------------------------*/
.pc_none {
	display: none !important;
}
}

/* 電話番号リンクをスマホのみ有効にする */
@media (min-width: 751px) {
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
}

/* スマホレイアウト */
@media (max-width: 639px) {
/*--------------------------------------------------*
 *   SPでは無効/表示されない
 *--------------------------------------------------*/
.sp_none {
	display: none !important;
}
a:hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
#container {
	min-width: inherit;
}

/*--------------------------------------------------*
 *   ヘッダー
 *--------------------------------------------------*/
#headarea {
	display: block;
	width: auto;
	margin: 10px;
}
#headarea .logo {
	display: block;
	width: 100%;
}
	#headarea .logo img {
	width: 120px;
}
#headarea .global_navi {
	display: none;
}
#headarea .bt_contact {
	display: none;
}

/*--------------------------------------------------*
 *   メイン
 *--------------------------------------------------*/
#main_contents {
	padding-bottom: 50px;
}
#main_contents .mainvisual .inner {
	width: 100%;
	height: 200px;
}
#main_contents .mainvisual .inner .bgimg {
	width: 100%;
	height: 200px;
}
#main_contents .mainvisual .inner img {
	width: 100%;
}
#main_contents .mainvisual .catch {
	position: absolute;
	width: auto;
	top: 76%;
}
#main_contents .mainvisual .catch span {
	font-size: 1.3rem;
	padding: 5px 10px;
	text-align: right;
}
#main_contents .lead {
	font-size: 1.3rem;
	line-height: 1.6;
	text-align: left;
	padding: 18px 5%;
}

/*--------------------------------------------------*
 *   タイトル
 *--------------------------------------------------*/
#main_contents .ttl_sub .piece1 {
	font-size: 2.0rem;
}
#main_contents .ttl_sub .piece1 span {
	border-bottom: 3px solid #2b2d3d;
}
#main_contents .ttl_sub .piece2 {
	font-size: 1.3rem;
	margin-top: 10px;
}

/*--------------------------------------------------*
 *   コンテンツ
 *--------------------------------------------------*/
#main_contents .business {
	margin-top: 50px;
}
#main_contents .business .inner {
	margin: 30px 0% 0px 5%;
}
#main_contents .business .inner .business_list ul li {
	padding-bottom: 30px;
}
#main_contents .business .inner .business_list ul li .photo {
	width: 100%;
	margin: 0px;
	padding-top: 0px;
}
	#main_contents .business .inner .business_list ul li .photo img {
	width: 140px;
}
#main_contents .business .inner .business_list ul li .content {
	height: 277px;
	background-size: 100% 277px;
	margin-top: -60px;
	margin-left: 20px;
}
#main_contents .business .inner .business_list ul li .content .wrap {
	height: 265px;
	background-size: auto 14vw;
	padding: 70px 5% 0px;
}
#main_contents .business .inner .business_list ul li .content .wrap .ttl_business {
	font-size: 1.6rem;
	padding-right: 0px;
}
#main_contents .business .inner .business_list ul li .content .wrap .note {
	width: 100%;
	font-size: 1.4rem;
	margin-top: 10px;
}
#main_contents .example {
	margin-top: 20px;
	padding: 50px 0px 0px;
}
#main_contents .example .inner {
	width: auto;
	margin: 30px 0px 0px;
}
#main_contents .example .inner .ttl_border {
	width: 200px;
	margin: 0px auto;
}
#main_contents .example .inner .ttl_border span {
	top: -10px;
	padding: 0px 15px;
	font-size: 1.7rem;
}
#main_contents .example .inner .example_list {
	padding-bottom: 50px;
}
#main_contents .example .inner .example_list ul li {
	width: 100%;
	margin-top: 30px;
}
#main_contents .example .inner .example_list ul li:first-child {
	margin-top: 10px;
}
#main_contents .example .inner .example_list ul li:nth-child(2n-1) {
	margin-right: 0px;
}
#main_contents .example .inner .example_list ul li .photo img {
	width:  100%;
}
#main_contents .example .inner .example_list ul li .caption {
	font-size: 1.4rem;
	padding: 5px 15px;
}
#main_contents .news {
	width: auto;
	margin: 50px 5% 0px;
}
#main_contents .news .inner {
	margin-top: 30px;
}
#main_contents .news .inner p:nth-child(1) {
	font-size: 1.6rem;
}
#main_contents .news .inner p:nth-child(2) {
	margin-top: 30px;
}
#main_contents .news .inner p:nth-child(2) img {
	width: 160px;
}
#main_contents .job {
	width: auto;
	margin: 80px 5% 0px;
}
#main_contents .job .inner {
	margin-top: 30px;
}
#main_contents .job .inner table {
	width: 100%;
	font-size: 1.3rem;
}
#main_contents .job .inner table th {
	width: 28%;
	padding: 15px 8px;
}
#main_contents .job .inner table td {
	width: 72%;
	padding: 15px 8px;
}
#main_contents .job .inner .offer {
	font-size: 1.3rem;
	margin-top: 30px;
}
#main_contents .company {
	width: auto;
	margin: 80px 5% 0px;
}
#main_contents .company .inner {
	margin-top: 30px;
}
#main_contents .company .inner .detail {
	width: 100%;
	float: none;
	margin-top: 30px;
}
#main_contents .company .inner .detail table {
	width: 100%;
	font-size: 1.3rem;
}
#main_contents .company .inner .detail table th {
	width: 32%;
	font-weight: bold;
	text-align: left;
	border-right: 3px solid #2b2d3d;
	padding: 5px 0px;
}
#main_contents .company .inner .detail table tr:last-child th {
	padding-bottom: 50px;
}
#main_contents .company .inner .detail table td {
	width: 68%;
	padding: 5px 0px 5px 10px;
}
#main_contents .company .inner .detail table tr:first-child td {
	padding-top: 0px;
}
#main_contents .company .inner .photo {
	width: 100%;
	float: none;
	margin-top: 0px;
}

/*--------------------------------------------------*
 *   フッター
 *--------------------------------------------------*/
#footarea {
	padding-bottom: 20px;
}
#footarea .contact {
	padding: 20px 0px;
}
#footarea .contact .ttl_contact {
	font-size: 1.7rem;
	margin-bottom:  10px;
}
#footarea .access {
	display: block;
	height: auto;
}
#footarea .access .map {
	width: 100%;
	display: block;
	width: 100%;
	padding-bottom: 250px;
}
#footarea .access .office {
	display: block;
	width: 100%;
	padding: 20px 30px;
}
#footarea .access .office .name {
	font-size: 1.7rem;
	font-weight: bold;
}
#footarea .access .office .address {
	font-size: 1.3rem;
	margin-top: 20px;
}
#footarea .foot_menu ul li {
	font-size: 1.3rem;
	padding: 5px 0px;
	width: 49%;
}
#footarea .copyright {
	font-size: 1.2rem;
}

/*--------------------------------------------------*
 *   ページトップへ
 *--------------------------------------------------*/
#bt_pagetop {
	right: 2%;
	bottom: 10px;
}
#bt_pagetop img {
	width: 40px;
}
}

