@charset "utf-8";

/* firefoxでページ移動の際、コンテンツが少なくても中心がずれないようにする */
html {
	overflow-y: scroll;
}

body, div, p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, blockquote, pre, form, input, textarea, header, footer, nav {
	margin: 0;
	padding: 0;
	zoom: 1;
	font-family : 'Noto Sans JP', 'メイリオ', 'Meiryo', sans-serif;
}
.mincho {
	font-family : 'Yu Mincho', 'YuMincho', 'メイリオ', 'Meiryo', serif;
}
.novile {
	font-family : 'Nobile', sans-serif;
}
.times-n {
	font-family : 'Times New Roman', selif;
}
ul, ol {
	list-style-type: none;
}

img {
	border: none;
}

a {
	outline: none;
	text-decoration: none;
}

body {
	line-height: 1.5;
	color: #424242;
	font-style: normal;
	font-weight: normal;
	background-color : #ffffff;
	width : 100%;
	overflow : hidden;
	/* ブラウザ間のフォントサイズの差をほぼなくす設定。 */
	font-size: 14px;
	* font-size: small;
	* font: x-small;
}
.over {
	transition: opacity 0.15s;
	-moz-transition: opacity 0.15s;
	-webkit-transition: opacity 0.15s;
	-o-transition: opacity 0.15s;
}
.over:hover {
	opacity : 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.fade-up {
      opacity: 1;
      animation-duration: 1.4s;
      animation-name: fade-in;
      -moz-animation-duration: 1.4s;
      -moz-animation-name: fade-in;
      -webkit-animation-duration: 1.4s;
      -webkit-animation-name: fade-in;
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-moz-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bg-color{
    0%{
        background-color : rgba(0, 0, 0, 1);
    }
    100%{
        background-color : rgba(2, 95, 161, 0.3);
    }
}
@keyframes fadein {
	from {
	    opacity: 0;
	}
	to {
	    opacity: 1;
	}
}
@keyframes fadeline {
	from {
	    opacity: 0;
	    transform: translateX(50%);
	}
	to {
	    opacity: 1;
	    transform: translateX(0);
	}
}
@keyframes fadeber {
	from {
	    opacity: 0;
	    transform: translateY(-100%);
	}
	to {
	    opacity: 1;
	    transform: translateY(0);
	}
}
/* Reveal */
.hvr-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: #007da9;
  height: 3px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-reveal:hover:before, .hvr-reveal:focus:before, .hvr-reveal:active:before {
  left: 0;
  right: 0;
}

/* -------------------------------------------------------------------
 clearfix
------------------------------------------------------------------- */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
}
 
.clearfix:after {
    clear: both;
}
 
/* For IE 6/7 */
.clearfix {
    zoom: 1;
}

.map iframe {
	width : 100%;
	height : 520px;
}
@media only screen and (max-width: 640px) {
	.map iframe {
		height : 90vh;
	}
}

/* ヘッダー包括---------------------------*/
header {
	position : relative;
	width : 100%;
	max-width : 1984px;
	height : 50vw;
	max-height : 1098px;
	min-height : 352px;
	margin : 0 auto;
}
.headerWrap {
	height : 228px;
	background-color: rgba(9, 16, 41, 1);
}
header.short {
	height : 268px;
	min-height : 0;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
}
header.short::before {
	content : "";
	position : absolute;
	width : 45%;
	height : 228px;
	top : 0;
	left : 0;
	z-index : 2;
	background-image: linear-gradient(90deg, rgba(9, 16, 41, 1) 26%, rgba(255, 255, 255, 0));
}
header.short .topImage_s  {
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 228px;
	background-repeat : no-repeat;
	background-position : center center;
	background-size : cover;
}
header .topImage  {
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	max-width : 1984px;
	z-index : -1;
}
header .topImage img {
	width : 100%;
	max-width : 1984px;
	height : 50vw;
	max-height : 1098px;
	min-height : 352px;
	object-fit : cover;
}
header .headMenuInner {
	position : relative;
	z-index : 30;
}
header .headMenuInner_s {
	position : absolute;
	z-index : 90;
	width : 100%;
}
header .headLogo {
	padding : 290px 0 0 0;
	display : table;
	width : 45%;
	max-width : 1694px;
	position : relative;
	z-index : 3;
}
.headLogoBack {
	position : absolute;
	z-index : 1;
	top : 0;
	left : 0;
	width : 50%;
	min-width : 600px;
	height : 44vw;
	max-height : 874px;
	display : -webkit-flex;
	display : flex;
}
.headLogoBack .left {
	width : 45%;
	background: rgba(242, 243, 237, 1);
}
.headLogoBack .right {
	width : 55%;
	background: linear-gradient(90deg, rgba(242, 243, 237, 1),rgba(242, 243, 237, 0));
}
header .headLogo_s {
	padding : 47px 0 0 20px;
	display : table;
	width : 100%;
	max-width : 1694px;
	margin : 0 auto;
}
header .headLogo_s img {
	width : 295px;
}
header .headLogo_s strong {
	display : none;
}
header .headLogo a {
	display : table-cell;
	vertical-align: top;
	text-align : left;
	width : calc(50% - 60px);
	padding-left : 238px;
}
header .headLogo img {
	width : 40vw;
	max-width : 523px;
}
header h2 {
	position : absolute;
	display : block;
	top : 300px;
	left : calc(50% - 100px);
	font-size : 58px;
	color : #ffffff;
	font-weight : 500;
	letter-spacing: 2px;
	z-index : 26;
}
header.short h2 {
	display : none;
}
header .snsButton {
	position : absolute;
	top : 36px;
	right : 166px;
}
header .snsButton li {
	display: inline-block;
	vertical-align: top;
	margin : 0 10px;
}
header .snsButton a {
	transition: 0.4s;
}
header .pc_headline {
	position : absolute;
	bottom : -1px;
	left : 0;
	width : 100%;
	z-index : 99;
}
header .pc_headline ul {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	width : 90%;
	max-width : 1168px;
	margin : 0 auto;
	background-color : #ffffff;
	padding : 14px 0;
}
header .pc_headline li {
	width : 20%;
	text-align : center;
}
header .pc_headline li a {
	display : block;
	width : 100%;
	color : #001c74;
	font-size : 16px;
	padding-top : 6px;
	font-weight : 500;
	transition: 0.4s;
}
header .pc_headline li.nb {
	border-right : 1px solid #d6d6d6;
}
header .pc_headline li a span {
	display : block;
	color : #767676;
	font-size : 13px;
	padding : 4px 0 6px 0;
	font-weight : normal;
}
header .pc_headline li a:hover {
	opacity : 0.7;
}
@media only screen and (max-width: 1800px) {
	header .headLogo a {
		padding-left : 6vw;
	}
	.headLogoBack .left {
		width : 40%;
	}
	.headLogoBack .right {
		width : 60%;
	}
	header .headLogo {
		padding : 4vw 0 0 0;
	}
}
@media only screen and (max-width: 1600px) {
	header h2 {
		top : 17vw;
		font-size : calc(2vw + 10px);
	}
	header.short h2 {
		top : 12vw;
	}
	header .snsButton {
		position : absolute;
		top : 1.8vw;
		right : 8vw;
	}
}
@media only screen and (max-width: 1200px) {
	.headLogoBack {
		width : 45vw;
	}
}
@media only screen and (max-width: 800px) {
	.headLogoBack {
		display : none;
	}
	header.short {
		height: 228px;
		min-height: 0;
	}
	header.short::before {
		content : "";
		display : none;
	}
	header .headLogo {
		display : block;
		position : fixed;
		top : 4px;
		left : 12px;
		padding : 0;
		z-index : 33;
		width : 150px;
	}
	header .headLogo a {
		padding-left : 0;
	}
	header .headLogo img {
		width : 128px;
		min-width : 128px;
		margin-top: 6px;
	}
	header .headLogo_s {
		display : block;
		position : fixed;
		top : 4px;
		left : 12px;
		padding : 0;
		z-index : 33;
		width : 150px;
	}
	header .headLogo_s img {
		width : 128px;
		min-width : 128px;
	}
	header h2 {
		top : 175px;
		left : 0;
		width : 100%;
		text-align : center;
		font-size : 24px;
		z-index : 26;
	}
	header.short h2 {
		top : 120px;
		display : block;
	}
	header .headLogo_s a {
		display : block;
		position : fixed;
		top : 10px;
		left : 12px;
		padding-left : 0;
		z-index : 10;
	}
	header .headLogo_s strong {
		display : block;
		color : #ffffff;
		font-size : 20px;
		font-weight : 500;
		position : relative;
		text-align : center;
		top : 32px;
	}
}
@media only screen and (max-width: 640px) {
	header.short {
		height: 208px;
		min-height: 0;
	}
	header.short .topImage_s {
		height: 208px;
	}
	header.short h2 {
		top : 110px;
	}
	header .headLogo_s img {
		width : 128px;
	}
	#pankuzu {
		display : none;
	}
}
@media only screen and (max-width: 480px) {
	header .snsButton li {
		margin : 0 5px;
	}
	header.short {
		height: 198px;
		min-height: 0;
	}
	header.short h2 {
		top : 108px;
	}
	header.short .topImage_s {
		height: 198px;
	}
	header .headLogo_s {
		padding : 68px 12px 0 12px;
	}
	header .headLogo_s img {
		width : 128px;
	}
	.snsButton li a img {
		width : 24px;
	}
}

header .smp_headline {

}
.innerSmpTels {
	display : none;
}
.smp_subMenu a {
	color : #646464;
	font-size : 13px;
	font-weight : bold;
	text-decoration : none;
	display : block;
	line-height : 1.0;
	padding : 7px 0 7px 20px;
}
.smp_headline .menu-trigger {
	display : block;
    position: absolute;
	top: 12px;
	left: 20px;
	width: 22px;
	height: 20px;
	transition: all .4s;
}
.smp_headline .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #424242;
	transition: all .4s;
}
.smp_headline .menu-trigger span:nth-of-type(1) {
    top: 0;
}
.smp_headline .menu-trigger span:nth-of-type(2) {
    top: 8px;
}
.smp_headline .menu-trigger span:nth-of-type(3) {
    bottom: 0;
}
.menu-trigger.is-open span:nth-of-type(1) {
	width: 48%;
	-webkit-transform: translate3d(1px, 4px, 0) rotate(45deg);
	transform: translate3d(1px, 4px, 0) rotate(45deg);
}
.menu-trigger.is-open span:nth-of-type(2) {
	-webkit-transform: translate3d(-1px, 0, 0) rotate(-45deg);
	transform: translate3d(-1px, 0, 0) rotate(-45deg);
}
.menu-trigger.is-open span:nth-of-type(3) {
	width: 47%;
	-webkit-transform: translate3d(9px, -4px, 0) rotate(45deg);
	transform: translate3d(9px, -4px, 0) rotate(45deg);
}
.pc_headline  {
	display : block;
}
.smp_headline  {
	display : none;
}
.smp_centerbtn  {
	display : none;
}
.smp_headbtn  {
	display : none;
}
.pc_headbtn  {
	display : block;
}
@media only screen and (max-width: 800px) {
	.pc_headline  {
		display : none;
	}
	.smp_headline  {
		display : block;
		position : fixed;
		width : 100%;
		height : 60px;
		background-color : #091029;
		top : 0;
		left : 0;
		box-sizing : border-box;
		transition: .5s;
		z-index : 30;
	}
	.smp_menu  {
		position : absolute;
		top : 0;
		right : 0;
		width : 60px;
		height : 60px;
		background-color : #ffffff;
		text-align : center;
	}
	.smp_menu p {
		display : block;
		position : absolute;
		top : 34px;
		left : 0;
		width : 60px;
		text-align : center;
		color : #646464;
		font-size : 12px;
	}
	.smp_headline .innerSmpTels h3  {
		margin-bottom : 8px;
	}
	.innerSmpTels  {
		display : block;
		position : fixed;
		width : 100%;
		top : -480px;
		left : 0;
		z-index : 28;
		margin-bottom : 6px;
		background-color : rgba(9, 16, 41, 0.9);
		transition: .5s;
	}
	.innerSmpTels li a  {
		text-decoration : none;
		font-size : 14px;
		color : #ffffff;
		display : block;
		width : calc(100% - 12px);
		padding : 12px 0 12px 12px;
		text-align : left;
		border-bottom : 1px solid #000000;
	}
	.innerSmpTels li a img {
		display : inline-block;
		vertical-align : top;
		position : relative;
		top : 2px;
	}
	.innerSmpTels li a span {
		display : inline-block;
		vertical-align : top;
		font-size : 13px;
		color : #5879e6;
		position : relative;
		margin-left : 10px;
		top : 2px;
	}
	.innerSmpTels .snsButton_s {
		text-align : center;
		padding : 12px 0 16px 0;
	}
	.innerSmpTels .snsButton_s a {
		display : inline-block;
		vertical-align : top;
		margin : 0 8px;
	}
	.smp_headbtn  {
		display : block;
	}
	.pc_headbtn  {
		display : none;
	}
	.smp_centerbtn  {
		display : block;
		text-align : center;
		margin-top : 36px;
	}
	.smp_centerbtn img {
		width : 60%;
		max-width : 386px;
	}
	header .snsButton {
		display : none;
	}
}
@media only screen and (max-width: 480px) {
	header .snsButton {
		top : 20px;
	}
}

/* パンくずリスト */

.panWrap  {
	width : 100%;
	max-width : 1300px;
	margin : 0 auto;
	padding : 40px 10px 0 60px;
	overflow : hidden;
	box-sizing: border-box;
	position : relative;
}
.panWrap li {
	display: inline-block;
	margin-right : 14px;
	font-size : 14px;
	color : #7f7f7f;
}
.panWrap li a {
	color : #7f7f7f;
	transition: 0.3s;
}
.panWrap li a:hover {
	opacity : 0.6;
}
@media only screen and (max-width: 1340px) {
	.panWrap  {
		padding : 40px 10px 0 5.5vw;
	}
}
@media only screen and (max-width: 800px) {
	.panWrap  {
		padding : 4vw 10px 0 5.5vw;
	}
}
@media only screen and (max-width: 480px) {
	.panWrap  {
		padding : 4vw 10px 0 10px;
	}
	.panWrap li {
		display: inline-block;
		margin-right : 6px;
		font-size : 12px;
		color : #212529;
	}
}

/* メインコンテンツ包括---------------------------*/
.mgrx  {
	margin-top : -67px;
	padding-top : 67px;
}
.normalWrap  {
	width : 100%;
	max-width : 1640px;
	margin : 0 auto 0 auto;
	padding : 0 10px;
	box-sizing: border-box;
}
.tglc {
	text-align : left;
}

.wideWrap  {
	width : 100%;
	max-width : 1984px;
	margin : 0px auto 100px auto;
	padding : 0;
	overflow : hidden;
	box-sizing: border-box;
}
.narrowWrap  {
	width : 100%;
	max-width : 920px;
	margin : 0px auto;
	padding : 0 10px 46px 10px;
	overflow : hidden;
	box-sizing: border-box;
}
.middleWrap  {
	width : 100%;
	max-width : 1124px;
	margin : 100px auto 0px auto;
	text-align : center;
	padding : 0 10px;
	position : relative;
	overflow : hidden;
	box-sizing: border-box;
}
.miniWrap  {
	width : 100%;
	max-width : 880px;
	margin : 0px auto 0px auto;
	padding : 0 10px;
	overflow : hidden;
	box-sizing: border-box;
}
.semiWrap  {
	width : 100%;
	max-width : 1396px;
	margin : 0px auto;
	padding : 0 10px;
	position : relative;
	box-sizing: border-box;
}

@media only screen and (max-width: 800px) {
	.middleWrap  {
		margin : 10vw auto 0px auto;
	}
}
@media only screen and (max-width: 640px) {
	.middleWrap  {
		margin : -30px auto 0px auto;
		z-index : 9;
	}
}


/* 画面外にいる状態 */
.js-fadein {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1s;
}
/* 画面内に入った状態 */
.js-fadein.js-scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

/* TOP NEWS */
.newsWrap  {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border : 1px solid #bdbdbd;
	background-color : #ffffff;
	border-radius : 8px;
}
.newsItem  {
	width : calc(100% - 340px);
	text-align : left;
	padding-top : 22px;
}
h2.newsTitle  {
	width : 180px;
	padding : 20px 0;
	font-size : 18px;
	color : #ffffff;
	line-height : 1.4;
	text-align : center;
	background-color : #424242;
	border-radius : 7px 0 0 7px;
}
h2.newsTitle span {
	display : block;
	font-size : 12px;
	color : #8c8c8c;
	text-align : center;
}
.newsItem a {
	width : 100%;
	display : block;
	padding : 4px 14px 0 14px;
	text-decoration : none;
	box-sizing : border-box;
	transition : all 0.3s ease 0s;
}
.newsItem a:hover {
	opacity : 0.7;
}
.newsItem a .comm {
	display : inline-block;
	vertical-align : top;
	padding-left : 10px;
	position : relative;
}
.newsItem a .comm .new {
	display : inline-block;
	vertical-align: top;
	margin-left : 20px;
	color : #000000;
	font-size : 16px;
	font-weight : 500;
	text-decoration : underline;
	width : 600px;
	text-overflow: ellipsis;
	white-space: nowrap;
	height : 1.6em;
	overflow: hidden;
}
.newsItem a .comm .date {
	display : inline-block;
	vertical-align: top;
	color : #666666;
	font-size : 14px;
	position : relative;
	top : 4px;
}
.newsMore {
	text-align : right;
	padding : 48px 0 0 0;
}
.newsMore a {
	display : inline-block;
	background-color : #122a89;
	border : 1px solid #122a89;
	color : #ffffff;
	font-size : 12px;
	border-radius : 14px;
	padding : 3px 8px 2px 26px;
	line-height : 16px;
	text-align : right;
	text-decoration : none;
	transition : all 0.3s ease 0s;
}
.newsMore a span {
	font-size : 16px;
	font-weight : bold;
	font-family : 'Courier New', sans-serif;
}
.newsMore a:hover {
	background-color : #ffffff;
	color : #122a89;
}
@media only screen and (max-width: 1100px) {
	.newsItem a .comm .new {
		width : calc(100vw - 540px);
	}
}
@media only screen and (max-width: 800px) {
	.newsItem  {
		padding-top : 15px;
	}
	.newsItem a .comm .new {
		display : block;
		width : calc(100vw - 440px);
		margin-left : 0;
	}
	.newsItem a .comm .date {
		display : block;
		top : -2px;
	}
}
@media only screen and (max-width: 640px) {
	.tglc {
		text-align : center;
	}
	.newsWrap  {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		border-style : none;
		background-color : #ffffff;
		border-radius : 0px;
		position : relative;
	}
	.newsItem  {
		padding-top : 2px;
		width : calc(100vw - 280px);
	}
	.newsItem a .comm .new {
		width : calc(100vw - 300px);
	}
	h2.newsTitle  {
		width : 80px;
		padding : 16px 0;
		font-size : 16px;
		border-radius : 0;
	}
	h2.newsTitle span {
		display : none;
	}
	.newsItem  {
		width : calc(100% - 200px);
	}
}
@media only screen and (max-width: 600px) {
	.newsItem  {
		width : calc(100% - 80px);
	}
	.newsItem a .comm .new {
		width : calc(100vw - 140px);
		font-size : 14px;
	}
}
@media only screen and (max-width: 480px) {
	.newsItem  {
		width : calc(100% - 60px);
	}
	h2.newsTitle  {
		width : 60px;
	}
}
@media only screen and (max-width: 400px) {
	.newsItem  {
		padding-top : 4px;
	}
	.newsItem a {
		padding : 4px 4px 0 0px;
	}
	.newsItem a .comm .new {
		display : block;
		width : calc(96vw - 80px);
		margin-left : 0px;
		font-size : 14px;
		line-height : 1.6;
		text-overflow: ellipsis;
		white-space: nowrap;
		height : 1.8em;
		overflow: hidden;
	}
	.newsItem a .comm .date {
		display : block;
		font-size : 13px;
	}
}

/* NEWSページ */
#kiji  {
	padding-top : 60px;
	margin-top : -60px;
}
.newsKijiWrap  {
	width : calc(100% - 20px);
	max-width : 980px;
	padding : 66px 10px 0 10px;
	margin : -66px auto 150px auto;
}
.newsKijiItem .wrapResult  {
	padding-top : 0px;
}
.newsKijiItem .wrapResult p {
	font-size : 14px;
	color : #646464;
	text-align : right;
}
.newsKijiItem .wrapResult h2 {
	color: #646464;
	font-size: 36px;
	line-height: 60px;
	border-bottom: 1px solid #d6d6d6;
	font-weight: 500;
	text-align: left;
}
.newsKijiItem .wrapResult h2 strong{
	display : inline-block;
	vertical-align : top;
	font-size : 18px;
	color : #e70012;
	font-weight : normal;
}
.newsKijiItem .wrapResult .newsImage {
	text-align : center;
	margin : 80px 0 0 0;
}
.newsKijiItem .wrapResult .newsImage img {
	max-width : 100%;
	height : auto;
	max-height : 600px;
	object-fit : contain;
}
.newsKijiItem .wrapResult .newsImage span {
	width : 100%;
	height : auto;
	max-height : 600px;
	background-position : center;
	background-repeat : no-repeat;
	background-size : contain;
}
.newsKijiItem .wrapResult .newsComm  {
	font-size : 16px;
	line-height : 2.0;
	font-weight : normal;
	color : #686e6e;
	padding : 60px 0;
	text-align : left;
}
.newsKijiItem .newsKijiBtn {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	width : 100%;
	max-width : 450px;
	margin : 48px auto 0 auto;
}
.newsKijiItem .newsKijiBtn a {
	color : #686e6e;
	font-size : 20px;
	transition : 0.3s;
}
.newsKijiItem .newsKijiBtn a:hover {
	color : #000000;
}
.newsLine  {
	display : block;
	width : calc(100% - 20px);
	max-width : 1000px;
	padding : 0 10px;
	position : relative;
	margin : 0 auto;
}
.newsLineItem {
	width : calc(100% - 40px);
	border-top : 1px solid #e3e4e4;
	padding : 38px 20px;
}
.newsLine .first {
	border-top-style : none;
}
.newsLineItem a {
	display : table;
	color : #666666;
	width : 100%;
}
.newsLineItem .image {
	display : table-cell;
	vertical-align : middle;
	width : 160px;
	height : 100px;
}
.newsLineItem .image img {
	width : 100%;
	height : 100px;
	object-fit : cover;
}
.newsLineItem .image span {
	display : block;
	width : 100%;
	height : 100px;
	background-repeat : no-repeat;
	background-position : center center;
	background-size : cover;
}
.newsLineItem .comm {
	display : table-cell;
	vertical-align : middle;
	width : calc(100% - 200px);
	height : 100px;
	font-size : 16px;
	padding-left : 32px;
	text-align : left;
}
.newsLineItem dt {
	color : #000000;
	margin-bottom : 10px;
}
.newsLineItem dt span {
	display : inline-block;
	vertical-align : top;
	margin-right : 24px;
}
.newsLineItem dd {

}
.newsLineItem dd span {
	display : inline-block;
	vertical-align : top;
}
.newsLineItem dd strong{
	display : inline-block;
	vertical-align : top;
	color : #e70012;
	font-weight : normal;
}
.moreRev  {
	width : 160px;
	text-align : center;
	padding : 6px 0 9px 0;
	font-size : 14px;
	line-height : 24px;
	color : #848484;
	display : inline-block;
	transition: 0.4s;
	position : relative;
	border : 1px solid #bdbdbd;
	border-radius : 24px;
	margin : 19px 12px 0 0;
}
.moreRev::after {
	position : absolute;
	content: ">";
	top : 7px;
	right : 10px;
	font-size : 14px;
	font-family : 'Nobile', sans-serif;
}
.moreRev:hover {
	color : #ffffff;
	background-color : #848484;
}
@media only screen and (max-width: 800px) {
	.newsKijiWrap  {
		width : calc(100% - 2vw);
		padding : 60px 1vw 0 1vw;
		margin : -60px auto 15vw auto;
	}
	.newsKijiItem .wrapResult p {
		font-size : 16px;
		padding : 0 2vw 1.6vw 2vw;
	}
	.newsKijiItem .wrapResult h2 {
		font-size : 24px;
		padding : 0 0 2vw 0;
	}
	.newsKijiItem .wrapResult h2 span {
		margin-right : 3.6vw;
	}
	.newsKijiItem .wrapResult h2 strong{
		font-size : 16px;
	}
	.newsKijiItem .wrapResult .newsImage {
		margin : 8vw 0 0 0;
	}
	.newsKijiItem .wrapResult .newsComm  {
		font-size : 16px;
		line-height : 1.8;
		padding : 9.4vw 2vw;
	}
	.newsKijiItem .newsKijiBtn {
		margin : 4.8vw auto 0 auto;
	}
	.newsKijiItem .newsKijiBtn a {
		font-size : 18px;
	}
}
@media only screen and (max-width: 640px) {
	.moreRev {
		margin: 7px 12px 0 0;
	}
}
@media only screen and (max-width: 480px) {
	.newsKijiItem  {
		padding-top : 6vw;
	}
	.newsKijiItem .wrapResult h2 {
		font-size : 18px;
		line-height : 1.6;
	}
	.newsKijiItem .wrapResult h2 strong{
		font-size : 14px;
	}
	.newsKijiItem .wrapResult .newsComm  {
		font-size : 14px;
	}
	.newsLineItem .image {
		vertical-align: top;
		width : 17vw;
		height : 12vw;
	}
	.newsLineItem .image img {
		width : 17vw;
		height : 12vw;
	}
	.newsLineItem .image span {
		width : 17vw;
		height : 12vw;
	}
	.newsLineItem .comm {
		width : calc(100% - 20vw);
		height : auto;
		font-size : 14px;
		padding-left : 3vw;
	}
}

/* TOP 企業情報 */
#section01  {
	width : 100%;
	height : 40vw;
	max-height : 588px;
	min-height : 500px;
	background : #091029 url(../img/back2.jpg) no-repeat top center;
	margin-top : 60px;
}
#section02  {
	width : 100%;
	background : url(../img/back3.png) repeat top left;
	position : relative;
	z-index : 2;
}
.serviceComm {

}
.serviceComm h2 {
	font-size : 52px;
	color : #ffffff;
	padding : 64px 0 10px 0;
	font-weight : 500;
}
.serviceComm h2 span {
	display : inline;
}
.serviceComm .sub {
	font-size : 16px;
	color : #5879e6;
}
.serviceComm .comm {
	width : 560px;
	font-size : 16px;
	color : #ffffff;
	line-height : 2.2;
	margin-top : 40px;
}
.serviceComm span {
	display : block;
}
.moreRev2  {
	width : 300px;
	text-align : center;
	padding : 10px 0 15px 0;
	font-size : 18px;
	line-height : 24px;
	color : #001c74;
	display : inline-block;
	transition: 0.4s;
	position : relative;
	border : 1px solid #ffffff;
	background-color : #ffffff;
	border-radius : 24px;
	font-weight : 500;
	margin : 0px 0 0 16px;
}
.moreRev2::after {
	position : absolute;
	content: ">";
	top : 14px;
	right : 18px;
	font-size : 18px;
	font-family : 'Nobile', sans-serif;
}
.moreRev2:hover {
	color : #ffffff;
	background-color : #001c74;
}
.serviceItem {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	margin-top : -2px;
	position : relative;
	z-index : 2;
}
.serviceItem li {
	width : 30%;
	position : relative;
	top : -50px;
}
.serviceItem li .img {
	position : relative;
}
.serviceItem img {
	width : 100%;
}
.serviceItem img.back {
	width : 100%;
	position : absolute;
	top : 0;
	left : 0;
	z-index : -1;
}
.serviceItem .svtext {
	background-color : #ffffff;
	padding : 20px 0;
	text-align : center;
	margin-top : -5px;
}
.serviceItem .svtext div {
	color : #ababab;
	font-size : 16px;
	margin : 2px 0 20px 0;
}
.serviceItem .svtext div span {
	display : inline;
}
.serviceItem .svtext p {
	color : #091029;
	font-size : 28px;
	font-weight : 500;
}
.moreRev3  {
	width : 80%;
	max-width : 230px;
	text-align : center;
	padding : 12px 0 15px 0;
	font-size : 16px;
	line-height : 24px;
	color : #ffffff;
	display : inline-block;
	transition: 0.4s;
	position : relative;
	border : 1px solid #001c74;
	background-color : #001c74;
	border-radius : 24px;
	font-weight : 500;
	margin : 0 auto;
}
.moreRev3::after {
	position : absolute;
	content: ">";
	top : 14px;
	right : 18px;
	font-size : 18px;
	font-family : 'Nobile', sans-serif;
}
.moreRev3:hover {
	color : #001c74;
	background-color : #ffffff;
}
@media only screen and (max-width: 1380px) {
	.serviceComm h2 {
		font-size : 24px;
	}
	.serviceComm .sub {
		font-size : 14px;
	}
	.serviceComm .comm {
		font-size : 14px;
		margin-top : 3vw;
	}
}
@media only screen and (max-width: 960px) {
	.serviceItem li {
		width : 32%;
	}
	.serviceItem .svtext {
		padding : 12px 0;
	}
	.serviceItem .svtext div {
		font-size : 14px;
		margin : 2px 0 12px 0;
	}
	.serviceItem .svtext p {
		font-size : 20px;
	}
	.moreRev3  {
		padding : 6px 0 9px 0;
		font-size : 14px;
		line-height : 20px;
	}
	.moreRev3::after {
		top : 8px;
		right : 12px;
		font-size : 16px;
	}
}
@media only screen and (max-width: 960px) {
	.serviceItem .svtext div span {
		display : block;
	}
}
@media only screen and (max-width: 640px) {
	#section01  {
		background : #010941 url(../img/back2.jpg) no-repeat top center;
		margin-top : -30px;
		background-size : cover;
		height : auto;
		min-height : 0;
		padding-bottom : calc(8vw + 40px);
	}
	.serviceComm {
		display: block;
		text-align: left;
		padding-left: calc(50vw - 250px);
	}
	.serviceComm h2 {
		font-size : 20px;
		padding : 94px 0 10px 0;
	}
	.serviceComm h2 span {
		display : inline-block;
		padding-left : 0;
	}
	.serviceComm .sub {
		font-size : 13px;
		padding-left : 0;
	}
	.serviceComm .comm {
		display : inline-block;
		width : calc(100% - 30px);
		max-width : 400px;
		font-size : 14px;
		margin-top : 3vw;
		padding-left : 0;
	}
	.serviceItem {
		display : block;
		width : 84%;
		margin-left : auto;
		margin-right : auto;
	}
	.serviceItem li {
		width : 100%;
		max-width : 505px;
		position : relative;
		top : 0;
		margin : 36px auto 0 auto;
	}
	.moreRev2  {
		width : 60vw;
		max-width : 300px;
		padding : 10px 0 13px 0;
		font-size : 16px;
		border-radius : 24px;
		margin : 6vw auto 0 auto;
	}
	.moreRev2::after {
		top : 12px;
		right : 12px;
		font-size : 16px;
	}
	#section02 {
		padding-top : 8vw;
		padding-bottom : calc(6vw + 40px);
		background-size : 300%;
		top : -1px;
	}
	.serviceItem .svtext div span {
		display : inline;
	}
}
@media only screen and (max-width: 600px) {
	.centerButton {
		display : none;
	}
}
@media only screen and (max-width: 500px) {
	.serviceComm {
		display: block;
		text-align: left;
		padding-left: calc(50vw - 200px);
	}
}
@media only screen and (max-width: 480px) {
	.serviceItem .svtext {
		padding: 20px 0 3vw 0;
	}
	.serviceItem .svtext div {
		margin: 2px 0 2vw 0;
	}
	.moreRev3  {
		display : none;
	}
	.moreRev3::after {
		display : none;
	}
}
@media only screen and (max-width: 406px) {
	.serviceComm {
		padding-left: 5vw;
	}
	.serviceComm .comm {
		width : calc(100% - 10px);
	}
	.serviceItem .svtext div {
		font-size : 14px;
		margin : 2px 0 12px 0;
	}
	.serviceItem .svtext p {
		font-size : 20px;
	}
}
@media only screen and (max-width: 350px) {
	.serviceItem .svtext div span {
		display : block;
	}
}
@media only screen and (max-width: 340px) {
	.serviceComm h2 {
		font-size : 18px;
	}
	.serviceComm .comm {
		font-size : 13px;
	}
}

/* TOP 企業実績 */

.perfTitle  {
	text-align : center;
	margin : 140px 0 60px 0;
	color : #646464;
	font-size : 32px;
	font-weight : 500;
}
.perfTitle span {
	display : block;
	text-align : center;
	margin : 10px 0 0 0;
	color : #ababab;
	font-size : 14px;
	font-weight : normal;
}
.tal  {
	width : 90%;
	max-width : 1360px;
	margin : 0 auto;
}
.tac  {
	width : 90%;
	max-width : 1360px;
	margin : 0 auto;
}
.tac .noslick  {
	text-align : center;
}
.tam  {
	width : 90%;
	max-width : 1360px;
	margin : 0 auto;
}
.perfButton {
	text-align : center;
	margin-top : 70px;
}
.moreRev4  {
	width : 60%;
	max-width : 305px;
	text-align : center;
	padding : 14px 0 18px 0;
	font-size : 18px;
	line-height : 24px;
	color : #ffffff;
	display : inline-block;
	transition: 0.4s;
	position : relative;
	border : 1px solid #001c74;
	background-color : #001c74;
	border-radius : 32px;
	font-weight : 500;
	margin : 0 auto;
}
.moreRev4::after {
	position : absolute;
	content: ">";
	top : 16px;
	right : 18px;
	font-size : 20px;
	font-family : 'Nobile', sans-serif;
}
.moreRev4:hover {
	color : #001c74;
	background-color : #ffffff;
}
@media only screen and (max-width: 1200px) {
	.perfTitle  {
		margin : 14vw 0 6vw 0;
	}
	.perfButton {
		margin-top : 7vw;
	}
}
@media only screen and (max-width: 480px) {
	.perfTitle  {
		margin : 8vw 0 6vw 0;
		font-size : 28px;
	}
	.moreRev4  {
		width : 70%;
		text-align : center;
		font-size : 16px;
		padding : 12px 0 15px 0;
		border-radius : 28px;
	}
	.moreRev4::after {
		position : absolute;
		content: ">";
		top : 13px;
		right : 12px;
		font-size : 16px;
		font-family : 'Nobile', sans-serif;
	}
	.tam  {
		width : 100%;
	}
}

/* 事業内容ページ */

.mgt40 {
	margin-top : 40px;
}
.mgt150 {
	margin-top : 150px;
}
.blueWrap01 {
	background-color : #091029;
}
.blueWrap01 .bussImg {
	position : absolute;
	top : 85px;
	right : 0;
	width : 54%;
}
.blueWrap01 .bussImg img {
	width : 100%;
	max-width : 746px;
	position : relative;
}
.blueWrap01 .bussText {
	display : block;
	width : 41%;
	margin-right : 5%;
	padding : 48px 0;
}
.blueWrap01 .bussText h2 {
	color : #ffffff;
	font-size : 36px;
	line-height : 80px;
	border-bottom : 1px solid #d6d6d6;
	font-weight : 600;
	text-align : left;
}
.blueWrap01 .bussText p {
	color : #5879e6;
	font-size : 18px;
	line-height : 48px;
	font-weight : 300;
	text-align : left;
}
.blueWrap01 .bussText div {
	margin-top : 24px;
	color : #e5e5e8;
	font-size : 16px;
	font-weight : 300;
	line-height : 1.8;
	text-align : left;
	min-height : 200px;
}
.blueWrap02 {
	background-color : #bcbeee;
	padding-top : 112px;
	padding-bottom : 30px;
}
.blueWrap02 .bussContents {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	flex-wrap : wrap;
}
.blueWrap02 .team {
	width : calc(32% - 48px);
	background-color : #ffffff;
	padding : 24px;
	margin-bottom : 30px;
}
.blueWrap02 h3 {
	font-size : 24px;
	color : #000000;
	font-weight : 500;
	line-height : 40px;
	margin-bottom : 10px;
}
.blueWrap02 h3 span {
	display: inline-block;
	vertical-align: top;
	position : relative;
	width : 32px;
	margin-right : 10px;
	font-size : 20px;
	color : #ffffff;
	font-weight : 500;
	background-color : #001c74;
	text-align : center;
	padding : 4px 0 8px 0;
	line-height : 1.0;
	top : 6px;
}
.blueWrap02 h3 strong {
	width : calc(100% - 46px);
	display: inline-block;
	vertical-align: middle;
	font-size : 24px;
	color : #091029;
	font-weight : 500;
	line-height : 1.4;
	margin-bottom : 10px;
}
.blueWrap02 h3.long strong {
	font-size : 18px;
}
.blueWrap02 h3.middle strong {
	font-size : 24px;
}
.blueWrap02 p {
	color : #333333;
	font-size : 16px;
	font-weight : 300;
	line-height : 1.8;
	text-align : left;
}
.blueWrap02 p span {
	display : block;
}
@media only screen and (max-width: 1380px) {
	.mgt150 {
		margin-top : 15vw;
	}
	.blueWrap01 .bussImg {
		right : 10px;
		top : 5vw;
	}
	.blueWrap01 .bussText {
		padding : 6vw 0;
	}
	.blueWrap01 .bussText h2 {
		font-size : calc(0.8vw + 16px);
		line-height : 2.0
	}
	.blueWrap01 .bussText p {
		font-size : calc(0.6vw + 10px);
		line-height : 2.0
	}
	.blueWrap01 .bussText div {
		margin-top : calc(4.8vw - 20px);
		font-size : calc(0.6vw + 7px);
		min-height: calc(4.2vw + 49px);
	}
	.blueWrap02 {
		padding-top : calc(12vw - 20px);
	}
	.blueWrap02 .team {
		width : calc(32% - 48px);
		background-color : #ffffff;
		padding : 20px;
		margin-bottom : 30px;
	}
	.blueWrap02 h3 strong {
		font-size : calc(0.8vw + 12px);
	}
	.blueWrap02 h3.long strong {
		font-size : calc(0.6vw + 10px);
	}
	.blueWrap02 h3.middle strong {
		font-size : calc(0.7vw + 11px);
	}
	.blueWrap02 p {
		font-size : calc(0.6vw + 8px);
	}
}
@media only screen and (max-width: 800px) {
	.mgt150 {
		margin-top : 12vw;
	}
	.blueWrap02 .team {
		width : calc(48% - 4vw);
		background-color : #ffffff;
		padding : 2vw;
		margin-bottom : 3vw;
	}
	.blueWrap02 h3 strong {
		font-size : 18px;
	}
	.blueWrap02 h3.long strong {
		font-size : 14px;
	}
	.blueWrap02 h3.middle strong {
		font-size : 16px;
	}
	.blueWrap02 p {
		font-size : 13px;
	}
}
@media only screen and (max-width: 640px) {
	.mgt40 {
		margin-top : 24px;
	}
	.semiWrap {
		padding: 0;
	}
	.blueWrap01 .bussImg {
		position : relative;
		top : 0px;
		right : 0;
		width : 100%;
	}
	.blueWrap01 .bussText {
		display : block;
		width : calc(100% - 8vw);
		margin-right : 0;
		padding : 6vw 4vw;
	}
	.blueWrap01 .bussText h2 {
		font-size : 28px;
		line-height : 2.0;
		text-align : center;
		font-weight : 500;
	}
	.blueWrap01 .bussText p {
		font-size : 13px;
		line-height : 2.0;
		text-align : center;
	}
	.blueWrap01 .bussText div {
		margin-top : 20px;
		font-size : 13px;
	}
	.blueWrap02 .team {
		width : calc(84% - 48px);
		background-color : #ffffff;
		padding : 24px;
		margin : 0 auto 20px auto;
	}
	.blueWrap02 h3 strong {
		font-size : 22px;
	}
	.blueWrap02 h3.long strong {
		font-size : 16px;
	}
	.blueWrap02 h3.middle strong {
		font-size : 19px;
	}
}
@media only screen and (max-width: 340px) {
	.blueWrap02 .team {
		width : calc(90% - 32px);
		background-color : #ffffff;
		padding : 16px;
		margin : 0 auto 20px auto;
	}
	.blueWrap02 h3 strong {
		font-size : 18px;
	}
	.blueWrap02 h3.long strong {
		font-size : 14px;
	}
	.blueWrap02 h3.middle strong {
		font-size : 16px;
	}
}

/* 企業情報ページ */

.infoInner {
	display : -webkit-flex;
	display : flex;
	margin-top : 40px;
}
.infoInner .infoText {
	width : calc(100% - 250px);
	padding-right : 6%;
}
.infoInner h2 {
	color : #646464;
	font-size : 32px;
	line-height : 60px;
	border-bottom : 1px solid #d6d6d6;
	font-weight : 500;
	text-align : left;
}
.infoInner h2 span {
	display: inline-block;
	vertical-align: middle;
	color : #969696;
	font-size : 14px;
	margin-left : 48px;
	position : relative;
	top : 4px;
}
.infoInner .infoText p {
	color : #646464;
	font-size : 16px;
	line-height : 2.0;
	margin-top : 50px;
	text-align : left;
}
.infoInner .infoText p span {
	display : block;
}
.infoInner .infoImg {
	width : 250px;
	text-align: center;
	padding-top : 64px;
}
.infoInner .infoImg img {
	width : 100%;
}
.infoInner .infoImg div {
	margin-top : 6px;
}
.infoInner .infoImg div p {
	display: inline-block;
	vertical-align: middle;
	color : #000000;
	font-size : 14px;
	position : relative;
	margin-right : 10px;
	top : -6px;
}
.infoInner .infoImg div h3 {
	display: inline-block;
	vertical-align: middle;
	color : #000000;
	font-size : 20px;
	font-weight : 500;
	position : relative;
}
.infoInner .infoImg div h3 span {
	display: block;
	color : #a3a3a3;
	font-size : 13px;
	font-weight : 400;
	position : relative;
}
.compInner {
	margin-top : 40px;
}
.compInner h2 {
	color : #3f3a39;
	font-size : 32px;
	line-height : 60px;
	font-weight : 500;
	text-align : left;
}
.compInner span {
	display: inline-block;
	vertical-align: middle;
	color : #7f7f7f;
	font-size : 14px;
	margin-left : 48px;
	position : relative;
	top : 4px;
}
.compInner table {
	border-collapse: collapse;
	width : 100%;
	margin-top : 50px;
}
.compInner th {
	vertical-align: top;
	color : #393939;
	font-size : 16px;
	line-height : 1.8;
	font-weight : 500;
	width : 244px;
	padding : 20px 27px;
	text-align: left;
}
.compInner th.inf {
	border-top : 1px solid #adaaab;
	border-bottom : 1px solid #adaaab;
	border-left : 1px solid #adaaab;
	background-color : #bebcee;
}
.compInner th.rec {
	border-top : 1px solid #c2c2c2;
	border-bottom : 1px solid #c2c2c2;
	border-left : 1px solid #c2c2c2;
	background-color : #e7e7e7;
}
.compInner td {
	background-color : #ffffff;
	vertical-align: top;
	color : #646464;
	font-size : 16px;
	line-height : 1.8;
	font-weight : 400;
	padding : 20px 27px;
	text-align: left;
}
.compInner td.inf {
	border-top : 1px solid #adaaab;
	border-bottom : 1px solid #adaaab;
	border-right : 1px solid #adaaab;
}
.compInner td.rec {
	border-top : 1px solid #c2c2c2;
	border-bottom : 1px solid #c2c2c2;
	border-right : 1px solid #c2c2c2;
}
.map {
	margin-top : 180px;
}
@media only screen and (max-width: 1380px) {
	.compInner {
		margin-top : 2vw;
	}
	.map {
		margin-top : 18vw;
	}
}
@media only screen and (max-width: 800px) {
	.infoInner .infoText {
		width : calc(100% - 30vw);
		padding-right : 5vw;
	}
	.infoInner .infoImg {
		width : 25vw;
		padding-top : 3vw;
	}
	.infoInner .infoImg div h3 {
		font-size : 16px;
	}
	.infoInner h2 {
		font-size : 4vw;
		line-height : 2.0;
	}
	.infoInner h2 span {
		font-size : 13px;
		margin-left : 36px;
	}
	.infoInner .infoText p {
		font-size : 14px;
		line-height : 2.0;
		margin-top : 5vw;
	}
	.compInner h2 {
		font-size : 4vw;
		line-height : 2.0;
	}
	.compInner span {
		font-size : 13px;
		margin-left : 36px;
	}
	.compInner table {
		border-collapse: collapse;
		width : 100%;
		margin-top : 5vw;
		table-layout: fixed;
		word-break: break-all;
		word-wrap: break-all;
	}
	.compInner th {
		font-size : 14px;
		width : 14vw;
		padding : 14px 20px;
	}
	.compInner td {
		font-size : 14px;
		padding : 14px 20px;
	}
}
@media only screen and (max-width: 640px) {
	.compInner {
		margin-top : 10vw;
	}
	.map {
		margin-top : 14vw;
	}
	.infoInner {
		display : block;
		margin-top : 24px;
	}
	.infoInner .infoText {
		width : 100%;
		padding-right : 0;
	}
	.infoInner .infoImg {
		width : 250px;
		text-align: center;
		margin : 16px auto 0 auto;
	}
	.infoInner h2 {
		font-size : 20px;
		line-height : 2.0;
	}
	.infoInner h2 span {
		font-size : 12px;
		margin-left : 24px;
		top : 0;
	}
	.infoInner .infoText p {
		font-size : 13px;
		line-height : 2.0;
		margin-top : 5vw;
	}
	.compInner h2 {
		font-size : 20px;
		line-height : 2.0;
	}
	.compInner span {
		font-size : 12px;
		margin-left : 24px;
		top : 0;
	}
	.compInner th {
		font-size : 13px;
		width : 15vw;
		padding : 10px 12px;
	}
	.compInner td {
		font-size : 13px;
		padding : 10px 12px;
	}
}

/* 採用情報 */

.recBack{
	background-position : center center;
	background-repeat : no-repeat;
	height : 486px;
}
.recInner {
	display : table;
	width : 100%;
	height : 100%;
	max-width : 1324px;
	padding : 0 20px;
	margin : 0 auto;
}
.recInner .recText {
	width : 40%;
	display : table-cell;
	vertical-align: middle;
	height : 486px;
}
.recInner .recSpace  {
	width : 60%;
	display : table-cell;
}
.recInner .recText div {
	font-size : 16px;
	color : #ffffff;
	line-height : 2.1;
}
.recInner .recText span {
	display : block;
	width : calc(100% - 20px);
}
.recInner .recText p {
	font-size : 30px;
	color : #5879e6;
}
.recInner .recText h2 {
	font-size : 32px;
	color : #ffffff;
	line-height : 1.6;
	margin : 24px 0;
	font-weight : 500;
}
.recInner .recText h2 span {
	display : block;
}
.inquButton {
	text-align : center;
	margin-top : 100px;
}
.moreRev5  {
	width : 70%;
	max-width : 478px;
	text-align : center;
	padding : 24px 0 28px 0;
	font-size : 18px;
	line-height : 24px;
	color : #ffffff;
	display : inline-block;
	transition: 0.4s;
	position : relative;
	border : 1px solid #001c74;
	background-color : #001c74;
	border-radius : 36px;
	font-weight : 500;
	margin : 0 auto;
}
.moreRev5::after {
	position : absolute;
	content: ">";
	top : 26px;
	right : 18px;
	font-size : 20px;
	font-family : 'Nobile', sans-serif;
}
.moreRev5:hover {
	color : #001c74;
	background-color : #ffffff;
}
.telArea {
	margin-top : 130px;
	border-top : 2px solid #000000;
	border-bottom : 2px solid #000000;
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : center;
	justify-content : center;
	padding : 30px 0;
}
.telArea p {
	font-size : 22px;
	font-weight : 300;
	color : #000000;
	line-height : 1.0;
	position : relative;
	top : 14px;
}
.telArea h3 {
	font-size : 40px;
	font-weight : 500;
	color : #000000;
	padding-left : 40px;
	background : url(../img/tel.png) no-repeat left bottom 2px;
	margin : 0 20px;
	line-height : 1.0;
	position : relative;
}
.telArea h3 a {
	color : #000000;
	pointer-events : none;
}
.telArea div {
	font-size : 16px;
	font-weight : 300;
	color : #242424;
	line-height : 1.0;
	position : relative;
	top : 21px;
}
@media only screen and (max-width: 1100px) {
	.recBack{
		height : 48vw;
		max-height : 486px;
		background-size : cover;
	}
	.recInner {
		height : 48vw;
		max-height : 486px;
	}
	.recInner .recText {
		height : 48vw;
		max-height : 486px;
	}
	.recInner .recText div {
		font-size : 14px;
		line-height : 2.0;
	}
	.recInner .recText p {
		font-size : 24px;
	}
	.recInner .recText h2 {
		font-size : 26px;
		margin : 20px 0;
	}
	.telArea {
		margin-top : 13vw;
		padding : 3vw 0;
	}
	.inquButton {
		margin-top : 10vw;
	}
}
@media only screen and (max-width: 960px) {
	.telArea {
		flex-wrap : wrap;
	}
	.telArea p {
		font-size : 16px;
		top : 12px;
	}
	.telArea h3 {
		font-size : 32px;
		padding-left : 36px;
	}
	.telArea div {
		font-size : 14px;
		top : 16px;
	}
}
@media only screen and (max-width: 760px) {
	.telArea {
		padding : 3vw 0 6vw 0;
	}
	.telArea h3 a {
		pointer-events : auto;
	}
}

@media only screen and (max-width: 640px) {
	.recBack{
		height : 300px;
	}
	.recInner {
		height : 300px;
		background : rgba(9, 164, 61, 0.5);
	}
	.recInner .recText {
		height : 300px;
	}
	.recInner .recSpace  {
		display : none;
	}
	.recInner .recText div {
		font-size : 13px;
		line-height : 2.0;
		width : calc(100% - 30px);
	}
	.recInner .recText p {
		font-size : 16px;
	}
	.recInner .recText h2 {
		font-size : 20px;
		margin : 14px 0;
	}
}
@media only screen and (max-width: 510px) {
	.moreRev5  {
		width : 84%;
		padding : 16px 0 20px 0;
		font-size : 16px;
		border-radius : 30px;
	}
	.moreRev5::after {
		top : 18px;
		right : 12px;
		font-size : 16px;
	}
	.telArea {
		display : block;
		padding : 3vw 0;
	}
	.telArea p {
		top : 0px;
		margin-bottom : 6px;
	}
	.telArea h3 {
		display : inline-block;
	}
	.telArea div {
		top : 0px;
		margin-top : 6px;
	}
	.recInner .recText span {
		display : inline;
	}
}

/* 企業実績 */

.prefInner  {
	width : calc(100% - 20px);
	max-width : 1168px;
	padding : 0 10px;
	margin-top : 100px !important;
}
.perfImage  {
	width : 100%;
}
.perfImage img  {
	max-width : 100%;
}
@media only screen and (max-width: 640px) {
	.prefInner {
		margin-top : 24px !important;
	}
}

/* お問い合わせ */

.contactForm  {
	width : calc(100% - 20px);
	max-width : 1000px;
	margin : 0px auto;
	padding : 0 10px;
}
.contactForm form {
	border-top : 1px solid #c2c2c2;
}
.contactForm h2  {
	color : #646464;
	font-weight : 600;
	font-size : 32px;
	margin-bottom : 50px;
}
.contactForm dl {
	display : table;
	width : calc(100% - 2px);
	font-size : 16px;
	color : #393939;
	border-bottom : 1px solid #c2c2c2;
	border-left : 1px solid #c2c2c2;
	border-right : 1px solid #c2c2c2;
}
.contactForm dt {
	display : table-cell;
	vertical-align : middle;
	width : 27%;
	padding : 20px 10px 20px 20px;
	text-align : left;
	position : relative;
	color : #393939;
	font-weight : normal;
	background-color : #e7e7e7;
}
.contactForm dt p {
	position : relative;
}
.contactForm dt.check {
	padding : 20px 10px 20px 20px !important;
}
.contactForm dd {
	display : table-cell;
	vertical-align : middle;
	text-align : left;
	width : calc(73% - 104px);
	padding : 20px 0 20px 30px;
	color : #393939;
}
.contactForm dd div {
	margin : 6px 0;
}
.contactForm dd label {
	display : inline-block;
	vertical-align : top;
	color : #393939;
	font-size : 16px;
	margin-right : 16px;
	padding : 4px 12px;
	border-radius : 4px;
}
.contactForm dd label input {
	display : inline-block;
	margin-right : 6px;
}
.compBottom  {
	margin-bottom : 120px;
}
.contactForm dt p span  {
	position : absolute;
	top : 5px;
	right : 0px;
	display : inline-block;
	padding : 0;
	font-size : 16px;
	line-height : 1.0;
	font-weight : normal;
	color : #e80000;
}
.pp-check  {
	text-align : center;
	padding : 80px 0 20px 0;
}
.pp-check label {
	display : inline-block;
	padding : 20px 24px;
	color : #000000;
	font-size : 16px;
}
.pp-check label a {
	color : #000000;
	text-decoration: underline;
	transition: 0.3s;
}
.pp-check label a:hover {
	color : #001c74;
}
.submit-container  {
	text-align : center;
	width : 70%;
	max-width : 477px;
	margin : 0 auto;
	position : relative;
}
.submit-container input {
	text-align : center;
	width : 100%;
	max-width : 477px;
	color : #ffffff;
	border : 1px solid #001c74;
	background-color : #001c74;
	font-size : 20px;
	font-weight : bold;
	letter-spacing: 2px;
	padding : 22px 0;
	border-radius : 40px;
	cursor : pointer;
	transition: 0.3s;
	position : relative;
}
.submit-container::after {
	position : absolute;
	content: ">";
	color : #ffffff;
	top : 24px;
	right : 20px;
	font-size : 20px;
	font-family : 'Nobile', sans-serif;
}
.submit-container:hover input {
	color : #001c74;
	border : 1px solid #001c74;
	background-color : #ffffff;
}
.submit-container:hover::after {
	color : #001c74;
}
.privWrap  {
	margin-top : 20px;
	background-color : #ffffff;
	padding-bottom : 30px;
	font-size : 14px;
	text-align : left;
}
.privWrap h3 {
	text-align : center;
	padding-top : 20px;
	padding-bottom : 8px;
	border-bottom : 1px solid #757575;
	margin-bottom : 16px;
}
.privWrap h3 strong {
	display : inline-block;
	line-height : 1.1;
	font-size : 20px;
	color : #000000;
}
.privWrap h4 {
	margin : 16px; 0;
	color : #091029;
}
.privWrap p {
	margin : 16px; 0;
	color : #4b4b4b;
	font-size : 14px;
}
.privWrap dl {
	margin : 16px; 0;
	color : #4b4b4b;
}
.privWrap dt {
	display : inline-block;
	vertical-align : top;
	width : 24px;
	color : #000000;
	font-size : 14px;
}
.privWrap dd {
	display : inline-block;
	vertical-align : top;
	width : calc(100% - 30px);
	color : #4b4b4b;
	font-size : 14px;
}
.form-field {
	border: 1px solid #d6d6d6;
	background: #ffffff;
	color : #333333;
	padding : 6px;
	font-size : 16px;
	width: calc(100% - 40px);
}
.form-long {
	border: 1px solid #d6d6d6;
	background: #ffffff;
	color : #333333;
	padding : 6px;
	font-size : 16px;
	width: calc(90% - 40px);
}
input.form-field {
	max-width : 380px;
}
textarea.form-field {
	max-width : 600px;
	height : 120px;
}
.form-zip {
	border: 1px solid #d6d6d6;
	background: #ffffff;
	color : #333333;
	padding : 6px;
	font-size : 16px;
	width: calc(50% - 60px);
	max-width: 200px;
}
.inputarea1  {
	border: 1px solid #d6d6d6;
	color : #333333;
	padding : 6px;
	font-size : 16px;
}
.errorText  {
	font-size : 12px;
	color : #e00000;
}
.thanks  {
	width : 100%;
	max-width : 640px;
	margin : 0 auto;
}
.thanks h2  {
	font-size : 18px;
	line-height : 36px;
	text-align : center;
	color : #000000;
}
.thanks p  {
	width : 100%;
	max-width : 530px;
	margin : 10px auto;
	color : #000000;
}
@media only screen and (max-width: 800px) {
	.contactForm  {
		width : 100%;
		max-width : 1000px;
		margin : 0px auto 8vw auto;
		padding : 0px;
	}
	.contactForm dl {
		font-size : 14px;
	}
	.contactForm dt {
		width : 158px;
		padding : 16px 10px 16px 16px;
	}
	.contactForm dt.check {
		padding : 16px 10px 16px 16px !important;
	}
	.contactForm dd {
		width : calc(100% - 214px);
		padding : 16px 0 16px 24px;
	}
	.contactForm dd div {
		margin : 6px 0;
	}
	.contactForm dd label {
		font-size : 14px;
	}
	.compBottom  {
		margin-bottom : 12vw;
	}
	.contactForm dt p span  {
		top : 6px;
		right : 0px;
	}
	.pp-check  {
		padding : 6vw 0;
	}
}
@media only screen and (max-width: 640px) {
	.contactForm h2  {
		font-size : 24px;
		margin-bottom : 5vw;
		margin-top : 24px;
	}
	.contactForm form {
		border-top-style : none;
	}
	.contactForm dl {
		width : 100%;
		border-top : 1px solid #c2c2c2;
		margin-bottom : 20px;
	}
	.contactForm dt {
		display : block;
		padding : 4px 0px 12px 16px;
		background-color : transparent;
	}
	.contactForm dt.check {
		padding : 4px 0px 12px 16px !important;
	}
	.contactForm dd {
		display : block;
		width : calc(100% - 32px);
		padding : 4px 0px 12px 32px;
	}
	.contactForm dt p span  {
		top : 4px;
		font-size : 13px;
	}
}
@media only screen and (max-width: 400px) {
	.contactForm dt {
		padding : 4px 0px 12px 12px;
	}
	.contactForm dt.check {
		padding : 4px 0px 12px 12px !important;
	}
	.contactForm dd {
		display : block;
		width : calc(100% - 12px);
		padding : 4px 0px 12px 12px;
	}
	.pp-check label {
		padding : 12px 16px;
		font-size : 14px;
	}
	.submit-container  {
		text-align : center;
		width : 90%;
		max-width : 392px;
		margin : 0 auto;
	}
	.submit-container input {
		font-size : 16px;
		font-weight : bold;
		letter-spacing: 1px;
		padding : 18px 0;
		border-radius : 32px;
	}
	.submit-container:hover > input {
		font-size : 16px;
		font-weight : bold;
		letter-spacing: 1px;
		padding : 18px 0;
		border-radius : 32px;
	}
	.form-field {
		font-size : 14px;
		width: calc(100% - 26px);
	}
}
.formBtn  {
	margin-bottom : 80px;
}
.mail {}


/* フッター包括---------------------------*/

footer {
	margin-top : 180px;
	padding-bottom : 20px;
	position : relative;
	z-index : 3;
	padding : 50px 0 0 0;
	background-color: #424242;
}
.mgt0  {
	margin-top : 0 !important;
	padding : 0 !important;
}
.footerTable {
	width : 100%;
	max-width : 1450px;
	margin : 0px auto 0px auto;
	padding : 10px 0 60px 0;
	overflow : hidden;
	box-sizing: border-box;
}
.footerTable .footLeft {
	display : inline-block;
	vertical-align: top;
	text-align : center;
	color : #ffffff;
	width : 40%;
}
.footerTable .footLeft ul {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : center;
	justify-content : center;
	margin-top : 18px;
}
.footerTable .footLeft li {
	margin : 0 10px;
}
.footMenuWrap {
	display : inline-block;
	vertical-align: top;
	text-align : left;
	color : #ffffff;
	width : 58%;
}
.footMenu  {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	padding-top : 8px;
}
.footMenu li.wid18 {
	width : 19%;
}
.footMenu li.wid28 {
	width : 24%;
}
.footMenu a.main {
	display : block;
	font-size : 16px;
	color : #ffffff;
	text-decoration : none;
	margin : 0 0 4px 0;
	transition: 0.3s;
}
.footMenu a.sub {
	display : block;
	font-size : 14px;
	color : #ffffff;
	font-weight : 300;
	text-decoration : none;
	margin : 4px 0;
	transition: 0.3s;
}
.footMenu a:hover {
	color : #000000;
}
.copyright  {
	text-align : center;
	font-size : 12px;
	color : #3f3a39;
	background-color : #ffffff;
	padding : 30px 0 20px 0;
}
.wrapContact {
    cursor: pointer;
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
	width : 279px;
	height : 69px;
	font-size : 0;
	line-height : 0;
	z-index : 999;
}
@media only screen and (max-width: 1200px) {
	footer {
		margin-top : 18vw;
		padding : 1vw 0 0 0;
	}
	.footlogo  {
		padding : 4vw 0 0 0;
	}
	.footlogo img {
		width : 50%;
		max-width : 298px;
	}
	.footMenu  {
		margin-top : 6vw;
	}
}
@media only screen and (max-width: 1136px) {
	.footMenu a.main {
		font-size : 14px;
	}
	.footMenu a.sub {
		font-size : 13px;
	}
}
@media only screen and (max-width: 640px) {
	footer {
		padding : 3vw 0 0 0;
	}
	.footlogo  {
		padding : 4vw 0 3vw 0;
	}
	.footMenu  {
		display : none;
	}
	.footerTable {
		padding : 0;
	}
	.footerTable .footLeft {
		display : block;
		width : 100%;
	}
	.footerTable .footLeft ul {
		display : -webkit-flex;
		display : flex;
		-webkit-justify-content : center;
		justify-content : center;
		margin-top : 0px;
		margin-bottom : 10px;
	}
	.footerTable .footLeft li {
		margin : 0 12px;
	}
	.wrapPageTop {
	    bottom: 40px;
	    right: 4px;
		width : 50px;
		height : 50px;
	}
	.wrapPageTop img {
	    margin : 0;
		width : 50px;
	}
}
.servWrap00  {
	margin : 0 auto;
}
.wrapPageTopPc  {
    position: fixed;
    bottom : 20px;
    right: 6px;
    z-index: 99;
	text-align : center;
    width : 72px;
	cursor : pointer;
}
.wrapPageTopPc p {
    text-align : center;
	background-color : #001c74;
	font-size : 16px;
	font-weight : bold;
	color : #ffffff;
	border : 2px solid #001c74;
	border-radius : 36px;
	line-height : 1.4;
	padding : 12px 0 11px 0;
	transition: 0.4s;
}
.wrapPageTopPc p span {
	display : block;
	font-size : 16px;
}
.wrapPageTopPc p:hover {
	background-color : #ffffff;
	color : #001c74;
}
.smp_only {
	display : none !important;
}
@media only screen and (max-width: 480px) {
	.smp_only {
		display : inline-block !important;
	}
	.wrapPageTopPc  {
		text-align : center;
		width : 48px;
		cursor : pointer;
	}
	.wrapPageTopPc p {
		font-size : 14px;
		border-radius : 30px;
		padding : 2px 0 3px 0;
	}
	.wrapPageTopPc p span {
		font-size : 14px;
	}
}

.topgrid {
	position: relative;
	margin: 0 auto;
	text-align: center;
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content : space-between;
	justify-content : space-between;
	flex-wrap : wrap;
}
.topgrid figure {
	position: relative;
	overflow: hidden;
	max-width: 480px;
	max-height: 306px;
	width: 33%;
	background: #3085a3;
	text-align: center;
	cursor: pointer;
	padding : 0;
	margin : 0 10px;
}
.topgrid.noslick figure {
	margin : 0 auto;
	width: 80%;
}
.topgrid.slick2 figure {
	width: 46%;
}
.topgrid figure.pref {
	max-width: 525px;
	max-height: 329px;
	width: 48%;
	margin : 0 0 100px 0;
}
.topgrid figure img {
	position: relative;
	display: block;
	width : 100%;
	height : 18.4vw;
	max-width: 480px;
	max-height: 306px;
	opacity: 0.8;
	object-fit : cover;
	margin : 0 auto;
}
.topgrid.noslick figure img {
	height : 40vw;
}
.topgrid.slick2 figure img {
	height : 26vw;
}
.topgrid figure span {
	position: relative;
	display: block;
	width : 100%;
	height : 18.4vw;
	max-width: 480px;
	max-height: 306px;
	opacity: 0.8;
	background-repeat : no-repeat;
	background-position : center center;
	background-size : cover;
	margin : 0 auto;
}
.topgrid figure.pref img {
	height : 26.4vw;
	max-width: 525px;
	max-height: 329px;
}
.topgrid figure div {
	position: relative;
	display: block;
	width : 100%;
	height : 18vw;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
	background-position : center center;
	background-repeat : no-repeat;
	background-size : cover;
}
.topgrid figure.pref div {
	height : 26.4vw;
}
.topgrid figure figcaption {
	padding: 0;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.topgrid figure figcaption::before,
.topgrid figure figcaption::after {
	pointer-events: none;
}

.topgrid figure figcaption,
.topgrid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.topgrid figure figcaption > a {
	z-index: 1000;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}
.topgrid figure h3.type1 {
	font-weight: 300;
	font-size : 20px;
	margin: 0;
	text-align : center;
	position : absolute;
	bottom : 80px;
	left : 0;
	width : 100%;
}
.topgrid figure p.type1 {
	font-size: 16px;
	margin: 0;
	text-align : center;
	position : absolute;
	bottom : 45px;
	left : 0;
	width : 100%;
}
.topgrid figure h3.type2 {
	font-weight: 500;
	font-size : 20px;
	margin: 0;
	text-align : center;
	position : absolute;
	bottom : 45px;
	left : 0;
	width : 100%;
}
.topgrid figure p.type2 {
	font-weight: 500;
	font-size: 16px;
	margin: 0;
	text-align : center;
	position : absolute;
	bottom : 80px;
	left : 0;
	width : 100%;
}
.worksTrans  {
	width : 33%;
	height : 1px;
	font-size : 0;
	display : inline-block;
	margin : 0;
}

.slick2 {
	width : 100%;
	max-width : 940px;
	margin : 0 auto;
}
@media only screen and (max-width: 1630px) {
	.slick2 {
		width : 100%;
		max-width : 900px;
		margin : 0 auto;
	}
}
@media only screen and (max-width: 1200px) {
	.slick2 {
		width : 100%;
		max-width : 860px;
		margin : 0 auto;
	}
	.topgrid figure.pref {
		margin : 0 0 10vw 0;
	}
}
@media only screen and (max-width: 1000px) {
	.topgrid figure h3.type1 {
		font-size : 18px;
		bottom : 50px;
	}
	.topgrid figure p.type1 {
		font-size: 14px;
		bottom : 28px;
	}
	.topgrid figure h3.type2 {
		font-size : 18px;
		bottom : 28px;
	}
	.topgrid figure p.type2 {
		font-size: 14px;
		bottom : 50px;
	}
}
@media only screen and (max-width: 720px) {
	.topgrid figure img {
		height : 24.4vw;
	}
	.topgrid.noslick figure img {
		height : 48vw;
	}
	.topgrid.slick2 figure {
		width: 44%;
	}
}
@media only screen and (max-width: 480px) {
	.topgrid figure img {
		height : 48vw;
	}
	.topgrid.noslick figure img {
		height : 60vw;
	}
	.topgrid figure.pref {
		width: 96%;
		margin-left : auto;
		margin-right : auto;
	}
	.topgrid figure.pref img {
		height : 48vw;
	}
	.topgrid.slick2 figure img {
		height : 30vw;
	}
	.topgrid.slick2 figure {
		width: 48%;
		margin : 0;
	}
}
figure.effect-sadie figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}

figure.effect-sadie figcaption::before,
figure.effect-sadie div {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-sadie div {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	-webkit-transform: translate3d(0,10px,0);
	transform: translate3d(0,10px,0);
}
figure.effect-sadie:hover div {
	color: #fff;
	-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}
figure.effect-sadie:hover figcaption::before ,
figure.effect-sadie:hover div {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
@media only screen and (max-width: 800px) {
	figure.effect-sadie div {
		color: #fff;
		-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
		transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	}
	figure.effect-sadie figcaption::before ,
	figure.effect-sadie div {
		opacity: 1;
		-webkit-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
	figure.effect-sadie figcaption::before {
		background: rgba(0, 0, 0, 0.2);
	}
}

/* 管理画面フッター */
#admin_contener {
	  display : flex;
	  flex-direction : column;
	  min-height : 100vh;
}
.admin_footer {
	margin-top : auto;
	background-color : #474747;
	position : relative;
}
.admin_footer .footerCopy  {
	width : 100%;
	max-width : 1000px;
	margin : 0 auto;
	text-align : right;
	color : #ffffff;
	font-size : 12px;
	padding : 32px 0;
}
.admin_footer .safety  {
	position : absolute;
	top : 4px;
	left : 4px;
}