@charset "utf-8";
/* CSS Document */
div#contents {
	width:100%;
	overflow: hidden;
	background:#fff;
}
/* ヘッダー */
div#headerbox {
	width:100%;
	height:19.33vw;
	background: #98C9A3;
	padding:0;
	border:none;
}
	div#headerbox div.center {
		width:100%;
		height:19.33vw;
		margin: 0 auto;
		position: relative;
	}
		/* ロゴ */
		div#headerbox div.center a#toplogo {
			display: block;
			height:12.70vw;
			position: absolute;
			left:5.24vw;
			top:3.45vw;
		}
			div#headerbox div.center a#toplogo img {
				height:100%;
			}
	/* ヘッダーメニュー */
	div#headerbox div.center div#hmenuBox { display: none; }
	div#headerbox div.center div.snsbox { display: none; }
	/* サイドメニューボタン */
	div#headerbox input.check { display: none; }
	div#headerbox label.menu-btn {
		width: 9vw;
		height: 9vw;
		position: absolute;
		top:6vw;
		right:5.5vw;
		z-index: 40;
	}
		div#headerbox label.menu-btn span {
			display: block;
			width: 9vw;
			height: 2px;
			background: #fff;
			position: absolute;
			-webkit-transition: all .5s;
			transition: all .5s;
			left:0;
			top:0;
			z-index: 60;
			opacity: 1;
			border-radius: 3px;
		}
		div#headerbox label.menu-btn span.bar.middle {
			top: 2.5vw;
		}
		div#headerbox label.menu-btn span.bar.bottom {
			top: 5vw;
		}
	/* サイドメニュー */
	div#headerbox div#menuBox {
		width:100%;
		height:100%;
		background: #98C9A3;
		position: fixed;
		top:0;
		left:100%;
		box-sizing: border-box;
		z-index: 30;
		-webkit-transition: all .5s;
		transition: all .5s;		
	}
		div#headerbox div#menuBox div.center { 
			box-sizing: border-box;
			padding-top: 80px;
			padding-left: 30px;
			padding-bottom: 80px;
			width:80%;
			min-height:100%;
			margin-right: 0;
			overflow-y: scroll;
		}
		div#headerbox div#menuBox a {
			display: block;
			width:250px;
			box-sizing: border-box;
			color: #fff;
			font-size: 14px;
			font-weight: bold;
			line-height: 20px;
			letter-spacing: 2px;
			text-decoration: none;
			margin: 20px auto 0 auto;
		}
	/* -- チェックをつけた場合 */
	div#headerbox input.check:checked ~ label.menu-btn { background: none; position: fixed;}
	div#headerbox input.check:checked ~ label.menu-btn span.bar.top {
		width: 10vw;
		top: 2.5vw;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
div#headerbox input.check:checked ~ label.menu-btn span.bar.middle { opacity: 0;}
	div#headerbox input.check:checked ~ label.menu-btn span.bar.bottom {	
		width: 10vw;
		top: 2.5vw;
		left:0;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	div#headerbox input.check:checked ~ div#menuBox {
		left:0;
	}
/* フッター */
div#footerbox {
	width:100%;
	padding: 12.15vw 0 26vw 0;
	background: #F8F2EA;
}
	div#footerbox div.center {
		width:86%;
		margin: 0 auto;
		box-sizing: border-box;
		padding: 31.77vw 0 18.65vw 0;
		background: url(../images/cmn/logo2.png) no-repeat, url(../images/cmn/copyright.png) no-repeat;
		background-size: auto 17.26vw, auto 2.76vw;
		background-position: center top, center bottom;
	}
		div#footerbox div.center div.address {margin: 0 auto;}
			div#footerbox div.center div.address table {}
				div#footerbox div.center div.address table th { width:22.1vw;}
				div#footerbox div.center div.address table th, div#footerbox div.center div.address table td {
					text-align: left;
					font-weight: bold;
					font-size: 13px;
					padding-bottom: 15px;
					color: #333;
					box-sizing: border-box;
				}
				div#footerbox div.center div.address table td { padding-left: 10px;}
				div#footerbox div.center div.address table td.red { color: #E9554D;}
		div#footerbox div.center div.address.pconly { display: none;}
		div#footerbox div.center a.contactbtn {
			display: block;
			width:53.59vw;
			height:15.33vw;			
			background: url(../images/cmn/contactbtn.png) no-repeat;
			background-size: 100% 100%;
			margin: 12vw auto 0 auto;
		}
		div#footerbox div.center div.snsbox {
			height:12vw;
			margin: 12vw auto 0 auto;
			text-align: center;
		}
			div#footerbox div.center div.snsbox a {
				display: inline-block;
				width:12vw;
				height:12vw;
				margin: 0 3.6vw;
			}
			div#footerbox div.center div.snsbox a.inst {
				background: url(../images/cmn/inst.png) no-repeat;
				background-size: 100% 100%;
			}
			div#footerbox div.center div.snsbox a.tiktok {
				background: url(../images/cmn/tiktok.png) no-repeat;
				background-size: 100% 100%;
			}
			div#footerbox div.center div.snsbox a.youtube {
				background: url(../images/cmn/youtube.png) no-repeat;
				background-size: 100% 100%;
			}
/* ループする画像 */
div.loop_css {
	position: relative;
	display: -webkit-flex;
	display: flex;
	width: 100vw;
	height: 37.98vw;
	left: 50%;
	margin: 0.7vw auto 0.7vw -50vw;
  	overflow: hidden;
}

div.loop_css img {
  width: auto;
  height: 100%;
}

/* 1つ目の画像 */
div.loop_css img:first-child {
  -webkit-animation: loop 100s -50s linear infinite;
  animation: loop 100s -50s linear infinite;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

/* 2つ目の画像 */
div.loop_css img + img {
  -webkit-animation: loop2 100s  linear infinite;
  animation: loop2 100s linear infinite;
}

/*アニメーション*/
@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    -ms-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    -ms-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
/* バナー */
div.bannerlistbox {
	width:90.60vw;
	margin: 13.81vw auto 24.58vw auto;
}
	div.bannerlistbox a.bannner_hanamura {
		display: block;
		width:90.60vw;
		height:41.43vw;
			
		background: url(../images/cmn/banner_hanamura_sp.jpg) no-repeat;
		background-size: 100% 100%;
	}
	div.bannerlistbox a.bannner_recruit {
		display: block;
		width:90.60vw;
		height:41.43vw;
		margin: 8.83vw auto 0 auto;
		background: url(../images/cmn/banner_recruit_sp.jpg) no-repeat;
		background-size: 100% 100%;
	}
/* 改行 */
span.spbr { display: block;}