@charset "utf-8";
/* ===========================================================
	Spot CSS
=========================================================== */

#lead_col { margin-bottom: 100px; }
.hidden { display: none; }

@media screen and (max-width: 600px) {
	#lead_col { margin-bottom: 60px; }
}

/* ---------------------------------------------------
	共通
------------------------------------------------------ */
.spot_layout_list .cmn_btn01,
.spot_single .cmn_btn01 { color: #fff; background: var(--color01); display: block; text-align: center; font-size: 15px; padding: 10px 35px; border: 1px solid var(--color01); box-sizing: border-box; }
.spot_layout_list .cmn_btn01 span,
.spot_single .cmn_btn01 span { border: none; width: 100%; display: block; position: relative; }
.spot_layout_list .cmn_btn01 span::after,
.spot_single .cmn_btn01 span::after { position: absolute; right: 0; top: 0; }
.spot_layout_list .cmn_btn01.bg_wh,
.spot_single .cmn_btn01.bg_wh { color: 000; background: #fff; border-color: var(--color02); }

@media screen and (hover: hover) {
	.spot_layout_list .cmn_btn01:hover,
	.spot_single .cmn_btn01:hover { color: #fff; }
	.spot_layout_list .cmn_btn01.bg_wh:hover,
	.spot_single .cmn_btn01.bg_wh:hover { color: 000; }
}

@media screen and (max-width: 600px) {
	.spot_layout_list .cmn_btn01,
	.spot_single .cmn_btn01 { font-size: 14px; padding: 10px 20px; }
}

/* ---------------------------------------------------
	スポット一覧
------------------------------------------------------ */
.spot_layout { margin-top: 110px; }
.spot_layout #lead_col { padding: 0; }
.spot_layout #lead_col .page_photo { margin-bottom: 100px; }
.spot_layout #lead_col .page_tit { font-size: 30px; }
.spot_layout #lead_col .page_tit span { font-size: 35px; }
.spot_layout #lead_col.style01 .page_photo { margin-bottom: 45px;}
.spot_layout #lead_col.style01 .lead_tit { font-size: 35px; margin-bottom: 60px; }
.spot_layout #lead_col.style01 .lead_txt { margin: 0 0 45px;}
.spot_layout #lead_col.style01 .flex { display: flex; align-items: center; justify-content: center; }
.spot_layout #lead_col.style01 .cmn_btn01 { padding: 18px 40px; width: min(420px, 100%); background: #d9451a; box-sizing: border-box; display: block; color: #fff; font-size: 15px; margin: 0; }
.spot_layout #lead_col.style01 .cmn_btn01 span { border: none; }
.spot_layout #lead_col.style01 .flex li + li { margin-left: 35px;}
.spot_layout #lead_col.style01 .flex li + li .cmn_btn01 { background: #e98935;}
.spot_layout #lead_col.style01 .border_t { border-top: 1px dotted #5a5a5a; padding-top: 130px; margin-top: 110px;}
.spot_layout .spot_layout_list { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: -50px; }
.spot_layout .spot_layout_list::after { content: ''; display: block; width: min(330px, 30%); }
.spot_layout .spot_layout_list .spot_list { width: min(330px, 30%); padding: 20px 15px 35px; box-sizing: border-box; border: 1px solid var(--color02); position: relative; }
.spot_layout .spot_layout_list .spot_list .spot_detail { display: flex; flex-direction: column; height: 100%; }
.spot_layout .spot_layout_list .spot_list .btn_online,
.spot_layout .spot_layout_list .spot_list .btn_brand { position: absolute; top: -30px; left: -25px; text-align: center; display: flex; align-items: center; justify-content: center; border-radius: 50%; width: 105px; height: 105px; background: #ddce9a; font-size: 15px; letter-spacing: 0.09em; z-index: 2; }
.spot_layout .spot_layout_list .spot_list .btn_brand { background: #d3af54; color: #fff; }
.spot_layout .spot_layout_list .spot_list .btn_online span,
.spot_layout .spot_layout_list .spot_list .btn_brand span { margin-top: 10px; }
.spot_layout .spot_layout_list .spot_list { margin-top: 50px; }
.spot_layout .spot_layout_list .spot_list .main_img { width: 100%; }
.spot_layout .spot_layout_list .spot_list .main_img img { height: auto;}
.spot_layout .spot_layout_list .spot_list .spot_tit { font-size: 23px; text-align: center; margin-top: 20px; }
.spot_layout .spot_layout_list .spot_list .spot_txt { margin-top: 20px; margin-bottom: 30px; }
.spot_layout .spot_layout_list .spot_list .spot_link { margin: auto 0 0; }
.spot_layout .spot_layout_list .spot_list .spot_link li { width: 100%; }
.spot_layout .spot_layout_list .spot_list .spot_link li + li { margin-top: 15px; }
.spot_layout .spot_layout_list.coming { font-size: 24px; margin-top: 50px; }

@media screen and (hover: hover) {
}

@media screen and (max-width: 600px) {
	.spot_layout { margin-top: 60px; }
	.spot_layout .spot_layout_list .spot_list { width: 100%; padding: 20px 15px 35px; }
	.spot_layout .spot_layout_list::after { display: none; }
	.spot_layout #lead_col .page_tit { font-size: 20px; }
	.spot_layout #lead_col .page_tit span { font-size: 22px;}
	.spot_layout #lead_col.style01 .page_photo { margin-bottom: 30px;}
	.spot_layout #lead_col.style01 .lead_tit { font-size: 24px; margin-bottom: 40px; }
	.spot_layout #lead_col.style01 .lead_txt { margin: 0 0 30px;}
	.spot_layout #lead_col.style01 .flex { flex-direction: column; }
	.spot_layout #lead_col.style01 .cmn_btn01 { padding: 18px 10px; text-align: center; font-size: 14px; line-height: 1.2; }
	.spot_layout #lead_col.style01 .flex li { width: 100%; }
	.spot_layout #lead_col.style01 .flex li + li { margin: 20px 0 0; }
	.spot_layout #lead_col.style01 .border_t { padding-top: 45px; margin-top: 50px;}
	.spot_layout .spot_layout_list .spot_list .spot_detail { height: auto; }
	.spot_layout .spot_layout_list .spot_list .btn_online,
	.spot_layout .spot_layout_list .spot_list .btn_brand { top: -15px; left: -3.5%; width: 80px; height: 80px; font-size: 14px; letter-spacing: 0; line-height: 1.3; }
	.spot_layout .spot_layout_list .spot_list .btn_online span,
	.spot_layout .spot_layout_list .spot_list .btn_brand span { margin-top: 8px; }
	.spot_layout .spot_layout_list .spot_list + .spot_list { margin-top: 25px; }
	.spot_layout .spot_layout_list .spot_list:nth-child(n+4) { margin-top: 30px; }
	.spot_layout .spot_layout_list .spot_list .spot_tit { font-size: 18px; margin-top: 10px; }
	.spot_layout .spot_layout_list .spot_list .spot_txt { margin-top: 10px; margin-bottom: 20px; }
	.spot_layout .spot_layout_list .spot_list .spot_link li + li { margin-top: 5px; }
	.spot_layout .spot_layout_list .spot_list .spot_link li a { font-size: 14px; padding: 10px 20px; }
	.spot_layout .spot_layout_list.coming { font-size: 16px; margin-top: 25px; }
}


/* ---------------------------------------------------
	スポット一覧検索フォーム
------------------------------------------------------ */
.archive_spot#sec_area { margin-top: 20px; }
.archive_spot#sec_area .cmn_tit01 { margin-bottom: 30px; background-image: url(../img/spot/icon_serch.svg); }
.archive_spot#sec_area .serch_area { padding: 65px 30px 35px; background: var(--color03); margin-bottom: 140px; display: flex; justify-content: space-between; align-items: center; }
.archive_spot#sec_area .serch_area .detail_col { font-size: 16px; width: 500px; margin: 0 auto; }
.archive_spot#sec_area .serch_area .detail_col .select { width: 100%; height: 50px; display: flex; align-items: flex-start; }
.archive_spot#sec_area .serch_area .detail_col .select label { width: 120px; height: 100%; color: #fff; background: #8b8484; flex-shrink: 0; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.archive_spot#sec_area .serch_area .detail_col .select select { padding: 0 42px 0 20px; background: url(../img/common/arrow02.svg) no-repeat center right 20px/12px, #fff; border-radius: 0; border: 1px solid var(--color02); border-left: none; flex-grow: 1; font-size: 16px; height: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; -webkit-box-shadow: none; box-shadow: none; outline: none; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; color: #000; }
.archive_spot#sec_area .serch_area .detail_col .select + .select { margin-top: 30px;}
.archive_spot#sec_area .serch_area .detail_col .btn_col { margin-top: 40px; display: flex; align-items: center; justify-content: center; }
.archive_spot#sec_area .serch_area .detail_col .btn_col button { color: #fff; background-color: var(--color01); border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-size: 16px; width: min(260px, 51%); height: 50px; transition: opacity .5s; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;}

@media screen and (hover: hover) {
	.archive_spot#sec_area .serch_area .detail_col .btn_col button:hover { opacity: .7; }
}

@media screen and (max-width: 600px) {
	.archive_spot#sec_area { margin-top: 0; }
	.archive_spot#sec_area .cmn_tit01 { margin-bottom: 10px; background-size: 30px; }
	.archive_spot#sec_area .serch_area { padding: 30px 20px; margin-bottom: 60px; flex-direction: column; }
	.archive_spot#sec_area .serch_area .detail_col { width: 100%; font-size: 15px; }
	.archive_spot#sec_area .serch_area .detail_col .select { height: auto; flex-direction: column;}
	.archive_spot#sec_area .serch_area .detail_col .select label { width: 100%; height: auto; padding: 5px 20px; }
	.archive_spot#sec_area .serch_area .detail_col .select select { width: 100%; height: 40px; border-left: 1px solid var(--color02); border-top: none; }
	.archive_spot#sec_area .serch_area .detail_col .select + .select { margin-top: 20px;}
	.archive_spot#sec_area .serch_area .detail_col .btn_col { margin-top: 20px; }
	.archive_spot#sec_area .serch_area .detail_col .btn_col button { width: 100%; height: 45px;}
	.archive_spot#sec_area .serch_area .detail_col + .map_img { margin-top: 30px;}
}


/* ---------------------------------------------------
	ご宿泊予約
------------------------------------------------------ */
.cat01 #lead_col { margin-bottom: 0; }
.cat01 .bnr_campaign { margin-top: 135px; padding: 40px 160px; font-size: 26px; text-align: left; display: flex; align-items: center; justify-content: space-between; color: #685619; border: 1px solid #685619; }
.cat01 .bnr_campaign .arrow { flex-shrink: 0; }
.cat01 .archive_spot#sec_area  .cmn_tit01 { margin-bottom: 15px; }
.cat01 .archive_spot#sec_area  .serch_area { padding: 30px 30px 30px 50px; margin-bottom: 70px; }
.cat01 .archive_spot#sec_area  .serch_area .detail_col { width: 50%; margin: 0; }

@media screen and (hover: hover) {
	.cmn_btn02:hover .arrow p:after { animation: arrow-in 0.6s forwards ease-in; }
	.cmn_btn02:hover .arrow svg ellipse { stroke-dasharray: 280 280; stroke-dashoffset: 280; stroke-width: 1px; animation: circle-in 0.6s forwards ease-in; }
}

@media screen and (max-width: 600px) {
	.cat01 .bnr_campaign { margin-top: 60px; padding: 20px; font-size: 16px; }
	.cat01 .bnr_campaign .arrow { margin-left: 10px; }
	.cat01 .archive_spot#sec_area  .cmn_tit01 { background-size: 33px; }
	.cat01 .archive_spot#sec_area  .serch_area { padding: 30px 20px; margin-bottom: 30px; }
	.cat01 .archive_spot#sec_area  .serch_area .detail_col { width: 100%; }
}


/* ---------------------------------------------------
	エリア一覧
------------------------------------------------------ */
[class^="area"] .spot_layout { margin-top: 0; }
[class^="area"] #lead_col { width: 845px; margin-bottom: 105px; }
[class^="area"] #lead_col .cmn_tit01 { padding-top: 8px; padding-bottom: 8px; font-size: 26px; background-image: url(../img/common/hd_icon03.svg); background-size: 48px; margin-bottom: 50px; }
[class^="area"] #lead_col p { font-size: 17px; text-align: left; letter-spacing: 0.15em; line-height: 2.4; }
[class^="area"] #lead_col p a { border-bottom: 1px solid #000; }
[class^="area"] .serch_area { padding: 60px 40px 70px; margin-bottom: 70px; background: var(--color03); }
[class^="area"] .serch_area h2 { text-align: center; font-size: 25px; border-bottom: 1px solid var(--color02); padding-bottom: 27px; margin-bottom: 25px; letter-spacing: 0.1em; }
[class^="area"] .serch_area h2 span span { display: block; font-size: 18px; letter-spacing: 0.5em; margin-bottom: 5px; }
[class^="area"] .serch_area .select_col form { display: flex; align-items: center; justify-content: center; font-size: 21px; }
[class^="area"] .serch_area .select_col form label { display: flex; align-items: center; }
[class^="area"] .serch_area .select_col form label input { margin: 0 10px 0 0; padding: 0; vertical-align: text-bottom; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid #000; background: #fff; position: relative; vertical-align: text-bottom; border-radius: 0; height: 14px; width: 14px; }
[class^="area"] .serch_area .select_col form label input:checked { border: 1px solid #aaa; }
[class^="area"] .serch_area .select_col form label input:checked::after { content: ""; display: block; position: absolute; top: -2px; left: 3px; width: 4px; height: 10px; transform: rotate(40deg); border-bottom: 3px solid #000; border-right: 3px solid #000; }
[class^="area"] .serch_area .btn_col { margin-top: 35px; display: flex; align-items: center; justify-content: center; }
[class^="area"] .serch_area .btn_col button { color: #fff; background-color: var(--color01); border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-size: 16px; width: min(260px, 51%); height: 50px; transition: opacity .5s; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;}
[class^="area"] .serch_area .btn_col #search_clear { margin-left: 10px; background: #fff; border: 1px solid var(--color01); color: var(--color01);}

#area_pop { margin: 180px auto; }
#area_pop > div { width: min(800px, 100%); margin: 0 auto;}
#area_pop h3 { text-align: center; font-size: 25px; letter-spacing: 0.15em; margin-bottom: 75px; color: #666; }
#area_pop p { font-size: 17px; letter-spacing: 0.1em; line-height: 2.4; }
#area_pop .photo:nth-of-type(1) { margin: 65px 0 70px; }
#area_pop .photo:nth-of-type(2) { margin: 90px 0 70px; }
#area_pop p + p { margin-top: 40px; }
#area_pop .bottom_close { margin-top: 125px; }

[class^="area"] .serch_area .select_col form label + label { margin-left: 45px;}
[class^="area"] #area_map { margin-top: 120px; }
[class^="area"] #area_map h2 { text-align: center; font-size: 25px; color: #666; letter-spacing: 0.11em; margin-bottom: 50px; }

@media screen and (hover: hover) {
	[class^="area"] #lead_col p a:hover { border-color: transparent;}
}

@media screen and (max-width: 600px) {
	[class^="area"] #lead_col { width: 88%; margin-bottom:50px; }
	[class^="area"] #lead_col .cmn_tit01 { padding-top: 5px; padding-bottom: 5px; background-size: 35px; margin-bottom: 20px; }
	[class^="area"] #lead_col p { font-size: 16px; letter-spacing: 0.1em; line-height: 1.875; }
	[class^="area"] .serch_area { padding: 30px 20px 40px; margin-bottom: 40px; }
	[class^="area"] .serch_area h2 { font-size: 20px; padding-bottom: 20px; margin-bottom: 20px; }
	[class^="area"] .serch_area h2 span span { font-size: 16px; margin-bottom: 0; }
	[class^="area"] .serch_area .select_col form { justify-content: space-between; flex-wrap: wrap; font-size: 17px; }
	[class^="area"] .serch_area .select_col form label { width: max(100px, calc((100% - 10px) / 3));  margin-bottom: 5px; }
	[class^="area"] .serch_area .btn_col { margin-top: 20px; flex-direction: column; }
	[class^="area"] .serch_area .btn_col button { width: 100%; height: 40px; }
	[class^="area"] .serch_area .btn_col #search_clear { margin: 5px 0 0; }
	#area_pop { margin: 100px auto; padding: 50px 25px; }
	#area_pop > div { width: 100%; }
	#area_pop h3 { font-size: 20px; letter-spacing: 0.1em; margin-bottom: 20px; }
	#area_pop p { font-size: 16px; line-height: 1.8; }
	#area_pop p + p { margin-top: 35px; }
	#area_pop .photo:nth-of-type(1) { margin: 30px 0 30px; }
	#area_pop .photo:nth-of-type(2) { margin: 45px 0 30px; }
	#area_pop .bottom_close { margin-top: 60px; }

	[class^="area"] .serch_area .select_col form label + label { margin-left: 0;}
	[class^="area"] #area_map { margin-top: 80px; padding-bottom: 0; background: #fff; }
	[class^="area"] #area_map h2 { font-size: 22px; margin-bottom: 20px; }
}


/* ---------------------------------------------------
	主要観光スポット一覧
------------------------------------------------------ */
.main_spot .spot_layout { margin-top: 0; }
.main_spot #lead_col { width: 845px; margin-bottom: 105px; }
.main_spot #lead_col .cmn_tit01 { padding-top: 8px; padding-bottom: 8px; font-size: 26px; background-image: url(../img/common/hd_icon03.svg); background-size: 48px; margin-bottom: 50px; }
.main_spot #lead_col p { font-size: 17px; text-align: left; letter-spacing: 0.15em; line-height: 2.4; }
.main_spot #lead_col p a { border-bottom: 1px solid #000; transition: opacity .5s, border .5s; }

.main_spot .serch_area h2 { letter-spacing: 0.11em; }
.main_spot .serch_area .select_col form { width: 600px; margin: 0 auto; justify-content: space-between; flex-wrap: wrap; }
.main_spot .serch_area .select_col form label { width: 50%; }

@media screen and (max-width: 600px) {
	.main_spot #lead_col { width: 88%; margin-bottom:50px; }
	.main_spot #lead_col .cmn_tit01 { padding-top: 5px; padding-bottom: 5px; font-size: 26px; background-size: 35px; margin-bottom: 20px; }
	.main_spot #lead_col p { font-size: 16px; letter-spacing: 0.1em; line-height: 1.8; }

	.main_spot .serch_area .select_col form { width: 100%; }
	.main_spot .serch_area .select_col form label { width: 100%;}
}


/* ---------------------------------------------------
	スポット詳細
------------------------------------------------------ */
.spot_single.inner_sm { width: 950px; font-size: 15px; line-height: 2; letter-spacing: 0.1em; }
.spot_single .cmn_btn01 { padding: 20px 55px; line-height: 1; }
.spot_single .spot_tit { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin-bottom: 110px; }
.spot_single .spot_tit h2 { width: 100%; text-align: center; font-size: 26px; margin-bottom: 120px; }
.spot_single .spot_tit .tit_btn { width: min(280px, 100%); display: block; }
.spot_single .spot_tit .tit_btn + .tit_btn { margin-top: 20px; }
.spot_single .spot_tit .btn_online.tit_btn { color: #fff;  background: var(--color01); background-image: url(../img/common/icon_calendar.svg); background-position: center left calc(50% - 100px); background-repeat: no-repeat; text-align: center; font-size: 15px; padding: 20px 30px; border: 1px solid var(--color01); box-sizing: border-box; line-height: 1; }
.spot_single .spot_tit .btn_brand.tit_btn {color: #fff; background: #d3af54; text-align: center; font-size: 15px; padding: 10px 35px; border: 1px solid #d3af54; box-sizing: border-box; }
.spot_single .spot_tit .tax_col { line-height: 1; font-size: 14px; margin-left: auto; width: calc(100% - 300px); }
.spot_single .spot_tit .tax_col .spot_area { text-align: right; }
.spot_single .spot_tit .spot_tag { display: flex; justify-content: flex-end; flex-wrap: wrap; margin-top: 15px; }
.spot_single .spot_tit .spot_tag li { margin: 5px 0 0 10px;}
.spot_single .tagline { font-size: 26px; margin-bottom: 35px; }
.spot_single .main_img { margin-top: 85px; }
.spot_single .main_img .photo { aspect-ratio: 3 / 2; }
.spot_single .main_img + .main_img { margin-top: 60px;}
.spot_single .main_img .caption { margin-top: 20px; }
.spot_single .sub_img { margin-top: 100px; display: flex; justify-content: space-between; flex-wrap: wrap; }
.spot_single .sub_img > div { width: 450px; }
.spot_single .sub_img > div:nth-child(n+3) { margin-top: 60px; }
.spot_single .sub_img .photo { aspect-ratio: 4 / 3; }
.spot_single .sub_img .caption { margin-top: 20px; }
.spot_single .cmn_tit01 { padding: 0; margin: 105px 0 15px; }
.spot_single .map_wrap { position: relative; padding-top: 50%; }
.spot_single .map_wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.spot_single .table_col { margin-top: 30px; }
.spot_single .map_wrap + .table_col { margin-top: 75px; }
.spot_single .table_col > div { display: flex; border-bottom: 1px solid var(--color02); }
.spot_single .table_col > div dt { width: 180px; flex-shrink: 0; padding: 10px 0; }
.spot_single .table_col > div dd { flex-grow: 1; padding: 10px 0; }
.spot_single .table_col > div dd a { border-bottom: 1px solid; color: var(--color01);}
.spot_single .table_col > div dd ul { display: flex; }
.spot_single .table_col > div dd ul li + li { margin-left: 25px; }
.spot_single .table_col .note dt,
.spot_single .table_col .note dd { padding: 35px 0; }
.spot_single .blog_col { margin-top: 55px; display: flex; align-items: center; }
.spot_single .blog_col > p { width: 115px; height: 115px; font-size: 20px; text-align: center; line-height: 115px; border-radius: 100px; border: 1px solid var(--color02); margin-right: 65px;}
.spot_single .blog_col > ul { flex-grow: 1; }
.spot_single .blog_col > ul li a { border-bottom: 1px solid; color: var(--color01); }
.spot_single .blog_col > ul li + li { margin-top: 10px; }
.spot_single .btn_col { width: min(280px, 100%); margin: 70px auto 0; }
.spot_single .btn_col .reserve { background-image: url(../img/common/icon_calendar.svg); background-position: center left calc(50% - 100px); background-repeat: no-repeat; }
.spot_single .btn_col .cancel { padding: 20px 25px; }
.spot_single .btn_col li + li { margin-top: 25px; }
.spot_single .back_btn { line-height: 1; margin: 55px auto 0; border-bottom: 1px solid #000; width: fit-content; display: block; }

@media screen and (max-width: 600px) {
	.spot_single.inner_sm { width: 88%; font-size: 16px; line-height: 1.875; }
	.spot_single .cmn_btn01 { padding: 15px 20px; }
	.spot_single .spot_tit { flex-direction: column; margin-bottom: 70px; }
	.spot_single .spot_tit h2 { margin-bottom: 50px; }
	.spot_single .spot_tit .tit_btn { margin: 0 auto; }
	.spot_single .spot_tit .tit_btn + .tit_btn { margin-top: 10px; }
	.spot_single .spot_tit .btn_online.tit_btn { padding: 10px 35px; }
	.spot_single .spot_tit .btn_brand.tit_btn { margin: 0 auto; }
	.spot_single .spot_tit .tax_col { width: 100%; text-align: center; margin: 20px 0 0; letter-spacing: 0.05em; }
	.spot_single .spot_tit .spot_tag { margin-top: 10px; }
	.spot_single .spot_tit .spot_tag li { margin: 5px 0 0 5px;}
	.spot_single .tagline { font-size: 20px; margin-bottom: 20px; }
	.spot_single .main_img { margin-top: 50px; }
	.spot_single .main_img + .main_img { margin-top: 30px;}
	.spot_single .main_img .caption { margin-top: 5px; }
	.spot_single .sub_img { width: 100%; margin: 50px auto 0; }
	.spot_single .sub_img > div { width: calc(50% - 5px); }
	.spot_single .sub_img > div:nth-child(n+3) { margin-top: 10px; }
	.spot_single .sub_img .caption { margin-top: 5px; }
	.spot_single .cmn_tit01 { margin: 50px 0 5px; }
	.spot_single .map_wrap { padding-top: 75%; }
	.spot_single .table_col { margin-top: 15px; font-size: 14px; }
	.spot_single .map_wrap + .table_col {  margin-top: 30px; }
	.spot_single .table_col > div { flex-direction: column; }
	.spot_single .table_col > div dt { width: 100%; padding: 10px 0 0; }
	.spot_single .table_col > div dd { padding: 0 0 5px 0; }
	.spot_single .table_col > div dd ul { flex-wrap: wrap; }
	.spot_single .table_col > div dd ul li:not(:last-child) { margin-right: 10px;}
	.spot_single .table_col > div dd ul li + li { margin-left: 0; }
	.spot_single .table_col .note dt { padding: 10px 0 0; }
	.spot_single .table_col .note dd { padding: 5px 0; }
	.spot_single .blog_col { margin-top: 30px; flex-direction: column; }
	.spot_single .blog_col > p { width: 100%; height: auto; font-size: 16px; border-radius: 50px; line-height: 1; padding: 10px 0; margin: 0 0 10px;}
	.spot_single .blog_col > ul { width: 100%; font-size: 14px; }
	.spot_single .blog_col > ul li + li { margin-top: 5px; }
	.spot_single .btn_col { margin: 50px auto 0; }
	.spot_single .btn_col .reserve { background-image: url(../img/common/icon_calendar.svg); background-position: center left calc(50% - 100px); background-repeat: no-repeat; }
	.spot_single .btn_col .cancel { padding: 15px 20px; }
	.spot_single .btn_col li + li { margin-top: 10px; }
	.spot_single .back_btn { margin-top: 60px; }
}




/* ---------------------------------------------------
	体験・飲食予約
------------------------------------------------------ */
.activity01 .main_tit01 h1 span:nth-child(1) { font-size: 30px; letter-spacing: 0.05em; }
.activity01 main > h2 { text-align: center; font-size: 40px; padding-bottom: 50px; letter-spacing: 0.05em; }
.activity01 main > h2 + div img { height: auto; }
.activity01 .archive_spot#sec_area .serch_col { width: 840px; }
.activity01 #lead_col { margin-top: 60px; margin-bottom: 135px; text-align: left; width: 840px; }
.activity01 #lead_col .cmn_tit01 { margin-bottom: 40px; background-image: url(../img/common/hd_icon05.svg); }
.activity01 #lead_col p { font-size: 17px; text-align: left; letter-spacing: 0.15em; line-height: 2.4;}
.activity01 #lead_col a { width: 380px; margin-top: 30px; color: #fff; background: var(--color01); display: block; text-align: center; font-size: 16px; padding: 15px 35px; border: 1px solid var(--color01); box-sizing: border-box;}
.activity01 #lead_col a > span { border: none; width: 100%; display: block; }
.activity01 #lead_col a > span span:nth-child(2) { font-size: 13px; margin-left: 10px;}
.activity01 #lead_col a > span:after { display: none; }

@media screen and (hover: hover) {
	.activity01 #lead_col a:hover { color: #fff; }
}

@media screen and (max-width: 600px) {
	.activity01 .main_tit01 h1 span:nth-child(1) { font-size: 25px; }
	.activity01 main > h2 { font-size: 22px; padding: 0 6% 25px; }
	.activity01 #lead_col { margin-top: 40px; margin-bottom: 70px; width: 100%; }
	.activity01 #lead_col .cmn_tit01 { margin-bottom: 20px; background-size: 30px; }
	.activity01 #lead_col p { font-size: 16px; letter-spacing: 0.1em; line-height: 1.875;}
	.activity01 #lead_col a { width: min(320px, 100%); margin-top: 30px; font-size: 15px; padding: 15px 20px; }
	.activity01 #lead_col a > span { border: none; width: 100%; display: block; }
	.activity01 #lead_col a > span span:nth-child(2) { font-size: 13px; margin-left: 10px;}
	.activity01 #lead_col a > span:after { display: none; }
}
