@charset "utf-8";

/* PC、SP表示切り替え
------------------------------------------------------------------------------------ */
.dsNoSp {
	display: block;
}
.dsNoPc {
	display: none;
}


/* header
------------------------------------------------------------------------------------ */
header {
	position: relative;
	height:100vh;
}
header div#headerTop {
	position: absolute;
	left: 0;
	top: 0;
	width:100%;
	padding:20px 50px;
	box-sizing: border-box;
	z-index: 2;
}
header div#headerTop h1 {
	width:240px;
}
header div#headerTop h1 a {
	transition: all 0.3s ease;
}
header div#headerTop h1 a:hover {
	opacity:0.7;
}

header div#headerInenr {
	position: absolute;
	bottom: 0;
	left: 50%;
	width:90%;
	max-width:1100px;
	margin:0 auto;
	transform: translateX(-50%);
	z-index: 2;
}
header div#headerInenr h2 {
	color:#FFF;
	font-size: 44px;
	line-height: 150%;
	font-weight: 500;
	letter-spacing: 0.3rem;
	margin-bottom:40px;
}
header div#headerInenr nav#gnavPc {
}
header div#headerInenr nav#gnavPc ul {
	display: flex;
}
header div#headerInenr nav#gnavPc ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	width:calc(100% / 7);
	background-color:#efefef;
}
header div#headerInenr nav#gnavPc ul li.gnavPcReserve {
	background-color:#4d7954;
}
header div#headerInenr nav#gnavPc ul li a {
	display: block;
	color:#333;
	line-height: 150%;
	text-align:center;
	text-decoration: none;
	padding:25px 10px;
}
header div#headerInenr nav#gnavPc ul li.gnavPcReserve a {
	color:#FFF;
}

/* 画像スライドショー */
.slider {
	position:relative;
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
}
.slider .slick-list,
.slider .slick-list .slick-track {
	height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

/* 背景画像設定 */
.slider-item {
	width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
	height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
.slider-item01 {
	background: url(../images/mv01.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.slider-item02 {
	background: url(../images/mv02.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.slider-item03 {
	background: url(../images/mv03.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.slider-item04 {
	background: url(../images/mv04.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.slider-item05 {
	background: url(../images/mv05.jpg) 50% 50% no-repeat;
	background-size: cover;
}

/*ドットナビゲーションの設定*/
.slick-dots {
	position: relative;
	right: 0px;
	bottom: 130px;
	width:90%;
	max-width:1100px;
	margin:0 auto;
	text-align:right;
	z-index: 2;
}
.slick-dots li {
	display:inline-block;
	width: 12px;
	height: 12px;
	line-height: 100%;
	margin: 0 7px;
}
.slick-dots button {
	color: transparent;
	width: 12px;
	height: 12px;
	background-color: #FFF;
	border-radius:10px;
	box-sizing: border-box;
	opacity: 1;
}
.slick-dots .slick-active button {
	background-color: #4d7954;
}
.slick-dots .slick-active button:before {
	display: none;
}


/* header 予約ボタン
------------------------------------------------------------------------------------ */
div#headerReserve {
	display : none;
}


/* ハンバーガーメニュー
------------------------------------------------------------------------------------ */
div#gnavSpWrapper {
	display : none;
}


/* スクロール表示header
------------------------------------------------------------------------------------ */
div#scrollHeader {
	position: fixed;
	left: 0;
	top: -79px;
	width:100%;
	padding:10px 20px;
	background-color: #FFF;
	box-sizing: border-box;
	z-index: 2;
	transition: all 0.3s ease;
}
div#scrollHeader div#scrollHeaderInner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
div#scrollHeader div#scrollHeaderInner h1 {
	width:200px;
}
div#scrollHeader div#scrollHeaderInner h1 a {
	transition: all 0.3s ease;
}
div#scrollHeader div#scrollHeaderInner h1 a:hover {
	opacity:0.7;
}
div#scrollHeader div#scrollHeaderInner nav {
}
div#scrollHeader div#scrollHeaderInner nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
div#scrollHeader div#scrollHeaderInner nav ul li {
	margin-right:30px;
}
div#scrollHeader div#scrollHeaderInner nav ul li.scrollHeaderReserve {
	margin-right:0;
}
div#scrollHeader div#scrollHeaderInner nav ul li a {
	display: block;
	color:#333;
	line-height: 150%;
	text-align:center;
	text-decoration: none;
	transition: all 0.3s ease;
}
div#scrollHeader div#scrollHeaderInner nav ul li a:hover {
	opacity:0.7;
}
div#scrollHeader div#scrollHeaderInner nav ul li.scrollHeaderReserve a {
	color:#FFF;
	padding:15px 20px;
	background-color:#4d7954;
	border-radius:5px;
}


/* contents
------------------------------------------------------------------------------------ */
div#wrapper {
	position: relative;
}
div#contents {
}
div#contents div.sectionInner {
	width:90%;
	max-width:1100px;
	margin:0 auto;
}

div.sectionTitle01 {
	margin-bottom:180px;
	padding-top:140px;
}
div.sectionTitle01 h2,
div.sectionTitle02 h2 {
	text-align:center;
}
div.sectionTitle01 h2 span,
div.sectionTitle02 h2 span {
	display: inline-block;
	color:#FFF;
	font-size: 44px;
	line-height: 100%;
	padding:10px 20px;
	background-color: rgba(0,0,0,0.5);
}
div.sectionTitle01 div.sectionLead {
	position: relative;
	bottom:-80px;
	width:90%;
	max-width:1100px;
	margin:60px auto 0 auto;
	padding:60px 100px;
	background-color:#FFF;
	box-sizing: border-box;
	filter: drop-shadow(0 0 5px rgb(0,0,0,0.1));
}
div.sectionTitle01 div.sectionLead h3.title01,
div.sectionTitle01 div.sectionLead p.leadText {
	text-align:center;
}

div.sectionTitle02 {
	margin-bottom:100px;
	padding:140px 0;
	background-color:#999;
}

.PhotoLeftBlock {
	display: flex;
	flex-wrap: wrap;
}
.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	width:50%;
}
.PhotoLeftBlock div.PhotoLeftBlockText {
	width:50%;
	max-width:550px;
	margin-right:auto;
	padding:100px 0 100px 100px;
	box-sizing: border-box;
}
.PhotoLeftBlock div.PhotoLeftBlockText table.table01 {
	margin-top:30px;
}

.PhotoRightBlock {
	display: flex;
	flex-wrap: wrap;
}
.PhotoRightBlock div.PhotoRightBlockText {
	width:50%;
	max-width:550px;
	margin-left:auto;
	padding:100px 100px 100px 0;
	box-sizing: border-box;
}
.PhotoRightBlock div.PhotoRightBlockText table.table01 {
	margin-top:30px;
}
.PhotoRightBlock div.PhotoRightBlockPhoto {
	width:50%;
}

ul.PhotoList {
	display: flex;
	flex-wrap: wrap;
}
ul.PhotoList li {
	width:calc((100% - 50px) / 2);
	margin:50px 50px 0 0;
}
ul.PhotoList li:first-child,
ul.PhotoList li:nth-child(2) {
	margin-top:0;
}
ul.PhotoList li:nth-child(even) {
	margin-right:0;
}

ul.PhotoListS {
	display: flex;
	flex-wrap: wrap;
}
ul.PhotoListS li {
	width:calc((100% - 50px) / 3);
	margin:50px 25px 0 0;
}
ul.PhotoListS li:first-child,
ul.PhotoListS li:nth-child(2),
ul.PhotoListS li:nth-child(3) {
	margin-top:0;
}
ul.PhotoListS li:nth-child(3n) {
	margin-right:0;
}


/* footer
------------------------------------------------------------------------------------ */
footer {
	margin-top:150px;
}
footer div#footerReserve {
	padding:100px 0;
	background-color:#4d7954;
}
footer div#footerReserve div.footerInner,
footer div#footerMain div.footerInner {
	width:90%;
	max-width:1100px;
	margin:0 auto;
}
footer div#footerReserve ul.footerReserveList {
	display: flex;
	flex-wrap: wrap;
}
footer div#footerReserve ul.footerReserveList li {
	width:calc((100% - 50px) / 2);
	margin-right:50px;
}
footer div#footerReserve ul.footerReserveList li:nth-child(even) {
	margin-right:0;
}
footer div#footerReserve ul.footerReserveList li a {
	position: relative;
	display: block;
	color:#333;
	text-decoration: none;
	padding:30px;
	background-color:#FFF;
	transition: all 0.3s ease;
}
footer div#footerReserve ul.footerReserveList li a:hover {
	opacity:0.8;
}
footer div#footerReserve ul.footerReserveList li a:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 6px;
	height: 10px;
	background: url(../images/icon_arrow_right_black.png) 50% 50% no-repeat;
	background-size: 6px 10px;
	transform: translateY(-50%);
}

footer div#footerMain {
	padding:100px 0;
	background-color:#333;
}
footer div#footerMain div.footerInner {
	color:#FFF;
}
footer div#footerMain div.footerInner div.footerMainLogo {
	display: flex;
	align-items: center;
	margin-bottom:30px;
}
footer div#footerMain div.footerInner div.footerMainLogo h2 {
	width:245px;
	margin-right:30px;
}
footer div#footerMain div.footerInner div.footerMainLogo h2 a {
	transition: all 0.3s ease;
}
footer div#footerMain div.footerInner div.footerMainLogo h2 a:hover {
	opacity:0.75;
}
footer div#footerMain div.footerInner div.footerMainLogo ul {
	display: flex;
	align-items: center;
}
footer div#footerMain div.footerInner div.footerMainLogo ul li {
	width:24px;
	margin-right:15px;
}
footer div#footerMain div.footerInner div.footerMainLogo ul li:last-child {
	margin-right:0px;
}
footer div#footerMain div.footerInner div.footerMainLogo ul li a {
	color:#FFF;
	text-decoration: none;
	transition: all 0.3s ease;
}
footer div#footerMain div.footerInner div.footerMainLogo ul li a:hover {
	opacity:0.7;
}
footer div#footerMain div.footerInner p#copyright {
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0;
	margin-top:30px;
}


/* ページトップ
------------------------------------------------------------------------------------ */
p#pagetop {
	position: fixed;
	right:30px;
	bottom:30px;
	opacity:0;
	transition: all 0.8s ease;
}
p#pagetop a {
	position:relative;
	display: block;
	width:90px;
	height:90px;
	color:#333;
	text-align:center;
	text-decoration: none;
	padding:0 0;
	border:1px solid #CCC;
	background-color:#FFF;
	border-radius: 50px;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
p#pagetop a:hover {
	color:#FFF;
	border:1px solid #4d7954;
	background-color:#4d7954;
}
p#pagetop a:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 20px;
	width: 10px;
	height: 6px;
	background: url(../images/icon_arrow_top_white.png) 50% 50% no-repeat;
	background-size: 10px 6px;
	transform: translateX(-50%);
}
p#pagetop a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 20px;
	width: 10px;
	height: 6px;
	background: url(../images/icon_arrow_top_black.png) 50% 50% no-repeat;
	background-size: 10px 6px;
	transform: translateX(-50%);
	transition: all 0.3s ease;
}
p#pagetop a:hover:after {
	opacity:0;
}
p#pagetop a span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}


/* 共通パーツ
------------------------------------------------------------------------------------ */
.leadText {
	font-size: 20px;
	line-height: 175%;
}
.title01 {
	color:#4d7954;
	font-size: 28px;
	line-height: 175%;
	font-weight: 500;
	margin-bottom:40px;
}
.title01White {
	color:#FFF;
}
.title01Center {
	text-align:center;
}
.title02 {
	color:#4d7954;
	font-size: 22px;
	line-height: 175%;
	font-weight: 500;
	margin:20px 0;
}

.linkBtn a {
	position: relative;
	display: block;
	color:#333;
	text-align:center;
	text-decoration: none;
	padding:15px 20px;
	background-color:#FFF;
	transition: all 0.3s ease;
}
.linkBtn a:hover {
	color:#FFF;
	background-color:#4d7954;
}
.linkBtn a:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 10px;
	background: url(../images/icon_arrow_right_white.png) 50% 50% no-repeat;
	background-size: 6px 10px;
	transform: translateY(-50%);
}
.linkBtn a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 10px;
	background: url(../images/icon_arrow_right_black.png) 50% 50% no-repeat;
	background-size: 6px 10px;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}
.linkBtn a:hover:after {
	opacity:0;
}

table.table01 {
	border-top: 1px solid #CCC;
	border-collapse:collapse;
	border-spacing: 0;
}
table.table01 tr th {
	color:#4d7954;
	text-align: left;
	white-space: nowrap;
	font-weight: normal;
	padding: 25px 40px 25px 0;
	border-bottom: 1px solid #CCC;
}
table.table01 tr td {
	width: 100%;
	padding: 25px 0;
	border-bottom: 1px solid #CCC;
}


/* lead
------------------------------------------------------------------------------------ */
section#lead {
	margin-top:150px;
}
section#lead div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/lead_01.jpg) 50% 50% no-repeat;
	background-size: cover;
}


/* hotspa
------------------------------------------------------------------------------------ */
section#hotspa {
	margin-top:150px;
}
section#hotspa div.sectionTitle01 {
	background: url(../images/hotspa_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#hotspa div.sectionInner ul.PhotoList {
	margin-bottom:100px;
}

section#hotspa div.PhotoLeftBlock {
	margin-bottom:150px;
}
section#hotspa div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/hotspa_02.jpg) 50% 50% no-repeat;
	background-size: cover;
}


/* restaurant
------------------------------------------------------------------------------------ */
section#restaurant {
	margin-top:150px;
}
section#restaurant div.sectionTitle01 {
	background: url(../images/restaurant_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}

section#restaurant div#restaurant01 {
}
section#restaurant div#restaurant01 div.PhotoLeftBlock {
	margin-bottom:150px;
}
section#restaurant div#restaurant01 div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/restaurant_01.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#restaurant div#restaurant01 ul.PhotoList {
	margin:50px 0 100px 0;
}

section#restaurant div#restaurant02 {
	margin-top:150px;
}
section#restaurant div#restaurant02 div.PhotoLeftBlock {
	margin-bottom:150px;
}
section#restaurant div#restaurant02 div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/restaurant_04.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#restaurant div#restaurant02 div.PhotoRightBlock {
	margin-bottom:100px;
}
section#restaurant div#restaurant02 div.PhotoRightBlock div.PhotoRightBlockPhoto {
	background: url(../images/restaurant_05.jpg) 50% 50% no-repeat;
	background-size: cover;
}


/* rooms
------------------------------------------------------------------------------------ */
section#rooms {
	margin-top:150px;
}
section#rooms div.sectionTitle01 {
	background: url(../images/rooms_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/rooms_01.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms ul.roomsList {
	margin:100px 0;
}
section#rooms ul.roomsList li.PhotoLeftBlock,
section#rooms ul.roomsList li.PhotoRightBlock {
	background-color:#FFF;
}
section#rooms ul.roomsList li.PhotoRightBlock:first-child div.PhotoRightBlockPhoto {
	background: url(../images/rooms_02.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms ul.roomsList li.PhotoLeftBlock:nth-child(2) div.PhotoLeftBlockPhoto {
	background: url(../images/rooms_04.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms ul.roomsList li.PhotoRightBlock:nth-child(3) div.PhotoRightBlockPhoto {
	background: url(../images/rooms_05.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms ul.roomsList li.PhotoLeftBlock:nth-child(4) div.PhotoLeftBlockPhoto {
	background: url(../images/rooms_06.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#rooms ul.roomsList li.PhotoRightBlock:nth-child(5) div.PhotoRightBlockPhoto {
	background: url(../images/rooms_07.jpg) 50% 50% no-repeat;
	background-size: cover;
}


/* facilities
------------------------------------------------------------------------------------ */
section#facilities {
	margin-top:150px;
}
section#facilities div.sectionTitle02 {
	background: url(../images/facilities_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#facilities div.PhotoLeftBlock div.PhotoLeftBlockPhoto {
	background: url(../images/facilities_01.jpg) 50% 50% no-repeat;
	background-size: cover;
}

section#facilities div.sectionInner ul.PhotoList {
	margin-top:100px;
}


/* sightseeing
------------------------------------------------------------------------------------ */
section#sightseeing {
	margin-top:150px;
}
section#sightseeing div.sectionTitle02 {
	background: url(../images/sightseeing_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#sightseeing div.sectionInner div#sightseeingGooglemap {
	position: relative;
	width: 100%;
	height: 500px;
}
section#sightseeing div.sectionInner div#sightseeingGooglemap iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
section#sightseeing div.sectionInner ul.PhotoListS {
	margin-top:100px;
}
section#sightseeing div.sectionInner ul.PhotoListS h4.title02 {
	margin-bottom:0;
}
section#sightseeing div.sectionInner div#sightseeingSite {
	margin-top:100px;
	padding:80px 50px;
	background-color:#FFF;
}
section#sightseeing div.sectionInner div#sightseeingSite ul {
	display: flex;
	flex-wrap: wrap;
}
section#sightseeing div.sectionInner div#sightseeingSite ul li {
	width:calc((100% - 60px) / 3);
	margin-right:30px;
}
section#sightseeing div.sectionInner div#sightseeingSite ul li:nth-child(3n) {
	margin-right:0;
}
section#sightseeing div.sectionInner div#sightseeingSite ul li a {
	color:#333;
	text-decoration: none;
}
section#sightseeing div.sectionInner div#sightseeingSite ul li a p.sightseeingSiteBanner {
	border:1px solid #CCC;
	box-sizing: border-box;
}
section#sightseeing div.sectionInner div#sightseeingSite ul li a p.sightseeingSiteText {
	text-align:center;
	margin-top:10px;
}


/* access
------------------------------------------------------------------------------------ */
section#access {
	margin-top:150px;
}
section#access div.sectionTitle02 {
	background: url(../images/access_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}
section#access ul#accessList {
}
section#access ul#accessList li {
	margin-top:100px;
}
section#access ul#accessList li:first-child {
	margin-top:0;
}
section#access ul#accessList li div.accessListTitle {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom:30px;
}
section#access ul#accessList li div.accessListTitle h3.title01 {
}
section#access ul#accessList li div.accessListTitle p.linkBtn {
}
section#access ul#accessList li div.accessListTitle p.linkBtn a {
	width: 340px;
}
section#access div#accessTransportation {
	text-align:center;
	margin-top:100px;
	padding:80px 50px;
	background-color:#FFF;
}
section#access div#accessTransportation h3.title01 {
}
section#access div#accessTransportation p {
}


/* headerスクロール後の変化
------------------------------------------------------------------------------------ */
body.headerScroll div#scrollHeader {
	top: 0;
}
body.headerScroll p#pagetop {
	opacity:1;
}



@media screen and (max-width:1000px) {
	body {
		line-height:150%;
	}

	/* PC、SP表示切り替え
	------------------------------------------------------------------------------------ */
	.dsNoSp {
		display: none;
	}
	.dsNoPc {
		display: block;
	}

	/* header
	------------------------------------------------------------------------------------ */
	header div#headerTop {
		position: fixed;
		padding:10px 20px;
	}
	header div#headerTop h1 {
		width:150px;
	}
	header div#headerInenr {
		bottom: 60px;
		width:90%;
	}
	header div#headerInenr h2 {
		font-size: 24px;
		line-height: 150%;
		letter-spacing: 0.15rem;
		margin-bottom:0;
	}
	header div#headerInenr nav#gnavPc {
		display: none;
	}

	.slick-dots {
		bottom: 40px;
	}

	/* header 予約ボタン
	------------------------------------------------------------------------------------ */
	div#headerReserve {
		display : block;
		position: fixed;
		right: 60px;
		top: 0;
		width: 60px;
		height: 60px;
		background-color: #4d7954;
		z-index: 999;
	}
	div#headerReserve a {
		display : block;
		width: 60px;
		height: 60px;
	}
	div#headerReserve a div#headerReservInner {
		position: absolute;
		left: 50%;
		top: 50%;
		width: 100%;
		transform: translate(-50%,-50%);
	}
	div#headerReserve a div#headerReservInner p#headerReserveIcon {
		width: 24px;
		margin:0 auto;
	}
	div#headerReserve a div#headerReservInner p#headerReservetext {
		color: #FFF;
		font-size: 12px;
		line-height: 100%;
		letter-spacing: 0;
		text-align:center;
		margin-top:5px;
	}

	/* ハンバーガーメニュー
	------------------------------------------------------------------------------------ */
	div#gnavSpWrapper {
		display : block;
	}
	.hamburger {
		display : block;
		position: fixed;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
		z-index: 999;
		background-color: #FFF;
		transition: all 0.3s ease;
	}
	.hamburger span {
		display : block;
		position: absolute;
		left: 50%;
		top: 11px;
		width: 0;
		height: 0;
		background-color: #FFF;
		transition: 0.3s ease-in-out;
	}
	.hamburger span:before,
	.hamburger span:after {
		display : block;
		position: absolute;
		width: 30px;
		height: 1px;
		background-color: #4d7954;
		transition: 0.3s ease-in-out;
	}
	.hamburger span:before {
		content: "";
		left: 0;
		top: 13px;
		transform: translateX(-50%);
	}
	.hamburger span:after {
		content: "";
		left: 0;
		top: 23px;
		transform: translateX(-50%);
	}
	/* ナビ開いてる時のボタン */
	.hamburger.active {
		background-color: #FFF;
		transition: all 0.3s ease-in-out;
	}
	.hamburger.active span {
		background : #4d7954;
	}
	.hamburger.active span {
		width: 0px;
	}
	.hamburger.active span:before,
	.hamburger.active span:after {
		left: 50%;
		top: calc(50% + 20px);
		background: #4d7954;
	}
	.hamburger.active span:before {
		transform: translateX(-50%) rotate(45deg);
	}
	.hamburger.active span:after {
		transform: translateX(-50%) rotate(-45deg);
	}
	
	div#gnavSpWrapper nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		min-height: 100vh;
		background-color:#FFF;
		text-align: left;
		z-index: 998;
		overflow: auto;
		box-sizing: border-box;
		transition: all 0.5s;
		opacity: 0;
		visibility: hidden;
	}
	div#gnavSpWrapper nav div#gnavSpWrapperInner {
		position: absolute;
		left: 50%;
		top: 50%;
		width: 80%;
		box-sizing: border-box;
		transform: translate(-50%,-50%);
		transition: all 0.5s;
		opacity: 0;
		visibility: hidden;
	}
	div#gnavSpWrapper nav div#gnavSpWrapperInner ul#gnavSp {
		font-family: "Playfair Display", serif;
		font-size: 18px;
		line-height: 100%;
		font-weight: 500;
		text-align: center;
		margin-top:20px;
		padding-top:20px;
		border-top:1px solid #CCC;
	}
	div#gnavSpWrapper nav div#gnavSpWrapperInner ul#gnavSp li {
		margin-bottom:20px;
		padding-bottom:20px;
		border-bottom:1px solid #CCC;
	}
	div#gnavSpWrapper nav div#gnavSpWrapperInner ul#gnavSp li a {
		color:#333;
		text-decoration:none;
	}

	/* このクラスを、jQueryで付与・削除する */
	body.active div#gnavSpWrapper nav,
	body.active div#gnavSpWrapper nav div#gnavSpWrapperInner {
		opacity: 1;
		visibility: visible;
	}
	
	/* ハンバーガーメニュー展開時に背景をスクロールさせない */
	body.active {
		height: 100%;
		overflow: hidden;
	}

	/* スクロール表示header
	------------------------------------------------------------------------------------ */
	div#scrollHeader {
		display: none;
	}

	/* contents
	------------------------------------------------------------------------------------ */
	div.sectionTitle01 {
		margin-bottom:100px;
		padding-top:80px;
	}
	div.sectionTitle01 h2 span,
	div.sectionTitle02 h2 span {
		font-size: 24px;
		line-height: 100%;
		padding:10px 15px;
	}
	div.sectionTitle01 div.sectionLead {
		bottom:-50px;
		margin:30px auto 0 auto;
		padding:30px;
	}
	div.sectionTitle02 {
		margin-bottom:50px;
		padding-top:80px;
		padding-bottom:80px;
	}

	.PhotoLeftBlock div.PhotoLeftBlockPhoto {
		width:100%;
		height:320px;
	}
	.PhotoLeftBlock div.PhotoLeftBlockText {
		width:90%;
		max-width:none;
		margin:30px auto 0 auto;
		padding:0;
	}
	.PhotoLeftBlock div.PhotoLeftBlockText h3.title01,
	.PhotoLeftBlock div.PhotoLeftBlockText p.leadText,
	.PhotoRightBlock div.PhotoRightBlockText h3.title01,
	.PhotoRightBlock div.PhotoRightBlockText p.leadText {
		text-align:center;
	}
	.PhotoLeftBlock div.PhotoLeftBlockText table.table01 {
		margin-top:25px;
	}

	.PhotoRightBlock div.PhotoRightBlockText {
		width:90%;
		max-width:none;
		margin:30px auto 0 auto;
		padding:0;
		order:2;
	}
	.PhotoRightBlock div.PhotoRightBlockText table.table01 {
		margin-top:25px;
	}
	.PhotoRightBlock div.PhotoRightBlockPhoto {
		width:100%;
		height:320px;
		order:1;
	}

	ul.PhotoList li {
		width:100%;
		margin:50px 0 0 0;
	}
	ul.PhotoList li:nth-child(2) {
		margin-top:50px;
	}

	ul.PhotoListS li {
		width:calc((100% - 20px) / 2);
		margin-top:30px;
		margin-right:20px;
	}
	ul.PhotoListS li:nth-child(3) {
		margin-top:30px;
	}
	ul.PhotoListS li:nth-child(3n) {
		margin-right:20px;
	}
	ul.PhotoListS li:nth-child(even) {
		margin-right:0;
	}

	/* footer
	------------------------------------------------------------------------------------ */
	footer {
		margin-top:100px;
	}
	footer div#footerReserve {
		padding-top:50px;
		padding-bottom:50px;
	}
	footer div#footerReserve ul.footerReserveList li {
		width:100%;
		margin-top:20px;
		margin-right:0;
	}
	footer div#footerReserve ul.footerReserveList li:first-child {
		margin-top:0;
	}
	footer div#footerReserve ul.footerReserveList li a {
		padding:20px 30px;
	}

	footer div#footerMain {
		padding-top:50px;
		padding-bottom:50px;
	}
	footer div#footerMain div.footerInner div.footerMainLogo {
		margin-bottom:20px;
	}
	footer div#footerMain div.footerInner div.footerMainLogo h2 {
		width:180px;
		margin-right:20px;
	}
	footer div#footerMain div.footerInner div.footerMainLogo ul li {
		width:20px;
		margin-right:10px;
	}
	footer div#footerMain div.footerInner p#copyright {
		font-size: 12px;
		line-height: 100%;
		margin-top:20px;
	}

	/* ページトップ
	------------------------------------------------------------------------------------ */
	p#pagetop {
		right:20px;
		bottom:20px;
	}
	p#pagetop a {
		width:70px;
		height:70px;
		font-size: 14px;
		line-height: 100%;
	}
	p#pagetop a:before,
	p#pagetop a:after {
		top: 15px;
	}

	/* 共通パーツ
	------------------------------------------------------------------------------------ */
	.leadText {
		font-size: 16px;
		line-height: 150%;
	}
	.title01 {
		font-size: 22px;
		line-height: 150%;
		margin-bottom:20px;
	}
	.title02 {
		font-size: 18px;
		line-height: 150%;
		margin-top:15px;
		margin-bottom:15px;
	}
	table.table01 tr th {
		padding: 20px 20px 20px 0;
	}
	table.table01 tr td {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	/* lead
	------------------------------------------------------------------------------------ */
	section#lead {
		margin-top:100px;
	}

	/* hotspa
	------------------------------------------------------------------------------------ */
	section#hotspa {
		margin-top:100px;
	}

	/* restaurant
	------------------------------------------------------------------------------------ */
	section#restaurant {
		margin-top:100px;
	}
	section#restaurant div#restaurant01 div.PhotoLeftBlock {
		margin-bottom:100px;
	}
	section#restaurant div#restaurant01 ul.PhotoList {
		margin-bottom:50px;
	}
	section#restaurant div#restaurant02 {
		margin-top:100px;
	}
	section#restaurant div#restaurant02 div.PhotoLeftBlock {
		margin-bottom:100px;
	}
	section#restaurant div#restaurant02 div.PhotoRightBlock {
		margin-bottom:50px;
	}

	/* rooms
	------------------------------------------------------------------------------------ */
	section#rooms {
		margin-top:100px;
	}
	section#rooms ul.roomsList {
		margin-top:50px;
		margin-bottom:50px;
	}
	section#rooms ul.roomsList li.PhotoLeftBlock,
	section#rooms ul.roomsList li.PhotoRightBlock {
		background-color:transparent;
	}
	section#rooms ul.roomsList li.PhotoLeftBlock div.PhotoLeftBlockText,
	section#rooms ul.roomsList li.PhotoRightBlock div.PhotoRightBlockText {
		position: relative;
		top:-50px;
		width:90%;
		margin:0 auto;
		padding:30px;
		background-color:#FFF;
	}

	/* facilities
	------------------------------------------------------------------------------------ */
	section#facilities {
		margin-top:100px;
	}
	section#facilities div.sectionInner ul.PhotoList {
		margin-top:50px;
	}

	/* sightseeing
	------------------------------------------------------------------------------------ */
	section#sightseeing {
		margin-top:100px;
	}
	section#sightseeing div.sectionInner div#sightseeingGooglemap {
		height: 400px;
	}
	section#sightseeing div.sectionInner ul.PhotoListS {
		margin-top:50px;
	}
	section#sightseeing div.sectionInner div#sightseeingSite {
		margin-top:50px;
		padding:30px;
	}
	section#sightseeing div.sectionInner div#sightseeingSite ul li {
		width:100%;
		margin-top:20px;
		margin-right:0;
	}
	section#sightseeing div.sectionInner div#sightseeingSite ul li:first-child {
		margin-top:0;
	}
	section#sightseeing div.sectionInner div#sightseeingSite ul li a p.sightseeingSiteText {
		margin-top:5px;
	}

	/* access
	------------------------------------------------------------------------------------ */
	section#access {
		margin-top:100px;
	}
	section#access ul#accessList li {
		margin-top:50px;
	}
	section#access ul#accessList li div.accessListTitle h3.title01 {
		width: 100%;
	}
	section#access ul#accessList li div.accessListTitle p.linkBtn {
		width: 100%;
		margin-top:20px;
	}
	section#access ul#accessList li div.accessListTitle p.linkBtn a {
		width: 340px;
	}
	section#access div#accessTransportation {
		margin-top:50px;
		padding:30px;
	}
}
