@charset "utf-8";
/**
 *
 *  ページ用CSS
 *  location
 *
 */
/*--------------------------------------------------------------------------
	Overwright
---------------------------------------------------------------------------*/
.page-ttl{
	height: 100%;
}
.page-ttl h1{
	color: #fff;
	top: 50%;
	transform: translateY(-50%);
	text-shadow: none;
	text-shadow: 0px 0px 8px rgba(0,0,0,.4), 0px 0px 8px rgba(0,0,0,.4), 0px 0px 8px rgba(0,0,0,.4), 0px 0px 8px rgba(0,0,0,.4), 0px 0px 8px rgba(0,0,0,.4), 0px 0px 8px rgba(0,0,0,.4);
	z-index: 2;
}
.txt {
	letter-spacing: .02em;
}
.txt.lead {
	font-size: clamp(2rem, 1.8vw, 3rem) !important;
	letter-spacing: 0.095em;
}
.pict {
	position: relative;
	line-height: 1;
}
.pict>.cap {
	position: absolute;
	right: .75em;
	bottom: .75em;
	color: #fff;
	font-size: 1.2rem;
	text-shadow: 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 1px #000;
}
.pict>img {
	width: 100%;
}
/*--------------------------------------------------------------------------
	Content
---------------------------------------------------------------------------*/
main{
	position: relative;
	background-color: #030000;
	background-image: url('../images/bg_parts_r.png'), url('../images/bg_parts_l.png');
	background-repeat: no-repeat, no-repeat;
	background-position: top right, top 19% left;
	background-size: 25vw, 25vw;
}
main > .caption{
	position: absolute;
	right: 10px;
	top: 5px;
	font-size: 1.2rem;
	color: #223c14;
}
section h2{
	width: fit-content;
	margin: 0 auto 45px auto;
	font-size: 4.2rem;
	font-size: clamp(2.6rem, 2.5vw, 4.2rem);
	letter-spacing: .15em;
	font-weight: normal;
}
section.location h2 {
	position: relative;
	margin: 0 0 45px 0;
	z-index: 2;
}
section h2 + .txt{
	line-height: 2.5;
}
section.location h2 + .txt{
	position: relative;
	text-shadow: 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1), 0px 0px 3px rgba(255,255,255,1);
	font-weight: 500;
	z-index: 2;
}
/* intro
-----------------------------------------------------------------*/
.intro{
	position: relative;
	padding: 170px 0 140px;
}
/* section
-----------------------------------------------------------------*/
section:not(.location):not(.townmap) {
	color: #fff;
}
section.lifeinfo {
	background: #031716;
	background: linear-gradient(145deg, #033735 0%, #031716 100%);
	color: #fff;
}
/* ise
-----------------------------------------------------------------*/
.ise {
	position: relative;
	padding: 120px 0;
	background: #111612;
	color: #fff;
	z-index: 2;
}
.ise .inner {
	position: relative;
	padding-bottom: 400px;
}
.ise .pic-main {
	position: relative;
	margin-bottom: 55px;
}
.ise .pic-main .caption {
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 1.2rem;
	color: #fff;
}
.ise h2 {
	position: relative;
	z-index: 10;
	margin-bottom: 65px;
	font-size: 4.1rem;
	letter-spacing: .15em;
	font-weight: normal;
}
.ise .txt {
	position: relative;
	z-index: 10;
	line-height: 2.5;
	letter-spacing: .1em;
}
.ise .map {
	position: absolute;
	right: 0;
	bottom: 0;
}
.ise .map .caption {
	position: absolute;
	right: 20%;
	bottom: 10px;
	font-size: 1.2rem;
}
.ise .pic-list {
	display: flex;
	justify-content: space-between;
}
.ise .pic-list li {
	position: relative;
	width: 46.5%;
}
.ise .pic-list li:nth-child(1) {
	transform: translateY(-10vw);
}
.ise .pic-list .caption {
	position: absolute;
	right: 10px;
	bottom: 5px;
	font-size: 1.2rem;
	color: #fff;
	text-shadow: 0 0 3px #000, 0 0 5px #000;
}
/* about_ise
-----------------------------------------------------------------*/
.about_ise .box01 .flexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 60px;
}
.about_ise .box01 .flexBox>p {
	width: 52.5%;
	line-height: 2.6;
}
.about_ise .box01 .flexBox>div {
	width: calc(47.5% - 50px);
	margin-left: 80px;
}
.about_ise .box02 {
	max-width: unset;
	margin: 0 calc((100% - 1280px) / 2) 0 0;
}
.about_ise .box02 .flexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.about_ise .box02 .flexBox>div:nth-child(1) {
	order: 1;
	margin-bottom: -4em;
	width: calc(47.5% - 50px);
}
.about_ise .box02 .flexBox>div:nth-child(1) p.lead {
	margin-bottom: 60px;
}
.about_ise .box02 .flexBox>div:nth-child(1) p:not(.lead) {
	line-height: 2.6;
}
.about_ise .box02 .flexBox>div:nth-child(2) {
	order: 0;
	width: 52.5%;
	margin-right: 80px;
}
.about_ise .box03 {
	max-width: unset;
	/* margin: calc(90px + 4em) 0 215px calc((100% - 1280px) / 2); */
	margin: 90px 0 90px calc((100% - 1280px) / 2);
}
.about_ise .box03 .flexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.about_ise .box03 .flexBox>div:nth-child(1) {
	width: calc(47.5% - 50px);
}
.about_ise .box03 .flexBox>div:nth-child(1) p.lead {
	margin-bottom: 60px;
}
.about_ise .box03 .flexBox>div:nth-child(1) p:not(.lead) {
	line-height: 2.6;
}
.about_ise .box03 .flexBox>div:nth-child(1) .schedule {
	margin-top: 60px;
}
.about_ise .box03 .flexBox>div:nth-child(2) {
	width: 52.5%;
	margin-left: 80px;
}
.about_ise .box03 .flexBox>div:nth-child(2) img {
	width: 100%;
}
.about_ise .pic_list ul {
	display: flex;
	flex-wrap: wrap;
}
.about_ise .pic_list li {
	width: 25%;
}
.about_ise .pic_list li img {
	width: 100%;
}
/* location
-----------------------------------------------------------------*/
.location{
	background: #fff;
}
.location-hd{
	position: relative;
	padding: 120px 0;
}
.location-hd .pic-bg{
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
}
.location-hd .pic-bg .caption{
	position: absolute;
	right: 10px;
	bottom: 5px;
	font-size: 1.2rem;
	color: #223c14;
}
.location .box._01 {
	padding: clamp(70px, 7vw, 120px) 0;
	background: url('../images/bg_hand.png') no-repeat top right / 34.43vw;
}
.location .box._01 .flexBox {
	display: flex;
	justify-content: space-around;
}
.location .box._01 .flexBox div {
	width: calc(60% - 40px);
	margin-right: 40px;
}
.location .box._01 .flexBox p {
	width: 40%;
}
.location .cat{
	position: relative;
	padding: 100px 0 85px;
}
.location .cat > .caption{
	position: absolute;
	left: 10px;
	bottom: 5px;
	font-size: 1.2rem;
	color: #223c14;
}
.location .cat02 > .caption,
.location .cat04 > .caption,
.location .cat06 > .caption{
	left: auto;
	right: 10px;
	color: #fff;
}
.location .cat .layout-box{
	position: relative;
	display: block;
	width: 80%;
	max-width: 1280px;
	margin-inline: auto;
}
.location .cat01,
.location .cat03,
.location .cat05,
.location .cat07{
	/* padding-left: calc((100% - 1240px)/2); */
	background: no-repeat left top;
	background-size: contain;
  background-color: #f0f3f3;
}
.location .cat02,
.location .cat04,
.location .cat06{
	/* padding-right: calc((100% - 1240px)/2); */
	background: no-repeat right top;
	background-size: contain;
  background-color: #1b3e3d;
}
.location .cat01{
	background-image: url(../images/bg_cat01.jpg);
  
  
}
.location .cat02{
	background-image: url(../images/bg_cat02.jpg);
  
}
.location .cat03{
	background-image: url(../images/bg_cat03.jpg);
}
.location .cat04{
	background-image: url(../images/bg_cat04.jpg);
}
.location .cat05{
	background-image: url(../images/bg_cat05.jpg);
}

.location .cat06{
	background-image: url(../images/bg_cat06.jpg);
}

.location .cat07{
	background-image: url(../images/bg_cat07.jpg);
}

/* .location .cat02 .layout-box,
.location .cat04 .layout-box{
	flex-direction: row-reverse;
} */
.location .cat .ttl-area{
	width: fit-content;
	margin-bottom: 40px;
}
.location .cat .ttl-area h3{
	width: fit-content;
	color: #000500;
	line-height: 1;
	letter-spacing: .15em;
	font-weight: normal;
}
.location .cat .ttl-area h3 strong{
	display: block;
	width: fit-content;
	font-weight: normal;
	font-size: clamp(4rem, 5.2vw, 9.4rem);
}
.location .cat .ttl-area h3 span{
	display: block;
	width: fit-content;
	margin-top: 20px;
	font-size: 3rem;
	font-size: clamp(2.2rem, 2.6vw, 3rem);
}
.location .cat02 .ttl-area h3,
.location .cat04 .ttl-area h3,
.location .cat06 .ttl-area h3,
.location .cat:nth-child(even) .spot-img li span {
	color: #fff;
}
.location .cat .spot-img {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: clamp(24px, 8vw, 48px) 10px;
}
.location .cat .spot-img li:nth-child(1) {
	width: 100%;
}
.location .cat .spot-img li:nth-child(2),
.location .cat .spot-img li:nth-child(3) {
	width: calc(50% - 5px);
}
.location .cat.cat05 .spot-img li:nth-child(4),
.location .cat.cat05 .spot-img li:nth-child(5),
.location .cat.cat05 .spot-img li:nth-child(6),
.location .cat.cat05 .spot-img li:nth-child(7) {
	width: calc(33% - (30px / 3));
}

.location .cat .spot-img li:nth-child(4),
.location .cat .spot-img li:nth-child(5),
.location .cat .spot-img li:nth-child(6),
.location .cat .spot-img li:nth-child(7) {
	width: calc(25% - (30px / 3));
}

.location .cat .spot-img li span {
	display: block;
	font-size: clamp(1.2rem, 1.3vw, 1.7rem);
}
.location .cat .spot-img li img {
	width: 100%;
}
/* .location .cat .slider-area{
	width: calc(100% - 300px);
}
.location .spot-slider{
	position: static;
	width: 140%;
}
.location .cat02 .spot-slider,
.location .cat04 .spot-slider{
	margin-left: -40%;
}
.location .spot-slider .slider-item{
	margin: 0 20px 0 0;
}
.location .cat02 .spot-slider .slider-item,
.location .cat04 .spot-slider .slider-item{
	margin: 0 0 0 20px;
	color: #fff;
}
.location .spot-slider .caption{
	display: block;
	margin-top: 5px;
	font-size: 1.4rem;
	line-height: 1.2;
} */
/* slick初期設定clear */
.slick-list {
	font-size: 0;
	line-height: 0;
}
/* .slick-dots {
	font-size: 0 !important;
	line-height: 0 !important;
}
.slick-dots li button {
	width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
} */
/* ----------------- */
/* .location .cat .spot-slider .slick-dots{
	width: fit-content;
	top: 75%;
	bottom: unset;
	left: 5px;
}
.location .cat:nth-child(odd) .spot-slider .slick-dots{
	left: calc(100% - 245px);
}
.location .spot-slider .slick-dots li{
	width: 15px;
	height: 15px;
	margin: 0;
	border-radius: 50%;
	background: #fff;
	transition: .3s;
}
.location .cat:nth-child(even) .slick-dots li:not(:last-child) {
	margin-right: 15px !important;
}
.location .cat:nth-child(odd) .slick-dots li:not(:first-child) {
	margin-right: 15px !important;
}
.location .cat:nth-child(odd) .spot-slider .slick-dots {
	transform: rotate(180deg) !important;
}
.location .spot-slider .slick-dots li:hover,
.location .spot-slider .slick-dots li.slick-active{
	background: #000500;
	opacity: 1;
}
.location .cat02 .spot-slider .slick-dots li,
.location .cat04 .spot-slider .slick-dots li{
	opacity: .5;
}
.location .cat02 .spot-slider .slick-dots li:hover,
.location .cat04 .spot-slider .slick-dots li:hover,
.location .cat02 .spot-slider .slick-dots li.slick-active,
.location .cat04 .spot-slider .slick-dots li.slick-active{
	background: #fff;
	opacity: 1;
} */
/* lifeinfo
-----------------------------------------------------------------*/
.lifeinfo{
	padding: 140px 0 135px;
	background: rgb(3,52,50);
	background: linear-gradient(130deg, rgba(3,52,50,1) 0%, rgba(3,23,22,1) 100%);
}
.lifeinfo h2{
	margin-bottom: 80px;
	text-align: center;
	font-size: 6rem;
	line-height: 1;
	letter-spacing: .2em;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
}
.lifeinfo .nav-area{
	margin-bottom: 30px;
}
.lifeinfo .tab-nav{
	display: flex;
	justify-content: space-between;
}
.lifeinfo .tab-nav li{
	transform: translateY(5px);
	width: calc((100% - 60px) / 7);
	padding: 20px 5px;
	background: #355554;
	color: #fff;
	text-align: center;
	line-height: 1;
	font-size: 1.8rem;
	cursor: pointer;
	transition: .3s;
}
.lifeinfo .tab-nav li.current,
.lifeinfo .tab-nav li:hover{
	background: #fff;
	color: #032120;
}
.lifeinfo .map-cont+.map-cont{
	display: none;
}
/* map ------------------------*/
.gmap_wrap{
	display: flex;
	height: 750px;
}
#gmap{
	width: 58%;
	height: 100%;
}
#markerArea{
	width: 42%;
	padding: 10px 20px;
	overflow: auto;
}
#markerList{
	max-width: 580px;
	margin: 0 auto;
}
.marker_list li{
	border-bottom: 1px dashed #b4b4b4;
	background: no-repeat left 10px top 6px;
	cursor: pointer;
	transition: .3s;
}
.marker_list li:hover{
	opacity: .7;
}
/*.marker_list li:nth-child(1){ background-image: url(../images/ico_marker01.png) }
.marker_list li:nth-child(2){ background-image: url(../images/ico_marker02.png); }
.marker_list li:nth-child(3){ background-image: url(../images/ico_marker03.png); }
.marker_list li:nth-child(4){ background-image: url(../images/ico_marker04.png); }
.marker_list li:nth-child(5){ background-image: url(../images/ico_marker05.png); }
.marker_list li:nth-child(6){ background-image: url(../images/ico_marker06.png); }
.marker_list li:nth-child(7){ background-image: url(../images/ico_marker07.png); }
.marker_list li:nth-child(8){ background-image: url(../images/ico_marker08.png); }
.marker_list li:nth-child(9){ background-image: url(../images/ico_marker09.png); }
.marker_list li:nth-child(10){ background-image: url(../images/ico_marker10.png); }
.marker_list li:nth-child(11){ background-image: url(../images/ico_marker11.png); }
.marker_list li:nth-child(12){ background-image: url(../images/ico_marker12.png); }
.marker_list li:nth-child(13){ background-image: url(../images/ico_marker13.png); }
.marker_list li:nth-child(14){ background-image: url(../images/ico_marker14.png); }
.marker_list li:nth-child(15){ background-image: url(../images/ico_marker15.png); }*/
.marker_list li:last-child{
	display: none;
}
.marker_list .flex{
	display: flex;
	align-items: flex-end;
	line-height: 1.2;
	color: #03201f;
}
.marker_list .flex > div:nth-child(1){
	position: relative;
	width: 65%;
	padding: 12px 0 12px 30px;
}
.marker_list .flex > div:nth-child(1) span{
	position: absolute;
	left: 0;
	top: 10px;
	display: block;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #305755;
	text-align: center;
	line-height: 25px;
	color: #fff;
	font-size: 1.6rem;
}
.marker_list .flex > div:nth-child(1) small{
	display: block;
	font-size: 1.4rem;
}
.marker_list .flex > div:nth-child(2){
	width: 35%;
	padding: 12px 0;
	font-size: 1.4rem;
}

.other-spot-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	margin-top: 55px;
}
.other-spot-list dt{
  width: 100%;
  padding:  0 10px;
  color: #000500;
	font-size: 18px;
	font-weight: 500;
	border-bottom: 2px solid #000500;  
}
.other-spot-list dd{
  width: 48%;
  display: flex;
	justify-content: space-between;
	padding: 5px 10px;
	border-bottom: 1px dashed #000500;
}


.location .cat02 .other-spot-list dt,
.location .cat04 .other-spot-list dt,
.location .cat06 .other-spot-list dt{
  width: 100%;
  padding:  0 10px;
  color: #fff;
	font-size: 18px;
	font-weight: 500;
	border-bottom: 2px solid #fff;  
}
.location .cat02 .other-spot-list dd,
.location .cat04 .other-spot-list dd,
.location .cat06 .other-spot-list dd{
  width: 48%;
  display: flex;
	justify-content: space-between;
	padding: 5px 10px;
  color: #fff;
	border-bottom: 1px dashed #ffffff;
}


/* townmap
-----------------------------------------------------------------*/

.townmap{
	background: #fff;
	padding: 120px 0;
}
.townmap .txt-area{
	background: url(../images/bg_town.png) no-repeat right bottom;
}
.townmap .txt-area h2{
	margin: 0 0 80px;
}
.townmap .layout-box{
	position: relative;
	display: block;
	width: 80%;
	max-width: 1280px;
	margin-inline: auto;
}
.townmap .layout-box.map-wrap{
	display: flex;
	gap: 40px;
}

.townmap .map-wrap p.swipe{
	display: none;
}
.townmap .map-wrap figure .scroll{
	position: relative;
}
.townmap .map-wrap figure figcaption{
	position: absolute;
	left: 0;
	bottom: -20px;
	z-index: 2;
}
.townmap .map-wrap figure figcaption ul{
	display: flex;
	gap: 30px;
}
.townmap .map-wrap figure figcaption ul li{
	font-size: 1.2rem;
	line-height: 1;
}
.townmap .map-wrap figure figcaption ul li::before{
	content: "■";
	color: var(--catcolor);
	margin: 0 6px 0 0;
	font-size: 1.6rem;
	vertical-align: text-top;
}

.townmap .shoplist{
	max-width: 370px;
	width: 50%;
}
.townmap .tab-nav{
	margin: 0 0 40px;
}
.townmap .tab-nav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 5px;
}
.townmap .tab-nav ul li{
	width: calc(50% - 5px);
	margin: 0 1px;
	text-align: center;
	color: var(--catcolor);
	border: 1px solid var(--catcolor);
	padding: 8px;
	font-size: 1.6rem;
	line-height: 1.6;
	cursor: pointer;
}
.townmap .tab-nav ul li.current{
	background: var(--catcolor);
	color: #fff;
}
.townmap .tab-cont + .tab-cont {
	display: none;
}
.townmap .tab-cont{
	height: 54vw;
	overflow: auto;
}
.townmap .tab-cont::-webkit-scrollbar {
	width: 8px;
	background-color: #e0e0e0; 
}

.townmap .tab-cont::-webkit-scrollbar-thumb {
	background: #999;
	width: 6px;
	border-radius: 5px;
}

.townmap .tab-cont > ul > li{
	padding: 0 0 10px;
	border-bottom: 1px dashed #b4b4b4;
  color: #03201f;
}
.townmap .tab-cont > ul > li:not(:last-child){
	margin: 0 0 20px;
}
.townmap .tab-cont > ul > li dl dt{
  position: relative;
	font-size: 1.6rem;
	padding-left: 3.5rem;
	line-height: 1.6;
	margin: 0 0 8px;
}
.townmap .tab-cont > ul > li dl dt span{
	position: absolute;
	left: 0;
	top: -1px;
	display: block;
	width: 25px;
	height: 25px;
	background: var(--catcolor);
	text-align: center;
	line-height: 25px;
	color: #fff;
	font-size: 1.6rem;
	margin-right: 15px;
}
.townmap .tab-cont > ul > li dl dt small{
	display: block;
	font-size: 1.4rem;
}
.townmap .tab-cont > ul > li dl dd{
	font-size: 1.4rem;
	display: flex;
	gap: 18px;
	padding: 0 0 2px;
}
.townmap .tab-cont > ul > li dl dd small{
	display: block;
	font-size: 1.2rem;
}






/*--------------------------------------------------------------------------
	Media Queries
---------------------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
	.about_ise .box01 .flexBox>div {
		margin-left: 44px;
	}
	.about_ise .box02 .flexBox>div:nth-child(2) {
		margin-right: 44px;
	}
	.about_ise .box03 .flexBox>div:nth-child(2) {
		margin-left: 44px;
	}
}
/* @media screen and (min-width: 769px) and (max-width: 1280px) {
	.location .cat:nth-child(even) .ttl-area,
	.location .spot-slider .slick-dots {
		padding-left: 50px;
	}
	.location .spot-slider .slick-dots {
		top: 100%;
	}
} */
@media screen and (max-width: 1280px) {
	.about_ise .box02 {
		margin-right: 20px;
	}
	.about_ise .box03 {
		margin-left: 20px;
	}
}
@media screen and (max-width: 1024px) {
	main{
		background-size: 35vw, 35vw;
		background-position: top right, top 17% left;
	}
	.intro {
		padding: 120px 0 75px;
	}
	.txt.lead {
		line-height: 2.4;
	}
	.about_ise .box01 {
		margin-bottom: 90px;
	}
	.about_ise .box01 .flexBox {
		margin-top: 30px;
	}
	.about_ise .box02 .flexBox {
		align-items: center;
	}
	.about_ise .box03 .flexBox {
		align-items: baseline;
	}
	.about_ise .box02 .flexBox>div:nth-child(1) {
		margin-bottom: 0;
	}
	.about_ise .box01 .flexBox>p,
	.about_ise .box02 .flexBox>div:nth-child(1),
	.about_ise .box03 .flexBox>div:nth-child(1) {
		width: 60%;
		line-height: 2.4;
	}
	.about_ise .box01 .flexBox>div,
	.about_ise .box02 .flexBox>div:nth-child(2),
	.about_ise .box03 .flexBox>div:nth-child(2) {
		width: calc(40% - 44px);
	}
	.about_ise .box02 .flexBox>div:nth-child(1) p.lead,
	.about_ise .box03 .flexBox>div:nth-child(1) p.lead {
		margin-bottom: 30px;
	}
	.about_ise .box03 .flexBox>div:nth-child(1) table {
		width: 70vw;
	}
}
/*--------------------------------------------------------------------------
	mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	main {
		background: #030000 url('../images/bg_parts_r.png') no-repeat top right / 35vw;
	}
	.txt:not(.lead) {
		font-size: 1.4rem;
	}
	.intro {
		padding: 80px 0 25px;
	}
  
.location .cat01,
.location .cat02,  
.location .cat03,
.location .cat04,
.location .cat05{
	background-size: 200%;
}
  
	/* ise
	-----------------------------------------------------------------*/
	.ise .inner {
		padding-bottom: 0;
	}
	.ise .pic-main {
		margin-bottom: 30px;
	}
	.ise .pic-main .caption {
		font-size: 1rem;
	}
	.ise h2 {
		margin-bottom: 20px;
		font-size: 2rem;
	}
	.ise .txt {
		line-height: 2;
		font-size: 1.3rem;
		text-align: justify;
	}
	.ise .map {
		position: relative;
		width: calc(100% + 40px);
		margin-left: -20px;
		overflow: hidden;
	}
	.ise .map img {
		display: block;
		max-width: none;
		/* width: 120vw;
		transform: translateX(-15vw); */
		width: 100vw;
        transform: translateX(0vw);
	}
	.ise .map .caption {
		right: 10%;
		font-size: 1rem;
	}
	.ise .pic-list li {
		position: relative;
		width: 49%;
	}
	.ise .pic-list .caption {
		right: 5px;
		bottom: 5px;
		font-size: 1rem;
	}
/* about_ise
-----------------------------------------------------------------*/
	.about_ise .box01,
	.about_ise .box02,
	.about_ise .box03 {
		margin: 0 auto 60px;
	}
	.about_ise .box02,
	.about_ise .box03 {
		padding: 0 20px;
		margin: 0 auto;
	}
	.about_ise .box03 {
		padding: 60px 20px 80px;
	}
	.about_ise .box01 .flexBox,
	.about_ise .box02 .flexBox,
	.about_ise .box03 .flexBox {
		display: block;
	}
	.about_ise .box01 .flexBox>p,
	.about_ise .box01 .flexBox>div,
	.about_ise .box02 .flexBox>div:nth-child(1),
	.about_ise .box02 .flexBox>div:nth-child(2),
	.about_ise .box03 .flexBox>div:nth-child(1),
	.about_ise .box03 .flexBox>div:nth-child(2) {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
	.about_ise .box01 .flexBox>p,
	.about_ise .box02 .flexBox>div:nth-child(1) p:not(.lead),
	.about_ise .box03 .flexBox>div:nth-child(1) p:not(.lead) {
		margin: 30px auto;
	}
	.about_ise .box03 .flexBox>div:nth-child(1) .schedule {
		margin: 30px auto;
	}
/* location
-----------------------------------------------------------------*/
	.location .box._01 {
		background-size: 92.44vw;
	}
	.location .box._01 .flexBox {
		display: block;
	}
	.location .box._01 .flexBox div {
		width: 100%;
		margin-right: 0;
	}
	.location .box._01 .flexBox p {
		width: 100%;
		margin-top: 1em;
}
	.location .cat {
		padding: 60px 0 75px;
	}
	.location .cat .layout-box {
		padding: 20px;
		width: 100%;
	}
	.location .cat .ttl-area {
		margin-top: 0;
		width: fit-content;
	}
	/* .location .cat:nth-child(even) .ttl-area {
		padding-left: 20px;
	}
	.location .cat:nth-child(odd) .ttl-area {
		margin: 0 20px 0 auto;
	} */
	.location .cat02 .ttl-area h3,
	.location .cat04 .ttl-area h3 {
		padding-left: 0;
	}
	.location .cat .ttl-area h3 span {
		margin: 14px 0;
	}
	.location .cat .spot-img li:nth-child(4),
	.location .cat .spot-img li:nth-child(5),
	.location .cat .spot-img li:nth-child(6),
	.location .cat .spot-img li:nth-child(7) {
		width: calc(50% - 10px);
	}
	.location .cat.cat05 .spot-img li:nth-child(4),
	.location .cat.cat05 .spot-img li:nth-child(5),
	.location .cat.cat05 .spot-img li:nth-child(6),
	.location .cat.cat05 .spot-img li:nth-child(7) {
	width: calc(50% - 10px);
}
	
	/* .location .cat .slider-area {
		width: auto;
	}
	.location .cat:nth-child(even) .slider-area {
		padding-left: 20px;
	}
	.location .cat:nth-child(odd) .slider-area {
		padding-right: 20px;
	}
	.location .spot-slider .caption {
		margin-top: .5em;
		line-height: 1;
		text-align: left;
		font-size: 1.28rem;
	}
	.location .spot-slider .slider-item {
		margin-right: 14px;
	}
	.location .cat .spot-slider .slick-dots{
		top: unset;
		bottom: -30px;
		left: 20px;
	}
	.location .cat:nth-child(odd) .spot-slider .slick-dots{
		left: unset;
		right: 20px;
	}
	.about_ise .pic_list li {
		width: 50%;
	} */
/* lifeinfo
-----------------------------------------------------------------*/
	.lifeinfo{
		padding: 40px 0;
	}
	.lifeinfo h2{
		margin-bottom: 30px;
		font-size: 20px;
	}
	.lifeinfo .nav-area{
		padding: 0 0 0 20px;
	}
	.lifeinfo .nav-area > div{
		width: 100%;
		overflow: auto;
		transform: translateY(4px);
	}
	.lifeinfo .tab-nav{
		width: 580px;
		max-width: none;
		margin: 0 20px 0 0;
		padding: 0;
	}
	.lifeinfo .tab-nav li{
		transform: none;
		padding: 10px 5px 5px;
		font-size: 13px;
	}
	.lifeinfo .tab-nav li span{
		display: block;
	}
/* map ------------------------*/
	.gmap_wrap{
		display: block;
		height: auto;
	}
	#gmap{
		width: 100%;
		height: 100vw;
	}
	#markerArea{
		width: 100%;
		overflow: visible;
	}
	.marker_list li{
		background-position: left top 4px;
		font-size: 13px;
	}
	.marker_list li:hover{
		opacity: 1;
	}
	.marker_list .flex{
		justify-content: space-between;
	}
	.marker_list .flex > div:nth-child(1){
		width: auto;
		padding: 12px 0 12px 30px;
	}
	.marker_list .flex > div:nth-child(2){
		width: auto;
		padding: 12px 0 12px 10px;
	}
 .other-spot-list dd,
.location .cat02 .other-spot-list dd,
.location .cat04 .other-spot-list dd,
.location .cat06 .other-spot-list dd{
  width: 100%;
  display: flex;
	justify-content: space-between;
	padding: 5px 10px;
  font-size: 11px;
	
}



/* townmap
-----------------------------------------------------------------*/

.townmap{
	padding: 60px 0;
}
.townmap .txt-area h2{
	margin: 0 0 40px;
}
.townmap .layout-box{
	padding: 20px;
	width: 100%;
}
.townmap .layout-box.map-wrap{
	display: block;
	padding: 0;
	margin: 40px auto 15px;
}
.townmap .map-wrap figure .scroll {
	position: relative;
	padding: 0 0 0 10px;
	overflow-x: auto;
}
.townmap .map-wrap figure figcaption{
	position: static;
	padding: 20px;
}
.townmap .map-wrap figure figcaption ul{
	gap: 10px;
}
.townmap .map-wrap figure img{
	width: 130%;
	height: auto;
	max-width: 738px;
}

.townmap .shoplist{
	max-width: 100%;
	width: 90%;
	margin: 60px auto 0;
}

.townmap .tab-nav{
	margin: 0 0 30px;
}

.townmap .tab-nav ul li{
	font-size: 1.5rem;
}
.townmap .tab-cont > ul > li dl dt{
	font-size: 1.5rem;
}
.townmap .tab-cont > ul > li dl dt span{
	font-size: 1.5rem;
	margin-right: 15px;
}
.townmap .tab-cont > ul > li dl dt small{
	font-size: 1.3rem;
}
.townmap .tab-cont > ul > li dl dd{
	font-size: 1.3rem;
	gap: 13px;
}
}


@media screen and (max-width: 756px) {
	.townmap .map-wrap p.swipe{
		display: block;
		margin-bottom: 15px;
		text-align: center;
		font-size: 1.2rem;
	}
	.townmap .map-wrap p.swipe span:first-child{
		padding-right: 10px; 
	}
	.townmap .map-wrap p.swipe img{
		width: 20px;
		vertical-align: top;  
	}
}

@media screen and (max-width: 440px) {
	br.sp440 {
		display: none;
	}
}

/* スマートフォンでのマーカーアイコンサイズを調整 */
@media screen and (max-width: 768px) {
    .gmap_wrap img[src*="ico_mansion.png"] {
        width: 110px !important; /* 任意の小さいサイズに調整 */
        height: 130px !important; /* 任意の小さいサイズに調整 */
    }
}