@charset "UTF-8";
@import url("../../common/css/style-a-sp.css");

/* ---------------------
	- common setting（全体に共通する部分）body、行間など
	- header（ヘッダー部分）ロゴ、住所　ヘッダーの背景
	- keyVisual（スライドショーに関する項目）
	- nav（メニューに関する項目）2ページ目の画像も
	- headline（メンテナンスのお知らせなど、全体の告知に関する項目）
	- freeArea（プラグインの表示に関する項目）
	- contents（各ページの共通部品）<h2>（大見出し）、<table> など
	- footer（フッター部分）ロゴ、住所、サイトマップ、TOP ボタン
	- page style（各ページ内限定の設定）#room、#member 内だけなど要素
--------------------- */
/* common setting
----------------------------------------------- */

/* background settings */
body {
	color: #111111;
	background-color: #101010;
}

body::before {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	height: 100vh;
	width: 100vw;
	background-image: url("../img/background-00.png");
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	content: "";
}

body:not(#hotelTop) {
	background-color: #101010;
}

body:not(#hotelTop) div#wrapper::before {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	height: 100vh;
	width: 100vw;
	background-image: url("../img/background-00.png");
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
	content: "";
}

 body#hotelTop main div#topic {
	background-color: transparent;
	background-image: url("../img/background-01.png");
	background-position: top center;
	background-size: 200%;
	background-repeat: no-repeat;
}

body#hotelTop main div#whatsnew {
	background-color: transparent;
}

body#hotelTop main div#access {
	background-color: transparent;
	background-image: url("../img/background-03.png");
	background-position: top center;
	background-size: 200%;
	background-repeat: no-repeat;
}

body:not(#hotelTop) main div#mainWrapper {
	background-color: #ffffff;
	margin: 10px;
}

body:not(#hotelTop) main {
	background-color: transparent;
	padding: 0;
	min-height: 0px;
}

#whatsnew section div.container {
	background-color: #ffffff;
	padding: 10px;
}

main div.container {
	padding-left: 10px;
	padding-right: 10px;
}

body:not(#hotelTop) main {
	margin-top: 20px;
	margin-bottom: 30px;
}

/* header
----------------------------------------------- */
/*ヘッダー店舗名　非表示*/
header div#headerLogo::after {
	content: none;
}
/*ヘッダー背景*/

header {
	background-color: #101010;
}

header div.container{
	background-image: url(../img/background-header.png);
	background-color: transparent;
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
	border-bottom: none;
}

/*ヘッダー18禁ロゴ*/
header div#headerStop18Img{
	background-image: url(../img/stop-18-header.svg);
	right: 15px;
}

/*ログインボタン背景*/
header a#btnLogin{
	background: transparent;
}


/* btnLogin
------------------------ */
header a#btnLogin {
	position: relative;
	width: 50px;
	height: 50px;
	top: 0px;
	right: 10px;
	margin: 0px;
	border-radius: 0px;
	transform: none;
}

header a#btnLogin:hover {
	background-color: transparent;
	background-image: none;
	filter: none;
}

header a#btnLogin::after {
	content: "";
	background: transparent url(../img/login-icon-sp.png);
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
	top: 0px;
	right: 20px;
	margin: 0px;
	width: 50px;
	height: 50px;
}

header a#btnLogin:hover::after {
	opacity: 0.875;
	filter: brightness(250%);
}

header a#btnLogin>span {
	width: 100%;
	height: 100%;
	background: transparent;
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	color: #FFFFFF;
	padding-top: 15px;
	border: none;
}

header a#btnLogin>span::after {
	display: none;
}

/*ヘッダー Yahoo地図ロゴ対策*/
/*header.top-fix-position {z-index:98;}*/

/* Logo
------------------------ */
header div#headerLogo {
	width: 175px;
	height: 45px;
	margin-top: 2.5px;
	background-position: left;
}

/* keyVisual
----------------------------------------------- */
div#keyVisual,
div#keyVisual ul {
	height: 180px;
}

div#keyVisual div.bx-pager.bx-default-pager {
	top: -36px;
}

/* nav
----------------------------------------------- */

/*ヘッダーナビ背景*/
div#priorityNaviContainer {
	background-color: transparent;
}

/*グローバルメニュー／ヘッダーナビメニューボタン*/
nav#priorityNavi ul li {
	min-width: 120px;
	background-image: url(../img/background-header-menu.png);
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-color: transparent;
	border: 1px solid rgba(75, 75, 75, 0.25);
}

/*グローバルメニューテキスト*/
nav#priorityNavi ul li a {
	height: 30px;
	color: #ffffff;
	font-weight: 500;
	text-shadow: 1px 1px 1px rgba(50, 50, 50, 0.75);
}

nav#priorityNavi ul li a:hover {
	color: #bccfb4;
	text-shadow: 1px 1px 1px rgb(50, 255, 50, 0.75);
	font-weight: 500;
}

nav#priorityNavi ul li {
	float: left;
	min-width: 120px;
	width: auto;
	white-space: nowrap;
}

div#priorityNaviWrappar {
	overflow: visible;
	background-color: transparent;
}

/*ハンバーガーメニューボタン＆ライン色*/
#btnOpenMainNavi,
#btnOpenMainNavi.close_bg {
	background: #285b21;
}

#btnOpenMainNavi > span,
#btnOpenMainNavi > span::before,
#btnOpenMainNavi > span::after, 
#btnOpenMainNavi>span.close::before,
#btnOpenMainNavi>span.close::after {
	background: rgba(255, 255, 255, 0.80);
}

/*ハンバーガーメニュー展開時 背景色 & 位置*/
 nav#mainNavi{
	background-color: rgba(25, 25, 25, 0.875);
	z-index:11;
}

nav#mainNavi.top-fix-position {
	height: 100vh;
}

nav#mainNavi ul,
nav#mainNavi.top-fix-position>ul {
	top: 40px;
}

nav#mainNavi ul li {
	padding: 8px 0px;
}

nav#mainNavi ul li:nth-last-child(1) {
	padding-bottom: 3em;
}

/*ハンバーガーメニュー　テキスト*/
nav#mainNavi ul li a {
	color: #ffffff;
	font-weight: 500;
	text-shadow: 1px 1px 1px rgba(50, 50, 50, 0.75);
}

nav#mainNavi ul li a:hover {
	color: #bccfb4;
	text-shadow: 1px 1px 1px rgb(50, 255, 50, 0.75);
	font-weight: 500;
}


/* headline
----------------------------------------------- */
div#headInformation,
div#headNotice {
	padding: 0;
}

div#headInformation a,
div#headNotice a {
	font-size: 1.125em;
}


/* freeArea フリーエリア
----------------------------------------------- */
div#freeArea2, div#freeArea3 {
	margin-top: 0px;
}
.freestyle li {
	float: none;
	width: 100%;
	padding-bottom: 15px;
}

/* main
----------------------------------------------- */

/* contents
----------------------------------------------- */
/* 大見出し<h2> */

h2 {
	margin: 0 0 0.75rem 0;
}

body#hotelTop main div#topic h2,
body#hotelTop main div#whatsnew span.caption,
body#hotelTop main div#access span.caption {
	font-size: 16px;
	padding: 0px;
	margin-bottom: 8px;
}

body#hotelTop main div#topic h2:before {
	background: url(../img/ornament-left-01.png);
}

body#hotelTop main div#topic h2:after {
	background: url(../img/ornament-right-01.png);
}

body#hotelTop main div#whatsnew span.caption:before {
	background: url(../img/ornament-left-02.png);
}

body#hotelTop main div#whatsnew span.caption:after {
	background: url(../img/ornament-right-02.png);
}

body#hotelTop main div#access span.caption:before {
	background: url(../img/ornament-left-03.png);
}

body#hotelTop main div#access span.caption:after {
	background: url(../img/ornament-right-03.png);
}

body#hotelTop main div#topic h2:before,
body#hotelTop main div#topic h2:after,
body#hotelTop main div#whatsnew span.caption:before,
body#hotelTop main div#whatsnew span.caption:after,
body#hotelTop main div#access span.caption:before,
body#hotelTop main div#access span.caption:after {
	content: "";
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	width: 35px;
	display: block;
}

body#hotelTop main div#topic h2:before,
body#hotelTop main div#whatsnew span.caption:before,
body#hotelTop main div#access span.caption:before {
	margin: 0px -2px 0px 0px;
}

body#hotelTop main div#topic h2:after,
body#hotelTop main div#whatsnew span.caption:after,
body#hotelTop main div#access span.caption:after {
	margin: 0px 0px 0px -2px;
}


/* 小見出し<h3> */
body#hotelTop main div#topic h3 {
	margin-bottom: 10px;
	font-weight: normal;
}

/*記事　左右余白*/
body#hotelTop div#whatsnew div.container,
body#hotelTop div#access div.container {
	padding-left: 10px;
	padding-right: 10px;
}

/* footer
----------------------------------------------- */

/*footer p#copyright {
	color: #777777;
}*/

/* フッター　TOPボタン */
footer {
	padding-bottom: 0px;
}

footer div#linkPageTop {
	height: 0px;
}

footer div#linkPageTop a {
	position: fixed;
	bottom: 12px;
	right: 12px;
	z-index: 1;
	display:none;
	padding: 22px 11px 8px;;
	background: #285b21;
	filter: opacity(0.80);
	color: #ffffff;
	border-radius: 50%;
	text-decoration: none;
	top: inherit;
	left: inherit;
}

footer div#linkPageTop a::after {
	content: "TOP";
	color: #ffffff;
}

/*フッターメニュー背景と下線*/
footer div#footerNavi nav ul {
	background: url(../img/background-footer-menu.png);
	background-position: center center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	border-top: 1px solid rgb(150, 150, 150, 0.25);
}

footer div#footerNavi nav ul li {
	background-color: transparent;
	border-bottom: 1px solid rgb(150, 150, 150, 0.25);
}

/*フッター18禁文字*/
footer div#footerStop18 div#footerStop18Msg>span{
	color: #ffffff;
}

/*グループ＆オフィシャル リンク*/
footer ul.link-list li {
	border: 1px solid #285b21;
	transition:border-color 0.3s;
}

footer ul.link-list li:hover {
	border: 1px solid #285b21;
	transition:border-color 0.3s;
}

footer ul.link-list li a {
	background-color: #285b21;
	color:#ffffff;
	text-align: left;
	transition: background-color 0.3s, color 0.3s;
}

footer ul.link-list li a:hover {
	background-color: #ffffff;
	color: #285b21;
	transition: background-color 0.3s, color 0.3s;
}

footer ul.link-list li a::before {
	border-color: transparent transparent transparent #ffffff;
	transition: border-color 0.3s;
}

footer ul.link-list li a:hover::before {
	border-color: transparent transparent transparent #285b21;
	transition: border-color 0.3s;
}



/*フッター住所*/
footer div#footerHotelInfo>ul li {
	color: #ffffff;
}

/*フッター コピーライト*/
footer div#copyright {
	color: #ffffff;
}

/* page style
----------------------------------------------- */
/* INFORMATION */
/*main div#topic {
	position: relative;
}*/

ul.information {
	text-align: center;
}

ul.information li {
	display: inline-flex;
	border-radius: 0px;
	margin-bottom: 3px;
	width: calc((100% - 10px)/3);
	height: 118px;
	margin-right: 0px;
}

ul.information li:not(:nth-child(3n)) {
	margin-right: 0px;
}

ul.information li a {
	display: block;
	width: 100%;
	height: 100%;
}

ul.information li a.link span.icon,
ul.information li a.secretLink span.icon {
	height: 68px;
	background-size: 35%,0 0;
	margin-top: 0px;
}

ul.information li:hover a.link span.icon,
ul.information li:hover a.secretLink span.icon {
	background-size: 0 0,35%;
}

/*
ul.information li:nth-child(1):hover span.icon,
ul.information li:nth-child(2):hover span.icon,
ul.information li:nth-child(3):hover span.icon,
ul.information li:nth-child(4):hover span.icon,
ul.information li:nth-child(5):hover span.icon,
ul.information li:nth-child(6):hover span.icon {
	background-size: 0 0,30%;
}
*/


ul.information li span.icon-name-character {
	font-size: 11px;
	padding: 5px 10px 0px 10px;
}

ul.information li a.link span.background,
ul.information li a.secretLink span.background {
	display: none;
}

body#member main ul.information li span.icon {
	background-size: 35%,0 0;
}

body#member main ul.information li:hover a.link span.icon {
	background-size: 0 0,35%;
}

/*
body#member main ul.information li:nth-child(1):hover span.icon,
body#member main ul.information li:nth-child(2):hover span.icon,
body#member main ul.information li:nth-child(3):hover span.icon,
body#member main ul.information li:nth-child(4):hover span.icon,
body#member main ul.information li:nth-child(5):hover span.icon,
body#member main ul.information li:nth-child(6):hover span.icon {
background-size: 0 0,30%;
}
*/

/*
ul.information li:nth-child(4) span.icon-name-character {
font-size: 11px;
padding: 5px 25px 0px 25px;
}
*/

/* PCのみ表示 */
.pc_only{
	display:none;
}

/* スマホ再表示 */
.smart_only{
	display:inline !important;
}

/* Youtube */
.youtube{
	width:100%;
	height:187.5px;
	text-align:center;
}

/* フードメニュー */
.foodmenu{
	width:100%;
}

.foodmenu_left{
	width:100%;
	font-size:14px;
	line-height:30px;
	padding-bottom:10px;
}

.foodmenu_right{
	width:100%;
}

img.foodmenu_right{
	width:90%;
	vertical-align:center;
}

table.food-menu-sp {
	width: auto;
	border-right: 1px solid transparent;
	border-bottom: 1px solid transparent;
	border-collapse: collapse; border-spacing: 0;
}

table.food-menu-sp tbody {
	display: flex;
	width: auto;
}

table.food-menu-sp tbody tr {
	display: flex;
	flex-direction: column;
}

table.food-menu-sp thead {
	display: flex;
	float: left;
}

table.food-menu-sp thead th:first-child:before {
	padding: 1em;
}

table.food-menu-sp th,
table.food-menu-sp td {
	display: block;
	width: auto;
	padding: 0em 0.25em;
	text-align: center;
	border-top: 1px solid transparent;
	border-left: 1px solid transparent;
} 


/* 客室一覧 */
body#room li.roomImgList {
	width: 100px;
	margin: 0 15px;
}

body#room div.item-table>dl>dt {
	width: 100%;
}

/* 客室詳細 */
body#roomdetail li.equipment {
	padding-left: 1.5em;
}

body#roomdetail div.item-table>dl>dt {
	width: 100%;
}

body#roomdetail div.priceTableArea {
	padding: 1rem 0.5rem;
}

body#roomdetail div.roomArea {
	margin: auto;
	padding: 1rem 0.25rem;
}

body#roomdetail ul.equipment {
	margin: 0px 12px 12px 12px;
	padding-top: 12px;
}

/* service */
body#service ul.equipment>li {
	vertical-align: top;
	min-width: 100%;
	padding: 0.875em 1em 1em 1em;
}

/* ranking */
body#member_ranking #mainWrapper{
	padding-bottom: 20px;
}

/* お問い合わせ */
body#mailto a#maillink {
	width: 100%;
}

/* table */
table {
	width: 100%;
}

/*table.hyouyou_bordercolor {
	border-collapse: separate;
	border-spacing: 1em;
}

th.honbun,
td.honbun {
	display: block;
	width: 100%;
	border: 1px solid #666666;
}

th.honbun {
	background-color: #f35a17;
	color: #ffffff;
}

td.honbun {
	background-color: #ffffff;
	color: #111111;
}*/
