/*-------------------------------------------------------------------
	
	レイアウト

-------------------------------------------------------------------*/
.right {
	text-align: right;
	}

.left {
	text-align: left;
	}

.center {
	margin:0 auto;
	}

.center_text {
	text-align:center;
	}

.f_left {
	float:left;
}

.f_right {
	float: right;
}

.cb{
  /* floatを解除 */
  clear: both;
}

.font-b {
	font-weight: 400;
}

.font-26 {
	font-size: 2.6rem;
	line-height: 1.6;
	letter-spacing: 2px;
	font-weight: 400;
}

.font-24 {
	font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 2px;
	font-weight: bold;
}

.font-22 {
	font-size: 2.2rem;
	line-height: 1.6;
	font-weight: bold;
}

.font-20 {
	font-size: 2rem;
	line-height: 1.6;
	font-weight: bold;
}

.font-18 {
	font-size: 1.8rem;
	line-height: 1.6;
}

.font-16 {
	font-size: 1.6rem;
	line-height: 1.6;
}

.font-14 {
	font-size: 1.4rem;
	line-height: 1.4;
}

.font-12 {
	font-size: 1.2rem;
	line-height: 1.4;
}

.bg-white {
	background-color:#fff;
	margin-top: 0px;
}

.bg-grey {
	background-color:#f5f5f5;
}

.bg-orange {
	background-color:#ffe87d;
}

.bg-orange2 {
	background-color:#fff6ca;
}

.bg-brown {
	background-color:#b8a370;
}

.bg-footer {
	background-color:#f8d948;
}


.f-white {
	color:#fff;
}

.f-orange {
	color: #ff8400;
}


.under1 {
  background: linear-gradient(transparent 70%, #fff38f 70%);
}

.under2 {
  background: linear-gradient(transparent 70%, #63eff4 70%);
}

li {
  margin-left: 2rem;
  text-indent: -1.2rem;
}

/*マージン設定　----------------------------------------------------------*/

.mb15 {
	margin-bottom:15px;
	}

.mb20 {
	margin-bottom:20px;
	}

.mb30 {
	margin-bottom:30px;
	}

.mb40 {
	margin-bottom:40px;
	}

.mb60 {
	margin-bottom:60px;
	}

.mb100 {
	margin-bottom:100px;
	}

.mt10 {
	margin-top:10px;
	}

.mt20 {
	margin-top:20px;
	}

.mt30 {
	margin-top:30px;
	}

.mt40 {
	margin-top:40px;
	}

.mt50 {
	margin-top:50px;
	}

.mt60 {
	margin-top:60px;
	}

.mt80 {
	margin-top:80px;
	}

.mt100 {
	margin-top:100px;
	}

.pt05 {
	padding-top:5px;
	}

.pt10 {
	padding-top:10px;
	}

.pt20 {
	padding-top:20px;
	}

.pt30 {
	padding-top:30px;
	}

.pt40 {
	padding-top:40px;
	}

.pt60 {
	padding-top:60px;
	}

.pt80 {
	padding-top:80px;
	}

.pt100 {
	padding-top:100px;
	}

.pb05 {
	padding-bottom:5px;
	}

.pb10 {
	padding-bottom:10px;
	}

.pb20 {
	padding-bottom:20px;
	}

.pb30 {
	padding-bottom:30px;
	}

.pb40 {
	padding-bottom:40px;
	}

.pb60 {
	padding-bottom:60px;
	}

.pb100 {
	padding-bottom:100px;
	}

.mr5 {
	margin-right:5px;
	}

.pr15 {
	padding-right:15px;
	}

.pl15 {
	padding-left:15px;
	}

.ml05 {
	margin-left:5px;
	}

.ml15 {
	margin-left:15px;
	}

.ml30 {
	margin-left:30px;
	}

.ml40 {
	margin-left:40px;
	}

.img-fuild {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	}

@media (max-width:767px){
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	}
}

/*ボタン----------------------------------------------------------*/

.btn-square {
  width: 100%;
  margin: 0 auto;
  display: inline-block;
  padding: 10px 0;
  text-decoration: none;
  background: #f9b037;
  color: #FFF;
  text-align: center;
  border-radius: 50px;
}
.btn-square: active {
}

.btn-square-2 {
  display: inline-block;
  padding: 6px 50px;
  text-decoration: none;
  background: #2aaf74;
  color: #FFF;
  border-radius: 50px;
}
.btn-square-2: active {
}

@media (max-width:767px){
	.btn-square-2,.btn-square {
		width:70%;
	}
}

hr {
	width: 90px;
	border-top: 3px solid #f8d948;
	margin: 0 auto;
}

/*ファーストビュー----------------------------------------------------------*/
.mv {
    width: 100%;
    background: url("../img/mv-bg.jpg") no-repeat;
	background-color: #fff;
	height: 570px;
	background-position: top center;
	background-size: cover;
}

.mv-m {
	padding-left: 8%;
	padding-top: 100px;
	margin: 0 auto;
}

/*以下コンテンツ----------------------------------------------------------*/

@media (min-width:768px){
	.tb {
		padding: 80px 0px;
	}
	.tb2 {
		padding: 80px 0px 0px 0px;
	}
	.lead {
	width: 100%;
    background: url("../img/lead-bg.png") no-repeat;
	background-position: top center;
	background-color: #ffe87d;
	background-size: cover;	
	padding: 60px 0px;
	}
}

@media (max-width:767px){
	.tb {
		padding: 50px 0px;
	}
	.tb2 {
		padding: 50px 0px 0px 0px;
	}
	.lead {
	width: 100%;
    background: url("../img/sp/lead-bg.jpg") no-repeat;
	background-position: top center;
	background-color: #ffe87d;
	background-size: cover;
	padding: 40px 0px;
	}
}

.about {
    width: 100%;
    background: url("../img/about-bg.jpg") no-repeat;
	background-position: top center;
	background-size: cover;	
}



.box {
	padding: 20px;
	width: 90%;
	margin: 0 auto;
	background-color:rgba(255,255,255,0.8);
	border: dotted 2px #e2e2e2;
}

.box2 {
  background: #ff8400;
  color: #FFF;
  width: 80%;
  padding: 10px 20px;
  text-align: center;
  margin: 0 auto;
  border-radius: 50px;
  margin-top: 10px;
}


.topic {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #ff8400;
}

.topic:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #000;
}


/*採用情報----------------------------------*/
#demo{
width: 900px;
margin: 0 auto;
padding: 20px 0px;
}

#demo table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
}
#demo table tr th,
#demo table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #e2e2e2;
background: #fff;
border-width: 1px;
}
#demo table tr th{
width: 25%;
color: #fff;
background: #f8d948;
}


@media screen and (max-width:768px){
#demo{
width: 100%;
}

#demo table,
#demo table tbody,
#demo table tr,
#demo table tr th,
#demo table tr td{
display: block;
}

#demo table{
width: 100%;
margin: 0 auto;
border-width: 0 0 1px 0;
}

#demo table tr th,
#demo table tr td{
width: 100%;
padding: 3% 5%;
}

#demo table tr td{
border-width: 0px 1px 0px 1px;
}
}


/*追随メニュー-----------------------------------*/
.menu {
		width: 100%;
	}

	.sp_freecall{
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: auto;;
		background: #f5fffa;
		overflow: hidden;
		padding: 10px;
	}
	
	.sp_freecall_btn{
		display: -webkit-flex; 
		-webkit-align-items: baseline; 
		align-items: baseline;
		display: flex;	
		justify-content: center;
		margin-left: 2px;
		margin-right: 2px;
	}
	
	.sp_freecall_btn span{
		display: block;
		font-size: 2.2rem;
	}

/*フッター*/
 .footer_space {
	  padding-bottom: 120px;
  }	



/*スライド*/
/* 1.親スタイルリセットとペース設定 ++++++++++ */
.slider-box p, .slider-box div, .loop-box ul, .loop-box li {
  box-sizing: border-box; margin: 0 !important; padding: 0 !important;
}

/* 2.ベースBOXの設定 +++++++++++++++++++++ */
.slider-box {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
  margin: 0 auto; /* Box外の余白 - 変更可 */
}

/* 3.チェックボックスを利用した停止・再生などの設定 +++++++++++++++++ */
.slider-check {
  display: none;
}
.slider-check:checked ~ .loop-box > .loop {
  animation-play-state: paused;
}
.slider-label {
  display: block;
  cursor: pointer;
  color: #fff; /* 文字色 - 変更可 */
  font-size: 24px; /* 文字サイズ - 変更可 */
  line-height: 2; /* ボタン部分の高さ - 変更可 */
  text-align: center;  
}
.slider-label::before {
  content: "\025a0  STOP"; /* 停止テキスト - 変更可 */
  } 
.slider-check:checked ~ div > .slider-label::before {
  content: "\025b6  MOVE"; /* 再生テキスト - 変更可 */
}

/* 4.スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
  position: relative;
  width: 100%;
  overflow: hidden; 
}
.loop-box, .loop-box ul {
  height: 260px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
  position: absolute; left: 0; top: 0;
  display: flex; 
  justify-content: space-between;
  background: #000; /* スライダーの背景色 - 変更可 */
  list-style: none;
  max-width: 10000%; 
  min-width: 100%;
  width: calc(300px * 1.5 * 3); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
  animation: 60s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
  display: flex;
  align-items: center; 
  justify-content: center;
  color: #fff;
  width: calc(100% / 3); /* li の幅を均等にする - 削除可・変更注意 */
}
.loop-box img {
  height: auto;
  width: 100%;
}

/* 5.アニメーション個別設定 ++++++++++ */
.loop-box ul.loop1 {
  animation-name: loop1;
}
.loop-box ul.loop2 {
  animation-name: loop2;
}
@keyframes loop1 {
  0% {transform: translateX(0); }
  49.99999% {transform: translateX(-100%); }
  50% {transform: translateX(100%); }
}
@keyframes loop2 {
  0% {transform: translateX(100%); }
  100%{transform: translateX(-100%); }
}