@charset "utf-8";

body{
	overflow-x: hidden;
}

  /* 下層ページ共通タイトルstyle */

  .page_ttl{
    max-width: 1920px;
    margin: auto;
    position: relative;
    padding-bottom: 10svw;
}
.page_ttl .inner{
    padding: 0 4svw;
    max-width: inherit;
}
.page_ttl h1{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.page_ttl h1 span:nth-of-type(1){
    font-family: 'Bebas Neue', sans-serif;
    font-size: 10svw;
    font-weight: 500;
    line-height: 1;
}
.page_ttl h1 span:nth-of-type(2){
    font-family: 'Shippori Antique', sans-serif;
    font-size: 2svw;
}
.page_ttl .page_ttl_img{
    max-width: 1920px;
    margin: auto;
    margin-right: 4svw;
    position: relative;
}
.page_ttl .page_ttl_img span{
    display: block;
    position: absolute;
    top: -4%; right: 1svw;
}
.page_ttl .page_ttl_txt{
    text-align: center;
    position: relative;
    font-weight: bold;
    padding-top: 2%;
}
.page_ttl .page_ttl_txt::before{
    position: absolute;
    right: 0;
    bottom: -5vw;
    display: block;
    width: 87.66vw;
    height: 21vw;
    content: "";
    background: #cbfc6a;
    z-index: -1;
}
.page_ttl .page_ttl_txt dt{
    font-size: 2.8rem;
}
.page_ttl .page_ttl_txt dd:nth-of-type(1){
    font-size: 1.8rem;
}
.page_ttl .page_ttl_txt dd:nth-of-type(2){
    position: absolute;
    right: 1.5svw; bottom: 0;
}
.common-sec-ttl {
    position: relative;
    line-height: 1;
    overflow: hidden;
    text-align: center;
    top: -3svw;
}
.common-sec-ttl .ttl-bg {
    display: block;
    font-size: 11svw;
    letter-spacing: 5px;
    line-height: .85;
    color: #f3f4f4;
    font-family: 'Bebas Neue', sans-serif;
    white-space: nowrap;
}
.common-sec-ttl .ttl {
    display: block;
    position: absolute;
    top: 21%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.common-sec-ttl .ttl .en {
    font-size: 5svw;
    font-family: 'Bebas Neue', sans-serif;
    letter-spacing: 5px;
}
.common-sec-ttl .ttl .ja {
    margin-top: 3px;
    font-size: 20px;
    letter-spacing: .05em;
    font-weight: 500;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}
.common-sec-ttl .ttl span {
    display: block;
}

@media screen and (max-width: 768px) {
    /* 下層ページ共通タイトルstyle */

.page_ttl{
    max-width: 100%;
    padding-top: 12%;
}
.page_ttl h1{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.page_ttl h1 span:nth-of-type(1){
    font-family: 'Bebas Neue', sans-serif;
    font-size: 9svw;
    font-weight: 500;
}
.page_ttl h1 span:nth-of-type(2){
    font-family: 'Shippori Antique', sans-serif;
    font-size: 3.4svw;
}
.page_ttl .page_ttl_img{
    max-width: 100%;
}
.page_ttl .page_ttl_img span{
    top: 81%;
    right: -2svw;
    width: 41%;
}
.page_ttl .page_ttl_txt{
    padding-top: 10%;
}
.page_ttl .page_ttl_txt::before{
    position: absolute;
    right: 0;
    bottom: -11vw;
    height: 64vw;
}
.page_ttl .page_ttl_txt dt{
    font-size: 1.8rem;
    line-height: 1.4;
}
.page_ttl .page_ttl_txt dd:nth-of-type(1){
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 0 5%;
    margin-top: 3%;
}
.page_ttl .page_ttl_txt dd:nth-of-type(2){
    position: absolute;
    right: 1.5svw; bottom: 0;
}
    .common-sec-ttl {
        top: -11svw;
    }
    .common-sec-ttl .ttl-bg {
        font-size: 102px;
        line-height: 1;
    }
    .common-sec-ttl .ttl .en {
        font-size: 30px;
        letter-spacing: 2px;
    }
    .common-sec-ttl .ttl .ja {
        margin-top: 3px;
        font-size: 12px;
    }
}



.location_map{

	margin-top: 5%;
}
.inner{
	max-width: 1300px;
    margin: 0 auto;
} 

.loc_link_btn{
	display: flex;
	justify-content: space-between;
	margin-top: 5%;
}
.loc_link_btn li{
	flex-basis: 33%;
}
.loc_link_btn li a{
	display: block;
	background-color: #F5FEE1;
	border: 1px solid #000;
	width: 100%;
	display: flex;
	align-items: center;
}
.loc_link_btn .point_num {
	color: #fff;
    padding: 25px 35px 15px 15px;
    flex-basis: 30%;
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.2;
    position: relative;
    z-index: 1;
    display: inline-block;
	min-height: 100px;
}
.loc_link_btn .point_num::before {
	content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #000;
    transform: scaleY(1.14) perspective(1.6em) rotateX(-3deg);
    transform-origin: top left;
	min-height: 105px;
}
.loc_link_btn .point_num span {
	font-size: 2.8rem;
}
.loc_link_btn .point_ttl {
	padding: 0 15px;
	flex-basis: 70%;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.4;
}
.loc_link_btn .point_ttl span {
	background: no-repeat linear-gradient(transparent 50%, #cdf283 50%);
	background-size: 100% 125%;
}
.dli-chevron-down {
	display: block;
	text-align: center;
	margin: auto;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: 1em;
	height: 1em;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
	font-size: 1rem !important;
  }
  .contents_ttl{
	background-color: #CBFC6A;
    margin-right: 4svw;
    margin-top: 7%;
    padding: 5% 4svw;
	position: relative;
  }
  .loc2 .contents_ttl{margin-top: 0;}
  .contents_ttl .inner{position: relative;}
  .point{
	font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
	font-size: 3rem;
	letter-spacing: 3px;
	line-height: 1;
	color: #CBFC6A;
	padding: 6px 30px 6px 15px;
	display: inline-block;
	position: relative;
	z-index: 1;
  }
  .point::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #000;
    transform: scaleY(1.2) perspective(0.6em) rotateX(-4deg);
    transform-origin: top left;
  }
  .point span{
	font-size: 4.5rem;
  }
  .contents_ttl h2{
	font-size: 9svw;
	font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
	line-height: .9;
	margin-top: 2%;
  }
  .contents_ttl h2 span{
	font-size: 3rem;
	line-height: 1;
  }
  .contents_main_txt{
	font-size: 1.6svw;
	line-height: 1.5;
	font-weight: 600;
	margin-top: 2%;
  }
  .con_ttl_logo{
	position: absolute;
	right: 0; top: 0;
	max-width: 26%;
  }

  .contents_txt{
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	margin-top: 3%;
  }


  .fukidashi {
    position: relative;
    padding: 1rem;
    border-bottom: 2px solid #333;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    display: table;
    margin: 0 auto 0;
}
.fukidashi::before, .fukidashi::after {
    position: absolute;
    left: 50%;
    height: 0;
    width: 0;
    border: solid transparent;
    content: "";
}
.fukidashi::before {
    top: 100%;
    border-bottom: 9px solid;
    border-color: transparent;
    border-top-color: #333;
    border-right-color: #333;
    margin-left: -9px;
    border-width: 9px;
}
.fukidashi::after {
    top: 99%;
    border: 8px solid;
    border-color: transparent;
    border-top-color: #fff;
    border-right-color: #fff;
    margin-left: -7px;
    border-width: 7px;
}
.shop_icon{
	text-align: center;
}
.fukidashi p {
    color: #000;
    line-height: 1.5;
}
.fukidashi p span {
	display: block;
}
.fukidashi p span:nth-of-type(1){
	font-size: 1.5rem;
	margin-bottom: 10px;
}
.fukidashi p span:nth-of-type(2){
	font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
	font-size: 5.2rem;
	line-height: 1;
}
.shop_list{
	position: relative;
	margin-top: 5%;
}
.shop_list::before{
	content: '';
	background-color: #F5FEE1;
    position: absolute;
	width: 50%;
	height: 20svw;
	right: 0; top: 0;
	z-index: -1;
}
.shop_ttl{
	padding-top: 1%;
	padding-bottom: 4%;
}

.contents-slider .loc_slide_box {
    min-height: 260px;
}
.loc_slide_wrap .contents-slider-area {
    padding-left: 0;
}
.contents-slider .slick-dots{width: 100%;}
.contents-slider .slick-dots li {width: calc(100% / 5);}

.loc_slide_txt{
	display: flex;
	justify-content: space-between;
	margin-top: 2%;
}
.loc_slide_txt p:nth-of-type(1){
	font-size: 1.5rem;
	font-weight: 600;
	flex-basis: 60%;
	line-height: 1.4;
}
.loc_slide_txt p:nth-of-type(2){
	font-size: 1.2rem;
	flex-basis: 38%;
	text-align: right;
}
.recommend_wrap{
	background-color: #F5FEE1;
    margin-right: 4svw;
    margin-top: 25%;
    padding: 5% 4svw 10%;
    position: relative;
}
.rec_main_img1{
	margin-right: calc((-100vw - -100%) / 1);
	max-width: 70%;
    position: absolute;
	top: -8%; right: 0;
}
.rec_main_img2{
	margin-left: calc((-100vw - -100%) / 1);
	max-width: 80%;
	margin-top: 5%;
}
.rec_box{
	position: relative;
}
.rec_txt_img{
	position: absolute;
	right: -2svw; top: 0;
	max-width: 9%;
}
.rec{
	margin: 35% auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1300px;
}
.rec.rev{
	flex-direction: row-reverse;
	margin: 5% auto 0;
	justify-content: flex-end;
}

.rec_img{
	flex-basis: 56%;
}
.rec_txt{flex-basis: 40%;}
.rec_txt h3{
	font-family: 'Bebas Neue', sans-serif;
    font-weight: 500;
	color: #fff;
	background-color: #000;
	font-size: 4svw;
	line-height: .8;
	display: inline-block;
	padding: 7px 5px 0;
	letter-spacing: 3px;
}
.rec_txt p:nth-of-type(1){
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.3;
	margin-top: 8%;
}
.rec_txt p:nth-of-type(2){
	font-size: 1.4rem;
	margin-top: 3%;
}
.rec_txt p:nth-of-type(3){
	font-size: 1.8rem;
	font-weight: 600;
	margin-top: 3%;
}
.loc3 .rec {margin-top: 5%;}
.loc3 .rec_box{padding: 0 4svw;}

.life_info {margin-top: 5%;}
.life_info .fukidashi{padding: 1rem 1rem 0;}
.life_info p{
	text-align: center;
	margin-top: 3%;
}
.life_info a{transition: .3s;}
.life_info a:hover{opacity: .7;}

@media only screen and (max-width: 768px) {
	.map_img{
		margin-left: calc((-100vw - -100%) / 2);
		margin-right: calc((-100vw - -100%) / 2);
	}
	.location_map{
		margin-top: 10%;
	}
	.loc_link_btn{
		display: block;
		margin-top: 10%;
	}
	.loc_link_btn li{
		margin-top: 3%;
	}
	.loc_link_btn li a{
	}
	.loc_link_btn .point_num {
		font-size: 1.6rem;
		min-height: inherit;
	}
	.loc_link_btn .point_num::before {
		transform: scaleY(.9) perspective(1.6em) rotateX(-3deg);
	}
	.loc_link_btn .point_num span {
		font-size: 2.2rem;
	}
	.loc_link_btn .point_ttl {
		font-size: 1.2rem;
	}
	  .contents_ttl{
		margin-top: 14%;
		padding: 8% 4svw;
		z-index: -1;
	  }
	  .point{
		font-size: 1.8rem;
		padding: 3px 15px 3px 7px;
	  }
	  .point::before {
		transform: scaleY(1.2) perspective(0.6em) rotateX(-3deg);
	  }
	  .point span{
		font-size: 2.5rem;
	  }
	  .contents_ttl h2{
		font-size: 13svw;
		margin-top: 6%;
	  }
	  .contents_main_txt{
		font-size: 1.4rem;
		margin-top: 4%;
	  }
	  .con_ttl_logo{
		max-width: 34%;
		z-index: -1;
	  }
	  .loc2 .con_ttl_logo,
	  .loc3 .con_ttl_logo{max-width: 18%;}
	
	  .contents_txt{
		font-size: 1.6rem;
		font-weight: 600;
		text-align: center;
		margin-top: 10%;
	  }
	
	
	  .fukidashi {
		font-size: 1rem;
		padding: .5rem 1rem 1rem;
	}
	.shop_icon{
		text-align: center;
		max-width: 8%;
		margin: auto;
	}
	.fukidashi p {
		color: #000;
		line-height: 1.5;
	}
	.fukidashi p span {
		display: block;
	}
	.fukidashi p span:nth-of-type(1){
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
	.fukidashi p span:nth-of-type(2){
		font-size: 3.0rem;
		line-height: 1;
	}
	.shop_list{
		margin-top: 15%;
	}
	.shop_list::before{
		height: 50svw;
	}
	.shop_ttl{
		padding-top: 1%;
		padding-bottom: 4%;
	}
	.loc_slide_wrap{
		margin-top: 7%;
	}
	.loc_slide_wrap .contents-slider.slick-slider{
		width: 168vw;
	}
	.loc_slide_txt{
		display: block;
		justify-content: space-between;
		margin-top: 3%;
	}
	.loc_slide_txt p:nth-of-type(1){
		font-size: 1.3rem;
		font-weight: 600;
	}
	.loc_slide_txt p:nth-of-type(2){
		font-size: 1.0rem;
		text-align: left;
	}
	.recommend_wrap{
		margin-top: 45%;
	}
	.rec_main_img1{
		margin-right: calc((-100vw - -100%) / 1);
		max-width: 100%;
	}
	.rec_main_img2{
		margin-left: calc((-100vw - -100%) / 3);
		max-width: 100%;
		margin-top: 10%;
	}
	.rec_txt_img{
		position: absolute;
		right: 0; top: 0;
		max-width: 20%;
	}
	.rec{
		display: block;
		margin: 38% auto 0;
	}
	.rec.rev{
		margin: 10% auto 0;
	}
	
	.rec_img{margin-top: 5%; max-width: 76%;}
	.rec_txt{}
	.rec_txt h3{
		font-size: 8svw;
		padding: 3px 5px 0;
	}
	.rec_txt p:nth-of-type(1){
		font-size: 2.4rem;
		margin-top: 4%;
	}
	.rec_txt p:nth-of-type(2){
		font-size: 1.2rem;
		margin-top: 3%;
	}
	.rec_txt p:nth-of-type(3){
		font-size: 1.3rem;
		font-weight: 600;
		margin-top: 3%;
	}
	.loc3 .rec {margin-top: 5%;}
	.loc3 .rec_box{padding: 0 4svw;}
	
	.life_info {margin-top: 5%;}
	.life_info .fukidashi{padding: 1rem 1rem 0;}
	.life_info p{
		text-align: center;
		margin-top: 8%;
	}
	.life_info a{transition: .3s;}
	.life_info a:hover{opacity: .7;}
	.shop2.inner{padding: 0;}

	.contents-slider .slick-dots{width: calc(100vw - 40px) !important;}

	.loc_slide_wrap .contents-slider .slick-prev {
		left: 0;
		z-index: 1;
	}
	.loc_slide_wrap .contents-slider .slick-prev, .loc_slide_wrap .contents-slider .slick-next {
		width: 40px;
		height: 40px;
		top: 49%;
	}
	.loc_slide_wrap .contents-slider .slick-next {
		left: 45%;
	}
	

}

/* LIFE INFORMATION */

.contents .sec-ttl{
    margin-top: 13%;
}

.tab_inner{
	padding: 0 4svw;
}
.tab_wrap{
	max-width: 1300px;
	margin: 6% auto 0;
}

/*tabの形状*/
.tab{
	display: flex;
	flex-wrap: wrap;
}
.tab li{
	width: calc(100% / 6);
	font-weight: 600;
	font-size: 1.5rem;
	text-align: center;
}
.tab li a{
	display: block;
	background:#F3F4F4;
	padding: 8% 10px;
	border: 1px solid #fff;
	color: #000;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a{
	background:#CBFC6A;
	color: #000;
}


/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.area{
	background: #fff;
	padding:5%;
}
.area ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.area ul li{
	display: block;
	flex-basis: 48%;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.3;
	padding-bottom: 30px;
}


@media screen and (max-width: 768px) {
	.tab li{
		width: calc(100% / 2);
	}
	.area ul{
		display: block;
	}
	.area ul li{
		display: block;
		flex-basis: 48%;
		font-weight: 600;
		font-size: 1.5rem;
		line-height: 1.3;
		padding-bottom: 20px;
	}
}


.hazardmap{
	text-align: center;
	margin-bottom: 1%;
}
.hazardmap_txt{
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 2%;
}
.hazardmap_txt span{
	background: no-repeat linear-gradient(transparent 70%, #cdf283 70%);
    background-size: 0% 100%;
    transition-duration: 1s;
	font-size: 3rem;
}
.hazardmap_txt span.mv{
	background-size: 100% 100%;
}
@media screen and (max-width: 768px) {
	.hazardmap_txt{
		font-size: 1.3rem;
		font-weight: 600;
		margin-bottom: 4%;
	}
	.hazardmap_txt span{
		background: no-repeat linear-gradient(transparent 70%, #cdf283 70%);
		background-size: 0% 100%;
		transition-duration: 1s;
		font-size: 2rem;
	}
}