@media screen and (min-width: 769px) {
	.single-facility {
	    width: 960px;
	    margin: 0 auto;
	    font-size: 15px;
	}

	.single-facility * {
		box-sizing: border-box;
	}
	/* セクションタイトル */
	.single-facility .facility-title {
	    margin-bottom: 45px;
	    padding-bottom: .5em;
	    font-size: 22px;
	    color: #138c71;
	    text-align: center;
	    border-bottom: 2px solid #138c71;
	}

	.single-facility .facility-title::before {
		content: "";
		display: inline-block;
		width: 35px;
		height: 22px;
	    margin-right: 5px;
	    margin-bottom: -2px;
	    background-repeat: no-repeat;
	    background-size: contain;
	    background-position: center center;
	}
	
	.single-facility .facility-title.event::before {
	    background-image: url(/common/images/facility/music-regular-full.svg);
	}
	
	.single-facility .facility-title.image::before {
	    background-image: url(/common/images/facility/image-solid.svg);
	}

	.single-facility .facility-title.price::before {
		background-image: url(/common/images/facility/circle-yen-solid.svg);
	}

	.single-facility .facility-title.access::before {
		background-image: url(/common/images/facility/map-location-dot-solid.svg);
	}

	.single-facility .facility-intro {
		margin-bottom: 60px;
	}
	.single-facility .facility-intro .inner {
	    padding: 40px 30px;
	    color: #545045;
	    background-color: #fff;
	    border-radius: 20px;
	}

	.single-facility .facility-intro p {
		display: inline-block;
	    line-height: 2em;
	    margin-bottom: 2em;
	}

	.single-facility .facility-intro p:last-child {
	    margin-bottom: 0;
	}

	.single-facility .facility-intro h1 {
		display: flex;
		justify-content: center;
		align-items: center;
	    margin-bottom: 45px;
	    padding: 0 1em .5em;
	    font-size: 30px;
	    color: #138c71;
	    text-align: center;
	    border-bottom: 4px dotted #138c71;
	}

	.single-facility .facility-intro h1::before {
		content: "";
		display: inline-block;
		width: 36px;
		height: 26px;
		margin-right: 10px;
		background-image: url(/common/images/facility/house-heart-solid.svg);
	    background-repeat: no-repeat;
	    background-size: contain;
	    background-position: center center;
	}

	.single-facility .facility-data {
	    display: flex;
	    align-items: center;
	    margin-bottom: 60px;
	}

	.single-facility .facility-data .img {
	    width: 430px;
	    margin-right: 20px;
	}

	.single-facility .facility-data .img img {
	    width: 100%;
	    aspect-ratio: 4/3;
	    object-fit: cover;
	    object-position: center center;
	    border-radius: 15px;
	}

	.single-facility .facility-data .text {
	    flex: 1;
	}

	.single-facility .facility-data .text dl > div {
	    display: flex;
	    margin-bottom: 15px;
	    padding: 0 0 10px;
	    border-bottom: 1px solid #e7e4dd;
	}

	.single-facility .facility-data .text dl dt {
	    width: 80px;
	    margin-right: 30px;
	    text-align: right;
	}

	.single-facility .facility-data .text dl dd {
	    flex: 1;
	}
	
	.single-facility .facility-events {
		margin-bottom: 60px;
	}
	
	.single-facility .facility-events .col3 {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(calc(33% - 20px), 1fr));
		gap: 30px 20px;
	}
	
	.single-facility .facility-events .col3 .item a {
		display: block;
	}
	
	.single-facility .facility-events .col3 .item img {
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		margin-bottom: 10px;
		border-radius: 8px;
	}
	
	.single-facility .facility-events .col3 .item time {
		display: block;
		margin-bottom: 5px;
		color: #666666;
	}
	
	.single-facility .facility-events .col3 .item p {
		margin: 0;
		line-height: 1.5em;
	}

	.single-facility .facility-thumbs {
		margin-bottom: 60px;
	}

	.single-facility .facility-thumbs .col {
	    display: grid;
	    gap: 8px;
	    grid-template-columns: repeat(5, 1fr);
	    width: 100%;
	}

	.single-facility .facility-thumbs figure {
	    width: 180px;
	    padding: 5px 5px 5px;
	    border-radius: 10px;
	    background-color: #fff;
	    box-shadow: 2px 2px 3px rgba(0,0,0,.2);
	}

	.single-facility .facility-thumbs img {
	    width: 100%;
	    aspect-ratio: 4/3;
	    object-fit: cover;
	    object-position: center center;
	    border-radius: 10px;
	}

	.single-facility .facility-thumbs figcaption {
		margin-top: 5px;
		padding: .5em;
		border-radius: 5px;
		text-align: center;
	}

	.single-facility .facility-price {
		margin-bottom: 60px;
	}

	.single-facility .facility-price .inner {
	    padding: 40px 30px;
	    color: #545045;
	    background-color: #fff;
	    border-radius: 20px;
	}

	.single-facility .facility-price dl {
		padding: 0 60px;
		margin-bottom: 30px;
		font-size: 18px;
	}

	.single-facility .facility-price dl > div {
		display: flex;
		padding: 12px 0;
	}

	.single-facility .facility-price dl > div:not(:last-child) {
		border-bottom: 2px dotted #e3ddd0;
	}

	.single-facility .facility-price dl dt {
		width: 40%;
		padding: 0 10%;
	}

	.single-facility .facility-price dl dd {
	    flex: 1;
	    padding: 0 10%;
	}
	.single-facility .facility-price .note {
		padding: 20px 60px 0;
		font-size: 13px;
	    border-top: 1px dotted #e3ddd0;
	}
	.single-facility .facility-access {
	    margin-bottom: 60px;
	}
	.single-facility .facility-access .facility-gmap {
	    position: relative;
	    padding-bottom: 56.25%;
	    padding-top: 30px;
	    height: 0;
	    overflow: hidden;
	    margin: 0 auto 2em;
	}
	.single-facility .facility-access .facility-gmap iframe,
	.single-facility .facility-access .facility-gmap object,
	.single-facility .facility-access .facility-gmap embed {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	}
	.single-facility .facility-access .facility-gmap-wrapper {
	    height: 500px;
	    overflow: hidden;
	    margin-bottom: 30px;
	}
	.single-facility .facility-access .facility-gmap iframe {
	    height: 500px;
	    overflow: hidden;
	}

	.single-facility .facility-access h3 {
	    margin: 15px auto;
	    padding: .5em 1em;
	    font-size: 18px;
	    color: #545045;
	    border-bottom: 4px solid #e3ddd0;
	}
}
@media screen and (max-width: 768px) {
	.single-facility {
	    width: width: 430px;
	    max-width: 100%;
	    margin: 0 auto;
	    font-size: 15px;
	}

	.single-facility * {
	    box-sizing: border-box;
	}
	/* セクションタイトル */
	.single-facility .facility-title {
	    margin-bottom: 45px;
	    padding-bottom: .5em;
	    font-size: 22px;
	    color: #138c71;
	    text-align: center;
	    border-bottom: 2px solid #138c71;
	}

	.single-facility .facility-title::before {
	    content: "";
	    display: inline-block;
	    width: 35px;
	    height: 22px;
	    margin-right: 5px;
	    margin-bottom: -2px;
	    background-repeat: no-repeat;
	    background-size: contain;
	    background-position: center center;
	}

	.single-facility .facility-title.event::before {
	    background-image: url(/common/images/facility/music-regular-full.svg);
	}

	.single-facility .facility-title.image::before {
	    background-image: url(/common/images/facility/image-solid.svg);
	}

	.single-facility .facility-title.price::before {
	    background-image: url(/common/images/facility/circle-yen-solid.svg);
	}

	.single-facility .facility-title.access::before {
	    background-image: url(/common/images/facility/map-location-dot-solid.svg);
	}

	.single-facility .facility-intro {
	    margin-bottom: 40px;
	}
	.single-facility .facility-intro .inner {
	    padding: 30px 4vw;
	    color: #545045;
	    background-color: #fff;
	    border-radius: 15px;
	}

	.single-facility .facility-intro p {
	    display: inline-block;
	    line-height: 2em;
	    margin-bottom: 2em;
	}

	.single-facility .facility-intro p:last-child {
	    margin-bottom: 0;
	}

	.single-facility .facility-intro h1 {
	    margin-bottom: 40px;
	    padding: 0 1em .5em;
	    font-size: 22px;
	    color: #138c71;
	    text-align: center;
	    border-bottom: 4px dotted #138c71;
	}

	.single-facility .facility-intro h1::before {
	    content: "";
	    display: block;
	    width: 100%;
	    height: 26px;
	    margin-bottom: 10px;
	    background-image: url(/common/images/facility/house-heart-solid.svg);
	    background-repeat: no-repeat;
	    background-size: contain;
	    background-position: center center;
	}

	.single-facility .facility-data {
	    margin-bottom: 60px;
	}

	.single-facility .facility-data .img {
	    width: 430px;
	    max-width: 100%;
	    margin: 0 auto 20px;
	    text-align: center;
	}

	.single-facility .facility-data .img img {
	    width: 100%;
	    aspect-ratio: 4/3;
	    object-fit: cover;
	    object-position: center center;
	    border-radius: 15px;
	}

	.single-facility .facility-data .text dl > div {
	    margin-bottom: 15px;
	    padding: 0 4vw 10px;
	    border-bottom: 1px solid #e7e4dd;
	    line-height: 1.75em;
	}

	.single-facility .facility-data .text dl dt {
	    margin-bottom: 5px;
	    font-weight: bold;
	}
	
	.single-facility .facility-events {
		margin-bottom: 60px;
	}
	
	.single-facility .facility-events .col3 {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
		gap: 30px 20px;
	}
	
	.single-facility .facility-events .col3 .item a {
		display: block;
	}
	
	.single-facility .facility-events .col3 .item img {
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		margin-bottom: 10px;
		border-radius: 8px;
	}
	
	.single-facility .facility-events .col3 .item time {
		display: block;
		margin-bottom: 5px;
		color: #666666;
	}
	
	.single-facility .facility-events .col3 .item p {
		margin: 0;
		line-height: 1.5em;
	}

	.single-facility .facility-thumbs {
	    margin-bottom: 60px;
	}

	.single-facility .facility-thumbs .col {
	    display: grid;
	    gap: 8px;
	    grid-template-columns: repeat(2, 1fr);
	    width: 430px;
	    max-width: 100%;
	    margin: 0 auto;
	}

	.single-facility .facility-thumbs figure {
	    width: 100%;
	    padding: 5px 5px 5px;
	    border-radius: 10px;
	    background-color: #fff;
	    box-shadow: 2px 2px 3px rgba(0,0,0,.2);
	}

	.single-facility .facility-thumbs img {
	    width: 100%;
	    aspect-ratio: 4/3;
	    object-fit: cover;
	    object-position: center center;
	    border-radius: 10px;
	}

	.single-facility .facility-thumbs figcaption {
	    margin-top: 5px;
	    padding: .5em;
	    border-radius: 5px;
	    text-align: center;
	}

	.single-facility .facility-price {
	    margin-bottom: 60px;
	}

	.single-facility .facility-price .inner {
	    padding: 30px 4vw;
	    color: #545045;
	    background-color: #fff;
	    border-radius: 15px;
	}

	.single-facility .facility-price dl {
	    padding: 0 10px;
	    margin-bottom: 30px;
	    font-size: 18px;
	}

	.single-facility .facility-price dl > div {
	    display: flex;
	    padding: 12px 0;
	}

	.single-facility .facility-price dl > div:not(:last-child) {
	    border-bottom: 2px dotted #e3ddd0;
	}

	.single-facility .facility-price dl dt {
	    width: 40%;
	    padding: 0 5px;
	}

	.single-facility .facility-price dl dd {
	    flex: 1;
	    padding: 0 10%;
	}
	.single-facility .facility-price .note {
	    padding: 20px 4vw 0;
	    font-size: 13px;
	    border-top: 1px dotted #e3ddd0;
	}
	.single-facility .facility-access {
	    margin-bottom: 60px;
	}
	.single-facility .facility-access .facility-gmap {
	    position: relative;
	    padding-bottom: 56.25%;
	    padding-top: 30px;
	    height: 0;
	    overflow: hidden;
	    margin: 0 auto 2em;
	}
	.single-facility .facility-access .facility-gmap iframe,
	.single-facility .facility-access .facility-gmap object,
	.single-facility .facility-access .facility-gmap embed {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	}
	.single-facility .facility-access .facility-gmap-wrapper {
	    height: 250px;
	    overflow: hidden;
	    margin-bottom: 30px;
	}
	.single-facility .facility-access .facility-gmap iframe {
	    height: 250px;
	    overflow: hidden;
	}

	.single-facility .facility-access h3 {
	    margin: 15px auto;
	    padding: .5em 1em;
	    font-size: 18px;
	    color: #545045;
	    border-bottom: 4px solid #e3ddd0;
	}
}