@charset "UTF-8";

/*========/ ページタイトル /========*/
.title_block {
	height: calc(100vh - 60px);
	height: calc(100svh - 60px);
	display: flex;
	align-items: center;
}
.title_block h2 {
	width: 30%;
	z-index: 1;
	margin-top: 140px;
	padding-left: 100px;
	display: flex;
	flex-direction: column;
	font-weight: 600;
	white-space: nowrap;
}
.title_block h2 .en {
	width: fit-content;
	padding: 20px 20px 20px 0;
	background-color: #fff;
	font-size: 66px;
	font-size: 6.6rem;
}
.title_block h2 .ja {
	width: fit-content;
	margin-top: -20px;
	padding: 0 20px 20px 0;
	background-color: #fff;
	font-size: 20px;
	font-size: 2rem;
}
.title_block p {
	width: 75%;
	height: 100%;
	min-width: 990px;
	margin-left: -140px;
	overflow: hidden;
}
.title_block p img {
	display: block;
	width: 100%;
	height: calc(100% + 0rem);
	object-fit: cover;
	position: relative;
}

@media screen and (min-width: 1300px) {
	.title_block h2 { width: 30%; }
	.title_block p { width: 75%; }
}

@media screen and (max-width: 1300px) {
	.title_block h2 { padding-left: 50px; }
	.title_block p { margin-left: -90px; }
}

@media screen and (max-width: 800px) {
.title_block { height: calc(80vh - 60px); }
	.title_block { align-items: end; }
	.title_block h2 {
		width: 15%;
		margin-top: 0;
		margin-bottom: -27px;
		padding-left: 15px;
	}
	.title_block h2 .en {
		padding: 15px 15px 15px 0;
		font-size: 52px;
		font-size: 5.2rem;
	}
	.title_block h2 .ja {
		padding: 0 15px 15px 0;
		font-size: 18px;
		font-size: 1.8rem;
	}
	.title_block p {
		width: 90%;
		margin-left: -20px;
	}
}

@media screen and (max-width: 440px) {
	.title_block h2 { margin-bottom: -23px; }
	.title_block h2 .en {
		font-size: 34px;
		font-size: 3.4rem;
	}
	.title_block h2 .ja {
		font-size: 15px;
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 220px) {
	.title_block h2 { width: 30%; }
	.title_block p { width: 70%; }
}


.title_block-mini {
	height: 450px;
	background-color: #172c57;
	position: relative;
}
.title_block-mini h2 {
	top: 50%;
	left: 100px;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	color: #fff;
	font-weight: 600;
	white-space: nowrap;
	position: absolute;
}
.title_block-mini h2 .en {
	width: fit-content;
	padding: 20px 20px 20px 0;
	font-size: 50px;
	font-size: 5rem;
}
.title_block-mini h2 .ja {
	width: fit-content;
	margin-top: -20px;
	padding: 0 20px 20px 0;
	font-size: 1.6px;
	font-size: 1.6rem;
}
.title_block-mini .title_block-img {
	width: 350px;
	height: 100.56px;
	bottom: -1px;
	right: 50px;
	background: url(../../img/logo_shape.svg)center center / 100%;
	background-size: cover;
	background-position: 100% 60%;
	position: absolute;
}


@media screen and (max-width: 1100px) {
	.title_block-mini { height: 350px; }
	.title_block-mini h2 { left: 50px; }
}

@media screen and (max-width: 800px) {
	.title_block-mini { height: 250px; }
	.title_block-mini h2 { left: 15px; }
	.title_block-mini h2 .en {
		font-size: 40px;
		font-size: 4rem;
	}
	.title_block-mini h2 .ja {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.title_block-mini .title_block-img {
		width: 150px;
		height: 43.09px;
		bottom: -1px;
		right: 15px;
		position: absolute;
	}
}



/*========/ パンくず /========*/
#breadcrumb {
	margin: 15px 50px 0 50px;
	padding: 0;
	align-items: center;
	display: flex;
	justify-content: flex-end;
}
#breadcrumb li {
	display: inline-block;
	color: #172c57;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 600;
}
#breadcrumb li a {
	text-decoration: none;
	color: #8b8b8b;
	transition: .3s;
}
#breadcrumb li a:hover { color: #172c57; }
#breadcrumb li + li {
	margin-left: 20px;
	position: relative;
}
#breadcrumb li + li:before{
	content: '';
	width: 8px;
	height: 1px;
	top: 45%;
	left: -17px;
	display: block;
	background: #1c1686;
	position: absolute;
}

@media screen and (max-width: 800px) {
	#breadcrumb { margin: 15px 15px 0 15px; }
}
/*========/ 見出し /========*/
h3 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 600;
}
h3 .ja {
	font-size: 26px;
	font-size: 2.6rem;
	display: block;
}

@media screen and (max-width: 670px) {
	h3 {
		font-size: 12px;
		font-size: 1.2rem;
	}
	h3 .ja {
		font-size: 20px;
		font-size: 2rem;
	}
}

/*========/ 施設案内 /========*/

#facility .facility-contents {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}

#facility .facility-contents .title {
	width: 25%;
	min-width: 270px;
}
#facility .facility-contents .contents { width: 85%; }

@media screen and (max-width: 1317px) {
	#facility .facility-contents { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 950px) {
	#facility .facility-contents { display: block; }
	#facility .facility-contents .title {width: auto; }
	#facility .facility-contents .contents {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#facility .title_block p img { right: 20vw; }
	#facility .facility-contents { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 600px) {
	#facility .title_block p img { right: 30vw; }
}

@media screen and (max-width: 470px) {
	#facility .title_block p img { right: 50vw; }
}

@media screen and (max-width: 390px) {
	#facility .title_block p img { right: 60vw; }
}


/*==// マップ //==*/
#facility #map {
}


/*==// 施設設備 //==*/
#facility #FacilitiesEquipment ul {
	padding-bottom: 20px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-top: solid 1px #172c57;
	border-bottom: solid 1px #b1bcd3;
}
#facility #FacilitiesEquipment ul li {
	width: calc( (100% / 2) - 40px );
	margin-top: 20px;
	padding-left: 10px;
	font-weight: 600;
	position: relative;
}
#facility #FacilitiesEquipment ul li:before {
	content: '';
	border-radius: 50%;
	width: 2px;
	height: 2px;
	display: block;
	position: absolute;
	top: 0.7em;
	left: 0;
	background-color: currentColor;
}

@media screen and (max-width: 670px) {
	#facility #FacilitiesEquipment ul li { width: calc( (100% / 1) - 0px ); }
}


/*==// キッチン設備 //==*/
#facility #KitchenEquipment .contents dl {
	padding-bottom: 20px;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#facility #KitchenEquipment .contents .cookware {
	padding-top: 20px;
	border-top: solid 1px #172c57;
}
#facility #KitchenEquipment .contents .seasoning { padding-top: 20px; }
#facility #KitchenEquipment .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}
#facility #KitchenEquipment .contents dl dd ul li {
	display: inline;
	line-height: 1.8;
}
#facility #KitchenEquipment .contents dl dd ul li + li:before { content: ' / ';}

@media screen and (max-width: 670px) {
	#facility #KitchenEquipment .contents dl { display: block; }
	#facility #KitchenEquipment .contents dl dd { margin-top: 10px; }
}


/*==// チェックイン //==*/
#facility #CheckIn .contents dl {
	padding-bottom: 20px;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#facility #CheckIn .contents .in {
	padding-top: 20px;
	border-top: solid 1px #172c57;
}
#facility #CheckIn .contents .out { padding-top: 20px; }
#facility #CheckIn .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}

@media screen and (max-width: 670px) {
	#facility #CheckIn .contents dl { display: block; }
	#facility #CheckIn .contents dl dd { margin-top: 10px; }
}


/*==// 料金 //==*/
#facility #Charge .contents .villa { margin-top: 60px; }
#facility #Charge .contents .Charge-list {

	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;

	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	position: relative;
	overflow: auto;
	white-space: nowrap;
}
#facility #Charge .contents .Charge-list tr th {
	padding: 10px 30px;
	text-align: center;
	font-weight: 600;
	border: 1px solid #b1bcd3;
	background: #172c57;
	color: #fff;
}
#facility #Charge .contents .Charge-list tr .NoP {
	width: 350px;
	max-width: 350px;
}
#facility #Charge .contents .Charge-list tr .Cha {
	width: 610px;
	max-width: 610px;
	min-width: 160px;
}
#facility #Charge .contents .Charge-list tr td {
	padding: 10px 30px;
	text-align: center;
	background: #fff;
	font-weight: 600;
	border: 1px solid #b1bcd3;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
#facility #Charge .contents > p {
	margin-top: 10px;
	padding: 16px;
	background: #172c57;
	color: #fff;
}
#facility #Charge .contents .Notes { margin-top: 20px; }
#facility #Charge .contents .Notes p {
	font-size: 12px;
	font-size: 1.2rem;
}

@media screen and (max-width: 670px) {
	#facility #Charge .contents .villa { margin-top: 40px; }
}

/*==// キャンセルについて //==*/
#facility #CancellationPolicy .contents dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#facility #CancellationPolicy .contents dl:first-child { border-top: solid 1px #172c57; }
#facility #CancellationPolicy .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}

@media screen and (max-width: 670px) {
	#facility #CancellationPolicy .contents dl { display: block; }
	#facility #CancellationPolicy .contents dd { margin-top: 10px; }
}

/*==// お支払い方法 //==*/
#facility #PaymentMethod .contents dl {
	padding: 20px 0;
	border-top: solid 1px #172c57;
	border-bottom: solid 1px #b1bcd3;
}
#facility #PaymentMethod .contents dl dt {
	margin-bottom: 20px;
	font-weight: 600;
}
#facility #PaymentMethod .contents dl dd ul li {
	display: inline;
	line-height: 1.8;
}
#facility #PaymentMethod .contents dl dd ul li + li:before {
	content: ' / ';
}

/*==// よくある質問 //==*/
#facility #QandA .contents {
	border-top: solid 1px #172c57;
}
#facility #QandA .contents dl dt {
	margin: 20px 0 0 25px;
	font-weight: 600;
	position: relative;
}
#facility #QandA .contents dl dt:before {
	content: 'Q.';
	display: block;
	position: absolute;
	top: -2px;
	left: -25px;
}
#facility #QandA .contents dl dd {
	margin: 10px 0 0 25px;
	padding: 0 0 20px 0;
	position: relative;
}
#facility #QandA .contents dl dd:before {
	content: 'A.';
	display: block;
	position: absolute;
	top: 0;
	left: -25px;
}
#facility #QandA .contents dl dd:after {
	content:"";
	display:block;
	width:calc(100% + 25px );
	height:1px;
	background-color:#b1bcd3;
	position:absolute;
	bottom:0;
	left:-25px;
}


/*========/ お部屋 /========*/

#room .room-contents {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}

#room .room-contents .title {
	width: 25%;
	min-width: 270px;
}
#room .room-contents .contents { width: 85%; }

@media screen and (max-width: 1317px) {
	#room .room-contents { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 950px) {
	#room .room-contents { display: block; }
	#room .room-contents .title {width: auto; }
	#room .room-contents .contents {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#room .title_block p img { right: 40vw; }
	#room .room-contents { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 440px) {
	#room .title_block p img { right: 85vw; }
}


/*==// 説明 //==*/
#room #room-descri {
	padding-top: 100px;
	display: flex;
	align-items: center;
	position: relative;
}
#room #room-descri .image {
	width: 62vw;
	height: 500px;
	left: 0;
	overflow: hidden;
	position: relative;
}
#room #room-descri .image img {
	display: block;
	width: 100%;
	height: calc(100% + 15vw);
	object-fit: cover;
	position: relative;
	top: -18vw;
}
#room #room-descri .text {
	width: 22vw;
	left : 8vw;
	position: relative;
}

#room #room-descri .text h3 {
	margin-bottom: 20px;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 3.6rem;
}

@media screen and (max-width: 1220px) {
	#room #room-descri { display: block; }
	#room #room-descri .image { width: 100vw; }
	#room #room-descri .text {
	width: calc(100% - 100px);
	top: 40px;
	left: 0;
	padding: 0 50px;
	}
}

@media screen and (max-width: 800px) {
	#room #room-descri .image { height: 250px; }
	#room #room-descri .image img {
		height: calc(100% + 18vw);
		top: -28vw;
	}
	#room #room-descri .text {
	width: calc(100% - 30px);
	padding: 0 15px;
	}
	#room #room-descri .text h3 {
		font-size: 20px;
		font-size: 2rem;
		line-height: 3rem;
	}
}

@media screen and (max-width: 440px) {
	#room #room-descri .image img{
		height: calc(100% + 30vw);
		top: -40vw;
	}
}


/*==// ドームテント //==*/
#dometent {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#dometent .tent_img div ul li {
	width: 100%;
	height: 550px;
	overflow: hidden;
}
#dometent .tent_img div ul li img {
	height: 100%;
	object-fit: cover;
}
#dometent h3 { margin-top: 20px; }

#dometent .details {
	margin-top: 40px;
	display: flex;
	column-gap: 80px;
}
#dometent .details .text {
	width:55%;
	line-height: 3.6rem;
}
#dometent .details .list {
	width:45%;
	list-style: none;
	border-top: solid 1px #172c57;
}
#dometent .details .list li dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#dometent .details .list li dl dt {
	min-width: 200px;
	font-weight: 600;
}
#dometent .dometent-map {
	max-width: 1100px;
	margin: 60px auto 0 auto;
}
#dometent .pet-rules {
	margin: 60px auto 0 auto;
}
#dometent .pet-rules h4 {
	margin-top: 40px;
	font-size: 2rem;
}
#dometent .pet-rules h4:first-child { margin-top: 0; }
#dometent .pet-rules ol {
	margin-top: 10px;
	padding-top: 20px;
	border-top: solid 1px #172c57;
	list-style: none;
	counter-reset: number;
}
#dometent .pet-rules ol li {
	position: relative;
	padding-left: 2em;
}
#dometent .pet-rules ol li::before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	border: 1px solid #b1bcd3;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 600;
	color: #172c57;
	text-align: center;
	line-height: 1.8;
}
#dometent .pet-rules ol li + li { margin-top: 10px; }


@media screen and (max-width: 1317px) {
	#dometent { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 975px) {
	#dometent .tent_img div ul li { height: 400px; }
	#dometent .details { display: block; }
	#dometent .details .text { width: 100%; }
	#dometent .details .list {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#dometent { padding: 100px 15px 0 15px; }
	#dometent .tent_img div ul li { height:250px; }
}

/*==// ヴィラ //==*/
#villa {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#villa .villa_img div ul li {
	width: 100%;
	height: 550px;
	overflow: hidden;
}
#villa .villa_img div ul li img {
	height: 100%;
	object-fit: cover;
}
#villa h3 { margin-top: 20px; }

#villa .details {
	margin-top: 40px;
	display: flex;
	column-gap: 80px;
}
#villa .details .text {
	width:55%;
	line-height: 3.6rem;
}
#villa .details .list {
	width:45%;
	list-style: none;
	border-top: solid 1px #172c57;
}
#villa .details .list li dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#villa .details .list li dl dt {
	min-width: 200px;
	font-weight: 600;
}
#villa .villa-map {
	max-width: 1100px;
	margin: 60px auto 0 auto;
}

@media screen and (max-width: 1317px) {
	#villa { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 975px) {
	#villa .villa_img div ul li { height: 400px; }
	#villa .details { display: block; }
	#villa .details .text { width: 100%; }
	#villa .details .list {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#villa { padding: 100px 15px 0 15px; }
	#villa .villa_img div ul li { height:250px; }
}


/*==// チェックイン //==*/
#room #CheckIn .contents dl {
	padding-bottom: 20px;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#room #CheckIn .contents .in {
	padding-top: 20px;
	border-top: solid 1px #172c57;
}
#room #CheckIn .contents .out { padding-top: 20px; }
#room #CheckIn .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}

@media screen and (max-width: 670px) {
	#room #CheckIn .contents dl { display: block; }
	#room #CheckIn .contents dl dd { margin-top: 10px; }
}


/*==// チェックイン //==*/
#room #FacilitiesAmenities .contents dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#room #FacilitiesAmenities .contents .Facilities { border-top: solid 1px #172c57; }
#room #FacilitiesAmenities .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}
#room #FacilitiesAmenities .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}
#room #FacilitiesAmenities .contents dl dd ul li {
	display: inline;
	line-height: 1.8;
}
#room #FacilitiesAmenities .contents dl dd ul li + li:before { content: ' / '; }

@media screen and (max-width: 670px) {
	#room #FacilitiesAmenities .contents dl { display: block; }
	#room #FacilitiesAmenities .contents dl dd { margin-top: 10px; }
}


/*==// 料金 //==*/
#room #Charge .contents .villa { margin-top: 60px; }
#room #Charge .contents .Charge-list {
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	position: relative;
	overflow: auto;
	white-space: nowrap;
}
#room #Charge .contents .Charge-list tr th {
	padding: 10px 30px;
	text-align: center;
	font-weight: 600;
	border: 1px solid #b1bcd3;
	background: #172c57;
	color: #fff;
}
#room #Charge .contents .Charge-list tr .NoP {
	width: 350px;
	max-width: 350px;
}
#room #Charge .contents .Charge-list tr .Cha {
	width: 610px;
	max-width: 610px;
	min-width: 160px;
}
#room #Charge .contents .Charge-list tr td {
	padding: 10px 30px;
	text-align: center;
	background: #fff;
	font-weight: 600;
	border: 1px solid #b1bcd3;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
#room #Charge .contents > p {
	margin-top: 10px;
	padding: 16px;
	background: #172c57;
	color: #fff;
}
#room #Charge .contents .Notes { margin-top: 20px; }
#room #Charge .contents .Notes p {
	font-size: 12px;
	font-size: 1.2rem;
}

@media screen and (max-width: 670px) {
	#room #Charge .contents .villa { margin-top: 40px; }
}


/*========/ 日帰り /========*/
#daytrip .daytrip-contents {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}

#daytrip .daytrip-contents .title {
	width: 25%;
	min-width: 270px;
}
#daytrip .daytrip-contents .contents { width: 85%; }

@media screen and (max-width: 1317px) {
	#daytrip .daytrip-contents { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 950px) {
	#daytrip .daytrip-contents { display: block; }
	#daytrip .daytrip-contents .title {width: auto; }
	#daytrip .daytrip-contents .contents {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#daytrip .title_block p img { right: 40vw; }
	#daytrip .daytrip-contents { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 440px) {
	#daytrip .title_block p img { right: 142vw; }
}

/*==// ドッグラン //==*/
#dogrun {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#dogrun .dogrun_img div ul li {
	width: 100%;
	height: 550px;
	overflow: hidden;
}
#dogrun .dogrun_img div ul li img {
	height: 100%;
	object-fit: cover;
}
#dogrun h3 { margin-top: 20px; }

#dogrun .details {
	margin-top: 40px;
	display: flex;
	column-gap: 80px;
}
#dogrun .details .text {
	width:55%;
	line-height: 3.6rem;
}
#dogrun .details .list {
	width:45%;
	list-style: none;
	border-top: solid 1px #172c57;
}
#dogrun .details .list li dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#dogrun .details .list li dl dt {
	min-width: 200px;
	font-weight: 600;
}

@media screen and (max-width: 1317px) {
	#dogrun { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 975px) {
	#dogrun .dogrun_img div ul li { height: 400px; }
	#dogrun .details { display: block; }
	#dogrun .details .text { width: 100%; }
	#dogrun .details .list {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#dogrun { padding: 100px 15px 0 15px; }
	#dogrun .dogrun_img div ul li { height:250px; }
}

/*==// バーベキュー //==*/
#daybbq {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#daybbq .daybbq_img div ul li {
	width: 100%;
	height: 550px;
	overflow: hidden;
}
#daybbq .daybbq_img div ul li img {
	height: 100%;
	object-fit: cover;
}
#daybbq h3 { margin-top: 20px; }

#daybbq .details {
	margin-top: 40px;
	display: flex;
	column-gap: 80px;
}
#daybbq .details .text {
	width:55%;
	line-height: 3.6rem;
}
#daybbq .details .list {
	width:45%;
	list-style: none;
	border-top: solid 1px #172c57;
}
#daybbq .details .list li dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#daybbq .details .list li dl dt {
	min-width: 200px;
	font-weight: 600;
}

@media screen and (max-width: 1317px) {
	#daybbq { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 975px) {
	#daybbq .daybbq_img div ul li { height: 400px; }
	#daybbq .details { display: block; }
	#daybbq .details .text { width: 100%; }
	#daybbq .details .list {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#daybbq { padding: 100px 15px 0 15px; }
	#daybbq .daybbq_img div ul li { height:250px; }
}


/*==// ドッグラン利用規約 //==*/
#daytrip #TermsofUse .contents { border-top: solid 1px #172c57; }
#daytrip #TermsofUse .contents > p {
	font-weight: 600;
	margin-top: 20px;
}
#daytrip #TermsofUse .contents > p:fist-child { margin-top: 0; }
#daytrip #TermsofUse .contents > ol {
	margin-top: 20px;
	padding: 20px 0;
	border-top: solid 1px #b1bcd3;
	border-bottom: solid 1px #b1bcd3;
	list-style: none;
	counter-reset: number;
}
#daytrip #TermsofUse .contents > ol li {
	position: relative;
	padding-left: 2em;
}
#daytrip #TermsofUse .contents > ol li::before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	border: 1px solid #b1bcd3;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 600;
	color: #172c57;
	text-align: center;
	line-height: 1.8;
}
#daytrip #TermsofUse .contents > ol li + li { margin-top: 10px; }

/*==// 設備・レンタル //==*/
#daytrip #FacilitiesAmenities .contents dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#daytrip #FacilitiesAmenities .contents .Facilities { border-top: solid 1px #172c57; }
#daytrip #FacilitiesAmenities .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}
#daytrip #FacilitiesAmenities .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}
#daytrip #FacilitiesAmenities .contents dl dd ul li {
	display: inline;
	line-height: 1.8;
}
#daytrip #FacilitiesAmenities .contents dl dd ul li + li:before { content: ' / '; }

@media screen and (max-width: 670px) {
	#daytrip #FacilitiesAmenities .contents dl { display: block; }
	#daytrip #FacilitiesAmenities .contents dl dd { margin-top: 10px; }
}


/*==// BBQお食事 //==*/
#bbq-cuisine { margin-top: 150px; }
#bbq-cuisine .title {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 100px;
}
#bbq-cuisine #cuisine-list {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 100px;
}
#bbq-cuisine #cuisine-list .text { text-align: center; }
#bbq-cuisine #cuisine-list .text p { margin-top: 60px; }
#bbq-cuisine #cuisine-list > ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#bbq-cuisine #cuisine-list > ul:after {
	width: calc( (100% / 3) - 40px );
	display: block;
	content:"";
}
#bbq-cuisine #cuisine-list > ul > li {
	width: calc( (100% / 3) - 40px );
	margin-top: 60px;
}
#bbq-cuisine #cuisine-list > ul > li > p {
	width: 100%;
	height: 36vh;
	overflow: hidden;
}
#bbq-cuisine #cuisine-list > ul > li > p img { 
	height: 100%;
	object-fit: cover;
}
#bbq-cuisine #cuisine-list > ul > li dl {
	margin-top: 20px;
}
#bbq-cuisine #cuisine-list > ul > li dl dt {
	padding-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
	border-bottom: solid 1px #172c57;
}
#bbq-cuisine #cuisine-list > ul > li dl dt span {
	font-size: 15px;
	font-size: 1.5rem;
}
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-title {
	cursor: pointer;
	padding: 10px 0;
	border-bottom: solid 1px #929aaa;
}
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-title { position: relative; }
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-title::after {
	border-right: solid 1px #172c57;
	border-top: solid 1px #172c57;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 10px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 6px;
}
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-content {
	display: none;
	padding: 10px 0;
	border-bottom: solid 1px #929aaa;
}
#bbq-cuisine #cuisine-list > ul > li dl dd .accordion-content ul { list-style: none; }
#bbq-cuisine #cuisine-list > ul > li dl dd .attention {
	padding-top: 10px;
	font-size: 12px;
	font-size: 1.2rem;
}


@media screen and (max-width: 1317px) {
	#bbq-cuisine { margin-top: 100px; }
	#bbq-cuisine .title { padding: 0 50px; }
	#bbq-cuisine #cuisine-guide { padding: 100px 50px 0 50px; }
	#bbq-cuisine #cuisine-list { padding:0 50px; }
}

@media screen and (max-width: 1100px) {
	#bbq-cuisine #cuisine-list > ul:after { width: calc( (100% / 3) - 20px ); }
	#bbq-cuisine #cuisine-list > ul > li { width: calc( (100% / 3) - 20px ); }
}

@media screen and (max-width: 800px) {
	#bbq-cuisine .title { padding: 0 15px; }
	#bbq-cuisine .title_block p img { right: 40vw; }
	#bbq-cuisine #cuisine-guide { padding: 100px 15px 0 15px; }
	#bbq-cuisine #cuisine-list { padding: 0 15px; }
	#bbq-cuisine #cuisine-list .text p { margin-top: 40px; }
	#bbq-cuisine #cuisine-list > ul:after { width: calc( (100% / 2) - 7.5px ); }
	#bbq-cuisine #cuisine-list > ul > li { width: calc( (100% / 2) - 7.5px ); }
}

@media screen and (max-width: 490px) {
	#bbq-cuisine .title_block p img { right: 80vw; }
	#bbq-cuisine #cuisine-list > ul:after { width: calc( (100% / 1) - 0px ); }
	#bbq-cuisine #cuisine-list > ul > li { width: calc( (100% / 1) - 0px ); }
}


/*========/ お食事 /========*/
#cuisine #cuisine-guide {
	max-width: 1400px;
	margin: 0 auto;
	padding: 100px 100px 0 100px;
}
#cuisine #cuisine-guide > p { margin-top: 20px; }
#cuisine #cuisine-guide > p:first-child { margin-top: 0; }

#cuisine #cuisine-list {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 100px 0 100px;
	display: flex;
}
#cuisine #cuisine-list .text { text-align: center; }
#cuisine #cuisine-list .text p { margin-top: 60px; }
#cuisine #cuisine-list > ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#cuisine #cuisine-list > ul:after {
	width: calc( (100% / 3) - 40px );
	display: block;
	content:"";
}
#cuisine #cuisine-list > ul > li {
	width: calc( (100% / 3) - 40px );
	margin-top: 60px;
}
#cuisine #cuisine-list > ul > li > p {
	width: 100%;
	height: 36vh;
	overflow: hidden;
}
#cuisine #cuisine-list > ul > li > p img { 
	height: 100%;
	object-fit: cover;
}
#cuisine #cuisine-list > ul > li dl {
	margin-top: 20px;
}
#cuisine #cuisine-list > ul > li dl dt {
	padding-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
	border-bottom: solid 1px #172c57;
}
#cuisine #cuisine-list > ul > li dl dt span {
	font-size: 15px;
	font-size: 1.5rem;
}
#cuisine #cuisine-list > ul > li dl dd .accordion-title {
	cursor: pointer;
	padding: 10px 0;
	border-bottom: solid 1px #929aaa;
}
#cuisine #cuisine-list > ul > li dl dd .accordion-title { position: relative; }
#cuisine #cuisine-list > ul > li dl dd .accordion-title::after {
	border-right: solid 1px #172c57;
	border-top: solid 1px #172c57;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 10px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 6px;
}
#cuisine #cuisine-list > ul > li dl dd .accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
#cuisine #cuisine-list > ul > li dl dd .accordion-content {
	display: none;
	padding: 10px 0;
	border-bottom: solid 1px #929aaa;
}
#cuisine #cuisine-list > ul > li dl dd .accordion-content ul { list-style: none; }
#cuisine #cuisine-list > ul > li dl dd .attention {
	padding-top: 10px;
	font-size: 12px;
	font-size: 1.2rem;
}


@media screen and (max-width: 1317px) {
	#cuisine #cuisine-guide { padding: 100px 50px 0 50px; }
	#cuisine #cuisine-list { padding: 40px 50px 0 50px; }
}

@media screen and (max-width: 1100px) {
	#cuisine #cuisine-list > ul:after { width: calc( (100% / 3) - 20px ); }
	#cuisine #cuisine-list > ul > li { width: calc( (100% / 3) - 20px ); }
}

@media screen and (max-width: 800px) {
	#cuisine .title_block p img { right: 40vw; }
	#cuisine #cuisine-guide { padding: 100px 15px 0 15px; }
	#cuisine #cuisine-list { padding: 40px 15px 0 15px; }
	#cuisine #cuisine-list .text p { margin-top: 40px; }
	#cuisine #cuisine-list > ul:after { width: calc( (100% / 2) - 7.5px ); }
	#cuisine #cuisine-list > ul > li { width: calc( (100% / 2) - 7.5px ); }
}

@media screen and (max-width: 490px) {
	#cuisine .title_block p img { right: 80vw; }
	#cuisine #cuisine-list > ul:after { width: calc( (100% / 1) - 0px ); }
	#cuisine #cuisine-list > ul > li { width: calc( (100% / 1) - 0px ); }
}



/*========/ アクセス /========*/
#access .access-contents {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}

#access .access-contents .title {
	width: 500px;
	min-width: 270px;
}
#access .access-contents .contents { width: 85%; }

@media screen and (max-width: 1317px) {
	#access .access-contents { padding: 150px 50px 0 50px; }
}

@media screen and (max-width: 950px) {
	#access .access-contents { display: block; }
	#access .access-contents .title {width: auto; }
	#access .access-contents .contents {
		width: 100%;
		margin-top: 40px;
	}
}
@media screen and (max-width: 800px) {
	#access .title_block p img { right: 20vw; }
	#access .access-contents { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 520px) {
	#access .title_block p img { right: 30vw; }
}

@media screen and (max-width: 430px) {
	#access .title_block p img { right: 55vw; }
}

@media screen and (max-width: 370px) {
	#access .title_block p img { right: 75vw; }
}

/*==// GoogleMap //==*/
#access #GoogleMap {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	text-align: center;
}
#access #GoogleMap iframe {
	width: 100%;
	height: 500px;
}
#access #GoogleMap div { margin-top: 40px; }
#access #GoogleMap div .logo img { width: 250px; }
#access #GoogleMap div p + p { padding-top: 20px; }


@media screen and (max-width: 1317px) {
	#access #GoogleMap { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 800px) {
	#access #GoogleMap { padding: 100px 15px 0 15px; }
}


/*==// 電車でお越しの場合 //==*/
#access #ByTrain {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#access #ByTrain .contents_pc { margin-top: 60px; }
#access #ByTrain .contents_sp { display: none !important; }


@media screen and (max-width: 1317px) {
	#access #ByTrain { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 1416px) {
	#access #ByTrain .contents_pc {
		overflow-x: scroll;
	}
	#access #ByTrain .contents_pc img {
		min-width: 1200px;
	}
}

@media screen and (max-width: 800px) {
	#access #ByTrain { padding: 100px 15px 0 15px; }
	#access #ByTrain .contents_pc { display: none !important; }
	#access #ByTrain .contents_sp {
		max-width: 350px;
		margin: 60px auto 0 auto;
		display: block !important;
	}
}


/*==// お車でお越しの場合 //==*/
#access #ByCar .contents dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#access #ByCar .contents dl:first-child { border-top: solid 1px #172c57; }
#access #ByCar .contents dl dt {
	min-width: 250px;
	font-weight: 600;
}

@media screen and (max-width: 670px) {
	#access #ByCar .contents dl { display: block; }
	#access #ByCar .contents dl dd { margin-top: 10px; }
}


/*==// 周辺観光 //==*/
#access #Sightseeing {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
}
#access #Sightseeing h3 {
	text-align: center;
	font-size: 58px;
	font-size: 5.8rem;
	font-weight: 600;
	white-space: nowrap;
}
#access #Sightseeing h3 .ja {
	font-size: 16px;
	font-size: 1.6rem;
	display: block;
}
#access #Sightseeing ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#access #Sightseeing ul:after {
	width: calc( (100% / 3) - 40px );
	display: block;
	content:"";
}
#access #Sightseeing ul li {
	width: calc( (100% / 3) - 40px );
	margin-top: 60px;
	position: relative;
}
#access #Sightseeing ul li > p {
	width: 100%;
	height: 27vh;
	overflow: hidden;
}
#access #Sightseeing ul li > p img { 
	height: 100%;
	object-fit: cover;
}
#access #Sightseeing ul li dl {
	position: relative;
	bottom: 25px;
}
#access #Sightseeing ul .noimg dl { bottom: 0; }
#access #Sightseeing ul li dl dt {
	width: 16vw;
	margin: 0 auto;
	padding: 7.5px 10px;
	text-align: center;
	background-color: #172c57;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 600;
	position: relative;
}
#access #Sightseeing ul li dl dt:after {
	background-color: #172c57;
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	display: block;
	margin: 0 auto;
	width: calc(100% - 10px);
	height: 2px;
	background-color: #000;
	content: '';
}
#access #Sightseeing ul li dl .distance {
	margin-top: 30px;
	padding: 5px 0;
	text-align: center;
	border: 1px solid #b99f0f;
	color: #b99f0f;
	font-weight: 600;
	border-radius: 50px;
}

#access #Sightseeing ul li dl .text { margin-top: 20px; }

@media screen and (max-width: 1317px) {
	#access #Sightseeing { padding: 150px 50px 0 50px; }
	#access #Sightseeing ul li { width: calc( (100% / 3) - 20px ); }
	#access #Sightseeing ul:after { width: calc( (100% / 3) - 20px ); }
}

@media screen and (max-width: 950px) {
	#access #Sightseeing ul li {
		width: calc( (100% / 2) - 7.5px );
		margin-top: 40px;
	}
	#access #Sightseeing ul:after { width: calc( (100% / 2) - 7.5px ); }
	#access #Sightseeing ul li dl dt { width: 32vw; }
}

@media screen and (max-width: 800px) {
	#access #Sightseeing { padding: 100px 15px 0 15px; }
	#access #Sightseeing h3 {
		font-size: 34px;
		font-size: 3.4rem;
	}
	#access #Sightseeing h3 .ja {
		font-size: 12px;
		font-size: 1.2rem;
	}

}

@media screen and (max-width: 490px) {
	#access #Sightseeing ul li { width: calc( (100% / 1) - 0px ); }
	#access #Sightseeing ul:after { width: calc( (100% / 1) - 0px ); }
	#access #Sightseeing ul li dl dt { width: 64vw; }
}


/*========/ お知らせ/スタッフブログ /========*/
#NewsBlog article {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
	display: flex;
	column-gap: 60px;
}
#NewsBlog article h3 { margin-bottom: 20px; }
#NewsBlog article .NewsBloglist {
	width: 100%;
}
#NewsBlog article .NewsBloglist > ul li:first-child {border-top: 1px solid #172c57; }
#NewsBlog article .NewsBloglist ul { list-style: none; }
#NewsBlog article .NewsBloglist > ul >li dl {
	padding: 20px 5px;
	display: flex;
	border-bottom: 1px solid #b1bcd3;
}
#NewsBlog article .NewsBloglist > ul >li dl dt {
	width: 270px;
	display: flex;
}
#NewsBlog article .NewsBloglist > ul >li dl dt .category a {
	width: 8em;
	margin-left: 15px;
	display: block;
	text-align: center;
	border: 1px solid #172c57;
	border-radius: 5px;
	box-sizing: content-box;
	background-color: #172c57;
	color: #fff;
	font-size: 1.3rem;
	text-decoration: none;
	transition: .3s;
}
#NewsBlog article .NewsBloglist > ul >li dl dt .category a:hover {
	color: #172c57;
	background-color: #fff;
}
#NewsBlog article .NewsBloglist > ul >li dl .title a {
	font-weight: 600;
	display: inline-block;
	text-decoration: none;
	position: relative;
}
#NewsBlog article .NewsBloglist > ul >li dl .title a::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #172c57;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#NewsBlog article .NewsBloglist > ul >li dl .title a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
#NewsBlog article .NewsBloglist .pageNavi {
	margin-top: 20px;
	text-align: center;
}
#NewsBlog article .NewsBloglist .pageNavi ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#NewsBlog article .NewsBloglist .pageNavi ul li { margin: 10px 10px 0 0; }
#NewsBlog article .NewsBloglist .pageNavi ul li span , #NewsBlog article .NewsBloglist .pageNavi ul li a{
	height: 30px;
	padding: 0 10px;
	border: 1px solid #172c57;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #172c57;
	font-weight: 600;
	text-decoration: none;
}
#NewsBlog article .NewsBloglist .pageNavi ul li a {
	color: #fff;
	background: #172c57;
}

#NewsBlog article aside {
	min-width: 200px;
	position: relative;
	top: 0;
}
#NewsBlog article aside ul { list-style: none; }
#NewsBlog article aside > ul > li + li { margin-top: 40px; }
#NewsBlog article aside ul li > p {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 600;
}
#NewsBlog article aside ul li ul li + li { margin-top: 10px; }

@media screen and (max-width: 1317px) {
	#NewsBlog article { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 1150px) {
	#NewsBlog article .NewsBloglist > ul >li dl {
		display: block;
	}
	#NewsBlog article .NewsBloglist > ul >li dl dd {
		margin-top: 10px;
	}
}

@media screen and (max-width: 800px) {
	#NewsBlog article { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 700px) {
	#NewsBlog article { display: block; }
	#NewsBlog article aside { margin-top: 40px; }
}


/*========/ お知らせ/スタッフブログ記事 /========*/
#NewsBlog_article article {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
	display: flex;
	column-gap: 60px;
}
#NewsBlog_article article .article_area { width: 100%; }
#NewsBlog_article article .article_area .date {
	min-height: 45px;
	display: flex;
	align-items: center;
}
#NewsBlog_article article .article_area .date .category a {
	width: 8em;
	margin-left: 30px;
	display: block;
	text-align: center;
	border: 1px solid #172c57;
	border-radius: 5px;
	box-sizing: content-box;
	background-color: #172c57;
	color: #fff;
	font-size: 1.3rem;
	text-decoration: none;
	transition: .3s;
}
#NewsBlog_article article .article_area .date .category a:hover {
	color: #172c57;
	background-color: #fff;
}
#NewsBlog_article article .article_area .title {
	min-height: 45px;
	padding-bottom: 20px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #172c57;
	line-height: 1.6;
	font-size: 26px;
	font-size: 2.6rem;
	position: relative;
}
#NewsBlog_article article .article_area .news-detail-block { margin: 40px 0; }
#NewsBlog_article article .article_area .news-detail-block ul ,
#NewsBlog_article article .article_area .news-detail-block ol { padding-left: 20px; }
#NewsBlog_article article .article_area .common_button + .common_button { margin-top: 10px; }
#NewsBlog_article article .article_area .ToList { margin-top: 80px; }
#NewsBlog_article article aside {
	min-width: 200px;
	position: relative;
	top: 0;
}
#NewsBlog_article article aside ul { list-style: none; }
#NewsBlog_article article aside > ul > li + li { margin-top: 40px; }
#NewsBlog_article article aside ul li > p {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 600;
}
#NewsBlog_article article aside ul li ul li + li { margin-top: 10px; }

@media screen and (max-width: 1317px) {
	#NewsBlog_article article { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 800px) {
	#NewsBlog_article article { padding: 100px 15px 0 15px; }
	#NewsBlog_article article { display: block; }
	#NewsBlog_article article .article_area {
		padding-bottom: 60px;
		border-bottom: 1px solid #b1bcd3;
	}
	#NewsBlog_article article aside { margin-top: 60px; }
}


/*========/ お問い合わせ /========*/
#contact .contact_form {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
}
#contact .contact_form .tel-box .tel {
	margin-top: 40px;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: 600;
}
#contact .contact_form .tel-box .tel i {
	font-size: 24px;
	font-size: 2.4rem;
	margin-right: 7px;
}
#contact .contact_form .tel-box dl {
	margin-top: 10px;
	display: flex;
	column-gap: 8px;
}
#contact .contact_form .tel-box dl dt {
	width: 108px;
	display: flex;
	justify-content: space-between;
}
#contact .contact_form .tel-box dl dt:after { content: ":"; }
#contact .contact_form .tel-box dl dd { font-weight: 600; }

#contact .contact_form .form-text { margin: 100px 0; }
#contact .contact_form .form-text > p { margin-top: 40px; }
#contact .contact_form .form-text dl { margin-top: 40px; }
#contact .contact_form .form-text dl dt {
	padding-left: 10px;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 600;
	position: relative;
}
#contact .contact_form .form-text dl dt:before {
	content: "";
	display: block;
	position: absolute;
	top: calc(0.75em - 0.3rem);
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #172c57;
}
#contact .contact_form .form-text .privacy-box {
	padding: 30px 20px;
	border: #b1bcd3 solid 1px;
}
#contact .contact_form .form-text .privacy-box dt { margin-bottom: 20px; }

#form > dl + dl { padding-top: 60px; }
#form > dl dt {
	align-items: center;
	display: flex;
	font-weight: 600;
}
#form > dl dt span {
	margin-left: 20px;
	padding: 0 15px;
	color: #fff;
	font-size: 1.4rem;
	background: #172c57;
}
#form > dl dd { margin-top: 15px; }
#form input[type="text"], #form input[type="email"], #form textarea {
	width: 60%;
	padding: 15px;
	background: #f2f2f2;
	border: 1px solid #fff;
	border-radius: 6px;
}
#form #title {
	width: calc( 100% - 30px );
	height: 15px;
}
#form #comment {
	width: calc( 100% - 30px );
	height: 150px;
}
#form > p {
	margin-top: 40px;
	text-align: center;
}
#form > p a {
	color: #172c57;
	font-weight: 600;
}
#form .confirm[disabled] { background: #ccc; }
#form .confirm {
	width: 14em;
	margin: 30px auto 0;
	padding: 12px 20px;
	display: block;
	border: none;
	text-align: center;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	font-size: 1.5rem;
	background: #172c57;
	cursor: pointer;
	transition: all .3s ease;
}

@media screen and (max-width: 1317px) {
	#contact .contact_form { padding: 100px 50px 0 50px; }
}
@media screen and (max-width: 800px) {
	#contact .contact_form { padding: 100px 15px 0 15px; }
}


/*==// お問い合わせ確認 //==*/
.contact_confirmation ul {
	padding-top: 60px;
	display: flex;
	column-gap: 30px;
	justify-content: center;
}
.contact_confirmation ul li { list-style: none; }
.contact_confirmation ul li  p input {
	display: flex;
	justify-content: space-around;
	padding: 10px 40px 10px 40px;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	font-size: 1.5rem;
	background-color: #172c57;
	border: 1px solid;
	border-color: #172c57;
	text-decoration: none;
	position: relative;
	white-space:nowrap;
	cursor: pointer;
	transition: 0.2s ease-in-out;
}
.contact_confirmation ul li  p input:hover {
	color: #172c57;
	background-color: #fff;
}

@media screen and (max-width: 800px) {
	.contact_confirmation ul {
		display: block;
	}
	.contact_confirmation ul li  p input {
		margin: 15px auto;
		font-size: 13px;
		font-size: 1.3rem;
	}
}

/*==// お問い合わせエラー //==*/
#contact .contact-error {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
	text-align: center;
}
#contact .contact-error .title {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
}
#contact .contact-error p + p { margin-top: 40px; }
#contact .contact-error p a {
	width: 14em;
	margin: 30px auto 0;
	padding: 12px 20px;
	display: block;
	border: #172c57 solid 1px;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	font-size: 1.5rem;
	background: #172c57;
	cursor: pointer;
	transition: all .3s ease;
}
#contact .contact-error p a:hover {
	color: #172c57;
	background-color: #fff;
}

@media screen and (max-width: 1317px) {
	#contact .contact-error { padding: 100px 50px 0 50px; }
}
@media screen and (max-width: 800px) {
	#contact .contact-error { padding: 100px 15px 0 15px; }
}


/*==// お問い合わせ完了 //==*/
#contact .completion {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
	text-align: center;
}
#contact .completion .title {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
}
#contact .completion p:first-child {margin-bottom: 40px; }
#contact .completion p + p { margin-top: 20px; }
#contact .completion p a {
	width: 14em;
	margin: 30px auto 0;
	padding: 12px 20px;
	display: block;
	border: #172c57 solid 1px;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	font-size: 1.5rem;
	background: #172c57;
	cursor: pointer;
	transition: all .3s ease;
}
#contact .completion p a:hover {
	color: #172c57;
	background-color: #fff;
}

@media screen and (max-width: 1317px) {
	#contact .completion { padding: 100px 50px 0 50px; }
}
@media screen and (max-width: 800px) {
	#contact .completion { padding: 100px 15px 0 15px; }
}


/*========/ サイトマップ /========*/
#sitemap .sitemap_block {
	max-width: 1400px;
	margin: auto;
	padding: 40px 100px 0 100px;
}
#sitemap .sitemap_block .UpperNav{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sitemap .sitemap_block .UpperNav:after {
	width: calc( (100% / 3) - 40px );
	display: block;
	content: "";
}
#sitemap .sitemap_block .UpperNav > li {
	width: calc( (100% / 3) - 40px );
	margin-top: 60px;
	padding-top: 10px;
	border-top: 1px solid #172c57;
	position: relative;
}
#sitemap .sitemap_block .UpperNav > li > a {
	text-decoration: none;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	transition: .3s;
}
#sitemap .sitemap_block .UpperNav > li > a:hover { color: #b99f0f; }
#sitemap .sitemap_block .UpperNav > li > a .en {
	font-size: 36px;
	font-size: 3.6rem;
	font-weight: 600;
}
#sitemap .sitemap_block .UpperNav > li > a .ja {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 10px;
	position: relative;
}
#sitemap .sitemap_block .UpperNav > li > ul > li {
	margin-top: 20px;
	padding-left: 20px;
	position: relative;
}
#sitemap .sitemap_block .UpperNav > li > ul > li:before {
	content: '';
	width: 8px;
	height: 1px;
	top: 50%;
	left: 4px;
	display: block;
	background: #1c1686;
	position: absolute;
}
#sitemap .sitemap_block .UpperNav > li > ul > li > a {
	text-decoration: none;
	position: relative;
	transition: .3s;
}
#sitemap .sitemap_block .UpperNav > li > ul > li > a:hover { color: #b99f0f; }
#sitemap .sitemap_block .UpperNav > li > ul > li > a .en {
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
}
#sitemap .sitemap_block .UpperNav > li > ul > li > a .ja {
	padding-left: 20px;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 10px;
	position: relative;
}
#sitemap .sitemap_block .UpperNav > li > ul > li > a .ja:before {
	content: '/';
	top:50%;
	left: 10px;
	transform: translate(-50%,-50%);
	position: absolute;
}

#sitemap .sitemap_block .LowerNav {
	margin-top: 60px;
	padding-top: 60px;
	align-items: center;
	border-top: 1px solid #b1bcd3;
	column-gap: 60px;
}

#sitemap .sitemap_block .LowerNav ul { margin-top: 40px; }
#sitemap .sitemap_block .LowerNav .Reserve_button a {
	width: 30vw;
	max-width: 400px;
	min-width: 240px;
	padding: 18px 0;
	display: block;
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	background-color: #b99f0f;
	border: 1px solid #b99f0f;
	text-decoration: none;
	transition: .3s;
}
#sitemap .sitemap_block .LowerNav .Reserve_button a span {
	padding-left: 30px;
	font-size: 18px;
	font-size: 1.8rem;
	position: relative;
}
#sitemap .sitemap_block .LowerNav .Reserve_button a span:before {
	content: '';
	width: 1px;
	height: 16px;
	top: 50%;
	left: 15px;
	transform: translate(-50%,-50%);
	background-color: #fff;
	transition: .3s;
	position: absolute;
}
#sitemap .sitemap_block .LowerNav .Reserve_button a:hover {
	color: #b99f0f;
	background-color: #fff;
}
#sitemap .sitemap_block .LowerNav ul { display: flex; }
#sitemap .sitemap_block .LowerNav ul li:not(:last-child) {
	padding-right: 40px;
	position: relative;
}
#sitemap .sitemap_block .LowerNav ul li:not(:last-child):after {
	content: '';
	width: 1px;
	height: 15px;
	top: 50%;
	right: 20px;
	transform: translate(-50%,-50%);
	background-color: #1c1686;
	position: absolute;
}
#sitemap .sitemap_block .LowerNav ul li a {
	text-decoration: none;
	transition: .3s;
	position: relative;
}
#sitemap .sitemap_block .LowerNav ul li a:hover { color: #b99f0f }

@media screen and (max-width: 1317px) {
	#sitemap .sitemap_block { padding: 40px 50px 0 50px; }
}
@media screen and (max-width: 1100px) {
	#sitemap .sitemap_block .UpperNav:after { width: calc( (100% / 3) - 20px ); }
	#sitemap .sitemap_block .UpperNav > li { width: calc( (100% / 3) - 20px ); }
}
@media screen and (max-width: 900px) {
	#sitemap .sitemap_block .UpperNav:after { width: calc( (100% / 2) - 20px ); }
	#sitemap .sitemap_block .UpperNav > li { width: calc( (100% / 2) - 20px ); }
}
@media screen and (max-width: 850px) {
	#sitemap .sitemap_block .LowerNav ul { display: block; }
	#sitemap .sitemap_block .LowerNav ul { display: block; }
	#sitemap .sitemap_block .LowerNav ul li:not(:last-child) {
		padding-right: 0;
		padding-bottom: 20px;
	}
	#sitemap .sitemap_block .LowerNav ul li:not(:last-child):after { content: none; }
}
@media screen and (max-width: 800px) {
	#sitemap .sitemap_block { padding: 40px 15px 0 15px; }
	#sitemap .sitemap_block .UpperNav:after { width: calc( (100% / 2) - 7.5px ); }
	#sitemap .sitemap_block .UpperNav > li { width: calc( (100% / 2) - 7.5px ); }
	#sitemap .sitemap_block .UpperNav > li > a .en {
		font-size: 26px;
		font-size: 2.6rem;
	}
}

@media screen and (max-width: 500px) {
	#sitemap .sitemap_block .UpperNav:after { width: calc( (100% / 1) - 0px ); }
	#sitemap .sitemap_block .UpperNav > li { width: calc( (100% / 1) - 0px ); }
	#sitemap .sitemap_block .UpperNav > li > a .en {
		font-size: 22px;
		font-size: 2.2rem;
	}
	#sitemap .sitemap_block .LowerNav .Reserve_button a { width: auto; }
	#sitemap .sitemap_block .LowerNav ul { display: block; }
	#sitemap .sitemap_block .LowerNav ul li:not(:last-child) {
		padding-right: 0;
		padding-bottom: 20px;
	}
	#sitemap .sitemap_block .LowerNav ul li:not(:last-child):after { content: none; }
}


/*========/ 利用規約 /========*/
#terms .facility , #terms .site {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
}
#terms .facility h3 , #terms .site h3 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 600;
}
#terms .facility h3 .ja , #terms .site h3 .ja {
	font-size: 26px;
	font-size: 2.6rem;
	display: block;
}
#terms .facility h4 , #terms .site h4 {
	font-size: 20px;
	font-size: 2rem;
	padding-left: 1em;
	text-indent: -1em;
}
#terms .facility h4 span , #terms .site h4 span {
	top: -7px;
	margin-right: 5px;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}
@media screen and (max-width: 1317px) {
	#terms .facility , #terms .site { padding: 100px 50px 0 50px; }
}
@media screen and (max-width: 800px) {
	#terms .facility { padding: 40px 15px 0 15px; }
	#terms .site { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 670px) {
	#terms .facility h3 , #terms .site h3 {
		font-size: 12px;
		font-size: 1.2rem;
	}
	#terms .facility h3 .ja , #terms .site h3 .ja {
		font-size: 20px;
		font-size: 2rem;
	}
	#terms .facility h4 , #terms .site h4 {
		font-size: 18px;
		font-size: 1.8rem;
	}
	#terms .facility h4 span , #terms .site h4 span {
		top: -7px;
		margin-right: 5px;
		font-size: 10px;
		font-size: 1rem;
	}
}

/*==// 施設利用規約 //==*/
#terms .facility > p { margin-top: 20px; }
#terms .facility > ol , #terms .site > ol { list-style: none; }
#terms .facility > ol > li ,#terms .site > ol > li { margin-top: 80px; }
#terms .facility > ol > li > p { margin-top: 20px; }
#terms .facility > ol > li > .contents {
	width: 500px;
	margin-top: 20px;
}
#terms .facility > ol > li > .contents dl {
	padding: 10px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#terms .facility > ol > li > .contents dl:first-child { border-top: solid 1px #172c57; }
#terms .facility > ol > li > .contents dl dt {
	min-width: 350px;
	font-weight: 600;
}
#terms .facility > ol > li > ul {
	margin-top: 20px;
	list-style: none;
}
#terms .facility > ol > li > ul > li {
	margin-top: 20px;
	padding-left: 15px;
	position: relative;
}
#terms .facility > ol > li > ul > li:before {
	content: '';
	border-radius: 50%;
	width: 2px;
	height: 2px;
	display: block;
	position: absolute;
	top: 11px;
	left: 7px;
	background-color: currentColor;
}
#terms .facility > ol > li > ol {
	margin-top: 20px;
	padding-left: 20px;
}

#terms .facility > ol > li > ol > li { margin-top: 10px; }
#terms .facility > ol > li > ul > li >ol {
	margin-top: 10px;
	padding-left: 20px;
}

@media screen and (max-width: 670px) {
	#terms .facility > ol > li > .contents { width: 100%; }
	#terms .facility > ol > li > .contents dl { display: block; }
	#terms .facility > ol > li > .contents dl dd { margin-top: 5px; }
}


/*==// サイト利用規約 //==*/
#terms .site > ol > li:first-child { margin-top: 40px; }
#terms .site > ol >li > p { margin-top: 20px; }
#terms .site > ol >li > ul {
	margin-top: 20px;
	list-style: none;
}
#terms .site > ol >li > ul > li {
	margin-top: 20px;
	padding-left: 15px;
	position: relative;
}
#terms .site > ol >li > ul > li:before {
	content: '';
	border-radius: 50%;
	width: 2px;
	height: 2px;
	display: block;
	position: absolute;
	top: 11px;
	left: 7px;
	background-color: currentColor;
}


/*========/ 特定商取引法に基づく表記 /========*/
#terms-of-sale .title_block-mini h2 { white-space: break-spaces; }
#terms-of-sale .title_block-mini h2 .ja {	width: fit-content;
	width: fit-content;
	padding: 20px 20px 20px 0;
	font-size: 50px;
	font-size: 5rem;
}
#terms-of-sale .title_block-mini h2 .en {
	width: fit-content;
	margin-top: -20px;
	padding: 0 20px 20px 0;
	font-size: 1.6px;
	font-size: 1.6rem;
}
#terms-of-sale .terms-of-sale_list{
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
}
#terms-of-sale .terms-of-sale_list ul { list-style: none; }
#terms-of-sale .terms-of-sale_list ul li:first-child { border-top: solid 1px #172c57; }
#terms-of-sale .terms-of-sale_list ul li dl {
	padding: 20px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#terms-of-sale .terms-of-sale_list ul li dl dt {
	min-width: 250px;
	font-weight: 600;
}

@media screen and (max-width: 1317px) {
	#terms-of-sale .terms-of-sale_list { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 800px) {
	#terms-of-sale .terms-of-sale_list { padding: 100px 15px 0 15px; }
	#terms-of-sale .title_block-mini h2 .ja {
		font-size: 26px;
		font-size: 2.6rem;
	}
	#terms-of-sale .title_block-mini h2 .en {
		font-size: 12px;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 670px) {
	#terms-of-sale .terms-of-sale_list ul li dl { display: block; }
	#terms-of-sale .terms-of-sale_list ul li dl dd { margin-top: 10px; }
}


/*========/ プライバシーポリシー /========*/
#privacy .PParea {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
}
#privacy .PParea h3 {
	margin-top: 80px;
	font-size: 26px;
	font-size: 2.6rem;
	padding-left: 1em;
	text-indent: -1em;
}
#privacy .PParea h3:first-child { margin-top: 0; }
#privacy .PParea h3 span {
	top: -12px;
	margin-right: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}
#privacy .PParea > p { margin-top: 20px; }
#privacy .PParea ul {
	margin-top: 20px;
	list-style: none;
}
#privacy .PParea ul li {
	margin-top: 10px;
	padding-left: 15px;
	position: relative;
}
#privacy .PParea ul li:before {
	content: '';
	border-radius: 50%;
	width: 2px;
	height: 2px;
	display: block;
	position: absolute;
	top: 11px;
	left: 7px;
	background-color: currentColor;
}
#privacy .PParea .date {
	margin-top: 80px;
	text-align: right;
}

@media screen and (max-width: 1317px) {
	#privacy .PParea { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 800px) {
	#privacy .PParea { padding: 40px 15px 0 15px; }
	#privacy .PParea h3 {
		font-size: 20px;
		font-size: 2rem;
	}
	#privacy .PParea h3 span {
		top: -7px;
		margin-right: 5px;
	}
}



/*========/ 宿泊約款 /========*/
#lodging .lodgingarea {
	max-width: 1400px;
	margin: auto;
	padding: 100px 100px 0 100px; 
}
#lodging .lodgingarea h3 {
	margin-top: 80px;
	font-size: 26px;
	font-size: 2.6rem;
	padding-left: 2em;
	text-indent: -2em;
}

#lodging .lodgingarea .AboutFeesh3 {
	padding-left: 2.5em;
	text-indent: -2.5em;
}
#lodging .lodgingarea h3:first-child { margin-top: 0; }
#lodging .lodgingarea h3 span {
	top: -12px;
	margin-right: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}
#lodging .lodgingarea > p { margin-top: 20px; }
#lodging .lodgingarea > ul {
	margin-top: 20px;
	list-style: none;
}
#lodging .lodgingarea > ul > li {
	margin-top: 10px;
	padding-left: 15px;
	position: relative;
}
#lodging .lodgingarea > ul > li:before {
	content: '';
	border-radius: 50%;
	width: 2px;
	height: 2px;
	display: block;
	position: absolute;
	top: 11px;
	left: 7px;
	background-color: currentColor;
}
#lodging .lodgingarea > ol { margin-top: 20px; }
#lodging .lodgingarea > ol > li {
	margin-top: 10px;
	margin-left: 20px;
}
#lodging .lodgingarea > ol > li >ul { margin-top: 5px; }
#lodging .lodgingarea > ol > li >ul > li { margin-left: 20px; }
#lodging .lodgingarea > ul > li >ol , #lodging .lodgingarea > ol > li >ol { margin: 5px 0 0 30px; }
#lodging .lodgingarea > ul > li >ol > li , #lodging .lodgingarea > ol > li >ol > li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}
#lodging .lodgingarea > ul > li >ol > li::before , #lodging .lodgingarea > ol > li >ol > li::before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em;
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
#lodging .lodgingarea .remarks {
	margin-top: 20px;
	padding: 10px 0;
	border-top: solid 1px #172c57;
	border-bottom: solid 1px #b1bcd3;
}
#lodging .lodgingarea .remarks dt {
	margin-bottom: 10px;
	font-weight: 600;
}
#lodging .lodgingarea .remarks dd ol { margin-left: 20px; }
#lodging .lodgingarea .remarks dd ol li { margin-top: 10px; }
#lodging .lodgingarea .contents {
	width: 500px;
	margin-top: 20px;
}
#lodging .lodgingarea .contents dl {
	padding: 10px 0;
	display: flex;
	border-bottom: solid 1px #b1bcd3;
}
#lodging .lodgingarea .contents dl:first-child { border-top: solid 1px #172c57; }
#lodging .lodgingarea .contents dl dt {
	min-width: 350px;
	font-weight: 600;
}

@media screen and (max-width: 1317px) {
	#lodging .lodgingarea { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 800px) {
	#lodging .lodgingarea { padding: 40px 15px 0 15px; }
	#lodging .lodgingarea h3 {
		font-size: 20px;
		font-size: 2rem;
	}
	#lodging .lodgingarea h3 span {
		top: -7px;
		margin-right: 5px;
	}
}

@media screen and (max-width: 670px) {
	#lodging .lodgingarea .contents  { width: 100%; }
	#lodging .lodgingarea .contents  dl { display: block; }
	#lodging .lodgingarea .contents  dl dd { margin-top: 5px; }
}




/*========/ 体験 /========*/

#enjoy .enjoy-contents {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}

#enjoy .enjoy-contents .title {
	width: 25%;
	min-width: 270px;
}
#enjoy .enjoy-contents .contents { width: 85%; }

@media screen and (max-width: 1317px) {
	#enjoy .enjoy-contents { padding: 100px 50px 0 50px; }
}

@media screen and (max-width: 950px) {
	#enjoy .enjoy-contents { display: block; }
	#enjoy .enjoy-contents .title {width: auto; }
	#enjoy .enjoy-contents .contents {
		width: 100%;
		margin-top: 40px;
	}
}

@media screen and (max-width: 800px) {
	#enjoy .title_block p img { right: 40vw; }
	#enjoy .enjoy-contents { padding: 100px 15px 0 15px; }
}

@media screen and (max-width: 440px) {
	#enjoy .title_block p img { right: 85vw; }
}


/*==// 説明 //==*/
#enjoy #enjoy-descri {
	padding-top: 100px;
	display: flex;
	align-items: center;
	position: relative;
}
#enjoy #enjoy-descri .image {
	width: 62vw;
	height: 500px;
	left: 0;
	overflow: hidden;
	position: relative;
}
#enjoy #enjoy-descri .image img {
	display: block;
	width: 100%;
	height: calc(100% + 15vw);
	object-fit: cover;
	position: relative;
	top: -18vw;
}
#enjoy #enjoy-descri .text {
	width: 22vw;
	left : 8vw;
	position: relative;
}

#enjoy #enjoy-descri .text h3 {
	margin-bottom: 20px;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 3.6rem;
}

@media screen and (max-width: 1220px) {
	#enjoy #enjoy-descri { display: block; }
	#enjoy #enjoy-descri .image { width: 100vw; }
	#enjoy #enjoy-descri .text {
	width: calc(100% - 100px);
	top: 40px;
	left: 0;
	padding: 0 50px;
	}
}

@media screen and (max-width: 800px) {
	#enjoy #enjoy-descri .image { height: 250px; }
	#enjoy #enjoy-descri .image img {
		height: calc(100% + 18vw);
		top: -28vw;
	}
	#enjoy #enjoy-descri .text {
	width: calc(100% - 30px);
	padding: 0 15px;
	}
	#enjoy #enjoy-descri .text h3 {
		font-size: 20px;
		font-size: 2rem;
		line-height: 3rem;
	}
}

@media screen and (max-width: 440px) {
	#enjoy #enjoy-descri .image img{
		height: calc(100% + 30vw);
		top: -40vw;
	}
}


/*==// 周辺マップ //==*/
#enjoy .enjoy-map {
	max-width: 1400px;
	margin: 0 auto;
	padding: 150px 100px 0 100px;
	display: flex;
}
#enjoy .enjoy-map .title {
	width: 25%;
	min-width: 270px;
}
#enjoy .enjoy-map p { width: 85%; }

@media screen and (max-width: 1317px) {
	#enjoy .enjoy-map { padding: 100px 50px 0 50px; }
}
@media screen and (max-width: 950px) {
	#enjoy .enjoy-map { display: block; }
	#enjoy .enjoy-map .title ,
	#enjoy .enjoy-map p { width: 100%; }
	#enjoy .enjoy-map p { margin-top: 40px; }
}

@media screen and (max-width: 800px) {
	#enjoy .enjoy-map { padding: 100px 15px 0 15px; }
}


/*==// アクティビティ //==*/
#enjoy .enjoy-activity {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 100px;
}
#enjoy .enjoy-activity > h3 { margin-top: 80px; }
#enjoy .enjoy-activity > ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#enjoy .enjoy-activity > ul:after {
	width: calc((100% / 3) - 40px);
	display: block;
	content: "";
}
#enjoy .enjoy-activity > ul > li {
	margin-top: 40px;
	width: calc((100% / 3) - 40px);
}
#enjoy .enjoy-activity > ul > li .image {
	width: 100%;
	height: 18vw;
	overflow: hidden;
}
#enjoy .enjoy-activity > ul > li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#enjoy .enjoy-activity > ul > li > dl > dt h3 {
	margin-top: 16px;
	font-size: 2rem;
}
#enjoy .enjoy-activity > ul > li > dl > dd {
	margin-top: 16px;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-title {
	cursor: pointer;
	padding: 10px 0;
	font-weight: 600;
	border-top: solid 1px #929aaa;
	border-bottom: solid 1px #929aaa;
	position: relative;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-title::after {
	border-right: solid 1px #929aaa;
	border-top: solid 1px #929aaa;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 10px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 6px;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content {
	padding-bottom: 16px;
	border-bottom: solid 1px #929aaa;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .list li {
	margin-top: 16px;
	list-style: none;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .list li dl {
	display: flex;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .list li dl dt {
	max-width: 10em;
	min-width: 10em;
	font-weight: 600;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .root_btn {
	margin-top: 20px;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .root_btn a {
	width: calc( 100% - 20px );
	margin: auto;
	padding: 8px 10px;
	display: block;
	color: #fff;
	background-color: #172c57;
	border: 1px solid #172c57;
	text-align: center;
	text-decoration: none;
	transition: .3s;
}
#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .root_btn a:hover {
	color: #172c57;
	background-color: #fff;
}


#enjoy .enjoy-activity > h4 {
	margin-top: 40px;
	font-size: 2.2rem;
}
#enjoy .enjoy-activity > ul > li p iframe {
	width: 100%;
	height: 18vw;
}


@media screen and (max-width: 1317px) {
	#enjoy .enjoy-activity { padding: 0 50px; }
	#enjoy .enjoy-activity > ul:after { width: calc((100% / 3) - 16px); }
	#enjoy .enjoy-activity > ul > li { width: calc((100% / 3) - 16px); }
	#enjoy .enjoy-activity > ul > li > dl > dd .accordion-content .list li dl { display: block; }
}
@media screen and (max-width: 950px) {
	#enjoy .enjoy-activity > ul:after { width: calc((100% / 2) - 16px); }
	#enjoy .enjoy-activity > ul > li { width: calc((100% / 2) - 16px); }
	#enjoy .enjoy-activity > ul > li .image { height: 26vw; }
	#enjoy .enjoy-activity > ul > li  p iframe { height: 26vw; }
}

@media screen and (max-width: 800px) {
	#enjoy .enjoy-activity { padding: 0 15px; }
}

@media screen and (max-width: 650px) {
	#enjoy .enjoy-activity > ul:after { width: calc((100% / 1) - 0px); }
	#enjoy .enjoy-activity > ul > li { width: calc((100% / 1) - 0px); }
	#enjoy .enjoy-activity > ul > li .image { height: 64vw; }
	#enjoy .enjoy-activity > ul > li  p iframe { height: 64vw; }
}


