@charset "utf-8";

/* ------------ */
/* デザイン共通 */
/* ------------ */
*::before,
*::after{
	box-sizing:border-box;
}
html,body,div,span,applet,object,iframe,strong,h1,h2,h3,h4,h5,h6,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,fieldset,form,legend,caption,tbody,tfoot,thead,table,label,tr,th,td,p,img,figure,ul,dl,dt,dd{
	margin:0;
	padding:0;
	border:none;
}
body{
	overflow-y:scroll;
	background:#fff;
	color:#1a1a1a;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height:1.75;
	-webkit-text-size-adjust:100%;
}
a{
	color:#04631d;
	text-decoration:none;
	/*transition:color 200ms;*/
}
a:hover{
	text-decoration: underline;
}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}
.ClearBoth{
	float:none;
	clear:both;
	width:100%;
	font-size:0;
	height:0;
	line-height:0;
	background:none;
	border:none;
	margin:0;
	padding:0;
}
.FontArchivoBlack{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
.FontArchivo{
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
@media screen and (max-width:767px) {
	html{
		font-size:12px;
	}
	.SpNone{
		display:none !important;
	}
}
@media print,screen and (min-width:768px) {
	html{
		font-size:14px;
	}
	.PcTabNone{
		display:none !important;
	}
}
@media print,screen and (min-width:768px) and (max-width:1024px) {
	.TbNone{
		display:none !important;
	}
}
@media print,screen and (min-width:1025px) {
	.PcNone{
		display:none !important;
	}
}
/* -------------- */
/* ローディング用 */
/* -------------- */
#loader-bg{
  position:fixed;
  width:100%;
  height:100%;
  top:0px;
  left:0px;
  background:#fff;
  z-index:1000;
}
/* -------- */
/* #wrapper */
/* -------- */
#wrapper{
	width:100%;
	overflow: hidden;
}
/* ------------------------- */
/* コンテンツ　スクロールで出現用 */
/* ------------------------- */
/* 画面外にいる状態 */
.fadein{
    opacity:0;
    transform:translate(0, 50px);
    transition:all 750ms;
}
.fadein.NoScroll{
	transform: none;
}
.fadein.slideleft{
	transform:translate(-50px, 0px);
}
.fadein.fadein2 {
	transition-delay:100ms !important;
}
.fadein.fadein3 {
	transition-delay:200ms !important;
}
.fadein.fadein4 {
	transition-delay:300ms !important;
}
/* 画面内に入った状態 */
.fadein.scrollin{
    opacity:1;
    transform:translate(0, 0);
}
.fadein.NoScroll.scrollin{
    transform:none;
}
/* -------- */
/* #wrapper */
/* -------- */
#wrapper{
	width:100%;
	overflow: hidden;
}
/* ------ */
/* header */
/* ------ */
header,
header *{
	box-sizing: border-box;
}
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
/* --------------- */
/* #HeaderLogoArea */
/* --------------- */
#HeaderLogoArea{
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width:767px) {
	#HeaderLogoArea{
		width:214px;
	}
	#HeaderLogoArea .LogoImg{
		margin: 20px 0 0 14px;
	}
}
@media print,screen and (min-width:768px) {
	#HeaderLogoArea{
		width:310px;
	}
	#HeaderLogoArea .LogoImg{
		margin: 2rem 0 0 2rem;
	}
}
/* ------- */
/* #SpMenu */
/* ------- */
#SpMenu {
	width:50px;
	height:50px;
	cursor:pointer;
}
#SpMenu::after{
	display: block;
}
#SpMenu .MenuMark{
	display: block;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%,-50%);
	width: 60%;
	height: 2px;
	background: #1a1a1a;
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#SpMenu.Open .MenuMark{
	background: transparent;
}
#SpMenu .MenuMark::before,
#SpMenu .MenuMark::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	background: #1a1a1a;
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#SpMenu .MenuMark::before{
	top: -8px;
}
#SpMenu.Open .MenuMark::before{
	top: 0;
	transform: rotate(45deg);
}
#SpMenu .MenuMark::after{
	top: 8px;
}
#SpMenu.Open .MenuMark::after{
	top: 0;
	transform: rotate(-45deg);
}
@media screen and (max-width:767px) {
	#SpMenu{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 106;
	}
}
@media print,screen and (min-width:768px) {
	#SpMenu{
		display: none;
	}
}
/* ------------ */
/* #PcGlobalNav */
/* ------------ */
@media screen and (max-width:767px) {
	#PcGlobalNav{
		display: none;
	}
}
@media print,screen and (min-width:768px) {
	#PcGlobalNav{
		position: fixed;
		top: 80px;
		right:2rem;
		z-index:4;
	}
	#PcGlobalNav > ul {
		list-style:none;
		margin:0;
		padding:0;
		font-size: 16px;
		font-weight: bold;
		text-align: right;
	}
	#PcGlobalNav > ul > li {
		margin:0;
		padding:0;
	}
	#PcGlobalNav > ul > li:not(:nth-of-type(1)) {
		margin-top: 0.5em;
	}
	#PcGlobalNav > ul > li a{
		color: #000;
	}
	#PcGlobalNav > ul > li a.Current{
		color: #1b8c41;
	}
}
/* ------------- */
/* #SpGlobalNavi */
/* ------------- */
#SpGlobalNavi {
	/*display:none;*/
	position:fixed;
	z-index:105;
	top:0;
	right: -40vw;
	/*width:100%;*/
	width: 40vw;
	height:100%;
	margin:0;
	/*padding:100px 0 100px;*/
	padding-top: 70px;
	background:rgba(255,255,255,1);
	overflow-y:auto;
	overflow-x:hidden;
	box-sizing:border-box;
}
#SpGlobalNavi > ul li {
	margin:0;
	padding:0;
	list-style:none;
}
#SpGlobalNavi > ul > li a {
	display:block;
	margin:0;
	padding:0.5em 1.5em;
	color:#000;
	font-size:16px;
	font-weight:bold;
	box-sizing:border-box;
	cursor:pointer;
}
#SpGlobalNavi > ul > li a:hover {
	color: #1b8c41;
}
#SpGlobalNavi > ul > li a.DropDownBtn {
	color:#fff;
	background:#90c230 url(/common/img/module/header/sp_global_icon_dropdown.png) 0 50% no-repeat;
	border-bottom:#fff 1px solid;
}
#SpGlobalNavi > ul > li a.DropDownBtn.Open {
	background:#90c230 url(/common/img/module/header/sp_global_icon_dropdown_open.png) 0 50% no-repeat;
}
#SpGlobalNavi > ul > li a:hover {
	text-decoration:none;
}
#SpGlobalNavi > ul > li > ul {
	display:none;
	width:100%;
	margin:0;
	padding:0;
}
#SpGlobalNavi > ul > li > ul li { border-left:#90c230 1em solid; }
#SpGlobalNavi > ul > li > ul a {
	padding-left:3em;
	color:#99864c;
	border-color:#999;
	background:url(/common/img/module/header/sp_global_icon_sub.png) 0 50% no-repeat;
}
/* ---- */
/* main */
/* ---- */
main{
	display: block;
	position: relative;
	z-index: 1;
}
main,
main *{
	box-sizing: border-box;
}
/* ------ */
/* main p */
/* ------ */
main p{
	margin-top:2em;
	margin-bottom:2em;
	text-align:justify;
	text-justify:inter-ideograph;
}
main .SectionArea p:nth-of-type(1){
	margin-top: 0;
}
main .SectionArea p:nth-last-child(1){
	margin-bottom: 0;
}
/* ----------- */
/* #MainVisual */
/* ----------- */
#MainVisual{
	position:relative;
	background:url(images/mv.jpg) no-repeat left bottom;
	background-size:cover;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width:767px) {
	#MainVisual{
		height:450px;
	}
}
@media print,screen and (min-width:768px) {
	#MainVisual{
		height:770px;
	}
}
/* -------------- */
/* #HomeCatchCopy */
/* -------------- */
#HomeCatchCopy{
	position: relative;
	color: #fff;
	font-weight: 500;
	line-height: 1.25;
	text-shadow: 0 0 5px rgba(0,0,0,0.35);
}
#HomeCatchCopy > .Inner{
	display: block;
	opacity: 0;
	position: relative;
	z-index: 2;
	transform: scale(1.2);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#HomeCatchCopy .Txt2{
	margin-top: -0.5em;
}
@media screen and (max-width:767px) {
	#HomeCatchCopy{
		width: 116px;
		height: 180px;
		font-size: 30px;
	}
}
@media print,screen and (min-width:768px) {
	#HomeCatchCopy{
		width: 210px;
		height: 330px;
		font-size: 55px;
	}
}
/* キャッチコピー 文字アニメーション */
#HomeCatchCopy.key2 > .Inner{
	animation-name:ShowTxt;
	animation-duration:1s;
	animation-iteration-count:1;
	animation-timing-function :cubic-bezier(0.66, 0.1, 0.44, 0.96);
	animation-fill-mode:forwards;
}
@keyframes ShowTxt {
	0% {
		transform: scale(1.3);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
/* ------------------ */
/* #HomeCatchCopyMark */
/* ------------------ */
#HomeCatchCopyMark{
	display: block;
	position: absolute;
	top: 0;
	right: 50%;
	z-index: 1;
	transform: translate(50%,0) rotate(45deg) scale(1.2);
}
#HomeCatchCopyMark .Border{
	display: block;
	position: absolute;
	background: #49ea82;
}
#HomeCatchCopyMark .Border1{
	top: 0;
	left: -10%;
	width: 0;
	height: 2px;
}
#HomeCatchCopyMark .Border2{
	top: -10%;
	right: 0;
	width: 2px;
	/*height: 120%;*/
	height: 0;
}
#HomeCatchCopyMark .Border3{
	bottom: 0;
	right: -10%;
	/*width: 120%;*/
	width: 0;
	height: 2px;
}
#HomeCatchCopyMark .Border4{
	bottom: -10%;
	left: 0;
	width: 2px;
	/*height: 120%;*/
	height: 0;
}
@media screen and (max-width:767px) {
	#HomeCatchCopyMark{
		width: 180px;
		height: 180px;
	}
}
@media print,screen and (min-width:768px) {
	#HomeCatchCopyMark{
		width: 330px;
		height: 330px;
	}
}
/* キャッチコピー ボーダーアニメーション */
#HomeCatchCopy.key1 #HomeCatchCopyMark .Border{
	animation-duration:0.1s;
	animation-iteration-count:1;
	animation-timing-function :cubic-bezier(0.66, 0.1, 0.44, 0.96);
	animation-fill-mode:forwards;
}

#HomeCatchCopy.key1 #HomeCatchCopyMark .Border1{
	animation-name:ShowBorderPc1;
}
#HomeCatchCopy.key1 #HomeCatchCopyMark .Border2{
	animation-name:ShowBorderPc2;
	animation-delay:0.3s;
}
#HomeCatchCopy.key1 #HomeCatchCopyMark .Border3{
	animation-name:ShowBorderPc3;
	animation-delay:0.5s;
}
#HomeCatchCopy.key1 #HomeCatchCopyMark .Border4{
	animation-name:ShowBorderPc4;
	animation-delay:0.7s;
}

@keyframes ShowBorderPc1 {
	0% {
		width: 0%;
	}
	100% {
		width: 120%;
	}
}
@keyframes ShowBorderPc2 {
	0% {
		height:0;
	}
	100% {
		height:120%;
	}
}
@keyframes ShowBorderPc3 {
	0% {
		width: 0%;
	}
	100% {
		width: 120%;
	}
}
@keyframes ShowBorderPc4 {
	0% {
		height:0;
	}
	100% {
		height:120%;
	}
}
/* ------------ */
/* .SectionArea */
/* ------------ */
.SectionArea{
	max-width:1200px;
	margin:0 auto;
}
.SectionArea.AreaStyle0{
	padding-right:0;
	padding-left:0;
}
@media screen and (max-width:767px) {
	.SectionArea{
		padding: 45px 20px;
	}
	.SectionArea.SpAreaStyle0{
		padding-right:0;
		padding-left:0;
	}
}
@media print,screen and (min-width:768px) {
	.SectionArea{
		padding: 110px 16px;
	}
	.SectionArea.PcAreaStyle0{
		padding-right:0;
		padding-left:0;
	}
}
/* ------------ */
/* .HeadingArea */
/* ------------ */
.HeadingArea {
	position: relative;
	z-index: 2;
}
.HeadingArea h2{
	position: absolute;
	z-index: 3;
	color: #36dd59;
	line-height: 1.25;
}
.HeadingArea.HeadingStyle2 h2{
	color: #fff;
}
.HeadingArea.HeadingStyle4 h2{
	color: #fff;
}
.HeadingArea .En{
	position: relative;
	z-index: 1;
	margin: 0;
	color: #e6e6e6;
	font-weight: 900;
	line-height: 0.75;
}
.HeadingArea.HeadingStyle2 .En{
	color: #34c666;
}
.HeadingArea.HeadingStyle4 .En{
	opacity: 0.6;
	color: #7ce59f;
}
.HeadingArea .Slash{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	z-index: 2;
}
.scrollin .HeadingArea .Slash::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 50%;
	width: 1px;
	height: 0;
	background: #ccc;
}
@media screen and (max-width:767px) {
	.HeadingArea{
		margin-bottom: 30px;
	}
	.HeadingArea.HeadingStyle3{
		margin-top: -1em;
	}
	.HeadingArea h2{
		top: 20px;
		right: 50%;
		transform: translate(50%,0);
		font-size: 24px;
	}
	.HeadingArea.HeadingStyle3 h2{
		right: auto;
		left: 10px;
		transform: translate(0);
	}
	.HeadingArea .En{
		font-size: 50px;
		text-align: center;
	}
	.HeadingArea.HeadingStyle3 .En{
		text-align: left;
	}
	.HeadingArea .Slash{
		right: 50%;
		transform: translate(50%,-50%) rotate(45deg);
		width: 180px;
		height: 180px;
	}
}
@media print,screen and (min-width:768px) {
	.HeadingArea{
		margin-bottom: 40px;
	}
	.HeadingArea h2{
		top: 44px;
		left: 10px;
		font-size: 32px;
	}
	.HeadingArea.HeadingStyle4 h2{
		left: auto;
		right: 50%;
		transform: translate(50%,0);
	}
	.HeadingArea .En{
		font-size: 83px;
	}
	.HeadingArea .Slash{
		left: -20px;
		transform: translate(0,-50%) rotate(45deg);
		width: 230px;
		height: 230px;
	}
	.HeadingArea.HeadingStyle4 .Slash{
		left: auto;
		right: 50%;
		transform: translate(50%,-50%) rotate(45deg);
	}
}
/* コンテンツタイトル スラッシュアニメーション */
.scrollin .HeadingArea .Slash::after{
	animation-name:SlashAni;
	animation-duration:0.10s;
	animation-iteration-count:1;
	animation-timing-function :ease-in;
	animation-fill-mode:forwards;
	animation-delay:0.75s;
}
@keyframes SlashAni {
	0% {
		height: 0;
	}
	100% {
		height: 100%;
	}
}
/* ------------ */
/* .TableStyle1 */
/* ------------ */
.TableStyle1{
	margin-right: auto;
	margin-left: auto;
	border-collapse: collapse;
}
.TableStyle1 > tbody > tr > th{
	text-align: left;
}
.TableStyle1 .TableInner1 th,
.TableStyle1 .TableInner1 td{
	text-align: left;
	vertical-align: top;
}
.TableStyle1 .TableInner1 th {
	padding-right: 1em;
	font-weight: normal;
}
.TableStyle1 .TableInner2 th,
.TableStyle1 .TableInner2 td{
	text-align: left;
	vertical-align: top;
}
.TableStyle1 .TableInner2 th {
	padding-right: 1em;
	font-weight: normal;
}
@media screen and (max-width:767px) {
	.TableStyle1,
	.TableStyle1 > thead,
	.TableStyle1 > tfoot,
	.TableStyle1 > tbody,
	.TableStyle1 > thead > tr,
	.TableStyle1 > tfoot > tr,
	.TableStyle1 > tbody > tr,
	.TableStyle1 > thead > tr > th,
	.TableStyle1 > tfoot > tr > th,
	.TableStyle1 > tbody > tr > th,
	.TableStyle1 > thead > tr > td,
	.TableStyle1 > tfoot > tr > td,
	.TableStyle1 > tbody > tr > td{
		display:block;
	}
	.TableStyle1{
		border-bottom: 1px solid #fff;
	}
	.TableStyle1 > thead > tr > th,
	.TableStyle1 > tfoot > tr > th,
	.TableStyle1 > tbody > tr > th{
		padding-top:1em;
		border-top: 1px solid #fff;
	}
	.TableStyle1 > thead > tr > td,
	.TableStyle1 > tfoot > tr > td,
	.TableStyle1 > tbody > tr > td{
		padding-bottom:1em;
	}
	.TableStyle1 .TableInner2{
		width: 100%;
	}
	.TableStyle1 .TableInner2 td{
		/*text-align: right;*/
	}
}
@media print,screen and (min-width:768px) {
	.TableStyle1 > thead > tr > th,
	.TableStyle1 > tfoot > tr > th,
	.TableStyle1 > tbody > tr > th,
	.TableStyle1 > thead > tr > td,
	.TableStyle1 > tfoot > tr > td,
	.TableStyle1 > tbody > tr > td{
		padding:1em;
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		vertical-align: top;
	}
	.TableStyle1.PcThNowrap > thead > tr > th,
	.TableStyle1.PcThNowrap > tfoot > tr > th,
	.TableStyle1.PcThNowrap > tbody > tr > th{
		white-space:nowrap;
	}
	.TableStyle1 .TableInner2 th {
		white-space: nowrap;
	}
}
@media print,screen and (min-width:768px) and (max-width:1023px) {
	.TableStyle1 .TableInner2.TabTableBlock,
	.TableStyle1 .TableInner2.TabTableBlock > thead,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot,
	.TableStyle1 .TableInner2.TabTableBlock > tbody,
	.TableStyle1 .TableInner2.TabTableBlock > thead > tr,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot > tr,
	.TableStyle1 .TableInner2.TabTableBlock > tbody > tr,
	.TableStyle1 .TableInner2.TabTableBlock > thead > tr > th,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot > tr > th,
	.TableStyle1 .TableInner2.TabTableBlock > tbody > tr > th,
	.TableStyle1 .TableInner2.TabTableBlock > thead > tr > td,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot > tr > td,
	.TableStyle1 .TableInner2.TabTableBlock > tbody > tr > td{
		display:block;
	}
	.TableStyle1 .TableInner2.TabTableBlock > thead > tr > th,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot > tr > th,
	.TableStyle1 .TableInner2.TabTableBlock > tbody > tr > th{
		font-weight: bold;
	}
	.TableStyle1 .TableInner2.TabTableBlock > thead > tr:not(:nth-of-type(1)) > th,
	.TableStyle1 .TableInner2.TabTableBlock > tfoot > tr:not(:nth-of-type(1)) > th,
	.TableStyle1 .TableInner2.TabTableBlock > tbody > tr:not(:nth-of-type(1)) > th{
		margin-top: 1em;
	}
}
/* ▼各コンテンツ毎のスタイル　ここから */

/* ▽代表挨拶　ここから */
/* ----------------- */
/* .MessageContents1 */
/* ----------------- */
.MessageContents1 .ImgArea::before{
	position: absolute;
	z-index: 2;
	background: url(images/message.jpg) center no-repeat;
	background-size: cover;
	bottom: 25px;
}
.MessageContents1 .ImgArea::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	z-index: 1;
	background: #f2f2f2;
}
.MessageContents1 .DetailArea .EndTxt{
	width: calc(50% - 35px);
	text-align: center;
	z-index: 2;
	right: 0px;
	bottom: 130px;
	position: absolute;
	margin-top: 0px !important;
}
/* .EndTxt{
	text-align: right;
	z-index: 2;
	position: absolute;
	margin-top: 20px !important;
} */
.MessageContents1 .DetailArea .Txt{
	display: inline-block;
}
@media screen and (max-width:767px) {
	.MessageContents1 .ImgArea{
		position: relative;
		padding-top: 60%;
	}
	.MessageContents1 .ImgArea::before{
		content: "";
		display: block;
		top: 0;
		right: 0;
		width: calc(100% - 50px);
		height: 100%;
	}
	.MessageContents1 .ImgArea::after{
		top: -15px;
		width: calc(100% - 130px);
		height: calc(100% - 0px);
	}
	.MessageContents1 .DetailArea{
		margin-top: 2rem;
	}
	.MessageContents1 .DetailArea .Name{
		padding-left: 1rem;
		font-size: 24px;
	}
	.MessageContents1 .DetailArea .EndTxt{
		width: 100%;
		text-align: right;
		right: 0px;
		bottom: 0px;
		position: relative;
		margin-top: 0px !important;
	}
}
@media print,screen and (min-width:768px) {
	.MessageContents1{
		position: relative;
		z-index: 1;
	}
	.MessageContents1 .ImgArea{
		position: absolute;
		top: -110px;
		right: 0;
		width: 50%;
		height: calc(100% - 70px);
	}
	.MessageContents1 .ImgArea::before{
		content: "";
		display: block;
		top: 0;
		right: 0;
		width: calc(100% - 35px);
		height: 100%;
	}
	.MessageContents1 .ImgArea::after{
		top: -35px;
		width: calc(100% - 200px);
		height: calc(100% - 10px);
	}
	.MessageContents1 .DetailArea{
		width: 50%;
		padding-right: 35px;
	}
	.MessageContents1 .DetailArea .Name,.EndTxt .Name{
		padding-left: 1rem;
		font-size: 29px;
	}
}
/* △代表挨拶　ここまで */

/* ▽会社概要　ここから */
/* ------------ */
/* #CompanyWrap */
/* ------------ */
#CompanyWrap{
	position: relative;
}
#CompanyWrap::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	transform: skewY(-8deg);
	width: 100%;
	height: 100%;
	background: url(images/company_bg.jpg) no-repeat center;
	background-size: cover;
}
#CompanyWrap::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 40px;
	z-index: 1;
	transform: skewY(8deg);
	width: 100%;
	height: 100%;
	background: #e6f4ea;

}
/* -------- */
/* #Company */
/* -------- */
#Company{
	position: relative;
	z-index: 3;
}
/* ----------------- */
/* .CompanyContents1 */
/* ----------------- */
.CompanyContents1{
	position: relative;
	z-index: 3;
}

@media print,screen and (min-width:768px) {
	.CompanyContents1{
		position: relative;
	}

}
/* ----------------- */
/* .CompanyContents2 */
/* ----------------- */
.CompanyContents2 a{
	font-weight: bold;
}
.CompanyContents2 .ImgArea::before{
	background: url(images/company_img240510_l.jpg) no-repeat center bottom;
	/* background: url(images/company_img240510_s.jpg) no-repeat center bottom; */
	background-size: cover;
}
@media screen and (max-width:767px) {
	.CompanyContents2 .Heading{
		margin: 20px 0 5px;
		font-size: 24px;
	}
	.CompanyContents2 .ImgArea{
		position: relative;
		margin-top: 55px;
		padding-top: 70%;
		/* height: 62vw; */
		/*background: green;*/
	}
	.CompanyContents1 .ImgArea::before{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		width: calc(100% - 20px);
		height:100%;
	}
	.CompanyContents1 .ImgArea::after{
		content: "";
		display: block;
		position: absolute;
		top: -20px;
		left: 0;
		z-index: 1;
		width: calc(100% - 20px);
		height:100%;
		background: #f2f2f2;
	}
}
@media print,screen and (min-width:768px) {
	.CompanyContents2{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.CompanyContents2 > .ContentsBlock{
		position: relative;
		width: calc(50% - 15px);
	}
	.CompanyContents2 .Heading{
		position: absolute;
		top: -65px;
		left: 0;
		font-size: 32px;
	}
	.CompanyContents2 .ImgArea{
		position: relative;
		margin-top: 85px;
		padding-top: 70%;
		/*background: green;*/
	}
	.CompanyContents1 .ImgArea::before{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		width: calc(100% - 30px);
		height:100%;
	}
	.CompanyContents1 .ImgArea::after{
		content: "";
		display: block;
		position: absolute;
		top: -35px;
		left: 0;
		z-index: 1;
		width: calc(100% - 30px);
		height:100%;
		background: #f2f2f2;
	}
}
/* ----------------- */
/* .CompanyContents3 */
/* ----------------- */
@media screen and (max-width:767px) {

}
@media print,screen and (min-width:768px) {
	.CompanyContents3{
		display: flex;
		flex-wrap: wrap;
	}
	.CompanyContents3 .ContentsBlock{
		margin-right: 1rem;
	}
}
/* △会社概要　ここまで */

/* ▽業務案内　ここから */
/* -------- */
/* #Service */
/* -------- */
#Service > .ImgArea{
	background: url(images/service_img.jpg?180607) no-repeat center;
	background-size: cover;
}
@media screen and (max-width:767px) {
	#Service > .ImgArea{
		width: calc(100% - 40px);
		margin: 20% auto 0;
		padding-top: calc(100% - 40px);
	}
}
@media print,screen and (min-width:768px) {
	#Service{
		position:relative;
	}
	#Service > .ImgArea{
		position:absolute;
		top: 0;
		left: 0;
		width: 50%;
		height: 100%;
	}
}
/* ----------------- */
/* .ServiceContents1 */
/* ----------------- */
.ServiceContents1 .Heading{
	color: #1fc155;
	font-size: 1rem;
}
@media screen and (max-width:767px) {

}
@media print,screen and (min-width:768px) {
	.ServiceContents1{
		display: flex;
		flex-direction: row-reverse;
	}
	.ServiceContents1 > .ContentsBlock{
		width: 50%;
		padding-top: 8%;
		padding-left: 35px;
	}
}
/* △業務案内　ここまで */

/* ▽採用情報　ここから */
/* ------------ */
/* #RecruitWrap */
/* ------------ */
#RecruitWrap{
	position: relative;
	overflow: hidden;
	/*background:url(images/);*/
	background: #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
}
#RecruitWrap::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform: scale(1.1) rotate(0.1deg);
	width: 100%;
	height: 100%;
	background: url(images/recruit_bg.jpg) no-repeat left center;
	background-size: cover;
	transition:transform .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#RecruitWrap.key1::after{
	transform: scale(1.2) rotate(0.1deg);
}
@media screen and (max-width:767px) {
	#RecruitWrap{
		margin-top: 20px;
		padding: 80px 20px 60px;
	}
}
@media print,screen and (min-width:768px) {
	#RecruitWrap{
		margin-top: 80px;
		padding: 110px 16px;
	}
}
/* -------- */
/* #Recruit */
/* -------- */
#Recruit{
	position: relative;
	z-index: 2;
}
#Recruit .Txt{
	color: #fff;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#Recruit .Btn{
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 1.5rem;
	color: #fff;
	text-align: center;
	font-weight: bold;
	transition:color .75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#Recruit .Btn:hover{
	color: #32ce66;
	text-decoration: none;
}
#Recruit .Btn::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transform: skewX(45deg);
	width: 100%;
	height: 100%;
	background: #32ce66;
	transition:background .75s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
#Recruit .Btn:hover::before{
	background: #fff;
}
#Recruit .Btn::after{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transform: skewX(-45deg);
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.65);
}
#Recruit .Btn > .Inner{
	display: block;
	position: relative;
	z-index: 3;
}
@media screen and (max-width:767px) {
	#Recruit .Txt{
		margin-top: 40px;
	}
}
@media print,screen and (min-width:768px) {
	#Recruit .Txt{
		margin-top: 60px;
		font-size: 18px;
	}
}
/* △採用情報　ここまで */

/* ▲各コンテンツ毎のスタイル　ここまで */

/* ------ */
/* footer */
/* ------ */
footer{
	border-bottom: 15px solid #e6e6e6;
}
@media screen and (max-width:767px) {
	footer{
		padding: 45px 0;
	}
}
@media print,screen and (min-width:768px) {
	footer{
		padding: 80px 0 40px;
	}
}
/* --------------- */
/* #FooterContents */
/* --------------- */
#FooterContents{
	max-width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width:767px) {
	#FooterContents{

		padding: 0 20px;
		text-align: center;

	}
	#FooterContents .Contents2{
		margin-top: 20px;
	}
	#FooterContents .LogoImg{
		max-width: 260px;

	}
}
@media print,screen and (min-width:768px) {
	#FooterContents{
		padding: 0 16px;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
	}
	#FooterContents .LogoImg{
		max-width: 304px;
	}
}
/* ------ */
/* #ToTop */
/* ------ */
#ToTop {
	position: relative;
	z-index: 2;
	display: inline-flex;
	justify-content: flex-end;
}
#ToTop,
#ToTop *{
	box-sizing: border-box;
}
#ToTop a {
	display: block;
	position: relative;
	border-top: 1px solid #4d4d4d;
}
#ToTop a::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 50%;
	background:no-repeat center;
	background-size: contain;
	transition:bottom .2s;
}
#ToTop a:hover::before {
	bottom: 27.5%;
}
#ToTop img{
	display: none;
}
@media screen and (max-width:767px) {
	#ToTop a {
		width: 44px;
		height: 31px;
	}
	#ToTop a::before {
		background-image: url(images/pagetop_sp.png);
	}
}
@media print,screen and (min-width:768px) {
	#ToTop a {
		width: 60px;
		height: 43px;
	}
	#ToTop a::before {
		background-image: url(images/pagetop.png);
	}
}
/* ---------- */
/* #Copyright */
/* ---------- */
#Copyright{
	display:block;
	margin-top: 1.5rem;
	color: #999999;
}
@media screen and (max-width:767px) {
	#Copyright{
		font-size:8px;
		text-align: center;
	}
}
@media print,screen and (min-width:768px) {
	#Copyright{
		font-size:12px;
	}
}
/* ---- */
/* LAST */
/* ---- */
