@charset "utf-8";
/* =reset
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav,  section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
ol li ol,
ul li ul,
ol li ul,
ul li ol,
li  {
  margin:0;
  list-style: none;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}


/* -------------------------------------------------------------- */
html{
  height: 100%;
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body{
  height: 100%;
  margin: 0;
  padding: 0;
  background: #335064;
  color: #333326;
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin:0;
  padding:0;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'メイリオ', meiryo, sans-serif;
}


button{
	width: 100%;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
	font-size: 1.6rem;
}
img a:hover, button:hover, a:hover{
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -khtml-opacity: 0.7;
  -moz-opacity: 0.7;
	cursor: pointer;
}

/* cleafix \*/
.clearfix:after {
  content:".";
  display:block;
  visibility:hidden;
  height:0.1px;
  font-size:0.1em;
  line-height:0;
  clear:both;
}
.clearfix {
  display:inline-block;
}
* html .clearfix {
  height:1%;
}
.clearfix {
  display:block;
}

/* ボタン */
span.btn{
	width: 100%;
	max-width: 290px;
	margin: 0 auto;
	display: block;
	text-align: center;
}
button.btn_mintgreen,
button.btn_navy{
	margin: 1rem auto;
	padding: 1rem 0;
	background-color: transparent;
	position: relative;
	font-weight: bold;
	font-family: 'YuGothic_M';
}
button.btn_mintgreen{
	border: 1px solid #49ADA8;
	color: #49ADA8;
}
button.btn_navy{
	border: 1px solid #335064;
	color: #335064;
}
button.btn_mintgreen:after{
	background-color: #49ADA8;
}
button.btn_navy:after{
	background-color: #335064;
}
button.link:after{
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	background:url(../img/common/icon_link.png) no-repeat center center;
	background-size: 12px 12px;
	top: 18px;
	right: 14px;
	position: absolute;
}
button.tg-blank:after{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background:url(../img/common/icon_blank.png) no-repeat;
	background-size: 14px 14px;
	top: 18px;
	right: 14px;
	position: absolute; 
}
button.tg-blank2:after{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background:url(../img/common/icon_blank2.png) no-repeat;
	background-size: 14px 14px;
	top: 18px;
	right: 14px;
	position: absolute; 
}
button.tg-link:after{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background:url(../img/common/icon_navy.png) no-repeat;
	background-size: 14px 14px;
	top: 18px;
	right: 14px;
	position: absolute; 
}

/* =font style
-------------------------------------------------------------- */
@font-face {
  font-family: 'YuGothic_M';
  src: url('../font/YuGothic_M.eot');
  src: url('../font/YuGothic_M?iefix') format('eot'),
       url('../font/YuGothic_M.woff') format('woff'),
       url('../font/YuGothic_M.ttf') format('truetype');
  font-weight: nomal;
}
@font-face {
  font-family: 'CaviarDreams_Bold';
  src: url('../font/CaviarDreams_Bold.eot');
  src: url('../font/CaviarDreams_Bold.eot?iefix') format('eot'),
       url('../font/CaviarDreams_Bold.woff') format('woff'),
       url('../font/CaviarDreams_Bold.ttf') format('truetype');
  font-weight: nomal;
}
@font-face {
  font-family: 'CaviarDreams_Regular';
  src: url('../font/CaviarDreams_Regular.eot');
  src: url('../font/CaviarDreams_Regular.eot?iefix') format('eot'),
       url('../font/CaviarDreams_Regular.woff') format('woff'),
       url('../font/CaviarDreams_Regular.ttf') format('truetype');
  font-weight: nomal;
	vertical-align:text-bottom;
	line-height: -0.4rem;
}

/* =rayout
-------------------------------------------------------------- */
#wrap{
  overflow: hidden;
  text-align: center;
}
header{
  width: 100%;
  height: 100px;
  background-color: rgba(51, 80, 100, 0.5);
  background: rgba(51, 80, 100, 0.5);
  color: rgba(51, 80, 100, 0.5);
  position: fixed;
  top: 0;
}

article header {
  width: 100%;
  height: auto;
  background-color: none;
  background: none;
  color: rgba(51, 80, 100, 0.5);
  position: inherit;
}

main{
  width:100%;
  margin-left: -300px;
  float: right;
  position: relative;
}
menu{
  width: 300px;
  height: 100%;
  min-height: 100%;
  float: left;
	/*position: fixed;*/
  position: relative;
  display: block;
	z-index: 4;
}
menu .sp_wrap{
	background: url(../img/common/bg_search.png) no-repeat;
	background-size: 100% auto;
	background-position: top center;
}
body > menu{
  height: auto;
}
main #content{
	min-width: 960px;
  margin: -100px 0 0 300px;
  padding: 0;
  background: #fff;
}
main #content .content_inner{
  margin-top: 100px !important;
  padding-top: -100px !important;
}
.left, .box-l{
	float: left;
}
.right, .box-r{
	float: right;
}
.fixed{
	position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	max-width: 300px;
}
.pc-none{
	display: none !important;
}
.row{
  margin-right: -15px !important;
  margin-left: -15px !important; 
  }
.col-2-pc, .col-3-pc, .col-4-pc, .col-5-pc, .col-6-pc, .col-7-pc,
.col-3-sp{
	padding: 15px;
	float: left;
	display:block;
}
.col-1-pc{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 15px;
	display:block;
}
.col-2-pc{
	width: 50%;
}
.col-3-pc{
	width: 33.3%;
}
.col-4-pc{
	width: 25%;
}
.col-5-pc{
	width: 20%;
}
.col-6-pc{
	width: 16.6%;
}
.col-7-pc{
	width: 14.28%;
}
.mrt-1rem{
	margin-top: 1rem;
}
.mrt-2rem{
	margin-top: 2rem;
}
.mrt-3rem{
	margin-top: 3rem;
}

/* テキスト関連 */
.txt_center{
	text-align: center;
}
.f_mintgreem{
	color: #46ACA5;
}
.icon_dia{
	display: inline-block;
	padding-right: 1rem;
  color: #9F915F;
}

/* =header
-------------------------------------------------------------- */
header{
  width: 100%;
  padding: 0 0 0 300px;
	z-index: 3;
}
header nav{
  width: 960px;
  margin: 0 auto;
}
header nav ul{
  width: 960px;
  height: 100px;
  margin: 0 auto;
  display: table;
  table-layout: fixed;
  border-left: 1px solid #ECECDB;
}
header nav ul li{
  width: 20%;
	height: 100px;
  display: table-cell;
  border-right: 1px solid #ECECDB;
  vertical-align: middle;
}
header nav ul li a{
	height: 100%;
	padding-top: 3rem;
  display: block;
  color: #ECECDB;
  text-decoration: none;
  font-size: 1.9rem;
  color: #FFF;
	font-family: 'YuGothic_M';
}
header nav ul li a span{
  display: block;
  font-size: 1.2rem;
  font-family: 'CaviarDreams_Bold';
}
header nav ul li a:hover{
	background-color: rgba(153, 167, 177, 0.85);
  background: rgba(153, 167, 177, 0.85);
  color: #FFF;
	opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
  -khtml-opacity: 1;
  -moz-opacity: 1;
}
header nav ul li.current{
  border: 3px solid #ECECDB;
}
header nav ul li.reservation,
header nav ul li.reservation a:hover{
  background-color: #49ADA8;
}
#global-nav-sp{
	display: none;
}

	.btn_reservation {
    width: 50%;/* 100% */
    float: left;
    background-color:#49ADA8;
    color: rgba(51, 80, 100, 0.5);
    border-bottom: 1px solid #ECECDB;
    height: 100px;/* 96px */
}


	.back_top {
    width: 100%;
    float: left;
    background-color: rgb(51, 80, 100);
    background: rgb(51, 80, 100);
    color: rgba(51, 80, 100, 0.5);
    border-bottom: 1px solid #ECECDB;
    height: 48px;
}
.back_top a {
    padding: 0.8rem 0;
    font-size: 14px;
}


/* =search
-------------------------------------------------------------- */
menu h1.logo{
  width: 300px;
  height: 190px;
  background: #fff url(../img/common/logo_pc.png) no-repeat;
  text-indent: -9999px;
	border-bottom: 2px solid #978653;
	position: relative;
}
menu h1.logo:after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	border-bottom: 2px solid #978653;
	position: absolute;
	bottom: 2px;
	background: #fff;
}

/* プラン検索 */
#search{
  padding: 3rem 5rem 2rem 5rem;/* 5rem 5rem 2rem 5rem*/
}
#search h2, #member h2{
  font-family: 'YuGothic_M';
  font-size: 1.4rem;
  color: #FFF;
}
#search select{
	/*-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;*/
  width:100%;
  padding:12px 3px;
  background:#9B8A58 !important;
  color: #fff;
  border:none;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  font-size: 1.5rem;
}
#search ul{
  width: 100%;
  display: table;
}
#search ul li{
  padding: 6px 2px;
  display: table-cell;
}
#search ul li:first-child{
  width: 40%;
}
#search ul li:nth-child(2),
#search ul li:nth-child(3){
  width: 30%;
}
#search .btn_search,
#search .btn_cancel{
  padding: 2px;
  margin-bottom: 6px;
  display: block;
}
#search .btn_search button,
#search .btn_cancel button{
	font-family: 'YuGothic_M';
  width:100%;
  border:none;
  color: #FFF;
  padding:10px 0;
  position: relative;
}
#search .btn_search button{
  background-color:#49ADA8;
}
#search .btn_cancel button{
  border: 1px solid #ECECDB;
  background-color: transparent;
  color: #ECECDB;
}

/*検索ボタン差し替え*/
#search .btn_Search{
  margin-bottom: 6px;
  display: block;
  with:100%;
 	font-family: 'YuGothic_M';
  width:100%;
  border:none;
  color: #FFF;

  position: relative;
   background-color:#49ADA8;
}

#search .btn_Search a{
	display:block;
  padding:10px 0;
	color:white !important;
	text-decoration:none !important;}


/* 会員メニュー */
#member{
  margin: 0rem 5rem 0 5rem;
	padding-top: 2rem;
	border-top: 1px solid #002846;
}
#member ul li{
  margin-bottom:1px;
}
#member .member_menu button{
  width:100%;
  border:none;
  color:white;
  background-color:#002846;
  padding:10px 0 10px 30px;
  text-align:left;
  position: relative;
	font-size: 1.4rem;
}
#member .member_menu button:before {
    content: "";
    width: 8px;
    height: 11px;
    display: block;
    position: absolute;
    background: url(../img/common/arrow_member.png) no-repeat;
    background-size: 8px 11px;
    top: 19px;
    left: 10px;
}
#member dt{
    display:block;
    width:100%;
    cursor:pointer;
		margin-bottom: 2px;
    padding:10px 0px !important;
    text-align:center;
		position: relative;
		background-color: #002846;
		border-radius: 2px;
		font-size: 1.4rem;
}
#member dt:after{
		content: "＋";
		width: 10px;
		height: 10px;
		display: block;
		position:absolute;
		top:10px;
		right:20px;
		color: #FFF;
}
#member dd{
	display:none;
	width:100%;
  cursor:pointer;
	margin-bottom: 2px;
  padding:10px 0px !important;
}
#member dd button{
	font-family: 'YuGothic_M';
}
/* 20171206追加 英語ボタン */
.en{
	padding-top: 15px;
}
.en a{
	display: block;
	height: 30px;
}


/* =footer
-------------------------------------------------------------- */
footer{
	padding: 0 0 1.5rem 0;
	font-size: 1.2rem;
}
body#page footer{
  width: 100%;
	margin: 0 0 0 300px;
	padding: 20px 300px 20px 0;
	float: left;
	background: #fff;
}
body#page footer small{
	padding: 2rem 0;
}
address{
	padding: 4rem 4rem 0 4rem;
	background-color: #335064;
	color: #FFF;
}
address h2{
	padding: 1rem 0;
	font-family: 'YuGothic_M';
	font-size: 1.6rem;
}
address span.tel,
address span.fax,
address span.mail,
address span a{
	font-family: 'CaviarDreams_Regular';
	color: #FFF;
	text-decoration: none;
}
address span.tel{
	width: 210px;
	margin: 0 auto;
	padding-bottom: 1rem;
	font-size: 3.0rem;
	display: block;
	border-bottom: 1px solid #FFF;
	position:relative;
}
address span.tel:after{
	content: "";
	width: 100%;
	display: block;
	bottom:-4px;
	left:0;
	position:absolute;
	border-bottom: 1px solid #FFF;
}

address span.faq{
	display:block;
	margin-top:20px;
	color:white;
}
address span.faq a:link,
address span.faq a:visited,
address span.faq a:hover,
address span.faq a:active{
	color:white !important;
	text-decoration:none !important;
	border:none !important;}


address span.fax{
	display: inline-block;
	padding: 1rem 1rem 1rem 0;
	font-size: 1.4rem;
}
address span.mail{
	display: inline-block;
	padding: 1rem 0 1rem 3rem;
	font-size: 1.4rem;
	position:relative;
}
address span.mail a{
	color: #FFF;
	text-decoration:none;
}
address span.mail:before{
	content: "";
	background: url(../img/common/icon_tel.png) no-repeat;
	background-size: 26px 26px;
	display: block;
	width: 26px;
	height: 26px;
	position:absolute;
	top:9px;
	left:0;
}

#page_top{
  width: 130px;
  height: 40px;
  position:fixed;
  bottom: 1.2%;
  right: 1%;
  z-index:4;
  text-align: center;
}
#page_top a{
  width: 100%;
  height:100%;
  padding: 1rem 2rem 0 0;
  display: block;
  font-size: 1.2rem;
  font-family: 'CaviarDreams_Bold';
  color: #FFF;
  text-decoration: none;
  background: #335064;
  border-radius: 2px;
  position: relative;
}
#page_top a:after{
  content: "";
  background: url(../img/common/arrow_pagetop.png) no-repeat;
  background-size: 12px 12px;
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: 14px;
  right: 10px;
}

/* =SP style
-------------------------------------------------------------- */
@media (max-width : 768px){
	body{
		font-size: 1.6rem;
		line-height: 3.0rem;
	}
	img{
		width: 100%;
		height: auto;
	}
  /* common */
	body#home main,
	body#home menu,
	body#page menu{
    width: 100%;
		height: auto;
    margin:0;
    float: none;
    position: relative;
		clear:both;
  }
  main #content{
    width: 100%;
		min-width: inherit;
    margin:0;
		position: relative;
  }
	body#page main #content .content_inner{
		margin-top: 0 !important;
	}
	body#home header{
		width: 100%;
		height: auto;
    margin:0;
		padding: 0;
		position: relative;
	}
	body#page header{
    width: 100%;
		height: 60px;
    margin:0;
		padding: 0;
		position: relative;
  }
	body#home header{
		height: 78px;
  }
	body#page{
		background: #FFF;
	}
	body#page menu{
		background: #335064;
	}
	.pc-none{
		display: block !important;
	}
	.sp-none{
		display: none !important;
	}
	.search_wrap{
		padding: 3rem;
	}
	.col-1-sp{
		width: 100%;
	}
	.col-2-sp{
		width: 50%;
		float:left;
	}
	.col-3-sp{
	  width: 33.3%;
		float: left;
  }
	p.txt_left_sp{
		text-align: left;
	}
	
  /* toggle botton */
	body#home .btn_trigger{
		display: none;
	}
	.btn_trigger{
		position: absolute;
    width: 36px;
    height: 40px;
		top: 13px;
		right: 13px;
	}
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    width: 22px;
    height: 22px;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 8px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 3px;
  }
  .menu-trigger::after {
    position: absolute;
    left: -6px;
    bottom: -24px;
    content: 'MENU';
    display: block;
    width: 100%;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    text-align: center;
    transition: all .4s;
  }
  .menu-trigger.active::after {
    content: 'CLOSE';
		left: -8px;
    bottom: -24px;
  }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0 !important;
  }
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
		bottom: 0;
  }
	/* nav */
	header .logo_sp{
		width:40px;
		height: 40px;
		background: url(../img/common/icon_logo_sp.png) top left no-repeat;
		background-size: 40px 40px;
		position:relative;
		top:10px;
		left: 10px;
		    display: block;
		text-indent: -9999px;
	}
	header nav{
		width: 100%;
	} 
	header nav ul{
		width: 100%;
		height: auto;
		position: relative;
    top: 30px;
		background-color: #99A7B1;
	}
	body#home header nav ul{
		top: 0;
		margin-top:0;
	}
	body#page #global-nav-sp{
		height: 300px;
		top: 60px;
		position: absolute;
	}
	header nav ul li{
		width: 50%;
		float: left;
		background-color: rgba(51, 80, 100, 0.5);
    background: rgba(51, 80, 100, 0.5);
    color: rgba(51, 80, 100, 0.5);
		border-bottom: 1px solid #ECECDB;
	}
	header nav ul{
		margin-top: -30px;
		border-left: none;
	}
	header nav ul li:nth-of-type(2),
	header nav ul li:nth-of-type(4){
		border-right: none;
	}
	header nav ul li a{
		padding: 2rem 0;
	}
	header nav ul li.btn_agreement,header nav ul li.btn_faq{
		background: #9c9c96;
	}
	/* menu */
	menu h1.logo{
		width: 100%;
		height: 170px;
		background: #FFF url(../img/common/logo_sp.png) no-repeat;
		background-size: 211px auto;
		background-position-x: center;
		background-position-y: 20px;
	}
	#search{
		width: 100%;
		height: auto;
		padding: 0 0 1rem 0;
		border-bottom: 1px solid #002846;
	}
  #search select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0.5em;
    background: #9B8A58 url(../img/common/arrow_search.png) no-repeat !important;
    background-size: 22px 8px !important;
    background-position: right center !important;
    height: 50px;
    font-size: 1.8rem;
    vertical-align: middle;
    border: none;
		color: #FFF;
  }
	#search .btn_search button{
		font-size: 2.4rem;
	}
	#search .btn_cancel button{
		font-size: 2.0rem;
	}
  #global-nav-pc{
    display: none;
  }
	#global-nav-sp{
		display: block;
	}
	

  /* 会員用メニュー */
	#member{
		width: 100%;
		margin: 2rem 0 0 0;
		padding:0 0 1rem 0;
		border-top: none;
	}
  #member dt{
    display:block;
    width:100%;
    cursor:pointer;
    padding:10px 0px !important;
    text-align:center;
		position: relative;
		background-color: #002846;
		border-radius: 2px;
		font-size: 2.4rem;
  }
	#member dt:after{
		content: "＋";
		width: 10px;
		height: 10px;
		display: block;
		position:absolute;
		top:10px;
		right:20px;
		color: #FFF;
	}
	#member dt.active:after{
		content: "－";
	}
  #member dd{
    width:100%;
    display:none;
    margin:10px 0;
  }
  #member dt.active{
    background:url(../../commons/images/bg_up.png) 98% 50% no-repeat #002846;
  }
	#search h2, #member h2 ,#member .member_menu button{
		font-size: 1.8rem;
	}
	
	
	/* footer */
	body#page footer{
    width: 100%;
    float: none;
    margin: 0;
    padding: 0 0 1.5rem 0;
    font-size: 1.2rem;
	}
	small{
		display: block;
	  padding-top: 2rem;
  }
	body#home address{
		padding: 2rem 0;
	}
	body#page address{
		padding: 2rem 0;
	}
/*	body#page address h2{
		padding-top:0;
	}*/
	#page_top{
		width: 40px;
		text-indent: -9999px;
		right: 3%;
	}
	#page_top a:after{
		right: 14px;
	}
	
  /* スマホで2タップで1クリックとなるため設定 */
  :hover{
    filter: alpha(opacity=1) !important;
    -moz-opacity:1 !important;
    opacity:1 !important;
  }

}
@-moz-document url-prefix() { /* for firefox */
    #search select {
        background:none;
        background-color: #FFF;
    }
}

/*

20170804
*/
@media (max-width : 768px){
#page_top {
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 11.2%;
    right: 4%;
    z-index: 0;
    text-align: center;
}
body#home .btn_trigger {
    display: block;
}
header{
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
    position: relative;	
}
#global-nav-sp {
    height: 300px;
    top: 60px;
    position: absolute;
}
body#home header {
    height: 60px;
    position: fixed;
    z-index: 9999;
    background: #335064;
}
main #content .content_inner {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.bx-wrapper {
    margin: 0 0 !important;
	z-index: 0;
}
small {
    display: block;
    padding-top: 0;
}
}