@charset "utf-8";

img{
	max-width: 100%;
	width: auto;
	height: auto;
	vertical-align:bottom;
}

/* all
------------------------------------------------*/
*{
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

img {
 border:none;
}

ul,dl,ol,li{
 list-style-type:none;
}

.clear{
	clear:both;
	height: 0px;
	border: 0px;
	line-height: 0;
	visibility:hidden;
}

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	visibility:hidden;
	height:0;
}

.clearfix { display:inline-table; }

/* Mac OS */
* html .clearfix { height:1%; }
*+html .clearfix { height:1%; }
.clearfix { display:block; }
/**/


html{
	height:100%;
}

body{
	height: 100%;
	color: #fff;
/*
	font-size: calc(60% + 0.5vw);
*/
	font-size: 0.78rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.075rem;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;

	overflow-y: hidden;
	background: #000;
}


/* link
------------------------------------------------*/
a:link {
	color: #fff;
	text-decoration: none;
	outline-style: none;
}

a:visited {
	color: #fff;
	text-decoration: none;
	outline-style: none;
}

a:hover {
	color: #fff;
	text-decoration: underline;
	outline-style: none;
}

a:active {
	color: #fff;
	text-decoration: underline;
	outline-style: none;
}

a img{
	border-style: none;
}
a:hover img{
	-ms-filter:"alpha(opacity=90)";
	filter:alpha(opacity=90);
	-moz-opacity:0.9;
	opacity:0.9;
 }


/* wrap
------------------------------------------------*/
#wrap{
	width: 100%;
	min-width: 1200px;
	height: 100%;

	position: relative;
}

/*
body,
#left:before,
#right:before{
	background: url(../images/bg_main.jpg) 0 50% no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}
*/


/* 3
------------------------------------------------*/
video {
	display:block;
}

#bg_movie{
	position:fixed;
	right:0;
	bottom:0;
	min-width:100%;
	min-height:100%;
	z-index:-100;
}

#left,
#center,
#right_out{
	height: auto;
	min-height: 100%;
	margin: 0;

	position: relative;
	overflow: hidden;
	height: 100vh;
}

#center{
	width: calc(100% - 705px);
	/* 中央の自動サイズ（100% - 左右の固定の合計サイズ 今回は260px+425px） */
	float:left;
}



#left{
	width: 260px;
	float: left;
	font-size: 90%;
	background: linear-gradient(90deg, rgba(0,0,0,0.85) 4%, rgba(0,0,0,0.2));
}

#right_out{
	width: 445px;
	float: right;
}

#right{
	width: 425px;
	position: absolute;
	right: 0;
	background: linear-gradient(90deg, rgba(0,0,0,0.4),rgba(0,0,0,0.95));
	min-height: 100%;
}

#search_box_shadow{
	width: 100%;
	height: 148px;
}

/* center
------------------------------------------------*/
#catch_wrap{
	position: relative;
	line-height: 1.8;
	height:100%;
}
#catch{
	position: absolute;
	top: 0%;
	left: 50%;
	margin-right: -50%;
	-webkit-transform: translate(-50%, 200px);
	transform: translate(-50%, 200px);

	/*max-width: 600px;*/
	text-align: center;
}
#catch{
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#catch img{
	width: 60%;
	min-width: 480px;
	/* max-height: 100px; */
	margin: 0 0 24px 0;
}
#catch p {
  font-size: 1.1vw;
}
#catch_news img {
  width: 23%;
}

@media (max-width: 1200px) {
	#catch img{
		width: 480px;
	}
	#catch p {
	  font-size: 100%;
	}
}

/* left
------------------------------------------------*/
#logo{
	text-align: center;
	margin: 0 auto 20px auto;
}

#menu_wrap{
	margin: 40px 20px 0 20px;
	height: calc(100% - 130px);
}
#menu_wrap .menu_box{
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}
#menu_wrap .menu_box:nth-child(6){
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border: none;
}
#menu_wrap .menu_box ul li{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
}

#menu_wrap .menu_box ul li{
	position:relative;
	display: block;
	padding: 5px 0px 5px 20px;
}
#menu_wrap .menu_box ul li::after{
	content:'';
	display:block;
	position:absolute;
	top: 12px;
	left: 4px;

	width: 5px;
	height: 5px;
	box-sizing: border-box;
	border: 3px solid transparent;
	border-left: 6px solid #fff;
}

#menu_wrap .bnr a{
	display: block;
	margin: 0 0 20px 0;
}

#menu_wrap2{
	margin: 12px;
	font-size: 72%;
}

#menu_wrap2 .menu_box2{
	margin: 0 0 10px 0;
}
#menu_wrap2 .menu_box2 a{
	margin: 0 10px 0 0;
}


/* right
------------------------------------------------*/
#search_box_wrap{
	width: 445px;
	height: 128px;
	background: url(../images/bg_search.png) 0 0 no-repeat;
	padding: 0;
	margin: 0;
	position: fixed;
	top: 0;
	z-index: 200;
}

#search_box,
#search_box_add{
	margin: 0 0 0 36px;
	padding: 0 0 0 0;
	position: relative;
	font-size: 80%;
}
#search_box_add{
	height: 64px;
}

#search_ttl,
#search_ttl_add{
	position: absolute;
	top: 18px;
	left: 24px;
	padding-left: 18px;
	background: url(../images/icon_shopsearch.png) 0 0 no-repeat;
}

#select_box,
#select_box_add{
	position: absolute;
	top: 10px;
	left: 97px;
	width: 220px;
	margin: 0 auto;
}

#search_add{
	position: absolute;
	top: 18px;
	right: 14px;
	padding-right: 16px;
	background: url(../images/arrow_add.gif) 100% 50% no-repeat;
}
.search_btn,
.search_btn2{
	width: 220px;
	margin: 0 0 0 133px;
	padding: 64px 0 0 0;
	cursor: pointer;
}
.search_btn2{
	padding: 0 0 0 0;
	margin: 0 0 40px 133px;
}


/* search_add
------------------------------------------------*/
#search_add_wrap{
	width: 445px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3000;
	height: 100vh;
	background: #005e15;
}


#search_add2{
	display: none;
	float: right;
	margin: 0 36px 20px 0;
	position: relative;
}

#search_add2::before{
	content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  -ms-transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  position: absolute;
  top: 40%;
  right: -35%;
  margin-top: -4px;
}

#search_add2 a{
	text-decoration: none;
	font-size: 70%;
}
#search_add_close{
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 200%;
}

#search_add_close a{
	text-decoration: none;
}

#search_add_close2{
	float: right;
	margin: 0 36px 20px 0;
	position: relative;
}

#search_add_close2::before{
	content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 52%;
  right: -16%;
  margin-top: -4px;
}
#search_add_close2 a{
	text-decoration: none;
	font-size: 70%;
}


/* line
------------------------------------------------*/
#right .line{
	text-align: center;
	margin: 0 auto 30px auto;
}


/* selectbox
------------------------------------------------*/
.minict_wrapper input:disabled {
	color: #999;
	-webkit-opacity: 1;
	-webkit-text-fill-color: #999;
}


/* check_box
------------------------------------------------*/
.check_box_wrap{
	width: 88%;
	margin: 0 0 12px 40px;
}
.check_box{
	display: inline-block;
	width: 45%;
	margin: 0 3% 18px 0;
	line-height: 1.8;
}
.check_box input{
	vertical-align: middle;
}

.check_box:nth-child(2),
.check_box:nth-child(4),
.check_box:nth-child(6){
	margin: 0 0 18px 0;
}

.cb_01{background-image: url(../images/icon_magmaroom.gif);}
.cb_02{background-image: url(../images/icon_parking.gif);}
.cb_03{background-image: url(../images/icon_24hour.gif);}
.cb_04{background-image: url(../images/icon_ph.gif);}
.cb_05{background-image: url(../images/icon_tanning.gif);}
.cb_06{background-image: url(../images/icon_pairroom.gif);}

.cb_01,
.cb_02,
.cb_03,
.cb_04,
.cb_05,
.cb_06{
	background-position: 90% 0;
	background-repeat: no-repeat;
	background-size: 12% auto;
}

.check_box_input{
	display: none;
}
.check_box_parts{
	position:relative;
	padding-left: 22px;
	cursor: pointer;
}
.check_box_parts::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #fff;
}
.check_box_input:checked + .check_box_parts{
	color: #fff;
}
.check_box_input:checked + .check_box_parts::after{
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 5px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
}


/* top_news
------------------------------------------------*/
#top_news_frame{
	width: 84%;
	margin: 32px auto 20px auto;
	position: relative;
}

.to_news_list{
	position: absolute;
	top: 0;
	right: 0;
	margin: 8px 4px 0 0;
	padding-left: 12px;
	background: url(../images/arrow_next.png) 0 50% no-repeat;
}

.top_news_tab{
	overflow:hidden;
}
.top_news_tab li{
	background-color: rgba(0,0,0,0.3);
	padding: 8px 20px;
	float: left;
	margin-right: 1px;
	cursor: pointer;
}
.top_news_tab li.select{
	background-color: rgba(255,255,255, 0.8);
	color: #000;
}
.top_news_in li{
	background-color: rgba(255,255,255, 0.8);
	padding:20px;
	color: #000;
}
.hide {display:none;}


.top_news_list dl{
	width:100%;
	text-align: left;
}
.top_news_list dt{
	float: left;
	clear: left;
	margin-bottom: 6px;
}
.top_news_list dd{
	width: 66%;
	float: left;
	margin-left: 2%;
	margin-bottom: 6px;
}
.top_news_list dd a{
	color: #000;
}

/* twitter timelin
------------------------------------------------*/
#twitter_frame{
	width: 84%;
	margin: 0 auto;
	background: #fff;
}
#twitter_box{
	height: 300px;
	position: relative;
	overflow: hidden;
}
#twitter{
	margin: 1px 16px 1px 1px;
}

#right #bnr {
  width: 84%;
  margin: 32px auto 20px auto;
  position: relative;
}

#right #bnr img{
	width: 100%;
}

/* recommended_menu
------------------------------------------------*/
#recommended_menu{
	background: #333;
	margin: 0 24px;
	padding: 20px;
}


/* search_results
------------------------------------------------*/
#search_results{
	width: 100%;
	border-top: 1px solid #fff;
}
.search_shop{
	position: relative;
	color: #000;
	background: #fff;
	padding: 8px 30px 20px;
	border-bottom: 1px solid #005e15;
}
.search_shop:after {
	content:".";
	display:block;
	clear:both;
	visibility:hidden;
	height:0;
}
.search_shop:hover{
	color: #fff;
	background: #005e15;
}
.search_shop a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.search_shop .shop,
.search_shop .address,
.search_shop .option,
.search_shop .tel{
	display: inline-block;
	vertical-align: middle;
}

.search_shop .shop{
	/*width: 80px;*/
	width: 100%;
	font-size:110%;
	text-align: left;
	margin-bottom: 5px;
	padding-left: 14px;
	background: url(../images/arrow_next.png) 0 50% no-repeat;
	background-size: 8px 7px;
}
.search_shop:hover .shop{
	background: url(../images/arrow_next_ov.png) 0 50% no-repeat;
	background-size: 8px 7px;
}
.search_shop .address{
	width:320px;
	float:left;
	margin-top:5px;
}
.search_shop .option{
	position: absolute;
	bottom:10px;
	width: 180px;
	float:right;
	text-align: right;
	right:30px;
}
.search_shop .option img{
	width: 26px;
	display: inline-block;
	margin-left:5px;
}
.search_shop .tel{
	width: 200px;
	float: left;
	font-size:110%;
	text-decoration: underline;
	margin-top:5px;
}
.search_shop .tel:before{
	content: 'TEL.';
}
.search_shop a.map{
	display: block;
	position: absolute;
	top: 10px;
	left:auto;
	right:30px;
	width:52px;
	height:24px;
	line-height: 24px;
	background: #005e15;
	font-size:110%;
	color:#fff;
	text-align: center;
}
.search_shop:hover a.map{
	text-decoration: none;
	background: #fff;
	color:#005e15;
}

/* shoplist
------------------------------------------------*/
#shoplist_add{
	width: calc(100% - 260px);

	height: auto;
	min-height: 100%;
	height: 100vh;

	position: absolute;
	top: 0;
	right: 0;
	background: rgba(0,0,0,0.85);
	z-index: 5000;

	margin: 0;
	overflow: hidden;
}

#shoplist_add_frame{
	max-width: 90%;
	margin: 0 auto;
}

#shoplist_wrap{
	width: 900px;
	position: relative;
}

#shoplist_ttl{
	font-size: 130%;
	font-weight: bold;
	margin: 40px 0 40px 0;
}

#shoplist_tokyo,
.shoplist{
	width: 900px;
	margin: 0 0 40px 0;
}

#shoplist_tokyo .prefecture,
.shoplist_box .prefecture{
	font-size: 110%;
	font-weight: bold;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;

	border-bottom: 1px solid rgba(255,255,255,0.5);
}

#shoplist_tokyo .list,
.shoplist_box .list{
	width: 50%;
  display: inline-block;
  /* margin: 0 30px 0 0; */
  vertical-align: top;
  float: left;
}
.shoplist_frame{
	width: 100%;
	display: inline-block;
	margin: 0 30px 0 0;
	vertical-align: top;
}


#shoplist_tokyo .list_wide,
.shoplist_frame_wide{
	width: 320px;
	display: inline-block;
	margin: 0 0 0 0;
	vertical-align: top;
}
.shoplist_frame_wide2{
	width: 296px;
	display: inline-block;
	margin: 0 0 0 0;
	vertical-align: top;
}


.list table,
.list_wide table,
.list_wide2 table{
	text-align: left;
	border-collapse: separate;
	border-spacing: 2px 6px;
}
.list table th,
.list_wide table th,
.list_wide2 table th{
	font-weight: normal;
	text-align: left;
	width: 70%;
	text-indent: -0.8rem;
	padding-left: 0.8rem;
}
.list_wide table th{
	width: 190px;
}
.list_wide2 table th{
	width: 170px;
}

.list table th::before,
.list_wide table th::before,
.list_wide2 table th::before{
	content: '';
	display: inline-block;
	width: 8px;
	height: 7px;
	background: url(../images/arrow_next.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	padding-top: 2px;
	margin-right: 6px;
}
.list table th.empty::before,
.list_wide table th.empty::before,
.list_wide2 table th.empty::before{
	background: none;
}

.list table td,
.list_wide table td,
.list_wide2 table td{
	/*text-align: right;*/
}

.shoplist_box{
	margin: 40px 0 20px 0;
}
.shoplist_box:after{
	content: "";
  clear: both;
  display: block;
}

.shoplist_close{
	position: absolute;
	top: 0;
	right: 0;
	font-size: 180%;
}
.shoplist_close a{
	text-decoration: none;
}


/* bgm_btn
------------------------------------------------*/
.bgm_btn{
	width: 25px;
	height: 20px;
	position: absolute;
	right: 4px;
	bottom: 40px;

	cursor: pointer;
}

/*top banner
------------------------------------------------*/
#banner_bottom{
	width: 92%;
	min-height: 50px;
	position: absolute;
	left: 11px;
	bottom: 13px;
	z-index: 1;
}

