@charset "UTF-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層ページ
/* ++++++++++++++++++++++++++++++++++++++++++++++++++ */
#contents > header {
	position: relative;
}

#contents > header:before {
	content: "";
	width: 100%;
	height: 200px;
	display: block;
	background: no-repeat center center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
.event #contents > header:before { background-image: url(../../event/images/event_header.jpg); }
.spot #contents > header:before { background-image: url(../../spot/images/spot_header.jpg); }
.ningle #contents > header:before { background-image: url(../../ningle/images/ningle_header.jpg); }
.activity #contents > header:before { background-image: url(../../activity/images/activity_header.jpg); }
.gourmet #contents > header:before { background-image: url(../../gourmet/images/gourmet_header.jpg); }
.hotspring #contents > header:before { background-image: url(../../hotspring/images/hotspring_header.jpg); }
.wedding #contents > header:before { background-image: url(../../wedding/images/wedding_header.jpg); }
.hotelinfo #contents > header:before { background-image: url(../../hotelinfo/images/hotelinfo_header.jpg); }

.event #contents > header h1 { color: #c25e7f; }
.spot #contents > header h1,
.ningle #contents > header h1 { color: #82993d; }
.activity #contents > header h1 { color: #4161c2; }
.gourmet #contents > header h1 { color: #c2a841; }
.hotspring #contents > header h1 { color: #a241c2; }
.wedding #contents > header h1 { color: #5c997a; }
.hotelinfo #contents > header h1 { color: #41a2c2; }

#contents > header h1:before {
	left: -5px;
	content: "";
	width: 80px;
	height: 80px;
	display: block;
	margin: -10px auto 0;
	position: relative;
	background: url(../images/menu_logo.png) no-repeat center center;
	background-size: 110% auto;
	-moz-background-size: 110% auto;
	-webkit-background-size: 110% auto;
}
.event #contents > header h1:before { background-color: #c25e7f; }
.spot #contents > header h1:before,
.ningle #contents > header h1:before { background-color: #82993d; }
.activity #contents > header h1:before { background-color: #4161c2; }
.gourmet #contents > header h1:before { background-color: #c2a841; }
.hotspring #contents > header h1:before { background-color: #a241c2; }
.wedding #contents > header h1:before { background-color: #5c997a; }
.hotelinfo #contents > header h1:before { background-color: #317a92; }

#contents > header h1:after {
	width: 0;
	height: 0;
	right: 0;
	left: 80px;
	top: 190px;
	content: "";
	margin: 0 auto;
	position: absolute;
	border-width: 5px;
	border-style: solid;
	border-top-color: transparent !important;
	border-right-color: transparent !important;
}
.event #contents > header h1:after { border-color: #92475f; }
.spot #contents > header h1:after,
.ningle #contents > header h1:after { border-color: #62732e; }
.activity #contents > header h1:after { border-color: #314992; }
.gourmet #contents > header h1:after { border-color: #927e31; }
.hotspring #contents > header h1:after { border-color: #7a3192; }
.wedding #contents > header h1:after { border-color: #45735c; }
.hotelinfo #contents > header h1:after { border-color: #41a2c2; }

#contents > header h1 span {
	display: block;
	text-align: center;
}
#contents > header h1 .ja {
	font-size: 20px;
	padding: 40px 0 4px;
}
#contents > header h1 .en {
	font-size: 18px;
}
#contents > header h1 .en:before {
	content: "";
	height: 1px;
	width: 300px;
	display: block;
	margin: 0 auto 6px;
}
.event #contents > header h1 .en:before { background-color: #92475f; }
.spot #contents > header h1 .en:before,
.ningle #contents > header h1 .en:before { background-color: #62732e; }
.activity #contents > header h1 .en:before { background-color: #314992; }
.gourmet #contents > header h1 .en:before { background-color: #927e31; }
.hotspring #contents > header h1 .en:before { background-color: #7a3192; }
.wedding #contents > header h1 .en:before { background-color: #45735c; }
.hotelinfo #contents > header h1 .en:before { background-color: #41a2c2; }

@media screen and (max-width:768px){
	#contents > header:before {
		height: 155px;
	}
	#contents > header h1:before {
		width: 60px;
		height: 60px;
		left: calc(-15px / 4);
		margin-top: calc(-15px / 2);
	}
	#contents > header h1:after {
		top: 155px;
		left: 60px;
		border-width: calc(15px / 4);
		margin-top: calc(-15px / 2);
	}
	#contents > header h1 .ja {
		font-size: 15px;
		padding-top: 30px;
	}
	#contents > header h1 .en {
		font-size: 13.5px;
	}
}

#contents > article {
	padding: 0 50px;
	text-align: center;
}
#contents > article:before {
	width: 0;
	height: 0;
	content: "";
	display: block;
	border: solid 5px;
	margin: 145px auto 195px;
}
#contents > header + article:before {
	margin-top: 95px;
}
.event #contents > article:before { border-color: #c25e7f #92475f #92475f #c25e7f; }
.spot #contents > article:before,
.ningle #contents > article:before { border-color: #82993d #62732e #62732e #82993d; }
.ningle #contents > article:before { margin-bottom: 143px; }
.activity #contents > article:before { border-color: #4161c2 #314992 #314992 #4161c2; }
.gourmet #contents > article:before { border-color: #c2a841 #927e31 #927e31 #c2a841; }
.hotspring #contents > article:before { border-color: #a241c2 #7a3192 #7a3192 #a241c2; }
.wedding #contents > article:before { border-color: #5c997a #45735c #45735c #5c997a; }
.hotelinfo #contents > article:before { border-color: #317a92 #41a2c2 #41a2c2 #317a92; }

#contents > article > div {
	background: #fff;
	padding: 1px calc(50% - 375px);
}
#contents > article > div > figure {
	line-height: 0;
	margin-top: -100px;
}
#contents > article > div > figure img {
	max-width: 100%;
}
#contents > article h1 {
	color: #fff;
	font-size: 24px;
	line-height: 30px;
	padding: 24px 0 20px;
	margin: 0 -10px;
	position: relative;
}
.event #contents > article h1 { background-color: #c25e7f; }
.spot #contents > article h1,
.ningle #contents > article h1 { background-color: #82993d; }
.ningle #contents > article h1 { margin-top: -48px; }
.activity #contents > article h1 { background-color: #4161c2; }
.gourmet #contents > article h1 { background-color: #c2a841; }
.hotspring #contents > article h1 { background-color: #a241c2; }
.wedding #contents > article h1 { background-color: #5c997a; }
.hotelinfo #contents > article h1 { background-color: #317a92; }
#contents > article h1 > span {
	display: block;
}
#contents > article h1 .en {
	font-size: 18px;
}
#contents > article h1:after {
	width: 0;
	height: 0;
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
	border: solid 5px;
	border-top-color: transparent !important;
	border-left-color: transparent !important;
}
.event #contents > article h1:after { border-color: #92475f; }
.spot #contents > article h1:after { border-color: #62732e; }
.ningle #contents > article h1:after { content: none; }
.activity #contents > article h1:after { border-color: #314992; }
.gourmet #contents > article h1:after { border-color: #927e31; }
.hotspring #contents > article h1:after { border-color: #7a3192; }
.wedding #contents > article h1:after { border-color: #45735c; }
.hotelinfo #contents > article h1:after { border-color: #41a2c2; }

#contents > article .text {
	line-height: 2;
	margin: 55px 0;
}
#contents > article .info {
	line-height: 2;
	text-align: left;
	padding: 55px 0;
	margin: 0 0 60px;
	border-top: 1px solid;
	border-bottom: 1px solid;
}
.event #contents > article .info,
.event #contents > article .info ~ .en { border-color: #c25e7f; color: #c25e7f; }
.spot #contents > article .info,
.spot #contents > article .info ~ .en,
.ningle #contents > article .info,
.ningle #contents > article .info ~ .en { border-color: #82993d; color: #82993d; }
.activity #contents > article .info,
.activity #contents > article .info ~ .en { border-color: #4161c2; color: #4161c2; }
.gourmet #contents > article .info,
.gourmet #contents > article .info ~ .en { border-color: #c2a841; color: #c2a841; }
.hotspring #contents > article .info,
.hotspring #contents > article .info ~ .en { border-color: #a241c2; color: #a241c2; }
.wedding #contents > article .info,
.wedding #contents > article .info ~ .en { border-color: #5c997a; color: #5c997a; }
.hotelinfo #contents > article .info,
.hotelinfo #contents > article .info ~ .en { border-color: #317a92; color: #317a92; }
#contents > article .info p.caution,
#contents > article .info ul.caution li {
	padding-left: 1em;
	text-indent: -1em;
}
#contents > article .info ~ .en {
	margin-top: -10px;
	padding-bottom: 50px;
}
#contents > article .info > * img {
	max-width: 100%;
}
#contents > article .info table {
	width: 100%;
	table-layout: fixed;
	border-top: 1px solid;
}
#contents > article .info table tr > * {
	padding: 10px 0;
	font-size: 14px;
	line-height: 30px;
	vertical-align: middle;
	border-bottom: 1px solid;
}
#contents > article .info table tr > * + * {
	padding-left: 20px;
	border-left: 1px solid;
}

#contents > article .linkBtn a {
	color: #fff;
	height: 100px;
	display: block;
	font-size: 20px;
	line-height: 100px;
	margin-bottom: -50px;
	background-color: #000;
	transition-duration: .3s;
	-moz-transition-duration: .3s;
	-webkit-transition-duration: .3s;
	transition-property: background-color;
	-moz-transition-property: background-color;
	-webkit-transition-property: background-color;
}
.event #contents > article .linkBtn a:hover { background-color: #c25e7f; }
.spot #contents > article .linkBtn a:hover,
.ningle #contents > article .linkBtn a:hover { background-color: #82993d; }
.activity #contents > article .linkBtn a:hover { background-color: #4161c2; }
.gourmet #contents > article .linkBtn a:hover { background-color: #c2a841; }
.hotspring #contents > article .linkBtn a:hover { background-color: #a241c2; }
.wedding #contents > article .linkBtn a:hover { background-color: #5c997a; }
.hotelinfo #contents > article .linkBtn a:hover { background-color: #317a92; }

@media screen and (min-width:1101px){
	#contents > article .info {
		margin-left: -60px;
		margin-right: -60px;
	}
	#contents > article .info:after {
		content: "";
		display: block;
		clear: both;
	}
	#contents > article .info > * {
		width: calc(50% - 20px);
	}
	#contents > article .info > .contL {
		float: left;
	}
	#contents > article .info > .contR {
		float: right;
	}
}
@media screen and (max-width:1100px){
	#contents > article .info > * + * {
		margin-top: 1em;
	}
}
@media screen and (max-width:850px){
	#contents > article {
		padding: 0;
		margin-left: auto;
		margin-right: auto;
		max-width: 750px;
	}
}
@media screen and (max-width:768px){
	#contents > article:before {
		margin: 47px auto;
	}
	#contents > header + article:before {
		margin-top: 70px;
	}
	#contents > article > div {
		padding: 0;
	}
	#contents > article > div > figure {
		margin-top: 0;
	}
	#contents > article h1 {
		font-size: 18px;
		line-height: 1.5;
		padding: 14px 0 17px;
	}
	#contents > article h1 .en {
		font-size: 13.5px;
	}
	#contents > article .text {
		font-size: 11px;
		line-height: 22.5px;
		margin: 26px 0;
	}
	#contents > article .info {
		font-size: 11px;
		line-height: 22.5px;
		padding: 27px 22px;
		margin-bottom: 0;
		border-bottom: none;
	}
	#contents > article .info ~ .en {
		font-size: 11px;
		line-height: 22.5px;
		padding: 27px 22px;
		border-top: 1px solid;
	}
	#contents > article .info table {
		margin: 10px 0;
	}
	#contents > article .info table tr > * {
		font-size: 10px;
		line-height: 22.5px;
	}
	#contents > article .info table tr > * + * {
		padding-left: 15px;
	}
	#contents > article .linkBtn a {
		margin-bottom: 0;
	}
}
@media screen and (max-width:750px){
	#contents > article {
		margin: 0;
	}
}

/* Ningle Terrace */
.ningle #contents > article > div {
	padding-left: 0;
	padding-right: 0;
}
.ningle #contents > article h1 {
	max-width: 770px;
	margin-left: auto;
	margin-right: auto;
}
#ningleList {
	color: #82993d;
	margin: 0 auto;
}
#ningleList:after {
	content: "";
	display: block;
	clear: both;
}
#ningleList li {
	float: left;
}
#ningleList li img {
	width: 100%;
}
#ningleList dt span {
	display: block;
}
#ningleList li.large dt .ja:after {
	content: "";
	display: block;
	width: 300px;
	height: 0;
	margin: 2px auto;
	border-top: 1px solid;
}
#ningleList dd {
	text-align: left;
}
@media screen and (min-width:1201px){
	#ningleList {
		font-size: 15px;
		line-height: 30px;
		max-width: 980px;
		padding: 70px 0 110px;
	}
	#ningleList li {
		width: 306px;
		margin-top: 50px;
		margin-left: 29px;
	}
	#ningleList li:nth-child(3n+1) {
		clear: both;
		margin-left: 0;
	}
	#ningleList li.large {
		width: 410px;
		margin-left: 50px;
	}
	#ningleList li.large + li.large {
		float: right;
		margin-left: 0;
		margin-right: 50px;
	}
	#ningleList dt {
		margin: 23px 0 16px;
	}
	#ningleList li.large dt {
		margin: 13px 0 16px;
	}
	#ningleList li.large dt + dd {
		height: 75px;
	}
}
@media screen and (max-width:1200px){
	#ningleList {
		padding: 35px 20px 50px;
	}
	#ningleList li {
		margin-top: 25px;
		font-size: 11px;
		line-height: 22.5px;
		width: calc(50% - 7.5px);
		letter-spacing: -0.01em;
	}
	#ningleList li:nth-child(even) {
		float: right;
	}
	#ningleList li.large {
		width: auto;
		float: none;
		clear: both;
		margin: 0 15px;
		padding-top: 50px;
	}
	#ningleList li dt {
		margin: 10px 0 13px;
	}
	#ningleList li.large dt .ja:after {
		max-width: 225px;
		margin-bottom: 4px;
	}
	#ningleList li.large dd + dd {
		margin-top: 10px;
	}
}