/* ------------------------------- VARIABLE ------------------------------- */
:root{
	--animation-duration: 0.3s;
}
/* ------------------------------- BASE ------------------------------- */
html{
	background-image:url(/garage/img/index_bg.jpg);
	background-repeat:no-repeat;
	background-position:center 100px;
	background-attachment:fixed;
	background-color:#000;
	background-size:contain;
}
body{
	min-width:960px;
}
/*  ------------------------------- ERROR ------------------------------- */
.error-container {
  text-align: center;
  padding: 40px 20px;
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 8px;
  margin: 20px 0;
  color: #856404;
}

.error-container h3 {
  margin: 0 0 12px 0;
  color: #856404;
}

.error-container p {
  margin: 0 0 16px 0;
  line-height: 1.5;
}

.error-retry-button {
  padding: 8px 16px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.loading-container {
  text-align: center;
  padding: 40px 20px;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 20px 0;
  color: #6c757d;
}

.loading-container h3 {
  margin: 0 0 12px 0;
  color: #6c757d;
}

.loading-container p {
  margin: 0;
  line-height: 1.5;
}

.filter-error-container {
  text-align: center;
  padding: 20px;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 8px;
  margin: 20px 0;
  color: #721c24;
}

.filter-error-container .error-icon {
  font-size: 20px;
  margin-bottom: 12px;
}

.filter-error-container h4 {
  margin: 0 0 8px 0;
  color: #721c24;
}

.filter-error-container p {
  margin: 0;
  line-height: 1.5;
}

.no-data-container {
  text-align: center;
  padding: 40px 20px;
  background: #e2e3e5;
  border: 1px solid #d6d8db;
  border-radius: 8px;
  margin: 20px 0;
  color: #6c757d;
}

.no-data-container .no-data-icon {
  font-size: 24px;
  margin-bottom: 16px;
}

.no-data-container h3 {
  margin: 0 0 12px 0;
  color: #6c757d;
}

.no-data-container p {
  margin: 0;
  line-height: 1.5;
}

.load-more-error {
  text-align: center;
  padding: 16px;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin: 10px 0;
  color: #721c24;
  font-size: 14px;
}

.load-more-retry-button {
  margin-left: 12px;
  padding: 4px 8px;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
}

.app-error-container {
  text-align: center;
  padding: 40px 20px;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 8px;
  margin: 20px 0;
  color: #721c24;
}

.app-error-container h3 {
  margin: 0 0 12px 0;
  color: #721c24;
}

.app-error-container p {
  margin: 0 0 16px 0;
  line-height: 1.5;
}

.app-reload-button {
  padding: 8px 16px;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/*  ------------------------------- TITLE ------------------------------- */
#title{
	margin-top:70px;
	background-image:url(/garage/img/index_photo.png);
	background-repeat:repeat-x;
	background-position:center;
	width:100%;
	height:374px;
	-webkit-animation:bgscroll 60s linear infinite;
	animation:bgscroll 60s linear infinite;
}
@-webkit-keyframes bgscroll{
	0%{background-position:-1154px 0;}
	100%{background-position:0 0;}
}
@keyframes bgscroll{
	0%{background-position:-1154px 0;}
	100%{background-position:0 0;}
}

#title h1{
	height:380px;
	text-indent:-9999px;
	background:url(/garage/img/index_title.png) no-repeat center;
	background-size:auto 100%;
	-webkit-animation:slideInRight 1s;
	animation:slideInRight 1s;
}
@-webkit-keyframes slideInRight {
	0% {
		-webkit-transform: translateY(-25%);
		transform: translateY(-25%);
		opacity:0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity:1;
	}
}
@keyframes slideInRight {
	0% {
		-webkit-transform: translateY(-25%);
		transform: translateY(-25%);
		opacity:0;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity:1;
	}
}

/*  ------------------------------- INTRODUCTION ------------------------------- */
#intro{
	padding:30px 0 0;
}
#lead{
	text-align:center;
	padding:0 0 25px;
}
#lead h2{
	background:url(/garage/img/index_copy.png) no-repeat center top;
	background-size:435px 56px;
	text-indent:-9999px;
	height:60px;
}
#lead p{
	padding-bottom:20px;
	line-height:1.75;
	letter-spacing:1px;
	color:#fff;
}
#lead a{
	display:block;
	margin:0 auto;
	border-radius:25px;
	background:url(/garage/img/index_about.png) no-repeat center #fff;
	background-size:140px 30px;
	width:240px;
	height:50px;
	text-indent:-9999px;
	-webkit-transition-property: opacity;  
	-webkit-transition-duration: 0.25s;  
	-webkit-transition-timing-function: linear; 
	transition-property: opacity;  
	transition-duration: 0.25s;  
	transition-timing-function: linear; 
}
#lead a:hover{
	opacity:0.75;
}

/* ------------------------------- NEWS ------------------------------- */
#news{
	margin:0 0 35px;
}
#news section{
	border:solid 1px #fff;
	color:#fff;
	width:958px;
	height:42px;
	max-height:42px;
	overflow:hidden;
	margin:0 auto 5px;
}
#news section div{
	float:left;
	margin-right:30px;
	background:#fff;
}
#news section div img{
	width:49px;
	height:42px;
}
#news section p{
	float:left;
	padding:12px 20px 0 0;
}

/* ------------------------------- AREA SELECT ------------------------------- */
.controls{
width:960px;
padding:10px 0;
margin:0 auto 20px;
text-align:center;
background:rgba(100,100,100,0.65);
border-radius:5px;
display: flex;
justify-content: center;
align-items: center;
}
.controls label{
	font-size:15px;
	color:#fff;
}
.controls select{
	font-size:15px;
	padding:5px 10px;
}
.recruitment-filter-label{
	display: inline-flex;
	align-items: center;
}
.recruitment-filter, .recruitment-filter-text{
	cursor:pointer;
}
.recruitment-filter{
	margin-left:20px;
	appearance: auto;
	width: 27.5px;
	height: 27.5px;
	background: #fff;
}
.recruitment-filter-text{
	padding-left:10px;
}

/* ------------------------------- LIST ------------------------------- */
#list{
	margin:0 auto;
	width:980px;
	overflow:hidden;
}
#list article{
	display:iblock;
	background:#fff;
	width:470px;
	height:245px;
	padding:10px;
	box-sizing:border-box;
	overflow:hidden;
	float:left;
	margin-bottom:20px;
	margin-right:10px;
	margin-left:10px;
	border-radius:3px;
}
#list .left{
	width:262px;
}
#list .left img{
	width:262px;
	height:225px;
	object-fit: cover;
}
#list .right{
	width:175px;
}
#list .right .info{
	height:174px;
}
#list .right .area{
	background:#53c0cc;
	color:#fff;
	font-size:12px;
	letter-spacing:1px;
	line-height:1;
	padding:5px;
}
#list .right .spec{
	background:#000;
	color:#fff;
	font-size:12px;
	letter-spacing:1px;
	line-height:1;
	padding:5px;
}
#list h2{
	color:#0dc1d4;
	font-size:16px;
	line-height:1.25;
	padding:4px 0;
}
#list .moreinfo{
	display:block;
	box-sizing:border-box;
	border:solid 2px #53c0cc;
	color:#0dc1d4;
	font-size:12px;
	line-height:1;
	text-align:center;
	padding:15px 2px;
	text-decoration:none;
	border-radius:calc(infinity * 1px);
	margin-top:5px;
}
#list a{
	-webkit-transition-property:background, color;  
	-webkit-transition-duration: 0.1s;  
	-webkit-transition-timing-function: linear; 
	transition-property:background, color;  
	transition-duration: 0.1s;  
	transition-timing-function: linear; 
}
#list a:hover{
	background:#53c0cc;
	color:#fff;
}
#list .room-types{
	list-style:none;
}
.status{
	border:none;
	width:60px;
	height:60px;
	position:relative;
	top:-235px;
	left:-10px;
}
.scrollnext{
	display:block;
	width:960px;
	height:42px;
	box-sizing:border-box;
	margin:0 10px;
	padding:10px;
	border:solid 2px #fff;
	border-radius:21px;
	text-decoration:none;
	text-align:center;
	color:#fff;
	float:left;
}
.scrollnext:hover, span.scrollnext{
	background:#fff;
	color:#000;
}
/*  ------------------------------- もっと見る ------------------------------- */
.load-more-button{
	width: 964px;
	display:block;
	background:#fff;
	color:#000;
	padding: 10px 40px;
	box-sizing:border-box;
	margin:0 auto;
	border-radius:calc(infinity * 1px);
	border:none;
	cursor:pointer;
	font-size:16px;
	font-weight:700;
	transition:0.2s;
	margin-top:20px;
	-webkit-transition-property: opacity;  
	-webkit-transition-duration: 0.25s;  
	-webkit-transition-timing-function: linear; 
	transition-property: opacity;  
	transition-duration: 0.25s;  
	transition-timing-function: linear; 
	&:hover{
		opacity:0.75;
	}
}

/*  ------------------------------- BANNER ------------------------------- */
#banner{
	width:960px;
	margin:60px auto 0;
	text-align:center;
}
#banner a{
	display:inline-block;
	background:#fff;
	width:210px;
	height:80px;
	margin:0 5px 10px;
}
#banner a img{
	width:210px;
	height:80px;
	-webkit-transition-property: opacity;  
	-webkit-transition-duration: 0.25s;  
	-webkit-transition-timing-function: linear; 
	transition-property: opacity;  
	transition-duration: 0.25s;  
	transition-timing-function: linear;
}
#banner a:hover img{
	opacity:0.5;
}
#banner .sp_only{
	display:none;
}

/*  -------------------------------LINE------------------------------- */
.globalmenu li{
	list-style-type:none;
}
.gm_basic li{
	width:100%;
	box-sizing:border-box;
	display: flex;
	margin:12px 0 0;
}
.gm_basic li a{
	display:inline-block;
	width:100%;
	height:100%;
	padding:12px 10px;
	text-align:center;
	text-decoration:none;
	font-size:14px;
	color:#333;
	line-height:1.2;
	background-size:12px 12px;
	background-color:rgba(255,255,255,0.85);
	border-radius:3px;
}
.gm_basic li a.linefriend{
	background:url(/garage/img/svg_icon_line.svg) no-repeat 9px center;
	background-size:30px 30px;
	background-color:rgba(255,255,255,1);
	color:rgba(0,185,0,1);
	font-weight:bold;
	font-size:13px;
}
.gm_basic a span{
	font-size:11px;
}
 .content_line{
	background:rgba(70,120,70,1);
	width:396px;
	margin:0 auto 60px;
	padding:1px 12px 12px;
	border-radius:5px;
 }

.gm_basic li a.linefriend:hover{
	background-color:rgba(255,255,255,0.7);
	background-size:36px 36px;
	transition:0.2s;
}

/*  ------------------------------- FOR SMART PHONE ------------------------------- */
@media only screen and (max-width: 959px){
	html{
		background-position:center center;
		background-size:cover;
	}
	body{
		min-width:320px;
	}
	#title{
		margin-top:55px;
		height:235px;
		background-size:auto 235px;
	}
	@-webkit-keyframes bgscroll{
		0%{background-position:-725px 0;}
		100%{background-position:0 0;}
	}
	@keyframes bgscroll{
		0%{background-position:-725px 0;}
		100%{background-position:0 0;}
	}
	#title h1{
			height:224px;
	}
	#intro{
		padding:10px 0 0;
	}
	#lead{
		padding:0 0 5px;
		}
	#lead h2{
		background-size:290px 37px;
		height:40px;
	}
	#lead p{
		letter-spacing:0;
	}
	#lead a{
		border-radius:25px;
		background-size:auto 20px;
		width:180px;
		height:36px;
	}
	#lead a:hover{
		opacity:1;
	}
	#news section{
		width:318px;
		height:60px;
		max-height:60px;
		font-size:10px;
	}
	#news section div{
		margin-right:10px;
	}
	#news section div img{
		width:70px;
		height:60px;
	}
	#news section p{
		float:none;
		padding:5px 5px 0 0;
		line-height:1.25;
	}
	.controls{
		width:320px;
		padding:5px;
		margin:0 auto 10px;
		box-sizing:border-box;
	}
	.controls label{
		font-size:10px;
	}
		.controls select{
		font-size:12px;
		padding:5px 10px;
	}
	#list{
		width:320px;
	}
	#list article{
		width:320px;
		height:160px;
		padding:5px;
		float:none;
		margin-right:0;
		margin-left:0;
	}
	#list .left{
		width:175px;
	}
	#list .left img{
		width:175px;
		height:150px;
		object-fit: cover;
	}
	#list .right{
		width:125px;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	#list .right .info{
		height:90px;
	}
	#list .right .area{
		font-size:11px;
		letter-spacing:1px;
		padding:3px;
	}
	#list .right .spec{
		font-size:10px;
		letter-spacing:1px;
		padding:3px;
	}
	#list h2{
		font-size:12px;
		color:#555;
		line-height:1.25;
		padding:8px 0 0;
	}
	#list .room-types{
		display:none;
	}
	#list .moreinfo{
		font-size: 10px;
		padding: 10px 2px;
		margin-top: 6px;
		border-radius: calc(infinity * 1px);
	}
	.status{
		width:45px;
		height:45px;
		top:-155px;
		left:-5px;
	}
	.scrollnext{
	display:block;
	width:320px;
	height:42px;
	box-sizing:border-box;
	margin:0 auto;
	padding:10px;
		float:none;
	}
	a.scrollnext:hover{
		background:none;
		color:#fff;
	}
	#banner{
		width:320px;
		margin:40px auto 0;
	}
	#banner a{
		width:105px;
		height:40px;
	}
	#banner a img{
		width:105px;
		height:40px;
	}
	#banner a:hover img{
		opacity:1;
	}
	#banner .sp_only{
		display:inline-block;
	}
	#banner .pc_only{
		display:none;
	}
	 .content_line{
		width:80%;
		margin:0 auto 30px;
		padding:0;

	}
	.gm_basic li a.linefriend{
	font-size:12px;
	border:solid 5px rgba(70,120,70,1);
	border-radius:5px;
	}
	.load-more-button{
		width: 320px;
	}
	.recruitment-filter{
		margin-left: 10px;
	}
}

/* ------------------------------- MIXITUP ------------------------------- */
#Container .mix {
  backface-visibility: hidden;
}

#Container .mix.hiding {
  opacity: 0;
  transform: scale(0)translateY(0);
  transition-duration: var(--animation-duration);
}

#Container .mix.showing {
	animation: showing var(--animation-duration) ease forwards;
}
@keyframes showing {
	0% {
		opacity: 0;
		transform:translateY(50px);
	}
	100% {
		opacity: 1;
		transform:translateY(0);
	}
}
