@charset "UTF-8";

.sec {
	padding-top: 110px;
}

@media screen and (max-width: 768px) {
	.sec {
		padding-top: 80px;
	}
}

/* mv
---------------------------------------------- */
.mv {
	position: relative;
	background-image: url(../img/mv.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	aspect-ratio: 16 / 8;
}
.mv_box {
	position: absolute;
	color: #fff;
	text-shadow: 0px 0px 10px #333, 0px 0px 10px #333, 0px 0px 20px #333, 0px 0px 20px #333;
	top: 40%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	width: 98%;
}
.locationTtl .txt{
	color: #fff;
	font-weight: 100;
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	font-size: min(190px, 9vw);
	letter-spacing: normal;
	position: absolute;
	left: 0.3em;
	bottom: 0;
	line-height: 0.7;
}
.mv_tite {
	margin-top: 60px;
	font-size: 42px;
	font-size: clamp(1.625rem, 0.177rem + 3.013vw, 2.625rem);
	letter-spacing: 0.065em;
	font-weight: bold;
	line-height: 1.8;
}
.mv_tite .title_s {
	font-size: 24px;
	font-size: clamp(1.25rem, 0.888rem + 0.753vw, 1.5rem);
	display: block;
	font-weight: bold;
}
.mv_tite_lead {
	margin-top: 30px;
	font-size: clamp(1rem, 0.955rem + 0.227vw, 1.125rem);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
.mv .cap {
	position: absolute;
	color: #fff;
	font-size: 12px;
	bottom: 10px;
	right: 10px;
	text-shadow: 0px 0px 10px #000, 0px 0px 10px #000, 0px 0px 10px #000;
}

@media only screen and (max-width:768px) {
	.mv {
		aspect-ratio: 1 / 1;
	}
	.locationTtl .txt{
	font-size: max(50px, 13vw);
	letter-spacing: normal;
	position: absolute;
	left: 50%;
	bottom: 0;
	line-height: 0.7;
	width: 100%;
	transform: translateX(-50%) !important;
}
	.mv_tite {
		margin-top: 60px;
		font-size: max(20px, 4vw);
		letter-spacing: 0.065em;
		font-weight: bold;
		line-height: 1.8;
	}
	.mv_tite .title_s {
		font-size: max(14px, 3vw);
		/* font-size: clamp(1.25rem, 0.888rem + 0.753vw, 1.5rem); */
		display: block;
		font-weight: bold;
	}
	.mv_tite_lead {
		margin-top: 20px;
        font-size: max(0.8em, 2.2vw);
	}
	.mv .cap {
		bottom: unset;
		top: 10px;
	}
}

/* present
---------------------------------------------- */

.top-present {
	margin-top: 86px;
}
.bottom-present {
	margin-top: 86px;
}


.present .inner {
	padding: 0 15px;
	max-width: 1230px;
	width: 100%;
}

.present .content {
	background-color: #FCF4EE;
	border-radius: 20px;
	padding: 47px 40px 50px;
	position: relative;
}

.present .content:after {
	content: "";
	position: absolute;
	background-image: url(../img/icon_present01.png);
	background-size: contain;
	background-repeat: no-repeat;
	bottom: -12px;
	left: 22px;
	width: 96px;
	height: 83px;
}

.present .content::before {
	content: "";
	position: absolute;
	background-image: url(../img/icon_present02.png);
	background-size: contain;
	background-repeat: no-repeat;
	top: -26px;
	left: 32.5%;
	width: 80px;
	height: 80px;
}

.present .img_wrap,
.present .img_wrap02 {
	position: relative;
}

.present .img_wrap::before {
	content: "";
	position: absolute;
	background-image: url(../img/present_img01.png);
	background-size: contain;
	background-repeat: no-repeat;
	left: -0.5%;
	bottom: -10px;
	width: clamp(15.625rem, 8.5rem + 11.4vw, 19.188rem);
	height: clamp(21.313rem, 11.313rem + 16vw, 26.313rem);
}

.present .img_wrap::after {
	content: "";
	position: absolute;
	background-image: url(../img/present_img02.png);
	background-size: contain;
	background-repeat: no-repeat;
	filter: drop-shadow(2px 2px 8px rgba(0, 0, 0, 0.3));
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(12.5rem, -0.25rem + 20vw, 17.5rem);
	height: clamp(12.5rem, 6.25rem + 10vw, 15.625rem);
}

.present .img_wrap02::after {
	content: "";
	position: absolute;
	background-image: url(../img/icon_present04.png);
	background-size: contain;
	background-repeat: no-repeat;
	top: -59px;
	right: -14px;
	width: 68px;
	height: 69px;
}

.present .img_wrap02::before {
	content: "";
	position: absolute;
	background-image: url(../img/icon_present03.png);
	background-size: contain;
	background-repeat: no-repeat;
	bottom: -68px;
	right: calc(50% - 358px);
	width: 68px;
	height: 76px;
}

.present .title {
	font-size: 34px;
	font-weight: bold;
	color: #E49755;
	line-height: calc(52 / 34);
	letter-spacing: 0.065em;
	text-align: center;
}

.present .text {
	font-size: 22px;
	font-weight: bold;
	line-height: calc(42 / 22);
	letter-spacing: 0.065em;
	text-align: center;
	margin-top: 10px;
}

.present .button_wrap {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 32px;
}

.present .button a {
	display: block;
	border-radius: 50px;
	padding: 18px 73px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
}

.present .reservation a {
	background-color: #E49755;
}

.present .request a {
	background-color: #DD6693;
}

.present .cap {
	position: absolute;
	display: block;
	left: 122px;
	bottom: -35px;
	font-size: 12px;
}

.present .sp_img {
	display: none;
}

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

	.top-present {
		margin-top: 145px;
	}
	.bottom-present {
		margin-top: 166px;
	}
	

	.present .inner {
		padding: 0;
		max-width: 1230px;
		width: 100%;
	}

	.present .content {
		background-color: #FCF4EE;
		border-radius: 0;
		padding: 47px 35px 50px;
		position: relative;
	}

	.present .content:after {
		content: "";
		position: absolute;
		background-image: url(../img/icon_present_sp01.png);
		background-size: contain;
		background-repeat: no-repeat;
		top: -13px;
		left: calc(50% - min(50vw, 160px));
		width: 65px;
		height: 89px;
	}

	.present .content::before {
		content: "";
		position: absolute;
		background-image: url(../img/icon_present_sp02.png);
		background-size: contain;
		background-repeat: no-repeat;
		top: -28px;
		right: calc(50% - min(50vw, 170px));
		left: auto;
		width: 83px;
		height: 102px;
	}

	.present .img_wrap::before {
		content: "";
		position: absolute;
		background-image: url(../img/present_img01_sp.png);
		background-size: contain;
		background-repeat: no-repeat;
		left: 52%;
		top: -7%;
		transform: translate(-50%, -100%);
		width: 247px;
		height: 121px;
	}

	.present .img_wrap::after {
		display: none;
	}

	.present .img_wrap02::after {
		display: none;
	}

	.present .img_wrap02::before {
		display: none;
	}

	.present .title {
		font-size: 24px;
		font-weight: bold;
		color: #E49755;
		line-height: calc(44 / 24);
		letter-spacing: 0.065em;
		text-align: center;
	}

	.present .text {
		font-size: 18px;
		font-weight: bold;
		line-height: calc(36 / 18);
		letter-spacing: 0.065em;
		text-align: center;
		margin-top: 13px;
	}

	.present .button_wrap {
		display: block;
		text-align: center;
		max-width: 500px;
		width: 100%;
		margin: 30px auto 0;
	}

	.present .button:not(:first-child) {
		margin-top: 20px;
	}

	.present .button a {
		font-size: 20px;
		padding: 21px 73px;
	}

	.present .cap {
		position: absolute;
		display: block;
		bottom: auto;
		left: auto;
		top: -60px;
		right: calc(50% - min(50vw, 90px));
		font-size: 10px;
	}

	.present .sp_img {
		display: block;
		max-width: 280px;
		width: 100%;
		margin: 20px auto 0;
		aspect-ratio: 280 / 250;
	}

	.present .sp_img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}


/* tab_area
---------------------------------------------- */

.tab_area.top-tab_area {
	margin-top: 60px;
}
.tab_area.bottom-tab_area {
	margin-top: 68px;
}

.tab_area .description {
	font-size: 18px;
	font-weight: bold;
	line-height: calc(30 / 18);
	letter-spacing: 0.065em;
	text-align: center;
}

.tab_area .button_wrap {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 23px auto 0;
	max-width: 680px;
	width: 100%;
}

.tab_area .button::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 10%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 9px solid transparent;
	border-left: 9px solid transparent;
	border-top: 15px solid #5AAEC9;
	border-bottom: 0;
}

.tab_area.bottom-tab_area .button::after {
	border-right: 9px solid transparent;
	border-left: 9px solid transparent;
	border-bottom: 15px solid #5AAEC9;
	border-top: 0;
}

.tab_area .button.is-active::after {
	border-top: 15px solid #fff;
}
.tab_area.bottom-tab_area .button.is-active::after {
	border-bottom: 15px solid #fff;
	border-top: 0;
}

.tab_area .button{
	display: block;
	border-radius: 50px;
	border: 2px solid #5aaec9;
	width: inherit;
	padding: 18px 0;
	font-size: 24px;
	font-weight: bold;
	color: #5AAEC9;
	text-align: center;
	position: relative;
	cursor: pointer;
}

.tab_area .button.is-active {
	display: block;
	background-color: #5AAEC9;
	border-radius: 50px;
	border: none;
	width: inherit;
	padding: 18px 0;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.tab-content{
	display: none;
}

.tab-content.is-active{
	display: block;
}

@media only screen and (max-width:768px) {
	.tab_area.top-tab_area {
		padding: 0 35px;
		margin-top: 45px;
	}
	.tab_area.bottom-tab_area {
		padding: 0 35px;
		margin-top: 30px;
	}

	.tab_area .inner {
		width: 100%;
	}

	.tab_area .button_wrap {
		display: block;
		margin-top: 24px;
	}

	.tab_area .button {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
		
	}

	.tab_area .button:not(:first-child) {
		margin-top: 20px;
	}

	.tab_area .button{
		display: block;
		border-radius: 50px;
		border: 2px solid #5aaec9;
		width: inherit;
		padding: 18px 0;
		font-size: 20px;
		font-weight: bold;
		color: #5AAEC9;
		text-align: center;
	}
}

/* town-guide
===================================== */
.town-guide {}

.town-guide .section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	padding: 0 30px;
}

.town-guide .section-title .title {
	flex: 0 0 150px;
}

.town-guide .section-catch {
	font-size: 40px;
	line-height: calc(74 / 40);
	letter-spacing: 0.065em;
	font-weight: bold;
	text-align: center;
	margin-top: 42px;
}

.town-guide .map {
	background-image: url(../img/map_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: 100px;
	padding-bottom: 100px;
}

.town-guide .map .inner {
	max-width: 1250px;
	width: 100%;
	margin: 0 auto;
}


.town-guide .map .title {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.065em;
	color: #fff;
	text-align: center;
	padding: 20px;
	background-image: url(../img/map_title.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.town-guide .map_img {
	margin-top: 58px;
}

@media only screen and (max-width:1000px) {
	.town-guide .section-catch {
		font-size: 22px;
		line-height: calc(42 / 22);
		letter-spacing: 0.065em;
		font-weight: bold;
		text-align: center;
		margin-top: 25px;
	}
}

@media only screen and (max-width:768px) {
	.town-guide .map {
		background-image: url(../img/map_bg.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		margin-top: 100px;
		padding-bottom: 42px;
	}

	.town-guide .section-title {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 15px;
		padding: 0 20px;
	}

	.town-guide .section-title .title {
		flex: 0 0 100px;
	}

	.town-guide .map .title {
		font-size: 18px;
		line-height: calc(25 / 18);
		font-weight: bold;
		letter-spacing: 0.065em;
		color: #fff;
		text-align: center;
		padding: 15px 10px;
		background-image: url(../img/map_title_sp.png);
		width: 90%;
		margin: 0 auto;
	}

	.town-guide .map_img {
		position: relative;
		margin-top: 28px;
	}
}

/* gourmet
---------------------------------------------- */

.town-guide .gourmet {
	background-color: #FBEBDD;
	padding-top: 60px;
	padding-bottom: 95px;
}

.town-guide .gourmet .content {
	margin-top: 36px;
	position: relative;
}

.town-guide .gourmet .content::before {
	position: absolute;
	content: "";
	top: clamp(-13.5rem, -18.5rem + 8vw, -11rem);
	left: clamp(0.5rem, -1rem + 2.4vw, 1.25rem);
	background-image: url(../img/gourmet_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(5rem, -0.45rem + 11.08vw, 9.938rem);
	height: clamp(10.125rem, -1.051rem + 22.72vw, 20.25rem);
}

.town-guide .gourmet .cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas: "card01 card02"
		"card03 card04"
		"card05 card06"
		"card07 card07";
	gap: 38px;
}

.town-guide .gourmet .card01 {
	grid-area: card01;
}

.town-guide .gourmet .card02 {
	grid-area: card02;
}

.town-guide .gourmet .card03 {
	grid-area: card03;
}

.town-guide .gourmet .card04 {
	grid-area: card04;
}

.town-guide .gourmet .card05 {
	grid-area: card05;
}

.town-guide .gourmet .card06 {
	grid-area: card06;
}

.town-guide .gourmet .card.card07 {
	grid-area: card07;
	max-width: 77%;
	width: 100%;
	padding: 41px 50px;
	display: flex;
	justify-content: center;
	position: relative;
}

.town-guide .gourmet .card07:after {
	position: absolute;
	content: "";
	bottom: 0;
	right: -6px;
	transform: translateX(95%);
	background-image: url(../img/gourmet_02.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 332px;
	height: 352px;
}

.town-guide .gourmet .card07 .right {
	aspect-ratio: 282 / 284;
	width: clamp(7.5rem, -12.75rem + 32.4vw, 17.625rem);
}

.town-guide .gourmet .card07 .right img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.town-guide .gourmet .card {
	background-color: #fff;
	padding: 30px 30px 48px 30px;
	border-radius: 30px;
	position: relative;
	max-width: 580px;
	width: 100%;
}


.town-guide .gourmet .card::after {
	position: absolute;
	content: "";
}

.town-guide .gourmet .card.card01::after {
	bottom: 38px;
	right: 30px;
	width: clamp(10.5rem, 7.188rem + 10.8vw, 17.313rem);
	height: clamp(6.25rem, 3.491rem + 5.61vw, 8.75rem);
	background-image: url(../img/gourmet_img01_2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card.card02::after {
	bottom: 0;
	right: 25px;
	width: clamp(12.5rem, 7.947rem + 9.26vw, 16.625rem);
	height: clamp(8.375rem, 5.271rem + 6.31vw, 11.188rem);
	background-image: url(../img/gourmet_img02_2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card.card03::after {
	bottom: 70px;
	right: 30px;
	width: clamp(11.5rem, 5.947rem + 9.26vw, 16.625rem);
	height: clamp(7.375rem, 4.271rem + 6.31vw, 11.188rem);
	background-image: url(../img/gourmet_img03_2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card.card04::after {
	bottom: 38px;
	right: 30px;
	width: clamp(9.375rem, 3.96rem + 8.98vw, 13.375rem);
	height: clamp(6.563rem, 1.733rem + 9.82vw, 10.938rem);
	background-image: url(../img/gourmet_img04_2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card.card05::after {
	bottom: 38px;
	right: 30px;
	width: clamp(8.125rem, 4.883rem + 6.59vw, 11.063rem);
	height: clamp(6.563rem, 3.458rem + 6.31vw, 9.375rem);
	background-image: url(../img/gourmet_img05_2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card .img {
	aspect-ratio: 520 / 320;
}

.town-guide .gourmet .card .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.town-guide .gourmet .card .head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 47px;
	padding-left: 35px;
	position: relative;
}

.town-guide .gourmet .card.card07 .head {
	margin-top: 0;
}

.town-guide .gourmet .card .head::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	width: 25px;
	height: 30px;
}

.town-guide .gourmet .card .head::before {
	background-image: url(../img/gourmet_icon01.svg);
}

.town-guide .gourmet .card.card02 .head::before {
	background-image: url(../img/gourmet_icon02.svg);
}

.town-guide .gourmet .card.card03 .head::before {
	background-image: url(../img/gourmet_icon03.svg);
}

.town-guide .gourmet .card.card04 .head::before {
	background-image: url(../img/gourmet_icon04.svg);
}

.town-guide .gourmet .card.card05 .head::before {
	background-image: url(../img/gourmet_icon05.svg);
}

.town-guide .gourmet .card.card06 .head::before {
	background-image: url(../img/gourmet_icon06.svg);
}

.town-guide .gourmet .card.card07 .head::before {
	background-image: url(../img/gourmet_icon07.svg);
}

.town-guide .gourmet .card .head p {
	font-size: clamp(0.85rem, 0.55rem + 0.8vw, 1.5rem);
	letter-spacing: 0.1em;
	font-weight: bold;
}

	.town-guide .gourmet .card .head p.small {
	font-size: clamp(0.75rem, 0.5rem + 0.4vw, 0.875rem);
	letter-spacing: 0.065em;
	font-weight: normal;
}

	.town-guide .gourmet .card .text {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	margin-top: 20px;
	text-align: justify;
}

	.town-guide .gourmet .card .bottom {
	margin-top: 23px;
}

	.town-guide .gourmet .card .bottom li {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	padding-left: 25px;
	position: relative;
}

	.town-guide .gourmet .card .bottom li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(70%);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .gourmet .card .bottom li.tel::before {
	background-image: url(../img/gourmet_icon_tel.svg);
	width: 10px;
	height: 13px;
}

.town-guide .gourmet .card .bottom li.access::before {
	background-image: url(../img/gourmet_icon_access.svg);
	width: 12px;
	height: 15px;
}

.town-guide .gourmet .card .bottom li.date::before {
	background-image: url(../img/gourmet_icon_date.svg);
	width: 12px;
	height: 12px;
}

.town-guide .gourmet .card .bottom li.holiday::before {
	background-image: url(../img/gourmet_icon_holiday.svg);
	width: 12px;
	height: 13px;
}

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

	.town-guide .gourmet {
		background-color: #FBEBDD;
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.town-guide .gourmet .inner {
		width: 100%;
		padding: 0 15px;
	}

	.town-guide .gourmet .content {
		margin-top: 24px;
		position: relative;
	}

	.town-guide .gourmet .content::before {
		position: absolute;
		content: "";
		top: -300px;
		left: calc(50% - 127px);
		background-image: url(../img/gourmet_01_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: clamp(5rem, -0.45rem + 11.08vw, 9.938rem);
		height: clamp(10.125rem, -1.051rem + 22.72vw, 20.25rem);
	}

	.town-guide .gourmet .cards {
		display: block;
	}

	.town-guide .gourmet .card {
		background-color: #fff;
		padding: 20px 20px 198px 20px;
		border-radius: 30px;
		position: relative;
		margin: 0 auto;
	}

	.town-guide .gourmet .card.card06,
	.town-guide .gourmet .card.card07 {
		padding: 20px;
	}

	.town-guide .gourmet .card.card07 {
		max-width: 580px;
		width: 100%;
		flex-direction: column-reverse;
	}

	.town-guide .gourmet .card07:after {
		display: none;
	}

	.town-guide .gourmet .card07 .left{
		margin-top: 20px;
	}

	.town-guide .gourmet .card07 .right {
		aspect-ratio: 293 / 189;
		width: clamp(13.75rem, 11.05rem + 11.52vw, 18.25rem);
		margin: 0 auto;
	}

	.town-guide .gourmet .cards .card:not(:first-child) {
		margin-top: 20px;
	}

	.town-guide .gourmet .card.card01::after {
		bottom: 30px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: clamp(17.375rem, 13.625rem + 16vw, 23.625rem);
		height: clamp(14.688rem, 11.35rem + 14.24vw, 20.25rem);
		background-image: url(../img/gourmet_img01_2_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.town-guide .gourmet .card.card02::after {
		bottom: 0;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: clamp(16.625rem, 13.138rem + 14.88vw, 22.438rem);
		height: clamp(11.188rem, 8.863rem + 9.92vw, 15.063rem);
		background-image: url(../img/gourmet_img02_2.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.town-guide .gourmet .card.card03::after {
		bottom: 30px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: clamp(13.5rem, 5.947rem + 9.26vw, 16.625rem);
		height: clamp(9.375rem, 4.271rem + 6.31vw, 11.188rem);
		background-image: url(../img/gourmet_img03_2.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.town-guide .gourmet .card.card04::after {
		bottom: 30px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: clamp(13.375rem, 3.96rem + 8.98vw, 13.375rem);
		height: clamp(10.563rem, 1.733rem + 9.82vw, 10.938rem);
		background-image: url(../img/gourmet_img04_2.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.town-guide .gourmet .card.card05::after {
		bottom: 30px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: clamp(12.125rem, 6.883rem + 6.59vw, 11.063rem);
		height: clamp(10.563rem, 5.458rem + 6.31vw, 9.375rem);
		background-image: url(../img/gourmet_img05_2.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.town-guide .gourmet .card .head {
		display: block;
		margin-top: 22px;
		padding-left: 0;
	}

	.town-guide .gourmet .card .head p {
		font-size: 22px;
		font-weight: bold;
		padding-left: 35px;
	}

	.town-guide .gourmet .card .head p.small {
		font-size: 14px;
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
	}

	.town-guide .gourmet .card .head::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		transform: translateY(0);
		background-repeat: no-repeat;
		background-size: contain;
		width: 25px;
		height: 30px;
	}

	.town-guide .gourmet .card .text {
		font-size: 14px;
		line-height: calc(28 / 14);
		margin-top: 27px;
	}

	.town-guide .gourmet .card .bottom {
		margin-top: 14px;
	}

	.town-guide .gourmet .card .bottom li {
		font-size: 14px;
		line-height: calc(28 / 14);
		padding-left: 25px;
		position: relative;
	}
}


/* shop
---------------------------------------------- */
.town-guide .shop {
	background-color: #F0F8EF;
	padding-top: 60px;
	padding-bottom: 95px;
}

.town-guide .shop .content {
	margin-top: 36px;
	position: relative;
}

.town-guide .shop .content::before {
	position: absolute;
	content: "";
	top: -210px;
	left: clamp(-2.313rem, -3.813rem + 2.4vw, -1.563rem);
	background-image: url(../img/shop_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(12.5rem, 5.5rem + 11.2vw, 16rem);
	height: clamp(18.938rem, 8.188rem + 17.2vw, 24.313rem);
}

.town-guide .shop .content::after {
	position: absolute;
	content: "";
	top: -220px;
	right: clamp(0.5rem, -0.75rem + 2vw, 1.125rem);
	background-image: url(../img/shop_02.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(6.75rem, 2.875rem + 6.2vw, 8.688rem);
	height: clamp(19.313rem, 8.313rem + 17.6vw, 24.813rem);
}


.town-guide .shop .card {
	display: flex;
	align-items: center;
	gap: 40px;
	background-color: #fff;
	padding: 30px 30px 30px 50px;
	border-radius: 30px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.town-guide .shop .card:not(:first-child){
	margin-top: 55px;
}
.town-guide .shop .card.card01::after{
	position: absolute;
	content: "";
	bottom: 30px;
	left: 29%;
	background-image: url(../img/shop_img01_2.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(12.5rem, 5.625rem + 11vw, 15.938rem);
	height: clamp(7.5rem, 3.25rem + 6.8vw, 9.625rem);
}

.town-guide .shop .card .left{
	flex: 0 1 auto;
}

.town-guide .shop .card .right{
	aspect-ratio: 520 / 320;
	flex:0 0 46%;
}

.town-guide .shop .card .right img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.town-guide .shop .card .head {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-left: 35px;
	position: relative;
}

.town-guide .shop .card .head::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	width: 25px;
	height: 30px;
}

.town-guide .shop .card .head::before {
	background-image: url(../img/shop_icon01.svg);
}

.town-guide .shop .card.card02 .head::before {
	background-image: url(../img/shop_icon02.svg);
}

.town-guide .shop .card.card03 .head::before {
	background-image: url(../img/shop_icon03.svg);
}

.town-guide .shop .card .head p {
	font-size: clamp(0.85rem, 0.55rem + 0.8vw, 1.5rem);
	letter-spacing: 0.1em;
	font-weight: bold;
}

	.town-guide .shop .card .head p.small {
	font-size: clamp(0.75rem, 0.5rem + 0.4vw, 0.875rem);
	letter-spacing: 0.065em;
	font-weight: normal;
}

	.town-guide .shop .card .text {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	margin-top: 20px;
	text-align: justify;
}

	.town-guide .shop .card .bottom {
	margin-top: 23px;
}

	.town-guide .shop .card .bottom li {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	padding-left: 25px;
	position: relative;
}

	.town-guide .shop .card .bottom li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(70%);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .shop .card .bottom li.tel::before {
	background-image: url(../img/shop_icon_tel.svg);
	width: 10px;
	height: 13px;
}

.town-guide .shop .card .bottom li.access::before {
	background-image: url(../img/shop_icon_access.svg);
	width: 12px;
	height: 15px;
}

.town-guide .shop .card .bottom li.date::before {
	background-image: url(../img/shop_icon_date.svg);
	width: 12px;
	height: 12px;
}

.town-guide .shop .card .bottom li.holiday::before {
	background-image: url(../img/shop_icon_holiday.svg);
	width: 12px;
	height: 13px;
}
.town-guide .shop .card .bottom li.insta::before {
	background-image: url(../img/shop_icon_insta.svg);
	width: 12px;
	height: 12px;
}

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

	.town-guide .shop {
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.town-guide .shop .inner {
		width: 100%;
		padding: 0 15px;
	}

	.town-guide .shop .content {
		margin-top: 24px;
		position: relative;
	}

	.town-guide .shop .content::before {
		position: absolute;
		content: "";
		top: -296px;
		left: auto;
		right: calc(50% - 144px);
		background-image: url(../img/shop_01_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 67px;
		height: 139px;
	}
	.town-guide .shop .content::after {
		display: none;
	}

	.town-guide .shop .cards {
		display: block;
	}

	.town-guide .shop .card {
		flex-direction: column-reverse;
		background-color: #fff;
		padding: 20px 20px 198px 20px;
		border-radius: 30px;
		position: relative;
		margin: 0 auto;
		max-width: 580px;
		width: 100%;
		gap: 0;
	}
	.town-guide .shop .card.card02,
	.town-guide .shop .card.card03{
		padding: 20px;
	}

	.town-guide .shop .cards .card:not(:first-child) {
		margin-top: 20px;
	}

	.town-guide .shop .card.card01::after{
		position: absolute;
		content: "";
		bottom: 0;
		left: 51%;
		transform: translateX(-50%);
		background-image: url(../img/shop_img01_2_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: clamp(18.5rem, 16.475rem + 8.64vw, 21.875rem);
		height: clamp(11.5rem, 10.262rem + 5.28vw, 13.563rem);
	}

	.town-guide .shop .card .head {
		display: block;
		margin-top: 22px;
		padding-left: 0;
	}

	.town-guide .shop .card .head p {
		font-size: 22px;
		font-weight: bold;
		padding-left: 35px;
	}

	.town-guide .shop .card .head p.small {
		font-size: 14px;
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
	}

	.town-guide .shop .card .head::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		transform: translateY(0);
		background-repeat: no-repeat;
		background-size: contain;
		width: 25px;
		height: 30px;
	}

	.town-guide .shop .card .text {
		font-size: 14px;
		line-height: calc(28 / 14);
		margin-top: 27px;
	}

	.town-guide .shop .card .bottom {
		margin-top: 14px;
	}

	.town-guide .shop .card .bottom li {
		font-size: 14px;
		line-height: calc(28 / 14);
		padding-left: 25px;
		position: relative;
	}
}


/* brauty
---------------------------------------------- */
.town-guide .beauty {
	background-color: #EFF7FA;
	padding-top: 60px;
	padding-bottom: 95px;
}

.town-guide .beauty .content {
	margin-top: 36px;
	position: relative;
}

.town-guide .beauty .content::before {
	position: absolute;
	content: "";
	top: -200px;
	right: -44px;
	background-image: url(../img/beauty_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 245px;
	height: 345px;
	z-index: 1;
}

.town-guide .beauty .cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 38px;
}

.town-guide .beauty .card {
	background-color: #fff;
	padding: 30px 30px 35px 30px;
	border-radius: 30px;
	position: relative;
	max-width: 580px;
	width: 100%;
}

.town-guide .beauty .card::after {
	position: absolute;
	content: "";
}

.town-guide .beauty .card .img {
	aspect-ratio: 520 / 320;
}

.town-guide .beauty .card .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.town-guide .beauty .card .head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 47px;
	padding-left: 35px;
	position: relative;
}

.town-guide .beauty .card.card07 .head {
	margin-top: 0;
}

.town-guide .beauty .card .head::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	width: 25px;
	height: 30px;
}

.town-guide .beauty .card .head::before {
	background-image: url(../img/beauty_icon01.svg);
}

.town-guide .beauty .card.card02 .head::before {
	background-image: url(../img/beauty_icon02.svg);
}

.town-guide .beauty .card.card03 .head::before {
	background-image: url(../img/beauty_icon03.svg);
}

.town-guide .beauty .card.card04 .head::before {
	background-image: url(../img/beauty_icon04.svg);
}

.town-guide .beauty .card .head p {
	font-size: clamp(0.85rem, 0.55rem + 0.8vw, 1.5rem);
	letter-spacing: 0.1em;
	font-weight: bold;
}

	.town-guide .beauty .card .head p.small {
	font-size: clamp(0.75rem, 0.5rem + 0.4vw, 0.875rem);
	letter-spacing: 0.065em;
	font-weight: normal;
}

	.town-guide .beauty .card .text {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	margin-top: 20px;
	text-align: justify;
}

	.town-guide .beauty .card .bottom {
	margin-top: 23px;
}

	.town-guide .beauty .card .bottom li {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	padding-left: 25px;
	position: relative;
}

	.town-guide .beauty .card .bottom li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(70%);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .beauty .card .bottom li.tel::before {
	background-image: url(../img/beauty_icon_tel.svg);
	width: 10px;
	height: 13px;
}

.town-guide .beauty .card .bottom li.access::before {
	background-image: url(../img/beauty_icon_access.svg);
	width: 12px;
	height: 15px;
}

.town-guide .beauty .card .bottom li.date::before {
	background-image: url(../img/beauty_icon_date.svg);
	width: 12px;
	height: 12px;
}

.town-guide .beauty .card .bottom li.holiday::before {
	background-image: url(../img/beauty_icon_holiday.svg);
	width: 12px;
	height: 13px;
}

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

	.town-guide .beauty {
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.town-guide .beauty .inner {
		width: 100%;
		padding: 0 15px;
	}

	.town-guide .beauty .content {
		margin-top: 24px;
		position: relative;
	}

	.town-guide .beauty .content::before {
		position: absolute;
		content: "";
		top: -240px;
		left: calc(50% - 155px);
		background-image: url(../img/beauty_01_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 107px;
		height: 119px;
	}

	.town-guide .beauty .cards {
		display: block;
	}

	.town-guide .beauty .card {
		background-color: #fff;
		padding: 20px;
		border-radius: 30px;
		position: relative;
		margin: 0 auto;
	}

	.town-guide .beauty .cards .card:not(:first-child) {
		margin-top: 20px;
	}

	.town-guide .beauty .card .head {
		display: block;
		margin-top: 22px;
		padding-left: 0;
	}

	.town-guide .beauty .card .head p {
		font-size: 22px;
		font-weight: bold;
		padding-left: 35px;
	}

	.town-guide .beauty .card .head p.small {
		font-size: 14px;
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
	}

	.town-guide .beauty .card .head::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		transform: translateY(0);
		background-repeat: no-repeat;
		background-size: contain;
		width: 25px;
		height: 30px;
	}

	.town-guide .beauty .card .text {
		font-size: 14px;
		line-height: calc(28 / 14);
		margin-top: 27px;
	}

	.town-guide .beauty .card .bottom {
		margin-top: 14px;
	}

	.town-guide .beauty .card .bottom li {
		font-size: 14px;
		line-height: calc(28 / 14);
		padding-left: 25px;
		position: relative;
	}
}
/* education
---------------------------------------------- */
.town-guide .education {
	background-color: #FCF0F4;
	padding-top: 60px;
	padding-bottom: 95px;
}

.town-guide .education::before{
	display: none;
}

.town-guide .education .content {
	margin-top: 44px;
	position: relative;
}


.town-guide .education .content::after {
	position: absolute;
	content: "";
	top: -140px;
	right: 20px;
	background-image: url(../img/education_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(14.375rem, 6.125rem + 13.2vw, 18.5rem);
	height: clamp(8rem, 3.5rem + 7.2vw, 10.25rem);
	z-index: 1;
}


.town-guide .education .card {
	display: flex;
	align-items: center;
	gap: 40px;
	background-color: #fff;
	padding: 30px 30px 35px;
	border-radius: 30px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.town-guide .education .card::after{
	position: absolute;
	content: "";
	bottom: 0;
	left: 50px;
	background-image: url(../img/education_img01_2.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 235px;
	height: 340px;
}


.town-guide .education .card .right{
	flex: 0 1 auto;
	margin-top: 14px;
}

.town-guide .education .card .left{
	aspect-ratio: 520 / 541;
	flex:0 0 46%;
	position: relative;
}

.town-guide .education .card .left img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.town-guide .education .card .left p.cap{
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 12px;
	letter-spacing: 0.065em;
	color: #fff;
	text-shadow: #000 0 0 6px;
}

.town-guide .education .card .head {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-left: 35px;
	position: relative;
}

.town-guide .education .card .head::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	width: 25px;
	height: 30px;
}

.town-guide .education .card .head::before {
	background-image: url(../img/education_icon01.svg);
}

.town-guide .education .card .head p {
	font-size: clamp(0.85rem, 0.55rem + 0.8vw, 1.5rem);
	letter-spacing: 0.1em;
	font-weight: bold;
}

	.town-guide .education .card .head p.small {
	font-size: clamp(0.75rem, 0.5rem + 0.4vw, 0.875rem);
	letter-spacing: 0.065em;
	font-weight: normal;
}

	.town-guide .education .card .text {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.14em;
	margin-top: 20px;
	text-align: justify;
}

	.town-guide .education .card .bottom {
	margin-top: 23px;
}

	.town-guide .education .card .bottom li {
	font-size: 16px;
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	padding-left: 25px;
	position: relative;
}

	.town-guide .education .card .bottom li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(70%);
	background-repeat: no-repeat;
	background-size: contain;
}

.town-guide .education .card .bottom li.tel::before {
	background-image: url(../img/education_icon_tel.svg);
	width: 10px;
	height: 13px;
}

.town-guide .education .card .bottom li.access::before {
	background-image: url(../img/education_icon_access.svg);
	width: 12px;
	height: 15px;
}

.town-guide .education .card .bottom li.date::before {
	background-image: url(../img/education_icon_date.svg);
	width: 12px;
	height: 12px;
}

.town-guide .education .card .bottom li.holiday::before {
	background-image: url(../img/education_icon_holiday.svg);
	width: 12px;
	height: 13px;
}
.town-guide .education .card .bottom-img.sp1000{
	display: none;
}

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

	.town-guide .education {
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.town-guide .education .inner {
		width: 100%;
		padding: 0 15px;
	}

	.town-guide .education .content {
		margin-top: 24px;
		position: relative;
	}

	.town-guide .education .content::after {
		position: absolute;
		content: "";
		top: -145px;
		right: calc(50% - 168px);
		background-image: url(../img/education_01_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 101px;
		height: 70px;
	}

	.town-guide .education .cards {
		display: block;
	}

	.town-guide .education .card {
		flex-direction: column;
		background-color: #fff;
		padding: 20px 20px 0 20px;
		border-radius: 30px;
		position: relative;
		margin: 0 auto;
		max-width: 580px;
		width: 100%;
		gap: 0;
	}
	.town-guide .education .card::after{
		display: none;
	}
	.town-guide .education .card .right{
		flex: 0 1 auto;
		margin-top: 0;
	}
	
	.town-guide .education .card .left{
		aspect-ratio: 312 / 192;
		flex:0 0 46%;
		position: relative;
	}
	
	.town-guide .education .card .left img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.town-guide .education .card .left p.cap{
		position: absolute;
		right: 10px;
		bottom: 10px;
		font-size: 12px;
		letter-spacing: 0.065em;
		color: #fff;
		text-shadow: #000 0 0 6px;
	}
	.town-guide .education .card .head {
		display: block;
		margin-top: 22px;
		padding-left: 0;
	}

	.town-guide .education .card .head p {
		font-size: 22px;
		font-weight: bold;
		padding-left: 35px;
	}

	.town-guide .education .card .head p.small {
		font-size: 14px;
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
	}

	.town-guide .education .card .head::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		transform: translateY(0);
		background-repeat: no-repeat;
		background-size: contain;
		width: 25px;
		height: 30px;
	}

	.town-guide .education .card .text {
		font-size: 14px;
		line-height: calc(28 / 14);
		margin-top: 21px;
	}

	.town-guide .education .card .bottom {
		margin-top: 14px;
	}

	.town-guide .education .card .bottom li {
		font-size: 14px;
		line-height: calc(28 / 14);
		padding-left: 25px;
		position: relative;
	}
	.town-guide .education .card p.cap.pc1000{
		display: none;
	}
	.town-guide .education .card .bottom-img.sp1000{
		display: block;
		max-width: clamp(16.438rem, 12.988rem + 14.72vw, 22.188rem);
		width: 100%;
		height: clamp(10.438rem, 6.137rem + 14.08vw, 15.938rem);
		position: relative;
		margin-top: 28px;
	}
	.town-guide .education .card .bottom-img.sp1000 img{
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.town-guide .education .card p.cap.sp{
		position: absolute;
		bottom: 37px;
		right: 6px;
		font-size: 10px;
		letter-spacing: 0.065em;
		color: #fff;
		text-shadow: #000 0 0 6px;
	}
}

/* history
---------------------------------------------- */
.town-guide .history {
	background-color: #F0F8EF;
	padding-top: 60px;
	padding-bottom: 95px;
}

.town-guide .history::before{
	display: none;
}

.town-guide .history .content {
	margin-top: 70px;
}

.town-guide .history .card {
	display: flex;
	gap: 49px;
	background-color: #fff;
	border-radius: 30px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.town-guide .history .card::after{
	position: absolute;
	content: "";
	bottom: 59px;
	right: -16px;
	background-image: url(../img/history_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: clamp(12.5rem, 8.75rem + 6vw, 14.375rem);
	height: clamp(23.875rem, 16.625rem + 12.6vw, 28.5rem);
}

.town-guide .history .card p.cap{
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 10px;
	letter-spacing: 0.065em;
	color: #fff;
	text-shadow: #000 0 0 6px;
}

.town-guide .history .card .left{
	flex: 0 1 auto;
	position: relative;
}

.town-guide .history .card .left{
	aspect-ratio: 440 / 440;
	flex:0 1 37%;
}

.town-guide .history .card .left img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.town-guide .history .card .right{
	flex:0 1 42%;
	margin-top: 30px;
}

.town-guide .history .card .head {
	display: flex;
	gap: 18px;
	position: relative;
}

	.town-guide .history .card .head p {
	font-size: clamp(1.563rem, 0.938rem + 1vw, 1.875rem);
	line-height: calc(50 / 30);
	letter-spacing: 0.065em;
	font-weight: bold;
	color: #6BBC68;
}

	.town-guide .history .card .text {
	font-size: clamp(0.875rem, 0.625rem + 0.4vw, 1rem);
	line-height: calc(32 / 16);
	letter-spacing: 0.1em;
	margin-top: 25px;
	text-align: justify;
	line-break: strict;
}

.town-guide .history .card .link {
	margin-top: 46px;
}

.town-guide .history .card .link .button a{
	background: #6BBC68;
	padding: 14px 87px;
	border-radius: 30px;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #fff;
}

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

	.town-guide .history {
		padding-top: 50px;
		padding-bottom: 60px;
	}

	.town-guide .history .inner {
		width: 100%;
		padding: 0 15px;
	}

	.town-guide .history .content {
		margin-top: 32px;
		position: relative;
	}

	.town-guide .history .cards {
		display: block;
	}

	.town-guide .history .card {
		flex-direction: column;
		background-color: #fff;
		border-radius: 30px;
		position: relative;
		margin: 0 auto;
		max-width: 580px;
		width: 100%;
		gap: 0;
	}


	.town-guide .history .card::after{
		position: absolute;
		content: "";
		top: 8px;
		right: calc(60% - 206px);
		transform: translateY(-100%);
		background-image: url(../img/history_01_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 137px;
		height: 133px;
		z-index: -1;
	}
	
	.town-guide .history .card p.cap{
		position: absolute;
		right: 10px;
		bottom: 10px;
		font-size: 10px;
		letter-spacing: 0.065em;
		color: #fff;
		text-shadow: #000 0 0 6px;
	}

	.town-guide .history .card .left{
		aspect-ratio: 350 / 220;
		flex:0 1 38%;
	}
	
	.town-guide .history .card .left img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.town-guide .history .card .right{
		flex:0 1 62%;
		padding: 0 20px 35px;
		margin-top: 26px;
	}
	.town-guide .history .card .head p {
		font-size: 22px;
		font-weight: bold;
	}

	.town-guide .history .card .head p.small {
		font-size: 14px;
		font-weight: normal;
		margin-top: 10px;
		padding: 0;
	}

	.town-guide .history .card .head::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		transform: translateY(0);
		background-repeat: no-repeat;
		background-size: contain;
		width: 25px;
		height: 30px;
	}

	.town-guide .history .card .text {
		font-size: 14px;
		line-height: calc(28 / 14);
		margin-top: 20px;
	}
	.town-guide .history .card .link {
		margin-top: 34px;

	}
	.town-guide .history .card .link .button {
text-align: center;
	}
	
	.town-guide .history .card .link .button a{
		background: #6BBC68;
		padding: 15px 77px;
		border-radius: 30px;
		font-size: 18px;
		font-weight: bold;
		letter-spacing: 0.1em;
		color: #fff;
	}
	
}

/* shopping
===================================== */
.shopping {
	position: relative;
	padding-top: clamp(3.5rem, -0.091rem + 7.472vw, 8.875rem);
}

.shopping_03 {
	position: absolute;
	top: 100px;
	left: 0;
	width: clamp(10.625rem, -6.726rem + 36.101vw, 29.375rem);
	z-index: 3;
}

.shopping_title {
	font-size: clamp(1.75rem, 1.165rem + 1.216vw, 2.625rem);
	display: inline-block;
	line-height: 1.3;
	margin-top: 40px;
	margin-left: clamp(10rem, 3.319rem + 13.901vw, 20rem);
	margin-left: clamp(11.125rem, 4.647rem + 13.478vw, 18.125rem);
	font-weight: bold;
	letter-spacing: 0.1em;
}

.shopping_wrap {
	position: relative;
	margin-top: 50px;
	display: flex;
	justify-content: right;
	column-gap: 4%;
	z-index: 1;
}

.shopping_wrap figure {
	width: 37%;
}

.shop_bottom {
	position: relative;
	margin-top: clamp(4.375rem, 3.594rem + 3.906vw, 7.5rem);
	padding: 40px 0;
	background: rgb(214, 232, 240);
	background: linear-gradient(90deg, rgba(214, 232, 240, 1) 0%, rgba(218, 236, 212, 1) 100%);
}

.shop_bottom_title {
	font-size: clamp(1.5rem, 1.091rem + 2.045vw, 2.625rem);
	text-align: center;
	line-height: 1.3;
	margin-top: 40px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.shop_bottom_wrap {
	margin-top: 40px;
	display: flex;
	column-gap: 2%;
}

.img_cap {
	margin-top: 6px;
	font-weight: bold;
	font-size: clamp(0.625rem, 0.294rem + 0.645vw, 0.875rem);
	line-height: 1.3;
	text-align: center;
}

.icon_shop_bottom {
	position: absolute;
	right: 30px;
	top: -60px;
	width: clamp(9.375rem, 8.594rem + 3.906vw, 12.5rem);
}

@media only screen and (max-width:768px) {
	.shopping_title {
		font-size: 24px;
		display: inline-block;
		line-height: 1.4;
		margin-top: 40px;
		margin-left: 0;
	}

	.shopping_wrap {
		margin-top: 50px;
		display: block;
		z-index: 1;
	}

	.shopping_wrap figure {
		width: 100%;
		max-width: 500px;
		margin: auto;
	}

	.shopping_wrap figure:nth-child(2) {
		margin-top: 30px;
	}

	.shopping_03 {
		display: none;
	}

	.shop_bottom_wrap {
		margin-top: 40px;
		display: block;
	}

	.shop_bottom_wrap figure {
		margin-top: 30px;
	}
}

/* education
========================================== */
.education {
	position: relative;
	overflow: hidden;
	padding: 100px 0;
}

.slidearea::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 130px;
	height: clamp(6.25rem, 3.358rem + 6.017vw, 9.375rem);
	background-color: #D5E9E7;
	bottom: 34%;
}

.education_bg {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
	width: clamp(18.75rem, 2.961rem + 32.852vw, 35.813rem);
}

.education_icon01 {
	position: absolute;
	right: clamp(2.625rem, -3.621rem + 12.996vw, 9.375rem);
	bottom: 30px;
	width: clamp(7.875rem, 6.487rem + 2.888vw, 9.375rem);
}

.slidearea_contents {
	margin-left: 20%;
}

.slidearea_title {
	position: relative;
	color: #5aaec9;
	font-size: 30px;
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	display: flex;
	align-items: center;
	z-index: 2;
}

.slidearea_title::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 3px;
	background: rgb(90, 174, 201);
	background: linear-gradient(128deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
	margin-left: 16px;
}

.slidearea_lead {
	position: relative;
	font-size: clamp(1.75rem, 1.165rem + 1.216vw, 2.625rem);
	line-height: 1.3;
	margin-top: 40px;
	font-weight: bold;
	letter-spacing: 0.1em;
	z-index: 3;
}

.slidearea_lead small {
	font-size: 12px;
}

.swiper_area {
	position: relative;
	margin-left: auto;
	margin-top: 60px;
	padding-bottom: 60px;
	overflow: hidden;
	z-index: 3;
}

.swiper-wrapper {
	align-items: flex-end;
}

.swiper-slide {
	position: relative;
	padding: 0 30px 0 0;
}

.swiper-slide img {
	display: block;
	position: relative;
	height: auto;
	width: 100%;
}

.swiper-slide a {
	position: relative;
	display: block;
	border-radius: 20px;
	overflow: hidden;
}

.swiper-slide .cap {
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	margin-top: 8px;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

/* 前への矢印 */
.swiper-button-prev {
	left: 0;
	top: auto;
	bottom: 0;
}

/* 次への矢印 */
.swiper-button-next {
	left: 140px;
	top: auto;
	bottom: 0;
}

/* 幅・高さを指定 */
.swiper-button-prev,
.swiper-button-next {
	height: 40px;
	width: 40px;
}

/* 矢印を消す、画像に変更 */
.swiper-button-prev:after,
.swiper-button-next:after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	height: 50px;
	width: 50px;
	margin: auto;
}

/* 前に戻る画像パス */
.swiper-button-prev:after {
	background-image: url(../../img/home/icon_prev03.svg);
}

/* 次に進む画像パス */
.swiper-button-next:after {
	background-image: url(../../img/home/icon_next03.svg);
}

/* ページネーション */
.swiper-pagination {
	color: #5aaec9;
	font-family: 'Urbanist', sans-serif;
	font-size: 28px;
	font-weight: bold;
	bottom: 6px;
	left: 60px;
	width: 70px;
	position: absolute;
}

@media only screen and (max-width:768px) {
	.education {
		padding: 170px 0;
	}

	.education_title_wrap {
		width: 85.333334%;
		max-width: 560px;
		margin: auto;
	}

	.education_bg {
		position: absolute;
		right: 0;
		top: 0;
		z-index: 3;
		width: 160px;
	}

	.education_icon01 {
		position: absolute;
		right: clamp(2.625rem, -3.621rem + 12.996vw, 9.375rem);
		bottom: 30px;
		width: clamp(7.875rem, 6.487rem + 2.888vw, 9.375rem);
	}

	.slidearea_contents {
		margin-left: 0;
	}

	.slidearea_lead {
		font-size: 22px;
	}

	.slidearea_lead small {
		font-size: 12px;
	}

	.swiper-slide {
		position: relative;
		padding: 0 20px;
	}

	/* 前への矢印 */
	.swiper-button-prev {
		left: calc(50% - 80px);
	}

	/* 次への矢印 */
	.swiper-button-next {
		left: auto;
		right: calc(50% - 80px);
	}

	/* ページネーション */
	.swiper-pagination {
		left: 50%;
		transform: translateX(-50%);
	}
}


/* park
========================================== */
.park {
	position: relative;
	padding-top: clamp(3.5rem, -0.091rem + 7.472vw, 8.875rem);
}

.park_03 {
	position: absolute;
	left: 0;
	top: 0;
	width: clamp(17.5rem, 7.668rem + 20.457vw, 28.125rem);
	width: 260px;
	width: 410px;
	width: clamp(16.25rem, 6.388rem + 20.52vw, 25.625rem);
}

.park_icon01 {
	position: absolute;
	left: clamp(0rem, -10.411rem + 21.661vw, 11.25rem);
	bottom: 0;
	width: clamp(9.375rem, 4.748rem + 9.627vw, 14.375rem);
}

.park_title {
	color: #5aaec9;
	font-size: 30px;
	font-family: 'Urbanist', sans-serif;
	margin-left: clamp(14.75rem, 12.922rem + 3.803vw, 16.25rem);
	font-weight: bold;
	display: flex;
	align-items: center;
}

.park_title::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 3px;
	background: rgb(90, 174, 201);
	background: linear-gradient(128deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
	margin-left: 16px;
}

.park_lead {
	position: relative;
	font-size: clamp(1.75rem, 1.165rem + 1.216vw, 2.625rem);
	line-height: 1.3;
	margin-top: 40px;
	margin-left: clamp(14.75rem, 12.922rem + 3.803vw, 16.25rem);
	margin-left: 260px;
	font-weight: bold;
	letter-spacing: 0.1em;
	z-index: 3;
}

.park_wrap {
	position: relative;
	margin-top: 50px;
	display: flex;
	justify-content: right;
	column-gap: 4%;
	z-index: 1;
}

.park_wrap figure {
	width: 37%;
}

@media only screen and (max-width:768px) {
	.park_title {
		font-size: 30px;
		margin-left: 0;
	}

	.park_lead {
		font-size: 24px;
		display: inline-block;
		line-height: 1.4;
		margin-top: 40px;
		margin-left: 0;
	}

	.park_wrap {
		position: relative;
		margin-top: 50px;
		display: block;
	}

	.park_wrap figure {
		width: 100%;
		margin-top: 30px;
	}

	.park_03 {
		position: absolute;
		left: 0;
		top: -11%;
		width: 140px;
		/* display: none; */
	}

	.park_icon01 {
		left: 10px;
		bottom: -100px;
		width: 150px;
	}
}

/* park_bottom
========================================== */
.park_bottom {
	position: relative;
	margin-top: 200px;
	padding: 40px 0;
	background: rgb(214, 232, 240);
	background: linear-gradient(90deg, rgba(214, 232, 240, 1) 0%, rgba(218, 236, 212, 1) 100%);
}

.park_bottom_wrap {
	flex-direction: row-reverse;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	column-gap: 2%;
}

.park_bottom_img {
	width: 46%;
}

.park_bottom_body {
	width: 50%;
}

.park_bottom_text {
	position: relative;
	font-size: clamp(1.5rem, 0.64rem + 1.788vw, 2.25rem);
	margin-top: clamp(1.5rem, -0.582rem + 4.332vw, 3.75rem);
	line-height: 2;
	font-weight: bold;
	letter-spacing: 0.1em;
	z-index: 3;
}

.park_bottom_icon01 {
	position: absolute;
	left: clamp(1rem, -10.51rem + 23.947vw, 13.438rem);
	top: -60px;
	width: 160px;
	z-index: 3;
}

.park_bottom_icon02 {
	position: absolute;
	right: clamp(1.875rem, -1.595rem + 7.22vw, 5.625rem);
	top: clamp(0.625rem, -2.267rem + 6.017vw, 3.75rem);
	width: clamp(6.875rem, 3.405rem + 7.22vw, 10.625rem);
	z-index: 3;
}

.park_bottom_icon03 {
	position: absolute;
	right: clamp(7.125rem, 2.729rem + 9.146vw, 11.875rem);
	bottom: clamp(2.5rem, 1.343rem + 2.407vw, 3.75rem);
	width: clamp(11.25rem, 6.045rem + 10.83vw, 16.875rem);
	z-index: 3;
}

.park_bottom_icon04 {
	position: absolute;
	right: clamp(18.125rem, 4.244rem + 28.881vw, 33.125rem);
	bottom: clamp(1.25rem, -2.22rem + 7.22vw, 5rem);
	width: clamp(7.5rem, 4.608rem + 6.017vw, 10.625rem);
	z-index: 3;
}

.park_bottom_icon05 {
	position: absolute;
	right: clamp(0.938rem, -3.4rem + 9.025vw, 5.625rem);
	top: clamp(12.25rem, 9.705rem + 5.295vw, 15rem);
	width: clamp(7.375rem, 4.367rem + 6.258vw, 10.625rem);
	z-index: 3;
}

@media only screen and (max-width:768px) {
	.park_bottom_wrap {
		margin-top: 40px;
		display: block;
	}

	.park_bottom_img {
		width: 100%;
		margin-top: 30px;
	}

	.park_bottom_body {
		width: 100%;
	}

	.park_bottom_text {
		line-height: 1.4;
		font-size: 22px;
		margin-top: clamp(1.5rem, -0.582rem + 4.332vw, 3.75rem);
	}

	.park_bottom_icon01 {
		width: 130px;
	}

	.park_bottom_icon02 {
		top: 0px;
	}

	.park_bottom_icon03 {
		position: absolute;
		right: 0px;
		bottom: 0px;
		width: 120px;
		z-index: 3;
	}

	.park_bottom_icon04 {
		position: absolute;
		right: auto;
		left: 0;
	}

	.park_bottom_icon05 {
		position: absolute;
		top: 160px;
		z-index: 3;
	}
}

/* medical
========================================== */
.medical {
	position: relative;
	padding-top: clamp(3.5rem, -0.091rem + 7.472vw, 8.875rem);
}

.medical_04 {
	position: absolute;
	right: clamp(3.125rem, -9.021rem + 25.271vw, 16.25rem);
	top: 26px;
	width: clamp(10rem, 1.903rem + 16.847vw, 18.75rem);
	z-index: 3;
}

.medical_title {
	color: #5aaec9;
	font-size: 30px;
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.medical_title::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 3px;
	background: rgb(90, 174, 201);
	background: linear-gradient(90deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
	margin-left: 16px;
}

.medical_lead {
	position: relative;
	font-size: clamp(1.75rem, 1.165rem + 1.216vw, 2.625rem);
	line-height: 1.3;
	margin-top: 40px;
	font-weight: bold;
	letter-spacing: 0.1em;
	z-index: 3;
}

.medical_wrap {
	position: relative;
	margin-top: 50px;
	display: flex;
	justify-content: right;
	align-items: flex-end;
	column-gap: 20px;
	z-index: 1;
}

.cap_wrap {
	display: flex;
}

.cap_wrap .img_cap:nth-child(1) {
	width: 36%;
	margin-right: 16px;
	border-right: 3px solid #5aaec9;
}

.cap_wrap .img_cap:nth-child(2) {
	width: 60%;
	text-align: left;
}

.maru {
	color: #5aaec9;
}

@media only screen and (max-width:768px) {
	.medical {
		position: relative;
		margin-top: 60px;
		padding-top: clamp(3.5rem, -0.091rem + 7.472vw, 8.875rem);
	}

	.medical_04 {
		position: absolute;
		right: 0px;
		top: 10px;
		width: 120px;
	}

	.medical_title {
		color: #5aaec9;
		font-size: 30px;
		font-family: 'Urbanist', sans-serif;
		font-weight: bold;
		display: flex;
		align-items: center;
	}

	.medical_title::after {
		content: '';
		display: block;
		flex-grow: 1;
		height: 3px;
		background: rgb(90, 174, 201);
		background: linear-gradient(90deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
		margin-left: 16px;
	}

	.medical_lead {
		font-size: 22px;
		line-height: 1.4;
		margin-top: 40px;
	}

	.medical_wrap {
		margin-top: 50px;
		display: block;
	}

	.cap_wrap {
		display: block;
	}

	.cap_wrap .img_cap:nth-child(1) {
		width: 100%;
		margin-right: 0;
		border-right: none;
		border-bottom: 3px solid #5aaec9;
	}

	.cap_wrap .img_cap:nth-child(2) {
		width: 100%;
		text-align: center;
	}
}

/* public
========================================== */
.public {
	position: relative;
	margin-top: 80px;
	padding: 100px 0;
}

.education::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 130px;
	height: clamp(6.25rem, 3.358rem + 6.017vw, 9.375rem);
	background-color: #D5E9E7;
	bottom: 34%;
}

.public_icon01 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: clamp(11.875rem, 6.091rem + 12.034vw, 18.125rem);
}

.public_icon02 {
	position: absolute;
	right: 20px;
	top: 40px;
	width: clamp(11.875rem, 8.405rem + 7.22vw, 15.625rem);
	z-index: 3;
}

/* 前への矢印 */
.swiper-button-prev2 {
	left: 0px;
	top: auto;
	bottom: 0;
}

/* 次への矢印 */
.swiper-button-next2 {
	left: 140px;
	top: auto;
	bottom: 0;
}

/* 幅・高さを指定 */
.swiper-button-prev2,
.swiper-button-next2 {
	position: absolute;
	height: 40px;
	width: 40px;
}

/* 矢印を消す、画像に変更 */
.swiper-button-prev2:after,
.swiper-button-next2:after {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	height: 40px;
	width: 40px;
	margin: auto;
}

/* 前に戻る画像パス */
.swiper-button-prev2:after {
	background-image: url(../../img/home/icon_prev03.svg);
}

/* 次に進む画像パス */
.swiper-button-next2:after {
	background-image: url(../../img/home/icon_next03.svg);
}

/* ページネーション */
.swiper-pagination2 {
	color: #5aaec9;
	font-family: 'Urbanist', sans-serif;
	font-size: 28px;
	font-weight: bold;
	bottom: 6px;
	left: 64px;
	width: 70px;
	position: absolute;
}

@media only screen and (max-width:768px) {
	.public {
		position: relative;
		margin-top: 60px;
		padding: 100px 0;
	}

	.public_title_wrap {
		width: 85.333334%;
		max-width: 560px;
		margin: auto;
	}

	.public_icon01 {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
		width: clamp(11.875rem, 6.091rem + 12.034vw, 18.125rem);
		display: none;
	}

	.public_icon02 {
		position: absolute;
		right: 20px;
		top: 0px;
		width: clamp(11.875rem, 8.405rem + 7.22vw, 15.625rem);
		z-index: 3;
	}

	/* 前への矢印 */
	.swiper-button-prev2 {
		left: calc(50% - 80px);
	}

	/* 次への矢印 */
	.swiper-button-next2 {
		left: auto;
		right: calc(50% - 80px);
	}

	/* ページネーション */
	.swiper-pagination2 {
		left: 50%;
		transform: translateX(-50%);
	}
}


.lifeinfo_map {
	margin-top: 60px;
}

/*************************************************

 lifeinfo

*************************************************/
#lifeinfo {
	padding: 70px 10px;
	background: rgb(240, 246, 250);
	background: linear-gradient(180deg, rgba(240, 246, 250, 1) 0%, rgba(241, 248, 239, 1) 100%);
}

.lifeinfoTtl .txt {
	color: #5aaec9;
	font-size: 40px;
	font-family: 'Urbanist', sans-serif;
	margin-bottom: 60px;
}

.lifeinfo_title {
	color: #5aaec9;
	font-size: 22px;
	letter-spacing: 0.1em;
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.lifeinfo_title::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 3px;
	background: rgb(90, 174, 201);
	background: linear-gradient(90deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
	margin-left: 16px;
}

#lifeinfo .flexs {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1400px;
	margin: 40px auto 0;
}

.lifeinfo_group {
	width: 47.8571%;
}

.lifeinfo_contents {
	margin-top: 60px;
}

.lifeinfo_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lifeinfo_item+.lifeinfo_item {
	margin-top: 10px;
}

.lifeinfo_item * {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
}

#lifeinfo .place {
	font-size: 16px;
}

#lifeinfo .sep {
	position: relative;
	flex-grow: 1;
}

#lifeinfo .sep:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 90%;
	height: 3px;
	transform: translate(-50%, -50%);
	background: url(../img/dot.png);
	background-size: auto 100%;
}

#lifeinfo .info {
	display: flex;
	justify-content: space-between;
	width: 195px;
}

#lifeinfo .toho {
	text-align: left;
	width: 36px;
}

#lifeinfo .num {
	width: 47px;
	text-align: right;
}

#lifeinfo .kyori {
	width: 110px;
	text-align: left;
}

.icon_lifeinfo {
	position: absolute;
	width: 250px;
	bottom: -50px;
	right: calc(clamp(0rem, -4.57rem + 9.509vw, 3.75rem) * -1);
	z-index: 2;
}

@media only screen and (max-width:768px) {
	#lifeinfo .inner {
		width: 100%;
	}

	.lifeinfo_title {
		color: #5aaec9;
		font-size: 22px;
		letter-spacing: 0.1em;
		font-family: 'Urbanist', sans-serif;
		font-weight: bold;
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}

	.lifeinfo_title::after {
		content: '';
		display: block;
		flex-grow: 1;
		height: 3px;
		background: rgb(90, 174, 201);
		background: linear-gradient(90deg, rgba(90, 174, 201, 1) 0%, rgba(107, 188, 104, 1) 100%);
		margin-left: 16px;
	}

	#lifeinfo .flexs {
		display: block;
		margin: 40px auto 0;
	}

	.lifeinfo_group {
		width: 100%;
	}

	.lifeinfo_contents {
		margin-top: 60px;
	}

	.lifeinfo_item {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.lifeinfo_item+.lifeinfo_item {
		margin-top: 10px;
	}

	.lifeinfo_item * {
		font-size: 12px;
		line-height: 1.5;
		letter-spacing: 0;
	}

	#lifeinfo .place {
		font-size: 12px;
	}

	#lifeinfo .sep {
		position: relative;
		flex-grow: 1;
	}

	#lifeinfo .sep:before {
		width: 90%;
		height: 3px;
	}

	#lifeinfo .info {
		display: flex;
		justify-content: space-between;
		width: 140px;
	}

	#lifeinfo .toho {
		text-align: left;
		width: 36px;
	}

	#lifeinfo .num {
		width: 45px;
		text-align: right;
	}

	#lifeinfo .kyori {
		width: 110px;
		text-align: left;
	}
}