@charset "UTF-8";



/*********** 共通 *************/

main h2 {
	text-shadow: 0 0 20px #000,0 0 20px #000,0 0 20px #000,0 0 20px #000;
}

.headline h3 p:last-child {
	margin-top: 3.3em;
}

.sakura_r-area {
	padding-bottom: 200px;
}

/*********** ↑共通 *************/





.location_01-wrap {

}

.location_02-wrap.wide-l {
	display: grid;
	grid-template-columns: 59% 33.67%;
	grid-template-rows: auto auto auto;
	justify-content: space-between;
	margin-top: 160px;
}

.location_02-wrap.wide-l > li:nth-child(1) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.location_02-wrap.wide-l > li:nth-child(2) {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	width: calc((100vw - 1280px)/2 + (1280px * 0.59) - 7px );
	margin-left: calc((1280px - 100vw)/2 + 7px);
	align-self: flex-end;
}

.location_02-wrap.wide-l > li:nth-child(3) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	align-self: flex-end;
}

.location_02-wrap.wide-l > li:nth-child(4) {
	grid-column: 1 / 3;
	grid-row: 3 / 4;
	margin-top: 20px;
}

@media only screen and (max-width: 1340px){
.location_02-wrap.wide-l > li:nth-child(2) {
	width: calc(100% + 20px);
	margin-left: -20px;
}
}


.location_02a {
	width: 115%;
	margin-left: -15%;
	margin-top: 40px;
}

.location_03-wrap {
	margin-top: 160px;
}

.location_03-wrap > li:nth-child(2) {
	background: #a2b2ba;
	padding: 30px;
}

.location_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 88.7%;
}

.location_03 li {
	width: 49.32%;
}

.location_03 li:nth-child(n+3) {
	margin-top: 10px;
}

.location_04-wrap {
	margin-top: 160px;
}

.location_04a {
	margin-top: 60px;
}

.location_05-wrap.wide-r {
	display: grid;
	grid-template-columns: 33.67% 59%;
	grid-template-rows: auto auto auto;
	justify-content: space-between;
	margin-top: 160px;
}

.location_05-wrap.wide-r > li:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

.location_05-wrap.wide-r > li:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
	width: calc((100vw - 1280px)/2 + (1280px * 0.59) - 7px );
}

.location_05-wrap.wide-r > li:nth-child(3) {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	align-self: flex-end;
	margin-top: 40px;
}

.location_05-wrap.wide-r > li:nth-child(4) {
	grid-column: 1 / 3;
	grid-row: 3 / 4;
	margin-top: 40px;
}

.location_05 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.location_05 li:nth-child(n+2) {
	width: 49.38%;
	margin-top: 12px;
}

.location_06 {
	width: 115%;
}

.location_06-num {
	display: grid;
	grid-template-columns: 13% 16.5% 15% 13.5% 13.5% 17% 11.5%;
	grid-template-rows: auto auto auto auto;
	justify-content: space-between;
	margin-top: 0px;
}

.location_06-num dl {
	display: flex;
	align-items: center;
	letter-spacing: 0;
	line-height: 1.4;
	margin-top: 15px;
}

.location_06-num dt {
	display: inline-block;
	color: #fff;
	font-size: 14px;
	text-align:center;
	line-height: 24px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #006b3f;
	margin-right: 0.5em;
}

.location_06-num dd p:nth-child(1) {
	font-size: 14px;
}

.location_06-num dd p:nth-child(2) {
	font-size: 11px;
	margin-left: -0.5em;
}





/*********** 施設共通 *************/

.container-f {
    max-width: 1196px;
	margin: 0 auto;
	padding: 0 20px;
}

.facility-title p:nth-child(1) {
	font-family: 'Cinzel', serif;
	font-size: 3.5rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: center;
}

.facility-title p:nth-child(2) {
	border-top: 1px solid #666;
	width: 340px;
	margin: 0 auto;
}

.box2-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
}

.box2-wrap li {
	width: 46.89%;
	padding-bottom: 60px;
}

.box2-wrap dt {
	font-size: 1.8rem;
	line-height: 1.4;
	margin-top: 8px;
}

.box2-wrap dd {
	font-size: 1.4rem;
	text-align: justify;
	margin-top: 10px;
}

.box2-wrap .min {
	font-size: 1.4rem;
	margin-left: 0.5em;
}

.box3-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.box3-wrap li {
	width: 31.14%;
}

.box3-wrap dt {
	font-size: 1.8rem;
	line-height: 1.4;
	margin-top: 8px;
}

.box3-wrap dd {
	font-size: 1.4rem;
	line-height: 1.4;
}

.box4-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.box4-wrap li {
	width: 23.18%;
}

.box4-wrap dt {
	font-size: 1.8rem;
	line-height: 1.4;
	margin-top: 8px;
}

.box4-wrap dd {
	font-size: 1.4rem;
	line-height: 1.4;
}

/*********** ↑施設共通 *************/


.shopping-bg {
	background: #f2f1ec;
	padding: 120px 0;
}

.education-bg {
	padding: 120px 0;
}

.park-bg {
	background: #f2f1ec;
	padding: 120px 0 60px;
}

.culture-bg {
	padding: 120px 0 60px;
}

.hospital-bg {
	background: #f0f3f4;
	padding: 120px 0 60px;
}

.gourmet-bg {
	background-image: url("../../location/images/gourmet_bg.jpg");
	background-position: center top;
	background-size: cover;
	padding: 120px 0;
}

.gourmet-wrap {
	display: grid;
	grid-template-columns: 60.9% 34%;
	grid-template-rows: auto auto;
	justify-content: space-between;
	color: #fff;
}

.gourmet-wrap > li:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.gourmet-wrap > li:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	justify-self: center;
}

.gourmet-wrap > li:nth-child(3) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	align-self: flex-end;
}

.gourmet-wrap .photo {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.gourmet-wrap .photo li {
	width: 32.95%;
	margin-bottom: 4px;
}

.gourmet-wrap .photo li:nth-child(-n+2) {
	width: 49.72%;
}

.gourmet-wrap .ttl {
	writing-mode: vertical-rl;
	text-orientation: upright;
	margin-top: 40px;
}

.gourmet-wrap .ttl p {
	font-size: 6.0rem;
	line-height: 1.0;
	letter-spacing: 0.15em;
	margin-left: 35px;
}

.gourmet-wrap .ttl p:last-child {
	margin-left: 0;
}

.gourmet-wrap .txt {
	line-height: 2.2;
	text-align: justify;
}





/*********** LIFE INFORMATION *************/

.lifeinfo-bg {
	background: #a2b2ba;
	padding: 120px 0;
}

.lifeinfo-bg .ttl {
	font-family: 'Cinzel', serif;
	color: #fff;
	font-size: 3.5rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: center;
}

.lifeinfo_con{
  width: 100%;
  margin: 20px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.left_content{
  width: 65%;
}
.left_content .life_cate{
  width:100%;
  margin: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.left_content .life_cate li{
  width: 33%;
  height: 47px;
  line-height: 47px;
  margin-bottom: 3px;
  list-style: none;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
}

.life_cate li:hover,.life_cate li.active {
  color: #fff;
  background-color: #873a33;
  animation:blink 1.5s ease-in-out infinite alternate;
}
@keyframes blink{
    0% {opacity:0.7;}
    100% {opacity:1;}
}

#googlemap{
  width: 100%;
  height: 600px;
}

.gm-ui-hover-effect {
	position: relative;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border-radius: 50%;
	background: #873a33 !important;
	cursor: pointer;
	z-index: 9999;
  opacity: 1 !important;;
}
.gm-ui-hover-effect::before, .gm-ui-hover-effect::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px;
	height: 12px;
	background: #DDDDDD;
}
  
.gm-ui-hover-effect::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
  
.gm-ui-hover-effect::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.gm-ui-hover-effect:hover { 
	background: #DDDDDD !important;
}
.gm-ui-hover-effect:hover::before,.gm-ui-hover-effect:hover::after {
	background: #873a33;
}

.gm-ui-hover-effect span{
  display: none !important;
}

.gm-style .gm-style-iw-d{
  margin-top: -15px;
}
.gm-style-iw-d .info_data{
  padding-right: 10px;
}

.gm-style-iw-d .info_name{
  font-weight: bold;
}

.right_content{
  width: 34%;
  background-color: #fff;
  padding:10px 15px 15px 15px;
}
.right_content .category{
  width: 100%;
}
.right_content .category p{
	width: 100%;
	border-bottom: solid 1px #9faec0;
	margin:0 0 5px 0;
	font-size: 1.2em;
}
.right_content .cate_wrap{
  width: 100%;
  display: none;
}
.right_content .cate_wrap.show{
  display: block;
}
.right_content ul li{
  font-size: 0.7em;
  padding: 3px 0;
  list-style-type: none;
  counter-increment: number;
  cursor: pointer;
  border-bottom: solid 1px #9faec0;
}
.right_content ul li:hover{
  background-color: #efefef;
}

.right_content ul li.active{
  background-color: #efefef;
}

.right_content ul li:before {
  content: counter(number);
  margin: 10px 20px 10px 0;
  padding: 3px;
  width: 20px;
  height: 20px;
  line-height: 12px;
  float: left;
  text-align: center;
  color: #fff;
  background-color: #873a33;
}





