@charset "utf-8";

/* -----------------------------
	検索エリア
-------------------------------- */

#cases .cases-area{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 40px 0 40px;
}

#cases .cases-area::before {
	content: "";
	display: block;
	width: 100%;
	height: calc( 100% + 50px );
	z-index: -1;
	position: absolute;
	top: -50px;
	left: 0;
}

#cases .cases-area .cases-flex {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
}

#cases.cases-ud .cases-area{
	padding: 40px 0 0;
	display: block;
}


@media screen and (max-width: 768px){

	#cases .cases-area{
		padding: 30px 0 0;
	}
	
	#cases .cases-area .cases-flex {
		display: block;
		flex-direction: column;
		justify-content: flex-start;
	}

	#cases.cases-ud .cases-area{
		padding: 20px 0;
	}

}

#cases .ac-box {
	margin: 0;
	width: 250px;
	background: var(--palegreen);
	padding: 0;
	color: #fff;
}

#cases .ac-box form {
	width: 250px;
}

#cases .ac-container .ac-box .ttl {
	padding: 20px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	background: var(--green);
}

#cases .ac-container .ac-box .ttl .fa {
	padding: 0 10px 0 0;
	font-family: var(--awesome);
}

#cases .contents_right .fa-search:before{
	padding-left: 15px;
}

#cases .ac-box .cate-form {
	display: block;
	width: 100%;
	align-items: center;
	padding: 20px;
}

#cases .ac-box .cate-form li {
	margin: 0 0 10px;
	position: relative;
}

#cases .ac-box .cate-form li select {
	width: 100%;
	height: 50px;
	padding: 13px !important;
	cursor: pointer;
	border: none;
	background: #fff url(../img/icon-arrow-under.svg) no-repeat 92% 50%;
	background-size: 12px auto;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	color: #333;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
}

#cases .ac-box .cate-form li label {
	cursor: pointer;
	display: inline-block;
	background: #fff;
	border: 1px solid  #ccc;
	padding: 5px 10px;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.5;
	min-width: 100px;
	text-align: center;
	transition: all .3s;
	color: #333;
	font-weight: bold;
}

#cases .ac-box .cate-form li .hide {
	visibility: hidden;
}

#cases .ac-box .cate-form li label:hover {
	color: #fff;
	background: var(--green);
	border: 1px solid var(--green);
}

#cases .ac-box input[type='checkbox'] {
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}

#cases .ac-box input[type='checkbox']:checked + label {
	background: var(--green);
	border: 1px solid var(--green);
	color: #fff;
}

#cases .ac-box .cate-form .li-select02 input {
	width: 100%;
	padding: 10px;
	height: 50px;
	font-size: 1.6rem;
	font-weight: bold;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	border: none;
}

#cases .ac-box .cate-form .li-select03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 10px;
	margin: 0 0 20px;
	position: relative;
}

#cases .ac-box .cate-form  li .select-name {
	width: 100%;
	color: #444;
	font-weight: bold;
}

#cases .ac-box .cate-form li input[type="submit"] {
	width:100%;
	height: 50px;
	display: block;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight:bold;
	color: #fff;
	/*background-color: #000;*/
	background: var(--green) url(../img/icon-search.svg) no-repeat 36% 47%;
	border: none;
	margin-right: 0;
	padding: 10px 10px 10px 25px;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	transition: all .4s;
}

#cases .ac-box .cate-form li input[type="submit"]:hover {
	background: #1A999C url(../img/icon-search.svg) no-repeat 36% 47%;
}

@media screen and (max-width: 768px){
	
	#cases .ac-box {
		margin: 0;
		width: 100%;
		border-top: none;
		padding: 20px;
	}
	
	#cases .ac-box form {
		width: 100%;
	}

	/* アコーディオン */
	.ac-container {
		width: auto;
		margin: 0 auto 30px;
		z-index:1;
		position: relative;
	}
	.ac-container > label {
		width: 100%;
		text-align: center;
		margin: auto;
		padding: 20px 20px;
		position: relative;
		display: block;
		height: auto;
		cursor: pointer;
		background: var(--green);
		color: #fff;
		font-weight: bold;
		border-radius: 0;
	}
	
	.ac-container > label:hover {
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	
	.ac-container > label:after{

		font-family:"Font Awesome 5 Free";
		content:"\f067";
		position: absolute;
		right: 20px;
		top: 20px;
	}
	
	.ac-container > input:checked ~ label::after {
	   font-family:"Font Awesome 5 Free";
	   content:"\f068";
	}
	
	.ac-container > input {
	   display: none;
	}

	.ac-container div {
	   overflow: hidden;
	   height: 0px;
       position: relative;
	   z-index: 10;
	   transition: 
	   height 0.3s ease-in-out, 
	   box-shadow 0.6s linear;
	}
	
	.ac-container input:checked ~ div.ac-large {
		height: auto;
	}
	
	.ac-container .ttl_s .fa {
		padding: 0 0 0 10px;
		color: #fff;
	}
	.ac-container > label > h4 {
		font-size: 1.8rem;
		font-weight: bold;
		text-align: left;
	}

	.ac-container > label > h4 i {
		padding: 0 10px 0 0;
	}
	
	#cases .ac-box .cate-form {
		margin: 0;
		padding: 0;
	}
	
	#cases .ac-box .cate-form .li-select03 {
		gap: 5px;
		margin: 0 0 15px;
	}
	
	#cases .ac-box .cate-form  li .select-name {
		width: 100%;
	}
	
	#cases .ac-box .cate-form li label {
		font-size: 1.5rem;
		min-width: calc( ( 100% - 5px ) / 2 );
	}
	
	#cases .ac-box .cate-form li input[type="submit"] {
		background: var(--green) url(../img/icon-search.svg) no-repeat 41% 48%;
	}

}

/* -----------------------------
	施設一覧
-------------------------------- */
#cases.top .cases-wrap {
	width: 910px;
}

#cases.top .cases-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	gap: 30px 30px;
}

#cases.top .cases-list .cases-item {
	width: calc( ( 100% - 60px ) / 3 );
}

#cases.top .cases-list .cases-item a {
	position: relative;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
	display: block;
	top: 0;
}

#cases.top .cases-list .cases-item a:hover {
	opacity: .8;
	top: -10px;
	box-shadow: none;
}

#cases.top .cases-list .bg-wrap {
	width: 100%;
	height: 200px;
	overflow: hidden;
}

#cases.top .cases-list .bg-wrap img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	vertical-align: middle;
}

#cases.top .cases-list .txt-wrap {
	width: 100%;
	padding: 15px;
	background: #F9F9F9;
}

#cases.top .cases-list .tag-list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 100%;
	gap: 5px;
	margin: 0 0 15px;
}

#cases.top .cases-list .tag-list li {
	font-size: 1.4rem;
	color: var(--green);
	border: 1px solid var(--green);
	background: #fff;
	padding: 5px 10px;
	font-weight: bold;
}

#cases.top .cases-list .cases-ttl {
	font-size: 1.8rem;
	font-weight: bold;
}

@media screen and (max-width: 768px){
	
	#cases.top .cases-wrap {
		width: 100%;
	}
	
	#cases.top .ttl-block {
		margin: 0 0 20px;
		width: 100%;
	}
	
	#cases.top .cases-list {
		width: 100%;
		flex-wrap: wrap;
		margin: 0;
		padding: 0;
		gap: 10px;
	}
	
	#cases.top .cases-list .cases-item {
		width: calc( ( 100% - 10px ) / 2 );
	}
	
	#cases.top .cases-list .cases-item .bg-wrap {
		width: 100%;
		height: 120px;
	}
	
	#cases.top .cases-list .cases-item .bg-wrap img {
		object-fit: cover;
		height: 100%;
		width: 100%;
	}
	
	#cases.top .cases-list .txt-wrap {
		padding: 12px;
	}
	
	#cases.top .cases-list .tag-list {
		margin: 0 0 10px;
	}
	
	#cases.top .cases-list .tag-list li {
		font-size: 1.2rem;
		padding: 5px 8px;
	}
	
	#cases.top .cases-list .cases-ttl {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}

/* -----------------------------
	施設詳細
-------------------------------- */
/*	detail-area
-------------------------------- */
#cases .detail-area .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 1100px;
	margin: 0 auto;
}

#cases .detail-area .top-txt {
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0 0 40px;
	width: 100%;
}

#cases .detail-area .top-txt .date {
	font-size: 1.4rem;
	line-height: 1.4;
	display: inline-block;
}

#cases .detail-area .top-txt .cate {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: flex-start;
	align-items: flex-start;
	width: initial;
}

#cases .detail-area .top-txt .cate li {
	display: inline-block;
	font-size: 1.4rem;
	padding: 2px 10px;
	line-height: 1.4;
	border: 1px solid var(--green);
	min-width: 100px;
	text-align: center;
	color: var(--green);
	font-weight: bold;
}

#cases .detail-area .top-txt .ttl {
	font-size: 3.6rem;
	line-height: 1.5;
	font-weight: bold;
	width: 100%;
}

#cases .slide-block {
  	width: 700px;
  	padding: 0;
}
#cases .slick-slide img {
  	width: 100%;
  	height: auto;
}
#cases .slick-prev,
#cases .slick-next {
  	z-index: 1;
	color: #fff;
	top: 50%;
	transform: translateY(-50%);
	background: var(--green);
	width: 40px;
	height: 40px;
}
#cases .slick-prev:before,
#cases .slick-next:before {
  	color: #fff;
	font-size: 1.8rem;
}

#cases .slick-prev {
	left: -60px;
}

#cases .slick-next {
	right: -60px;
}

#cases .slider-thumb .slick-slide {
  	transition: all ease-in-out .3s;
  	/*opacity: .2;*/
	height: 525px;
}
#cases .slick-active {
  	opacity: 1;
}
#cases .slick-current {
  	opacity: 1;
}
#cases .slide-block .min-thumb {
  	margin: 20px 0 0;
	height: 100px;
}

#cases .slide-block .min-thumb .slick-track {
	display: flex;
	gap: 10px;
}

#cases .slide-block .min-thumb img {
	width: 100%;
	height: 100px;
	object-fit: cover;
}

#cases .slide-block .min-thumb .slick-slide {
  	cursor: pointer;
	height: 100px;
	transition: all .2s;
}
#cases .slide-block .min-thumb .slick-slide:hover {
  	opacity: .7;
}

#cases .slide-block .slider-thumb {
	width: 100%;
	height: 525px;
}

#cases .slide-block .slider-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#cases .text-slider {
	margin: 20px 0 0;
	text-align: center;
}

#cases .table-block {
	width: 350px;
}

#cases .table-block .cost {
	width: 100%;
	font-size: 2.1rem;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px dashed var(--green);
	font-weight: bold;
}

#cases .table-block .cost .name {
	font-size: 1.6rem;
	line-height: 1.5;
	display: inline-block;
	width: 100%;
}

#cases .table-block .cost .num {
	font-size: 3.8rem;
	display: inline-block;
	line-height: 1.2;
	margin: 0 5px 0 0;
	font-weight: 500;
	position: relative;
	color: var(--green);
}

#cases .table-block .txt-table {
	width: 100%;
	border-collapse: collapse;
}

#cases .table-block .txt-table th {
	width: 35%;
	line-height: 1.5;
	text-align: left;
	border-bottom: 1px solid var(--green);
	padding: 15px 0;
}

#cases .table-block .txt-table td {
	width: 65%;
	text-align: left;
	border-bottom: 1px solid #ccc;
	padding: 15px 0;
	line-height: 1.5;
}

#cases .table-block .txt-table td span {
	display: inline-block;
}

#cases .table-block .txt-table td span:not(:last-child) {
	margin: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
	
	img {
		image-rendering: -webkit-optimize-contrast;
	}
	
	#cases .detail-area .inner {
		width: 100%;
	}
	
	#cases .detail-area .top-txt {
		gap: 15px;
		margin: 0 0 20px;
	}
	
	#cases .detail-area .top-txt .ttl {
		font-size: 2.4rem;
	}
	
	#cases .slide-block {
		width: 100%;
	}
	
	#cases .slide-block .slider-thumb {
		width: 100%;
		height: 60vw;
	}
	
	#cases .slide-block .slider-thumb .slick-list {
		height: 100%;
	}
	
	#cases .slide-block .slider-thumb .slick-track {
		height: 100%;
	}
	
	#cases .slider-thumb .slick-slide {
		height: 100%;
	}
	
	#cases .slide-block .min-thumb .slick-slide {
		height: 15vw;
	}
	
	#cases .slide-block .min-thumb .slick-track {
		gap: 5px;
	}
	
	#cases .slide-block .min-thumb img {
		height: 100%;
	}
	
	#cases .slide-block .min-thumb {
		margin: 20px 0 0;
		height: 15vw;
	}
	
	#cases .slick-prev, #cases .slick-next {
		top: 50%!important;
		transform: translateY(-50%)!important;
		width: 20px;
		height: 20px;
	}
	
	#cases .slick-prev {
		left: -19px!important;
	}

	#cases .slick-next {
		right: -19px!important;
	}

	#cases .slick-prev:before, #cases .slick-next:before {
		font-size: 1.2rem;
	}
	
	#cases .table-block {
		width: 100%;
		padding: 30px 0 0;
	}
	
	#cases .table-block .cost {
		font-size: 1.6rem;
		margin: 0;
	}
	
	#cases .table-block .cost .num {
		font-size: 3.4rem;
		margin: 0 5px 0 0;
	}
	
	/*#cases .table-block .cost .num::before {
		top: -25px;
		right: -25px;
		width: 50px;
	}*/
	
}

/*	free-area
-------------------------------- */
#cases .detail-area + .free-area {
	margin: 60px auto 0;
}

#cases .free-area .inner {
	padding: 40px;
	background: var(--palegreen);
	/*border: 1px solid var(--green);*/
	margin: 0 auto;
	width: 1100px;
}

@media screen and (max-width: 768px) {
	#cases .free-area {
		margin: 0;
		padding: 0 20px;
	}
	
	#cases .detail-area + .free-area {
		margin: 30px auto 0;
	}

	#cases .free-area .inner {
		padding: 20px;
		width: 100%;
	}
	
}


/*	under-cases-area
-------------------------------- */
#cases .under-cases-area .ttl-block {
	text-align: center;
	width: 100%;
}

#cases .under-cases-area .ttl-block .en {
	width: 100%;
}

@media screen and (max-width: 768px) {
	
	.under-cases-area {
		padding: 40px 0 30px;
	}
	
	
	.under-cases-area .scroll-wrap {
		margin: 0;
	}
	
	.under-cases-area::before {
		display: none;
	}
	
	.under-cases-area::after {
		content: "";
		display: block;
		position: absolute;
		top: initial;
		bottom: 0;
		left: 0;
		width: 90%;
		height: 160px;
		background: var(--palegreen);
		z-index: -2;
	}
}