﻿@charset "utf-8";

/* ------------------------------------------------------------------
リセット
------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	box-sizing: border-box;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
input[type="submit"] {
   -webkit-appearance: none;
   border-radius: 0;
}

/* ------------------------------------------------------------------
共通
------------------------------------------------------------------ */
html {
	font-size: 62.5%
}
body {
	font-family:Meiryo, 'メイリオ' , Osaka, Hiragino Kaku Gothic Pro ,'MS PGothic' , arial , helvetica , sans-serif;
	color: #333;
	font-size: 1.6rem;
	line-height: 1.6;
	background-color:#fff!important;
}
.shortvertical {
	min-height:calc(100vh - 214px);
}
@media screen and (max-width:768px) {
	.shortvertical {
		min-height:calc(100vh - 600px);
	}
	body {
		background-color:#fff!important;
		margin:50px 0 0 0!important;
		font-size: 1.4rem;
		line-height: 1.4;
	}
	img {
		height:auto;
		max-width:100%;
	}
}
a {
	color: #005bac;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
#Wrapper {
	width: 100%;
	padding: 0;
	overflow: hidden;
}
.inner {
	width: 1240px;
	margin: 0 auto;
}
.ptauto {
	padding-top:100px;
}
@media screen and (max-width: 1240px) {
	.inner {
		width: 90%;
	}
	.ptauto {
		padding-top:35px;
	}
}
@media screen and (max-width: 768px) {
	.inner {
		padding:30px 0 40px 0!important;
	}
}
.fa-external-link {
	margin:0 0 0 8px;
}
.fa-check-square {
	margin:0 8px 0 0;
	color:#005bac;
	font-size:1.8rem!important;
}
ul.anchor a {
	display: block;
	padding: 0 0 5px 20px;
	text-decoration:none;
	position:relative;
}
ul.anchor a:hover {
	text-decoration:underline;
}
ul.anchor a::before {
	content: " \f107";
	font-family: FontAwesome;
	color:#74aee3;
	left:0;
	margin:0 10px 0 0;
	position:absolute;
	font-size: 1.8rem;
}
/* menu -------------------------- */
.logo {
	float: left;
	font-size: 1.5rem;
}
.logo a {
	font-weight: normal;
	display: block;
	text-decoration: none;
	line-height:58px;
	color: #FFF;
}
.logo img {
	vertical-align: middle;
	margin-top: -2px;
}
.logo span::before {
	content:'|';
	color:#74aee3;
	margin:0 10px 0 0;
	padding:0 0 0 10px;
}
@media screen and (max-width: 1240px) {
	.logo span {
		display:none;
	}
}
@media screen and (max-width: 768px) {
	.logo {
		padding: 2px 0 0 14px;
	}
	.logo a {
		line-height:48px;
	}
}
/* btn -------------------------- */
@media screen and (min-width:769px) {
	.btn_default {
		display: inline-block;
		min-width:100px;
		padding: 10px 40px;
		background: #fff;
		border:1px solid #005bac;
		border-radius: 4px;
		color: #005bac;
		text-decoration: none;
		text-align: center;
		position: relative;
		font-size:1.4rem;
		font-weight:bold;
		overflow: hidden;
		transition: .6s;
		z-index: 2;
	}
	.btn_default:hover {
		color: #FFF;
		text-decoration: none;
		background: #005bac;
	}
	.btn_default::after {
		display: block;
		content: "";
		position: absolute;
		z-index: -1;
		top: 50%;
		left: 50%;
		width: 0;
		height: 0;
		margin: 0;
		border-radius: 50%;
		background: #005bac;
		transition: .5s;
	}
	.btn_default:hover::after {
		width:250px;
		height:250px;
		margin:-125px 0 0 -125px
	}
	.btn_default span i {
		right: 18px;
		position: absolute;
		top:33%;
		font-weight:bold;
	}
}
@media screen and (max-width: 768px) {
	.btn_default {
		background: #005bac;
		display: inline-block;
		min-width:100px;
		padding: 10px 40px;
		border:2px solid #005bac;
		border-radius: 4px;
		color: #fff;
		text-decoration: none;
		text-align: center;
		position: relative;
		font-size:1.4rem;
		font-weight:bold;
		overflow: hidden;
		transition: .5s;
		z-index: 2;
		cursor:pointer;
	}
	.btn_default span i {
		right: 18px;
		position: absolute;
		top:33%;
		font-weight:bold;
	}
}
/* header -------------------------- */
#top-head {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0 auto;
	line-height: 58px;
	height:58px;
	z-index: 999;
	background:#fff;
	padding:0 25px 0 25px;
}
#mobile-head,
#Primary-Menu {
	width: 1240px;
	margin: 0 auto;
}
#Primary-Menu ul {
	text-align: right;
}
#Primary-Menu ul li {
	margin: 0 0 0 25px;
	list-style: none;
	text-align: left;
	display: inline-block;
}
#Primary-Menu ul li:nth-child(1){
	display: none;
}
#Primary-Menu li a {
	color: #333;
	text-decoration: none;
	font-size: 1.6rem;
	position: relative;
}
@media screen and (max-width: 768px) {
	#Primary-Menu ul li:nth-child(1){
		display: block;
	}
	#Primary-Menu li.current::after {
		background:none;
	}
}
/* Toggle Button */
#mobile-head::before{
	content:"";
	display: block;
	background: #000;
	opacity: 0.5;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	display: none;
}
#nav-toggle {
	display: none;
	position: absolute;
	right: 15px;
	top: 16px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	z-index: 1001;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #333;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 8px;
}
#nav-toggle span:nth-child(3) {
	top: 16px;
}
@media screen and (max-width: 1240px) {
	#top-head {
		width: 100%;
		max-width: 1240px;
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
		position:relative;
		background: #fff;
	}
	#Primary-Menu {
		width: 100%;
	}
	#Primary-Menu li:last-child {
		border-bottom-right-radius: 0;
	}
	#mobile-head {
		width: 1240px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px) {
	#top-head {
		position: fixed;
		background:#fff;
		height: 50px;
		line-height:50px;
		z-index: 999;
		top: 0;
		padding:0;
	}
	#mobile-head {
		position: relative;
		width: 100%;
		background:#fff;
		height: 50px;
		line-height:50px;
		z-index: 999;
	}
	#Primary-Menu {
		visibility: hidden;
		position: fixed;
		/* 開いてないときは画面外に配置 */
		top: 0;
		right: -225px;
		background: #fff;
		width: 225px;
		height: 100%;
		text-align: left;
		padding: 0;
		z-index: 1000;
	}
	#Primary-Menu ul {
		list-style: none;
		position: static;
		padding: 0;
		right: 0;
		bottom: 0;
		font-size: 15px;
	}
	#Primary-Menu ul li {
		float: none;
		position: static;
		display: block;
		border-bottom:1px solid #dfdfdf;
		margin:0;
		padding: 0 50px 0 10px;
	}
	#top-head #Primary-Menu ul li a,  #top-head.fixed #Primary-Menu ul li a {
		width: 100%;
		display: block;
		color: #000;
	}
	#top-head.fixed #Primary-Menu ul li a:hover {
		color: #FFF;
		background:rgba(12,88,156,0.8);
	}
	#nav-toggle {
		display: block;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 8px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 8px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	/* #global-nav スライドアニメーション */
	.open #Primary-Menu {
		/* #global-nav top + #mobile-head height */
		right:0;
		visibility: visible;
		-webkit-transition: .3s ease-in-out;
		-moz-transition: .3s ease-in-out;
		transition: .3s ease-in-out;
	}
	.open #mobile-head::before{
		display: block;
	}
}
/* ------------------------------------------------------------------
トップページ
------------------------------------------------------------------ */
#mainimage {
	height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 36.25%;
    background-size: contain;
	background-repeat:no-repeat;
	width: 100%;
	position:relative;
}
#mainimage .mainpic{  
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    margin: auto;
}
#mainimage_sp {
	display:none;
	position:relative;
}
.catchcopy{
	position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
}
@media screen and (max-width:768px) {
	#mainimage {
		padding:0!important;
		display:none;
	}
	#mainimage_sp {
		display:block;
	}
	#mainimage_sp img {
		width:100%;
	}
	.catchcopy{
		width:70%!important;
		height:auto!important;
}
}
#philosophy {
	margin:-80px auto 0 auto ;
	padding: 45px 0 0 0;
	background: #fff;
	border-top-right-radius: 12px;
	border-top-left-radius: 12px;
	text-align: center;
	width:1060px;
}
@media screen and (max-width:1240px) {
	#philosophy {
		width:100%;
		border-radius:0;
		margin:0 auto;
	}
}
#philosophy .message {
	margin: 0 30px 0px 30px;
}
#philosophy h2 img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
#philosophy p {
	font-size: 1.8rem;
	margin: 0 20px 38px 20px;
	padding: 0;
	color: #666;
}
@media screen and (max-width:768px) {
	#philosophy {
		padding: 15px 0 10px 0;
	}
	#philosophy p {
		font-size: 1.6rem;
	}
	.tit_philosophy {
		display:none;
	}
}
#bg_home {
	height: 0;
	background-image: url(../img/top_corporate.png);
    background-size: contain;
	padding-top: 27.5%;
	width: 100%;
}

/* 事業紹介 */
#Top-Service ul {
	margin:0 0 2% 0;
}
#Top-Service ul li {
	float: left;
	width: 48%;
	max-width: 500px;
	margin: 0 2% 3% 0;
	padding: 0;
}
#Top-Service ul li:nth-child(1) , #Top-Service ul li:nth-child(2) {
	height: 360px;
}
#Top-Service ul li:nth-child(2n) {
	margin: 0 0 3% 0;
	float: right;
}
#Top-Service ul li img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	vertical-align: top;
}
#Top-Service ul li h4 {
	text-align: center;
	margin: 20px 0 16px 0;
	padding: 0;
	font-size: 1.8rem;
	font-weight: bold;
}
#Top-Service ul li p {
	font-size:1.5rem;
	text-align:left;
	color:#666;
}

@media screen and (max-width:768px) {
	#Top-Service ul li {
		float: none!important;
		width: 100%;
		max-width: 100%;
		text-align:center;
		height: auto!important;
		margin: 0 0 40px 0!important;
	}
}

/* グループ会社 */

#footer .gmogroup_wrap ul li {
	margin: 0 10px 10px;
}
#footer .gmogroup_wrap ul li a {
	padding: 18px;
	min-width: 218px;
}
#footer .gmogroup_wrap ul li a img {
	width: auto;
	max-height: 14px;
}

#Top-Associate {
	max-width: 100%;
	background: #fafafa;
	padding: 25px 0 10px;
}
.Associate-inner{
	max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}
.Associate-inner > a {
	max-width: 1040px;
    margin: 0 auto;
	display: block;
    padding-left: 10px;
    padding-bottom: 10px;
}
@media screen and (max-width:768px) {
	.Associate-inner > a {
		text-align: center;
	}
}

/* ------------------------------------------------------------------
コンテンツ
------------------------------------------------------------------ */
#Contents {
	width: 100%;
	margin: 0;
	padding: 0;
}
#Contents .tit_main {
	margin: 0 0 25px 0;
	font-size: 2.4rem;
	font-weight:bold;
	position:relative;
	text-align: center;
}
#Contents .tit_main a {
	position:absolute;
	right:0;
	top:5px;
	font-size:1.6rem;
}
@media screen and (max-width:768px) {
	#Contents .tit_main {
		font-size: 2rem;
	}
	#Contents .tit_main a {
		position: relative;
		display: block;
		margin:0 0 40px 0;
	}
}
#Contents .tit_sub {
	padding: 0 0 10px 1.8rem!important;
	border-bottom: 2px solid #eeeeee;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.5rem;
	margin: 0 0 15px 0;
	text-indent: -1.8rem!important;
}
#Contents .tit_sub::before {
	content: '';
    vertical-align: sub;
	height: 1.8rem;
	width: 8px;
	background: #005bac;
	display: inline-block;
	margin: 0 8px 0 0;
	border-radius: 2px;
}
#Contents .tit_sub_gray {
	padding: 0 0 10px 0!important;
	border-bottom: 2px solid #eeeeee;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.5rem;
	margin: 0 0 15px 0;
}

#Contents img {
	max-width: 100%;
	height: auto;
}
/* ------------------------------------------------------------------
イメージ部分
------------------------------------------------------------------ */
#RpsvBg {
	width: 100%;
	height:320px;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
#ServiceWrapper #RpsvBg {
	background-image: url(../img/header_service.png);
}
#CorporateWrapper #RpsvBg {
	background-image: url(../img/header_corporate.png);
}
#RecruitWrapper #RpsvBg {
	background-image: url(../img/header_recruitment.png);
}
#RpsvBg h1 {
	width: 60%;
	margin: 0 auto;
	margin-top: 110px;
	padding: 40px 0;
	background-color: rgba(255,255,255,0.3);
	border-radius: 12px;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
}
@media screen and (max-width: 1240px) {
	#RpsvBg {
		height:260px;
	}
	#RpsvBg h1 {
		margin-top: 48px;
	}
}
@media screen and (max-width: 768px) {
	#RpsvBg {
		background-size: cover;
		padding-top: 0 ;
		background-position: 50%;
		height:120px;
	}
	#RpsvBg h1 {
		position: absolute;
		width: 90%;
		margin: 0 auto;
		padding: 25px 0;
		left: 0;
		right: 0;
		top: 50px;
	}
	#RpsvBg h1 img {
		width:128px;
		height:60px;
	}
}
/* ------------------------------------------------------------------
フッター
------------------------------------------------------------------ */
footer {
	width: 100%;
	background: #005bac;
	color: #FFF;
	font-size: 1.4rem;
}
footer a {
	display: block;
	color: #FFF;
	text-decoration: none;
	padding: 4px 0 4px 20px;
}
footer a:hover {
	text-decoration: underline;
}
#FM-Left, #FM-Center, #FM-Right {
	border-left: 1px dotted #74aee3;
	display: inline-block;
	width: 32.5%;
	margin: 0 1% 0 0;
	vertical-align:top;
}
#FM-Right {
	margin: 0;
}
#PageTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: block;
	opacity:0;
	transition: .3s;
}
#PageTop a {
	color: #fff;
	display: block;
	background: rgba(6,80,147,0.7);
	padding: 0;
	height:40px;
	width:40px;
	line-height: 40px;
	text-align: center;
	border-radius: 6px;
}
#Copy {
	width: 100%;
    padding: 14px 0;
    background: #005bac;
    color: #FFF;
    font-size: 1.1rem;
    border-top: dotted 1px #74aee3;
	text-align: center;
}

@media screen and (max-width: 768px) {
	footer div.inner {
		padding:10px 0!important;
	}
	footer ul a {
		display: block;
		padding: 12px 0;
		color: #FFF;
		position: relative;
		border-bottom: 1px dotted #74aee3;
	}
	#FM-Left,  #FM-Center,  #FM-Right {
		width: 100%;
		max-width: 100%;
		float: none;
		margin:0;
		border:none;
	}
	footer #FM-Right li:last-child a {
		border-bottom:none;
	}
	#PageTop {
		position:relative;
		right:0;
		bottom:0;
		opacity:100!important;
	}
	#PageTop a {
		color: #fff;
		display: block;
		background: #065093;
		padding: 10px 0;
		height: auto;
		line-height: 18px;
		text-align: center;
		border-radius: 2px;
		border: 1px dotted #74aee3;
		margin: 20px 0 0 0;
		width:100%;
	}
}
/* ------------------------------------------------------------------
ニュース
------------------------------------------------------------------ */
.News-List a {
	text-decoration: none;
	color: #333;
}
.News-List a:hover {
	text-decoration: underline;
}
.News-List {
	width: 100%;
	padding: 15px 0;
	border-top: 1px solid #e6e6e6;
	display: table;
}
.News-Date {
	width: 250px;
	display: table-cell;
	color:#999;
	padding:2px 0 0 0;
}
#NewsWrapper #News-Left p.News-Date {
	width: 100%;
	display: block;
	color: #999;
	padding: 2px 0 30px 0;
	border-bottom: 1px solid #e6e6e6;
}
.News-Date span {
	float: right;
	width: 100px;
	height: 22px;
	line-height:22px;
	text-align: center;
	border-radius:4px;
	font-size: 1.2rem;
	display: block;
	vertical-align: middle;
	overflow: hidden;
}
.Cat-info, .Cat-press {
	color: #FFF;
}
.Cat-info {
	background: #005bac;
}
.Cat-press {
	background: #005bac;
}
.News-List p {
	padding: 0 0 0 20px;
	display: table-cell;
	vertical-align: middle;
}

@media screen and (max-width:768px) {
	.News-Date {
		display: table;
		vertical-align: middle;
	}
	.News-List p {
		padding: 10px 0 0 0;
		display: block;
		vertical-align: middle;
	}
}

#News-Left {
	float: left;
	width: 75%;
}
#News-Right {
	float: right;
	width: 18%;
}
#News-Date {
	width: 100%;
	display: table-cell;
	vertical-align: middle;
}
#News-Right ul {
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
}
#News-Right ul li a {
	padding: 10px;
	text-decoration: none;
	display: block;
	border-bottom: 1px solid #e6e6e6;
	color: #333;
}
#News-Right ul li a:hover {
	text-decoration:underline;
}
#News-Right ul li a span {
	color: #005bac;
	margin:0 10px 0 0;
}
#News-Right ul li:first-child {
	border-top: 1px solid #e6e6e6;
}
#YearSelect {
	padding: 10px 0;
}

/* 記事設定　*/
#News-Post-Content p {
	margin:0 0 10px 0;
	 word-break: break-all;
 }
#News-Post-Content img {
	margin:15px 0;
}
#News-Post-Content h2 {
	font-weight: bold;
	border-bottom: 2px solid #eeeeee;
	font-size: 1.8rem;
	margin: 0 0 15px 0;
	padding: 0 0 5px 0;
}
#News-Post-Content dl {
	margin:-1px 0 0 0;
	border-bottom: none;
	border: 1px solid #e6e6e6;
	display:table;
	width:100%;
}
#News-Post-Content dt {
	width: 240px;
	padding: 15px;
	display: table-cell;
	vertical-align: middle;
	border-right: 1px solid #e6e6e6;
	background: #F8F8F8;
	text-align: center;
}
#News-Post-Content dd {
	padding: 10px 15px;
	display: table-cell;
	border: none;
	vertical-align: middle;
}
@media screen and (max-width: 768px) {
	#News-Post-Content dt {
		width: 100%;
		display: block;
		border: none;
		padding: 10px 20px !important;
		border-bottom: 1px solid #e6e6e6;
	}
	#News-Post-Content dd {
		width: 100%;
		display: block;
		border: none;
	}
}

@media screen and (max-width: 1240px) {
	#News-Left {
		float: none;
		max-width: 100%;
		width:100%;
		margin: 0 0 30px 0;
		padding: 0;
		bottom: 0;
		display: inline-block;
	}
	#News-Post-Content img {
		max-width:800px;
		width:100%;
	}
	#News-Right {
		float: none;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: block;
	}
}
/* ------------------------------------------------------------------
事業紹介
------------------------------------------------------------------ */
#ServiceWrapper {
	width: 100%;
}
#ServiceWrapper .SContainer img {
	border: 2px solid #e6e6e6;
	border-radius: 12px;
	background:#fff;
}
#ServiceWrapper .SContainer ul li img {
	border:none;
	border-radius:0;
}
/* ------------------------------------------------------------------
アンカーメニュー
------------------------------------------------------------------ */
#Service-Menu-Box {
	position:absolute;
	right:0;
	left:0;
	top:0;
	transition: all .3s ease-in-out;
    border-bottom: solid 1px #e6e6e6;
    background-color: rgba(255,255,255,0.9);
    z-index: 10;
	width:100%;
}
@media screen and (max-width: 768px) {
	#Service-Menu-Box {
		display:none;
	}
}
#Wrapper #Service-Menu {
	display: table;
	table-layout: fixed;
	text-align: center;
	padding:0!important;
  }
#Service-Menu li {
	display: table-cell;
	vertical-align: middle;
}
#Service-Menu li.current a {
	color:#005bac;
	font-weight:bold;
	
}
#Service-Menu li span {
	display: none;
}
#Service-Menu li a {
	padding: 20px 5px;
	text-decoration: none;
	color: #333;
	display: block;
	text-align: center;
}
#Service-Menu li a span {
	color: #005bac;
}

.menu_anchor_fix {
    position: fixed!important;
    top: 29px!important;
    width: 100%;
}
@media screen and (max-width: 768px) {
	#Service-Menu {
		width: 100%;
		display: block;
		padding:0!important;
	}
	#Service-Menu li {
		display: block;
	}
	#Service-Menu li a {
		max-width: 100%;
		padding: 10px;
		text-decoration: none;
		border-top: 1px solid #e6e6e6;
		text-align: left;
		background: none;
	}
	#Service-Menu li a span {
		padding: 0 10px 0 0;
		display: inline-block;
		color: #005bac;
	}
	#Service-Menu li#Service-Top a {
		background: none;
	}
	.menu_anchor_fix {
		top: 50px !important;
	}
}
/* 各BOX
------------------------------------------------------------------ */
.SContainer {
	width: 48%;
	margin: 0 2% 4% 0;
	padding: 0;
}
.SContainer a {
	text-decoration: none;
	display:block;
	overflow:hidden;
}
.SContainer p {
	text-align:left;
	font-size:1.5rem;
	color:#666;
}
.SContainer a:hover h3 {
	text-decoration:underline;
}
.SContainer h3 {
	float: left;
	padding: 20px 0;
	display: block;
	font-size: 1.8rem;
	text-align: left;
	font-weight:bold;
}
.SPic{
	width: 100%;
	height: auto;
}
@media screen and (min-width:769px) {
/* アンカーリンクの微調整 */
	#ServiceWrapper #Contents , #CorporateWrapper #Contents {
			padding-top:110px!important;
	}
	#S-Contents01 {
			margin-top:-200px!important;
			padding-top:200px!important;
	}
	#S-Contents02 , #S-Contents03 , #S-Contents04 , #S-Contents05 , #S-Contents06 {
			margin-top:-100px!important;
			padding-top:100px!important;
	}
	#S-Contents02 h2 , #S-Contents03 h2 , #S-Contents04 h2 , #S-Contents05 h2 , #S-Contents06 h2 {
			margin-top:50px!important;
	}
}
@media screen and (max-width: 768px) {
	#S-Contents04  {
			margin-top:-50px!important;
			padding-top:50px!important;
	}
	#S-Contents04 h2 {
			margin-top:30px!important;
	}
	
	#CorporateWrapper #S-Contents04  {
			margin-top:-50px!important;
			padding-top:50px!important;
			width:100%;
	}
	#CorporateWrapper #S-Contents04 h2 {
			margin:30px auto 25px auto!important;
			width:90%;
	}
}
#S-Contents04 .SContainer h3 {
	float:none!important;
	padding-bottom:5px;
}
.SContainer ul li {
    height: auto;
    vertical-align: middle;
    display: inline-block;
    padding: 0;
}
.SContainer ul {
	margin: 10px 0 0 0;
	padding: 0;
	text-align:right;
}

@media screen and (max-width: 1240px) {
	#S-Contents01 .SContainer h3 , #S-Contents04 .SContainer h3 {
		float: none;
		padding: 20px 0 5px 0;
	}
	#S-Contents01 .SContainer ul {
		margin: 0;
		padding: 0 0 20px 0;
		text-align: left;
	}
}
.SContainer ul li.icon01 {
	background: #7caed5;
}
.SContainer ul li.icon02 {
	background: #7bcfc8;
}
.SContainer ul li.icon03 {
	background: #0484f1;
}
.SBox {
	overflow:hidden;
}

@media screen and (max-width: 768px) {
	.SBox {
		max-width: 100%;
		margin: 0 auto;
		display: block;
		text-align: center;
	}
	.SContainer {
		width:100%;
		max-width: 100%;
		float: none!important;
		margin: 0 auto;
		padding: 0 0 30px 0;
		display: inline-block;
		text-align: left;
	}
	.SContainer ul li {
		font-size: 1.2rem;
		overflow: hidden;
		display: inline-block;
		padding:3px 15px;
		width: 100%;
	}
	#ServiceWrapper .SContainer ul , #ServiceWrapper .SContainer h3 {
		text-align:center!important;
	}
	#ServiceWrapper .SContainer .size10 {
		font-size:1rem;
	}
	#ServiceWrapper .SContainer h3 {
		padding:5px 0;
	}
}
/* ------------------------------------------------------------------
企業情報
------------------------------------------------------------------ */
.C-Profile dl {
	border-bottom: none;
	border: 1px solid #e6e6e6;
	display:table;
	width:100%;
	margin:-1px 0 0 0;
}
.C-Profile dt {
	padding: 20px;
	width: 180px;
	display: table-cell;
	vertical-align: middle;
	position:relative;
	border-right: 1px solid #e6e6e6;
	background: #F8F8F8;
	text-align:center;
}
.C-Profile dd {
	padding: 20px;
	display:table-cell;
	vertical-align: middle;
	border: none;
}

@media screen and (max-width: 768px) {
	.C-Profile dl {
		width: 100%;
		display: block;
	}
	.C-Profile dt {
		width: 100%;
		display: block;
		border: none;
		padding: 10px 20px !important;
		border-bottom: 1px solid #e6e6e6;
	}
}
/* アクセス */
#Aceess-Left {
	float: left;
	width: 48%;
	max-width: 500px;
	margin: 0 2% 2% 0;
}
#Aceess-Right {
	width: 48%;
	max-width: 500px;
	margin: 0 0 2% 0;
	float: right;
}
#Aceess-Right h3 , #Aceess-Left h3 {
	margin:20px 0 15px 0!important ;
}

@media only screen and (max-width:  1240px) {
	#Map {
		max-width: 100%;
		padding: 0 0 30px 0;
	}
	#Map-Container {
		max-width: 100%;
		min-width: 280px;
		padding: 0;
	}
	#map-canvas {
		position: relative;
		padding-bottom: 28.3%;
		height: 0;
		overflow: hidden;
	}
	#map-canvas iframe,  #map-canvas object,  #map-canvas embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100% !important;
		height: 100% !important;
	}
}

@media only screen and (max-width:  768px) {
	#Aceess-Left , #Aceess-Right {
		float: none;
		max-width:100%;
		width: 100%;
	}
	#Aceess-Left {
		margin:0 0 40px 0;		
	}
	.C-Histry dd {
		padding: 20px 0 20px 20px!important;
	}
}
/* 沿革 */
.C-Histry dl {
	border-top: 1px solid #e6e6e6;
	position: relative;
	display: table;
	width: 100%;
}
.C-Histry dt, .C-Histry dd {
	padding: 20px 0;
	display: table-cell;
	vertical-align: middle;
}
.C-Histry dt {
	width: 100px;
	text-align: right;
}
.C-Histry dd {
	padding: 20px 0 20px 60px;
}
/* トップメッセージ */
#TopImg {
	background: #fff;
	padding-top: 15%;
	font-size:1.6rem;
	background-size:contain;
	border:1px solid #e6e6e6;
}
.C-CatchCopy #copy {
	max-width: 100%;
	margin: 0 auto;
	margin-top: -120px;
	padding: 45px 15px 15px 15px;
	text-align: center;
	width:946px;
	border-top-right-radius: 12px;
	border-top-left-radius: 12px;
	background: #fff;
}
#Message-Box {
	background: #fff;
	padding: 0 0 20px 0;
	margin:-2px 0 0 0;
}
#Message-Box h3 {
	text-align: center;
	padding: 50px 0;
}
#Message-Box h4 {
	text-align: center;
	margin: 0;
	padding: 30px 0 45px 0;
	font-size: 30px;
	font-weight: normal;
}
#Message-Box p {
	width:90%;
	margin: 0 auto 20px auto;
}
#Message-Box .name-box{
	width: 90%;
    text-align: right;
    margin: 0 auto 20px auto;
    font-size: 1.3rem;
    line-height: 1.4;
}
#Message-Box p.btm_blue {
	border-bottom:1px solid #e6e6e6;
	padding:0 0 30px 0;	
	margin: 0 auto 30px auto;
}
#Message-Box p.name {
	text-align:center;
	font-weight:bold;
	font-size:2.4rem;
	border:none;
	margin: 0 auto 30px auto;
}
#Message-Box ul {
	width:50%;
	margin: 30px auto 0 auto;
	padding:30px 0 20px 0;
}
#Message-Box ul li {
	font-size:1.7rem;
	font-weight: bold;
	text-indent: -1.2rem;
	text-align: left;
	padding: 10px 0;
}
@media screen and (max-width: 1240px) {
	#TopImg {
		padding-top: 0%;
	}
	#C-CatchCopy {
		max-width: 100%;
		margin: auto;
		padding: 0;
	}
	.C-CatchCopy #copy {
		border-top-right-radius: 0;
		border-top-left-radius: 0;
		width:100%;
		margin:0!important;
	}
}
@media only screen and (max-width:  768px) {
	#Message-Box p.name {
		font-size:1.8rem;
	}
	#Message-Box ul {
		width:80%;
	}
	#Message-Box ul li {
		text-indent: 0;
		font-size:1.6rem;
		line-height:1.6;;
	}
	#Message-Box ul i{
		display: none;
	}
}
/* 役員紹介 */
.CE-Wrapper{
	width: 1110px;
	overflow: hidden;
	margin: 0 auto;
}
.CE-Img {
	float: right;
	width: 280px;
}
.CE-Img img {
	vertical-align: top;
}
.CE-Info {
	float: left;
	width: 790px;
}

@media screen and (max-width: 1240px) {
	.CE-Wrapper{
		width: 100%;
		overflow: hidden;
		margin: 0 auto;
	}
	.CE-Img {
		width: 35%;
		margin: 0;
		padding: 0 50px 0 0;
		display: table-cell;
		vertical-align: top;
	}
	.CE-Info {
		width: 65%;
		margin: 0 auto;
		padding: 0;
		display: table-cell;
		vertical-align: top;
	}
}
@media screen and (max-width: 768px) {
	.CE-Box {
		display: block;
	}
	.CE-Img {
		width: 100%;
		float: none;
		padding: 0;
		margin: 0 auto 20px auto;
		display: block;
		text-align: center;
	}
	.CE-Info {
		float: none;
		width: 100%;
		display: block;
		
	}
}
/* ------------------------------------------------------------------
採用情報
------------------------------------------------------------------ */
#Recruit-Box ul {
	text-indent: -1.2rem;
	margin:0 0 0 1.2rem;
	padding: 0 12px 20px 12px;
}
#Recruit-Box ul li {
	margin: 0 0 10px 10px!important;
	font-weight: bold;
}

#RecruitWrapper .SBox .fleft a , #RecruitWrapper .SBox .fright a {
	border:2px solid #55a5e4;
	border-radius:12px;
	height:140px;
	line-height:140px;
	font-size:2.2rem;
	color:#55a5e4;
	font-weight:bold;
	text-align:center;
	position: relative;
	overflow: hidden;
	transition: .6s;
	z-index: 2;
}
#RecruitWrapper .SBox .fright a {
	border:2px solid #33c1b4;
	color:#33c1b4;
}

@media screen and (max-width:1240px) {
	#Recruit-Box p {
		clear: both;
		width: 100%;
		margin: 0 auto;
		padding: 0 0 30px 0;
	}
	#Recruit-Box ul li {
		margin: 0;
		line-height:1.6;
		font-weight: bold;
	}
	#RecruitWrapper .SBox .fleft a , #RecruitWrapper .SBox .fright a {
		max-width:500px;
		margin:0 auto;
	}
}

@media screen and (min-width:769px) {
	#RecruitWrapper .SBox .fleft a:hover , #RecruitWrapper .SBox .fright a:hover {
			color: #FFF;
			text-decoration: none;
			background: #55a5e4;
	}
	#RecruitWrapper .SBox .fright a:hover {
			background: #33c1b4;
	}
	#RecruitWrapper .SBox .fleft a::after , #RecruitWrapper .SBox .fright a::after {
			display: block;
			content: "";
			position: absolute;
			z-index: -1;
			top: 50%;
			left: 50%;
			width: 0;
			height: 0;
			margin: 0;
			border-radius: 50%;
			background: #55a5e4;
			transition: .5s;
	}
	#RecruitWrapper .SBox .fright a::after {
			background: #33c1b4;
	}
	#RecruitWrapper .SBox .fleft a:hover::after ,
	#RecruitWrapper .SBox .fright a:hover::after {
			width:500px;
			height:500px;
			margin:-250px 0 0 -250px
		}
}
/* ------------------------------------------------------------------
お問い合わせ
------------------------------------------------------------------ */
#ContactWrapper {
	width: 100%;
}
#Contact dl {
	margin:-1px 0 0 0;
	border-bottom: none;
	border: 1px solid #e6e6e6;
	display:table;
	width:100%;
}
#Contact dt {
	width: 240px;
	padding: 20px;
	display: table-cell;
	vertical-align: middle;
	position:relative;
	border-right: 1px solid #e6e6e6;
	background: #F8F8F8;
}
#Contact dt span {
	color: #fff;
	font-size: 1.1rem;
	font-weight: lighter;
	background-color: #ef5f5c;
	padding: 3px 5px;
	border-radius: 4px;
	margin-left: 10px;
	text-align: center;
	position: absolute;
	right: 10px;
}
#Contact dt span.any {
	background-color: #bbb;
}

 #Contact dd {
	padding: 20px;
	display: table-cell;
	line-height: 160%;
	border: none;
	vertical-align: middle;
}
#Contact dd input , #Contact dd textarea {
	text-indent: .5em;
	padding:6px 0;
	font-size: 1.6rem;
	width:80%;
}


@media screen and (max-width: 768px) {
	#Contact dt {
		width: 100%;
		display: block;
		border: none;
		padding: 10px 20px !important;
		border-bottom: 1px solid #e6e6e6;
	}
	#Contact dd {
		width: 100%;
		display: block;
		border: none;
	}
	#Contact dd input , #Contact dd textarea {
		font-size: 1.6rem;
		width:100%;
	}
}

.mw_wp_form .btn input {
	background: #005bac;
	/* display: inline-block; */
	min-width:100px;
	padding: 10px 40px;
	border:2px solid #005bac;
	border-radius: 30px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	position: relative;
	font-size:1.4rem;
	font-weight:bold;
	overflow: hidden;
	transition: .5s;
	z-index: 2;
	cursor:pointer;
}
.mw_wp_form .error::before {
	content:'※';
	color: #B70000;
}

.mw_wp_form .backbtn input {
	background: #ffffff;
	/* display: inline-block; */
	min-width:100px;
	padding: 10px 40px;
	border:2px solid #005bac;
	border-radius: 30px;
	color: #005bac;
	text-decoration: none;
	text-align: center;
	position: relative;
	font-size:1.4rem;
	font-weight:bold;
	overflow: hidden;
	transition: .5s;
	z-index: 2;
	cursor:pointer;
}
