/*下層ページ共通*/
section{
	padding: 60px 0;
}
.title_head{
	height: 200px;
	padding: 0;
}
.contents{
	max-width: 95%;
	margin: 0 auto;
	line-height: 1.5;
}
.content_inner{
    margin: 40px 20px;
}
.breadcrumb{
	display: flex;
	font-size: 1.2rem;
	padding: 20px 10px;
}
.breadcrumb li, .breadcrumb li a{
	color: #999;
}
.breadcrumb li a::after{
	content: ">";
	margin: 0 5px;
}
/*キャッシュレスサービス*/
ol.flow{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
ol.flow li{
    position: relative;
    background-color: #efefef;
    padding: 20px;
    margin-bottom: 40px;
    width: 100%;
}
ol.flow li h4{
	margin: -10px 0 20px 25px;
	font-size: inherit;
}
ol.flow li > .flex{
	gap: 1rem;
}
ol.flow li .flow-img{
	width: 150px;
	flex-shrink: 0;
}
ol.flow li:before{
    counter-increment: item;
    content: counter(item);
    background-color: var(--sub-color);
    color:#fff;
    font-weight: bold;
    font-size: 2.8rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    text-align: center;
}
ol.flow li::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 25px 0 25px;
    border-color:  var(--sub-color) transparent transparent transparent;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -35px;
    z-index: 1;
}
ol.flow li:last-child::after{
	content: none;
}
ol.flow li span.point{
    margin-right: 10px;
}
ol.flow li p.red{
    margin-top: 10px;
}
.cashless-position_img{
	flex-shrink: 0;
}
.cashless .box_gray{
    padding: 20px;
}
.cashless #kiyaku ol li:before{
    counter-increment: item;
    content: "("counter(item)")";
    margin-right: 1em;
}
.cashless .camp li{
	margin-bottom: 1em;
}
.cashless_tbls{
	gap: 30px;
}
/*アクセス*/
.access .address{
	margin: 20px 0;
}
.access .box, .facility .box{
	padding: 20px;
	margin: 20px 0;
}
.access .map-container{
	margin-bottom: 20px;
}
.access .btn{
	margin-bottom: 30px;
}
.tbl03{
	width: 100%;
}
.tbl03 th, .tbl03 td{
	padding: 0.5em;
	border: 1px solid #999;
}
.tbl03 th{
	font-weight: bold;
	background-color: #333;
	color: #fff;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}
.tbl03 th[scope="row"]{
	text-align: left;
	background-color: #efefef;
	color: #333;
	border-bottom: 1px solid #999;
	border-right: 1px solid #999;
}
.tbl03 td{
	font-weight: 500;
	border: 1px solid #999;
	text-align: right;
}
.tbl03 .pink th{
	color: #dc4e4b!important;
	background-color: #fad4d7!important;
}
.tbl03 .pink{
	background-color: #fad4d7!important;
}
.tbl03 .purple th{
	color: #a73f82!important;
	background-color: #e7c7dd!important;
}
.tbl03 .purple{
	background-color: #e7c7dd!important;
}
.tbl03 .yellow{
	background-color: #ffc!important;
	color: #333!important;
	border-color: #999!important;
}
.tbl03 .gray{
	background-color: #efefef!important;
	color: #333!important;
	border-color: #999!important;
}
.parking-map{
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
/*新着情報*/
.contents .box{
	max-width: 100%;
}
.news_content_wrap .news_content{
	padding: 5px;
	margin-top: 10px;
}
.news_content_wrap .news_content .images{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 10px;
}
.news_content_wrap .news_content .images li{
	margin-right: 5px;
}
.back_btn a.btn{
	margin: 30px auto;
}
/*ファンサービス*/
.fanservice ul li a.btn{
    width: auto;
    max-width: unset;
    margin-bottom: 20px;
}
.fanservice h4{
    padding: 0.5em;
}
.fanservice .content_inner div.flex{
    padding: 30px;
}
/*ファンサービス一覧*/
.news_content_wrap{
	background-color: #fff;
	margin-bottom: 30px;
}
.news_content_wrap h3{
	font-size: 1.8rem;
	padding: 20px;
}
.news_content_wrap .date{
	margin: 0 0 0 auto;
}
.news_detail{
	padding: 20px;
}
.news_note{
	padding: 20px 0;
}
.news_content_wrap dl{
	font-size: 1.8rem;
	font-weight: bold;
}
.news_content_wrap dl dt span{
	vertical-align: middle;
	margin-right: 5px;
}
/*施設案内*/
.facility .tit02 span{
    margin-right: 5px;
    margin-left: 5px;
    vertical-align: middle;
}
.facility ul{
	padding-top: 30px;
	gap: 1rem;
}
.facility ul li{
	width: calc( (100% - 1rem * 3) / 4);
	position: relative;
}
.facility .caption{
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.6);
	color: #fff;
	padding: 5px;
	font-size: 0.8em;
}
.facility ul li img{
	width: 100%;
	height: auto;
}
.facility .content_inner > div{
    	margin: 30px auto 50px;
}
.facility figure{
	margin-top: 30px;
}
.facility figcaption{
	font-size: clamp(1.6rem, 1.50288rem + 0.2589vw, 2rem);
	background-color: #333;
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 0.2em;
}
.facility-tbl{
	max-width: 800px;
    margin: 20px auto;	
}
.facility-tbl .tbl03 th:first-of-type{
	width: 37.5%;
}
.facility-tbl .tbl03 th, .facility-tbl .tbl03 td{
	text-align: center;
}
/*プライバシーポリシー*/
.privacy p{
	margin: 20px 20px 60px;
}
/*お問い合わせ*/
#contact_form .contents{
	width: 800px;
	max-width: 95%;
}
#contact_form .box{
	margin: 30px auto;
}
#contact_form .box .tag{
	margin-left: 10px;
}
#contact_form .box ul li{
	margin-left: 2%;
	width: 48%;
}
.tbl01{
	width: 100%;
	text-align: left;
	margin-bottom: 30px;
}
.tbl01 th, .tbl01 td{
	padding: 20px;
}
.tbl01 th{
	background-color: var(--main-color);
	color: #fff;
	border-bottom: 1px solid #fff;
	border-top: 1px solid var(--main-color);
	font-size: 1.8rem;
}
.tbl01 tr:last-child th{
	border-bottom-color: var(--main-color);
}
.tbl01 td{
	border-top: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
}
.tbl01 input, .tbl01 textarea{
	border: 1px solid #ccc;
}
.tbl01 textarea{
	width: 100%;
}
.tbl01 input{
	height: 40px;
}
.tbl01 p.small{
	margin: 10px 0;
}
#contact_form .btn{
	width: 100%;
	max-width: 300px;
	font-size: 1.8rem;
}
input:focus, textarea:focus{
	border: 1px solid #ffeb3b;
	background-color: #fffcde;
}
input[type="reset"]{
	background-color: #efefef;
	border: 1px solid #efefef;
	background-image: linear-gradient(to right, transparent 50%, #ccc 50%);
	color: #333;
}
input[type="reset"]:hover{
	background-color: #ccc;
	border-color: #333;
	color: #333;
}
.form_parts.short{
	width: 60%;
	max-width: 200px;
}
.form_parts.middle{
	width: 80%;
	max-width: 300px;
}
.form_parts.long{
	width: 100%;
}
#postToAddr::after{
	content: url(../img/ext.png);
	display: inline-block;
}
.tbl02{
	width: 100%;
	text-align: left;
}
.tbl02 th, .tbl02 td{
	padding: 20px;
	border-bottom: 1px solid #efefef;
}
.tbl02 th span{
	display: block;
}
.about .tbl02{
	margin: 30px 0;
}
/*リンク集*/
.links .flex{
	gap: 1.5%;
}
.links .flex .col3{
	width: calc( (100% - 1.5% * 2) / 3);
	padding: 10px 5px;
	margin-bottom: 20px;
	text-align: center;
}
.links .flex .col3 img{
	width: 150px;
	height: auto;
}
.links .flex .col3 a{
	color: #333;
}
.links .flex .col3 p{
	margin-top: 5px;
	font-weight: bold;
}
@media screen and (max-width: 800px){
	body{
		font-size: 1.4rem;
	}
	section{
		padding: 30px 0;
	}
	.content_inner{
		margin: 20px 10px;
	}
	.breadcrumb{
		font-size: 1.0rem;
	}
	.title_head{
		height: 100px;
		padding-top: 0;
	}
	.news_content_wrap h3{
		font-size: 1.6rem;
	}
	.news_detail{
		padding: 10px;
	}
	.fanservice .content_inner div.flex{
    	padding: 20px 5px;
	}
	.fanservice ul li{
		width: 100%;
	}
	.fanservice ul li a.btn{
		font-size: 1.4rem;
	}
	.tbl01 th, .tbl01 td{
		display: block;
		width: 100%;
	}
	.tbl01 th{
		padding: 10px;
		font-size: 1.6rem
	}
	.tbl01 td{
		border-top: none;
		border-bottom: none;
		padding: 20px 0;
	}
	ol.flow li .flow-img{
		width: 80px;
	}
	.intro ul li{
		margin-bottom: 20px;
	}
    .facility ul li {
        width: calc( (100% -  1rem) / 2)
    }
	.privacy p{
		margin: 10px 10px 30px;
	}
	#contact_form .box ul li{
		width: 100%;
		margin-bottom: 20px;
	}
	#postToAddr{
		display: block;
		margin: 10px 0;
	}
	.tbl02 th{
		width: 40%;
	}
	.tbl02 th, .tbl02 td{
		padding: 10px 0;
	}
	.about .col2{
		margin-top: 10px;
	}
	.cashless .btn-link > li{
		margin-left: 0;
		margin-bottom: 20px;
	}
	.links .flex .col3{
		width: calc((100% - 1.5%) / 2);
	}
}