@charset "UTF-8";
/*
Theme Name: 八條テーマ（2024）
Theme URL:
Description: Original theme for Hachijo.
Author: Creer
Version: 1.0.0
Tags: ビジネス
*/

@import url("css/common.css");

/*----- TOP ---------------------------------------------*/

.top .main-area{
	position: relative;
	width: 100%;
  margin: 0 auto;
}

.main-slide img{
	width: 100%;
	height:auto
}

.bx-wrapper{
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important
}

@media screen and (max-width: 767px) {
	.top .main-area{
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 80vh;
	}
	.bx-wrapper,
	.bx-viewport,
	.main-slide,
	.main-slide p {
		height: 100% !important;	
	}
	.main-slide img{
		width: 100% !important;
		height: 100% !important;
		overflow: hidden;
		object-fit: cover;
		object-position: center ;
	}	
	
	.top .main-area .catch{
		position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -25%);
    -webkit-transform: translate(-50%, -25%);
    -ms-transform: translate(-50%, -25%);
		width: 6%;
	}
}

main{
	position: relative;
	width: 100%;
}
@media screen and (max-width: 767px) {
}

.hero {
	position: relative;
	width: 100%;
	background-image: url("images/common/bg_hero_mark.png");
	background-position: top;
	background-size: 100%;
	background-repeat: no-repeat;
}
.hero .inner{
	max-width: 1600px;
	margin: auto;
	padding: 80px 0;
}

.hero .text{
	width: auto;
	margin: 0 auto;
}

.hero img{
	width: 100%;
	height: auto;
}

.hero h2{
	width: 4.0151%;
	margin-left: 80px;
}
.hero p{
	width: 42.6515%;
	padding-top: 8px;
}

@media screen and (min-width: 1601px) {
	.hero {
		background-image: url("images/common/bg_hero.png");
		background-position: top;
		background-size: auto 228px;
		background-repeat: repeat-x;
	}
	.hero .inner{
		background-image: url("images/common/bg_hero_mark.png");
		background-position: top;
		background-size: 100%;
		background-repeat: no-repeat;
	}
}

@media screen and (max-width: 1024px) {
	.hero h2{
		width: 5.1757%;
		margin-left: 70px;
	}
	.hero p{
		width: 54.9804%;
	}
}
@media screen and (max-width: 767px) {
	.hero {
		padding-bottom: 15vw;
		background-image: url("images/common/bg_hero_mark_sp.png");
	}
	.hero .inner{
		width: 100%;
		margin: auto;
		padding: 18vw 2% 0;
	}

	.hero h2{
		width: 60%;
		margin: 0 auto 10vw;
	}
	.recruit .hero h2{
		width: 75%;
	}
	.hero p{
		width: 100%;
		line-height: 2;
		text-align: center;
		font-size: 2.6vw;
		font-family: ten-mincho, serif;
		font-weight: 400;
		font-style: normal;
	}
}
@media screen and (max-width: 480px) {
	.hero p{
		font-size: 3.2vw;
	}
}


.shop{
	padding: 60px 0 50px;
}
.shop h3{
	width: 12%;
	margin: 0 auto 30px;
}
.shop-list{
	margin: 0 auto;
}
.shop-list .shop-item{
	position:	relative;
	width: 33.3333%;
	height: auto;
	padding: 30px 3% 40px;
	background-image: url("images/top/bg_shop_pc.png");
	background-position: top;
	background-size: auto 33%;
	background-repeat: no-repeat;
}

.shop-list .shop-item div {
  position: absolute;
  top: 11%;
	right: 0;
  left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
  opacity: 0;
  width: 80%;
  height: auto;
  margin: 0 auto;
  /*background: rgba(0,0,0,0.4);*/
  color: #fff;
	text-align: center;
	transition:	all 0.3s ease;

}
.shop-list .shop-item:hover > img {
  opacity: 0.7; 
}
.shop-list .shop-item:hover div {
	opacity: 1; 
}
.shop-list .shop-item div a {
  width: 25%; 
	margin: 6px auto;
  opacity: 1; 
}
.shop-list .shop-item div a:hover {
  opacity: 0.85; 
}

@media screen and (max-width: 767px) {
	.shop{
		padding: 10vw 0 50px;
	}
	.shop h3{
		width: 24%;
	}
	.shop-list .shop-item{
		width: 50%;
	}	
	.shop-list .shop-item:nth-child(odd){
		padding: 30px 4% 30px 7%;
	}
	.shop-list .shop-item:nth-child(even){
		padding: 30px 7% 30px 4%;
	}
	
	.shop-list .shop-item:nth-child(odd) div{
		padding-left: 7%;
	}
	.shop-list .shop-item:nth-child(even) div{
		padding-right: 7%;
	}
	.shop-list .shop-item div {
		top: 10%;
	}
	.shop-list .shop-item div a {
		width: 28%; 
	}
}


.news {
	padding: 15vw 0 18vw;
	background-image: url("images/top/bg_shop_pc.png"), url("images/top/bg_shop_pc.png");
  background-position: top center, bottom center; /* 上部と下部の背景画像を中央に配置 */
  background-repeat: repeat-x; /* 背景画像を繰り返さない */
  background-size: 100% 15vw, 100% 15vw; /* 上下の画像のサイズ調整 */
}

.news h3{
	width: 12%;
	margin: 0 auto 30px;
	padding-top: 5vw;
}
.news-list{
	width: 90%;
	margin: 0 auto;
}
.news-list .news-item{
	margin-bottom: 3em;
}
.news-list .news-item .date{
	margin: 0 0 0.8em 0.3em;
	font-family: "Noto Sans JP", serif;
	font-size: 0.9em;
	font-weight: 600;
}
.news-list .news-item .title{
	margin-bottom: 0.4em;
	font-weight: 600;
}
.news-list .news-item .title::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 5px;
	position: relative;
  top: 2px;
	background-image: url('images/common/icon.png');
	background-position: center;
	background-size: contain;
}
.news-list .news-item .text{
	margin-left: calc(1em + 5px);
	line-height: 1.6;
	font-weight: 400;
}
.news-list .news-item .text p{
	margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
	.news {
		padding: 29vw 0 23vw;
		background-size: 80% 20vw, 80% 20vw; /* 上下の画像のサイズ調整 */
	}
	.news h3{
		width: 24%;
	}
}


.company{
	padding: 5vw 0 0;
	background-image: url("images/top/bg_company.png");
	background-position: bottom;
	background-size: 100% 190px;
	background-repeat: no-repeat;

}
.company h3{
	width: 12vw;
	margin: 0 auto 40px;
}

.company .company-map{
	position: relative;
	width: 55%;
}
.company .company-map img{
	position: absolute;
	left: 0;
	bottom: 0;
	width: auto;
	height: 100%;
}
.company .company-info{
	position: relative;
	width: 45%;
	padding: 15vw 8% 30px 6%;
	font-size: 16px;
	z-index: 200;
}
.company .company-info .head{
	margin-bottom: 30px;
	line-height: 2;
}
.company .company-info .text{
	margin-bottom: 30px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	font-size: 0.82em;
}
.company .company-info .text .about{
	margin-top: 16px;
	text-align: right;
	color: #9fa0a0;
}
.company .company-info .text .about a{
	color: #9fa0a0;
}
.company .company-info .text .about a::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 3px;
	position: relative;
  top: 2px;
	background-image: url('images/common/icon_gray.png');
	background-position: center;
	background-size: contain;
}

.company .company-info .info{
	letter-spacing: 0.08em;
	font-size: 0.72em;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.company .company-info .info dt{
	width: 16%;
}
.company .company-info .info dd{
	width: 84%;
	margin-bottom: 0.5em;
}

.company .company-info .info dd .contact{
	display: inline-block;
	color: #9fa0a0;
	margin-left: 3px;
	font-size: 109%;
}
.company .company-info .info dd .contact img{
	position: relative;
  top: 2px;
	width: 1em;
	height: auto;
}


@media screen and (max-width: 1280px) {
	.company .company-map img{
		width: 100%;
		height: auto;
	}
	.company .company-info{
		padding: 15vw 2% 30px 4%;
	}

}
@media screen and (max-width: 1040px) {
	.company .company-map img{
		width: 100%;
		height: auto;
	}
	.company .company-info{
		padding: 10vw 2% 30px 2%;
	}

}
@media screen and (max-width: 950px) {
	.company .company-info{
		padding: 4vw 2% 20px 0;
	}

}

@media screen and (max-width: 767px) {
	.company{
		position: relative;
		padding: 9vw 0 0;
		background-image: none;
	}
	.company h3{
		width: 24%;
	}
	.company .company-map{
		position: inherit;
		order: 2;
		width: 100%;
		margin-bottom: 0;
		z-index: 100;
		pointer-events: none;
	}
	.company .company-map img{
		position: inherit;
		width: 100%;
		height: auto;
	}
	.company .company-info{
		order: 1;
		width: 90%;
		padding: 0 4%;
		margin: 0 auto 40px;
	}
	
}

@media screen and (max-width: 480px) {
	.company .company-info .info dt{
		width: 20%;
	}
	.company .company-info .info dd{
		width: 80%;
	}
}
@media screen and (max-width: 360px) {
	.company .company-info .info dt{
		width: 24%;
	}
	.company .company-info .info dd{
		width: 76%;
	}

}



/*----- リクルート ---------------------------------------------*/

.recruit .main-area{
	width: 100%;
  margin: 0 auto;
}

.recruit .main-img{
	position: relative;
	width: 100%;
}

.recruit .main-img .main img{
	max-width: 100%;
	height:auto
}

.recruit .main-img .inner-box{
	position: absolute;
	bottom: 38%;
	width: 100%;
}

.recruit .main-img .inner-box h3{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 3.2vw;
}

.recruit .main-img .inner-box .side_l{
	position: absolute;
	top: 0;
	left: 5%;
	width: 15%;
}
.recruit .main-img .inner-box .side_r{
	position: absolute;
	top: 0;
	right: 5%;
	width: 18%;
}

@media screen and (max-width: 767px) {
	.recruit .main-area{
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 80vh;
	}
	.recruit .main-img{
		height: 100%;
	}
	.recruit .main-img .main{
		height: 100%;
	}
	.recruit .main-img .main img{
		width: 100% !important;
		height: 100% !important;
		overflow: hidden;
		object-fit: cover;
		object-position: center ;
	}	
	
	.recruit .main-img .inner-box h3{
		position: absolute;
    left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		display: inline-block;
		width: 8%;
	}
	.recruit .main-img .inner-box h3 img{
		width: 100%;
		height: auto;
	}
	
	.recruit .main-img .inner-box .side_l,
	.recruit .main-img .inner-box .side_r{
		display: none;
	}
}
@media screen and (max-width: 540px) {
	.recruit .main-img .inner-box h3{
		width: 10%;
	}
}


.recruit .hero .image{
	position: absolute;
	bottom: 0;
	left: 8%;
	width: 18%;
}

@media screen and (max-width: 767px) {
	.recruit .hero .image{
		position: inherit;
		left: inherit;
		bottom: inherit;
		width: 60%;
		margin: 30px auto 0;
	}
	.recruit .hero .image img{
		margin-bottom: 16px;
	}
}


.employ{
	padding: 60px 0 0;
}
.employ h3{
	width: 12%;
	margin: 0 auto 40px;
}
.employ-list{
	margin: 0 auto;
	padding: 100px 5% 60px;
	background-image: url("images/common/bg_hero.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
}
.employ-list .employ-item{
	width: 50%;
	padding: 0 3%;
}
.employ-list .employ-item p{
	margin-bottom: 8px;
}
.employ-list .employ-item h4{
	margin-bottom: 0.8em;
	font-family: ten-mincho, serif;
}
.employ-list .employ-item h4::before{
	content: "■";
	margin-right: 0.2em;
	font-size: 90%;
}
.employ-list .employ-item ul li{
	margin-bottom: 0.2em;
	margin-left: 1em;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-size: 80%;
}
.employ-list .employ-item ul li::before{
	content: "□";
	margin-right: 0.2em;
	font-size: 90%;
}

@media screen and (max-width: 767px) {
	.employ h3{
		width: 24%;
	}
	.employ-list{
		padding: 40px 0 30px;
	}
	.employ-list .employ-item{
		width: 100%;
		padding: 30px 10%;
	}	
	.employ-list .employ-item h4{
		font-size: 116%;
	}
	.employ-list .employ-item h4::before{
		content: "■";
		margin-right: 0.2em;
		font-size: 90%;
	}
	.employ-list .employ-item ul li{
		font-size: 96%;
	}
	.employ-list .employ-item ul li::before{
		font-size: 90%;
	}
}

.no_data{
	width: 96%;
	margin: 0 auto;
	padding: 70px 30px;
	background-color: #fff;
	text-align: center;
	font-family: kozuka-gothic-pr6n, sans-serif;
}

.variety {
	padding: 80px 0 0;
}

.variety h3{
	width: 12%;
	margin: 0 auto 50px;
}
.variety-list{
	position: relative;
	width: 100%;
	padding: 30px 6% 40px 16%;
	background-image: url("images/recruit/bg_variety.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-color: #fff;
	z-index: 120;
}
.variety-list .variety-item{
	width: 100%;
	margin-bottom: 50px;
}
.variety-list .variety-item:last-of-type{
}
.variety-list .variety-item .title{
	width: 6%;
}
.variety-list .variety-item .inner-box{
	width: 92%;
}
.variety-list .variety-item .text-box{
	width: 55%;
	padding: 12px 16px;
}
.variety-list .variety-item .text-box h5{
	margin-bottom: 0.6em;
	font-weight: 600;
	font-size: 1.3em;
	color: #444;
}
.variety-list .variety-item .text-box .text{
	margin-bottom: 1.8em;
	line-height: 1.8;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-size: 0.86em;
}
.variety-list .variety-item .text-box.advisory .image{
	width: 80%;
	margin: 0 auto;
}
.variety-list .variety-item .image{
	width: 40%;
	margin-left: 5%;
	text-align: center;
}
.variety-list .variety-item .image img{
	width: 85%;
	height: auto;
}
/*.variety-list .variety-item .image.advisory{
	text-align: center;
}
*/
.variety-list .variety-item .image.advisory img.flow{
	margin-top: 80px;
	width: 100%;
}


@media screen and (min-width: 1921px){ 
	.variety-list .variety-item .text-box h5{
		font-size: 1.7em;
	}
	.variety-list .variety-item .text-box .text{
		font-size: 1.2em;
	}
}
@media screen and (min-width: 1441px) and (max-width: 1920px) { 
	.variety-list .variety-item .text-box h5{
		font-size: 1.5em;
	}
	.variety-list .variety-item .text-box .text{
		font-size: 1em;
	}
}
@media screen and (min-width: 1280px) {
	.variety-list{
		padding-bottom: 80px;
	}
}

@media screen and (max-width: 767px) {
	.variety {
		padding: 80px 0 0;
	}
	.variety h3{
		width: 24%;
		margin: 0 auto 40px;
	}
	.variety-list{
		padding: 30px 6% 80px;
	}
	.variety-list .variety-item:last-of-type{
		margin-bottom: 0;
	}
	.variety-list .variety-item .title{
		width: 12%;
	}
	.variety-list .variety-item .inner-box{
		width: 82%;
		flex-direction: column;
		padding-top: 30px;
	}
	.variety-list .variety-item .text-box{
		width: 100%;
		padding: 0;
	}
	.variety-list .variety-item .text-box h5{
		margin-bottom: 0.8em;
		font-weight: 600;
		font-size: 1.4em;
	}
	.variety-list .variety-item .text-box .text{
		margin-bottom: 1.8em;
		line-height: 1.8;
		font-family: kozuka-gothic-pr6n, sans-serif;
		font-size: 1em;
	}
	.variety-list .variety-item .text-box.advisory .image{
		width: 100%;
		margin-bottom: 1.8em;
	}
	.variety-list .variety-item .image{
		width: 100%;
		margin: 0 0 1.8em 0;
		text-align: center;
}
	.variety-list .variety-item .image img{
		width: 90%;
	}
	.variety-list .variety-item .image.advisory img.flow{
		margin-top: 0;
		width: 100%;
	}

	.variety-blank{
		padding-top: 180px;
		background-image: url("images/top/bg_company.png");
		background-position: bottom;
		background-size: auto 100%;
	}

	
}


.job{
	width: 100%;
	padding: 0 6%;
	background-image: url("images/recruit/bg_variety.png");
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-color: #fff;
}

.job .job-box{
	padding: 30px 0;
}
.job .job-box h3{
	width: 62%;
	margin: 0 auto;
}

.job .job-box table{
	width: 96%;
	margin: 0 auto 50px;
	background-color: #fff;
}

.job .job-box table tr{
	border-bottom: 1px solid #000;
}
.job .job-box table th{
	width: 7em;
	padding: 10px 16px;
	border-right: 1px solid #000;	
	font-family: kozuka-gothic-pr6n, sans-serif;
	text-align-last: justify;
	font-weight: 500;
}

.job .job-box table td{
	padding: 10px 16px;
}

.job .job-box table td.occupation{
	background-color: #efefef;
	font-size: 112%;
	font-weight: 500;
}

@media screen and (max-width: 1280px) {
	.job .job-box h3{
		width: 72%;
	}
}
@media screen and (max-width: 1024px) {
	.job .job-box h3{
		width: 80%;
	}
}
@media screen and (max-width: 767px) {
	.job .job-box h3{
		width: 100%;
	}
  .job .job-box table {
		border-top: 1px solid #000;
	}
	.job .job-box table th,
  .job .job-box table td {
    display: block;
    width: 100%;
		padding: 10px 10px;
  }
	.job .job-box table th{
		border-right: none;	
		border-bottom: 1px dashed #000;
		text-align-last:left;
	}

}
	
.entry{
	padding: 20px;
	background-image: url("images/top/bg_company.png");
	background-position: bottom;
	background-size: auto 100%;
	text-align: center;
}
.entry h5{
	margin-bottom: 12px;
}
.entry p{
	position: relative;
	line-height: 2;
	font-size: 90%;
	z-index: 200;
}
.entry span.tel{
		font-size: 138%;

}
.entry p .mail{
	display: inline-block;
	margin-left: 3px;
	font-size: 109%;
}
.entry p .mail img{
	position: relative;
  top: 6px;
	width: 1.2em;
	height: auto;
	margin-left: 3px;
}

@media screen and (max-width: 767px) {
	.entry > .goto{
		position: inherit;
		bottom: 0;
		right: 0;
		padding: 8px 0 0;
		text-align: right;
		color: #9fa0a0;
		background-image: none;
	}
	.entry > .goto a{
		color: #9fa0a0;
	}
	.entry > .goto a::before{
		content: "";
		display: inline-block;
		width: 1em;
		height: 1em;
		margin-right: 3px;
		position: relative;
		top: 2px;
		background-image: url('images/common/icon_gray.png');
		background-position: center;
		background-size: contain;
	}
}