/*ロゴ*/
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .navbar-brand img { height:auto; }

/*カレンダー*/
.cal{background:#fff;}

@media (max-width: 768px) {
  .cal{
	  margin-left:-10px;
	  margin-right:-10px;
  }
}

.cal_header{
	width:100%;
	padding:15px 13px;
	border-bottom:1px solid #ddd;
	display:flex;
	justify-content: space-between;
	align-items: center;
}

.cal_header div{
	width:10%;
}

.cal_header div a{
	display:block;
	padding:0 7px;
	border: solid 1px #CCC;
	background-color:#F3F3F3;
}

.cal_header strong{display:block;text-align:center;font-size:1.1rem;line-height:19px;}


.cal_prev{float:left;cursor:pointer;}
.cal_next{float:right;cursor:pointer;}
.cal_body{padding:10px 15px;text-align:center;}

@media (max-width: 768px) {
  .cal_body{padding:10px 2px;}
}

.week{
	width:100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: space-between;
}

.week div{
	width: 14.28%;
	text-align:center;
	padding:10px;
}

.week button{
	width: 14.28%;
	border:none;
	background:#FFF;
}

.week button.available:hover{
	background:#EBE7DA;
}
.sat{color: #397bbe;}
.sun{color: #ff7171;}

.today{font-weight:bold;text-decoration:underline;}

.cal_day{
	display:block;
	padding:5px 3px;
	white-space: nowrap;
	text-align:center;
}

@media (max-width: 768px) {
	.cal_day{
		padding:5px 0;
	}
}


.cal_day span{
	display:block;
	margin-top:-3px;
}

.stock .fa{
	color:#F00;
}

/*見出し*/
.title{
	font-size: 18px;
    font-weight: 700;
}

.title i {
	margin-right:10px;
}

.m_title{
	font-size: 15px;
    font-weight: 700;
}

/*検索*/
.search_plan {
    background: #ddd;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 10px 20px;
	display:flex;
	justify-content: space-between;
	align-items: center;
}

#resform .search_plan {
	margin-top:20px;
}

@media (max-width: 768px) {
  .search_plan {
	  padding-top:15px;
	  flex-wrap: wrap;
  }

  #resform .search_plan {
	  margin-top:15px;
  }

}

.search_parts {
    width: calc( (100% - 140px)/3);
	padding:0 20px 0 0;
	font-size:15px;
}

#resform .search_parts {
	width: calc( 100% / 3 );
	padding:0 5px;
}

@media (max-width: 768px) {
  .search_parts {
	  width: 100%;
	  padding:0 0 15px;
  }

  #resform .search_parts {
	  width: 100%;
	  padding:0 0 15px;
  }

}

.search_parts select {
    width: 100%;
	font-size:1rem;
	padding: 0.2rem 0.75rem;
}

.search_plan_btn {
	width: 140px;
    display: flex;
    background: #af9b65;
    transition: background-color .25s;
    color: #fff;
    font-size: 18px;
    text-align: center;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border-radius: 4px;
    outline: none;
    border: none;
    cursor: pointer;
}

@media (max-width: 768px) {
  .search_plan_btn {
	  margin:0 auto 5px;
  }
}

.plan {
	margin-bottom:30px;
}

.plan_box {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.plan_img{
	width:15%;
	height:0;
	padding-top:15%;
	position: relative;
	overflow:hidden;
}

.plan_img img{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:auto;
	height:100%;
}

.plan_detail {
	width:85%;
	padding-left:20px;
}

.plan_img2{
	width:30%;
	height:0;
	padding-top:30%;
	position: relative;
	overflow:hidden;
}

.plan_img2 img{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:auto;
	height:100%;
}


.plan_detail2 {
	width:70%;
}

.plan_detail3 {
	width:100%;
	padding-left:0px;
}

.plan_detail .plan_tag {
    margin: 0 0 10px 0;
	background:#F90;
	color:#FFF;
}

.plan_detail .pp_tag {
    margin: 0 0 10px 0;
}

.plan_detail h3 {
	font-size: 18px;
    font-weight: 700;
    margin: 0 0 5px 0;
}

.plan_detail h4 {
	font-size: 16px;
    font-weight: 700;
    margin: 5px 0 5px 0;
	color: #af9b65;
}

.plan_detail p {
	font-size: 14px;
	line-height:1.8;
	margin:0;
}

.plan_img_list {
	display:flex;
	flex-wrap: wrap;
	background: #FAF8F3;
	padding:2% 0 0 2%;
	margin-top:15px;
}

.plan_img_list a {
	display:block;
	width:23%;
	height:0;
	padding-top:23%;
	position: relative;
	overflow:hidden;
	margin:0 2% 2% 0;
}

.plan_img_list img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:auto;
	height:100%;
	background:#FFF;
	padding:4px;

}

.plan_detail dl {
display: flex;
flex-flow: row wrap;
width: 100%;
border-top: 1px solid #eee;
border-right: 1px solid #eee;
}
.plan_detail dt {
flex-basis: 15%;
padding: 20px;
background-color: #FAF8F3;
border-bottom: 1px solid #eee;
}
.plan_detail dd {
flex-basis: 85%;
padding: 20px;
background-color: #fff;
border-bottom: 1px solid #eee;
}

.op_box {
	width:100%;
	display:flex;
	flex-wrap: wrap;
	border-top: 1px solid #eee;
	padding-top:20px;
	margin-top:20px;
}

.op_box:first-child {
	border-top: none;
	padding-top:0;
	margin-top:0;
}

.op_img {
	width:100px;
	height:0;
	padding-top:100px;
	position: relative;
	overflow:hidden;
}

.op_img img{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:auto;
	height:100%;
}


.op_detail {
	flex: 1;
	padding-left:20px;
}

.op_name {
	font-weight:bold;
	margin-bottom:5px;
}

.op_price{
	display:flex;
	align-items: center;
	margin-bottom:15px;
}

.op_price strong{
	font-size: 18px;
}

.op_text {

}

.tab_box {
	width:100%;
}

.tab_img {
	width:100%;
	margin-bottom:10px;
}

.tab_img img{
	width:100%;
}

.tab_name {
	font-weight:bold;
	margin-bottom:5px;
}


@media (max-width: 768px) {
.plan_detail dl {
	flex-flow: column;
	border-left: 1px solid #eee;
}
.plan_detail dt {
	padding: 15px;
}
.plan_detail dd {
	padding: 15px;
}

.op_img {
	margin:0 auto 15px;
}

.op_detail {
	flex: none;
	padding-left: 0;
	width:100%;
}

}


.plan_price {
	margin-top:20px;
	width:100%;
}

.plan_price a , .plan_price .pbtn_price {
	width:100%;
	height:100%;
	display:flex;
	align-items: center;
	justify-content: space-between;
	border:solid 1px #eee;
	padding: 15px;
}

.plan_price a:hover, , .plan_price .pbtn_price:hover{
	text-decoration:none;
	background:#F5F3ED;
}

.price_text{
	display:flex;
	align-items: center;
	width: calc( 100% - 260px );
}

.price_text p{
	font-size: 14px;
	line-height:1.8;
	margin:0;
	color:#CC6600;
}

.price_box {
	display:flex;
	justify-content: space-between;
	align-items: center;
}

.price_box .pb1 {
	min-width: 140px;
	text-align:right;
	display:flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: right;
}

.price_box .pb2 {
	min-width: 120px;
}

.price_box .pb1 strong{
	font-size: 20px;
	padding-right:20px;
}

.price_box .pb1 span{
	font-size: 10px;
	font-weight:normal;
	color:#666;
	display:block;
	text-align:right;
	padding-right:20px;
}


.res_btn {
	white-space: nowrap;
}

@media (max-width: 768px) {
  
  .modal .modal-dialog .modal-content .modal-body {
    padding-left: 15px;
	padding-right: 15px;
	}
  
  .plan_box {
	  display:flex;
	  flex-wrap: wrap;
	  justify-content: space-between;
  }
  
  .plan_img{
	  width:100%;
	  height:0;
	  padding-top:100%;
	  position: relative;
	  overflow:hidden;
	  margin-bottom:20px;
  }
  
  .plan_img img{
	  position:absolute;
	  top:50%;
	  left:50%;
	  transform:translate(-50%,-50%);
	  width:auto;
	  height:100%;
  }
  
  .plan_detail {
	  width:100%;
	  padding-left:0px;
  }

  .plan_price {
	  margin-top:10px;
  }
  
  .plan_price a {
	  flex-wrap: wrap;
  }

  .plan_price .pbtn_price {
	  flex-wrap: wrap;
  }
  
  .price_text{
	  width:100%;
	  margin-bottom:10px;
  }
  
  .price_box {
	  width:100%;
	  justify-content: flex-end;
  }

}

/*モーダル調整*/

.modal-lg {
	max-width:1140px;
}

.mbody {
	position:relative;
}

.mclose {
	float:none;
	position: absolute;
	right:6px;
	top:0;
	font-size: 2rem;
}

/*申し込みフォーム*/

.base_form {
    background-color: #F8F7F7;
    padding: 20px 20px 0 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 10px;
    margin-bottom: 25px;
}

.base_form .form_line {
	margin-bottom:20px;
}

.base_form .form_item {
	display:flex;
	align-items: center;
	margin-bottom:10px;
}

.base_form .form_item_c {
    padding: 10px 20px;
	background:#FFF;
    border-radius: 4px;
	margin-bottom:10px;
	font-size:14px;
}

.base_form .form_item span {
	font-size:15px;
	margin-right:10px;
}

.base_form .form_item span i {
	margin-right:10px;
}

.base_form .form_more {
	font-size: 13px;
    color: #696969;
    line-height: 1.6;
	margin-top:-3px;
    margin-bottom:10px;
	display:block;
}



.base_form input[type=email]
, .base_form input[type=password]
, .base_form input[type=tel]
, .base_form input[type=text]
, .base_form input[type=number]
{
    width: 100%;
    height: 40px;
    padding: 7px 15px;
    font-size: 16px;
    box-shadow: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    -webkit-appearance: none;
}

.base_form textarea {
    width: 100%;
    font-size: 16px;
    box-shadow: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    -webkit-appearance: none;
	resize: vertical;
    overflow: auto;
    padding: 8px;
    min-height: 80px;
}

.biko {
    min-height: 100px;
}

.anq_box {
    width: 100%;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    padding: 8px 8px 8px 20px;
	background:#FFF;
}

.anq_box label {
    margin: 10px 20px 10px 0;
}

.anq_box label input {
    margin: 0 5px 0 0;
}


.form_text {
    padding: 20px 20px 0 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 10px;
    margin-bottom: 25px;
}

.form_text p {
	color:#666;
}

.confirm_box {
	margin: 0 auto 30px;
    padding: 20px 40px 30px;
    text-align: center;
    display: block;
    background-color: #f8f6f1;
}

.confirm_res {
	margin: 0 auto;
    display: block;
    background-color: #fff;
    padding: 20px;
    border: 1px solid #e6e3d4;
}

.confirm_detail {
	width:100%;
	display:block;
}

.confirm_detail h3 {
    font-size: 17px;
    margin-bottom: 15px;
	font-weight:bold;
}

.confirm_detail h4 {
    font-size: 15px;
    margin-bottom: 15px;
}

.confirm_date {
	font-size: 16px;
	font-weight:bold;
}

.confirm_guest {
	font-size: 16px;
	font-weight:bold;
	margin-left:15px;
}

.confirm_price {
	font-size: 16px;
	font-weight:bold;
	color:#F00;
	margin-left:15px;
}

.confirm_price_sum {
	font-size: 16px;
	font-weight:bold;
	color:#F00;
	display:block;
	margin-top:15px;
	margin-bottom:20px;
}

.confirm_price_sum strong {
	font-size: 20px;
}

.confirm_text {
	margin: 10px auto 15px;
    font-size: 12px;
    line-height: 1.4em;
}

/*オプション*/

.s_check {
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	font-size:14px;
}

.s_detail {
	border: dotted 1px #CCC;
	padding:12px 5px 5px;
}

.s_check h4 {
	font-weight:bold;
	font-size:16px;
	color: #af9b65;
	margin-top:20px;
	width:100%;
}

.s_check h5 {
	font-weight:bold;
	font-size:15px;
	color: #af9b65;
	margin-bottom:0;
	width:100%;
}

.s_check input {
	width: auto;
	min-width: auto;
	margin-right:10px;
}

.s_check label {
	margin:0;
	padding:10px;
	margin-right:10px;
}

.s_check label.oplabel {
	width:100%;
	border-bottom: dotted 1px #CCC;
	display:flex;
	align-items: center;
}

.s_check label.oplabel strong {
	margin-left:10px;
	font-size:16px;
}

.s_check label.oplabel span {
	margin-left:10px;
}

.s_check label.oplabel span.name {
	margin-left:0px;
}

.s_check label.oplabel:last-child {
	border:none;
}

.s_check div {
	width:100%;
	border-bottom: dotted 1px #CCC;
	padding: 10px;
}

.s_check div span {
	display:block;
	width:100%;
}

.s_check div:last-child {
	border:none;
}

.res_btn{

}
.res_btn2{
	margin-left:20px;
}

@media (max-width: 768px) {
  .confirm_box {
	  padding: 20px;
  }

  .confirm_box2 {
	  padding: 0px;
  }

  .confirm_res h4{
	  font-size:14px;
  }

  .confirm_date,.confirm_guest,.confirm_guest  {
	  display:block;
  }

  label.oplabel {
	  padding-left:0;
	  padding-right:0;
	  margin:0;
	  text-align:left;
	  flex-wrap: wrap; 
  }

  label.oplabel span.name {
	  width:100%;
  }
  
  .confirm_btn{
	  display:flex;
	  flex-flow: column;
	  justify-content: center;
  }

  .res_btn2{
	  margin-left:0;
	  margin-top:15px;
  }
  

}

.navbar.horizontal-layout .nav-top {
    padding: 5px 15px;
}

/*ロゴ*/
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo {
	display: block;
}
.navbar.horizontal-layout .nav-top .navbar-brand-wrapper .brand-logo-mini {
	display: none;
} 

.navbar.horizontal-layout .nav-top .navbar-brand-wrapper {
    width: 185px;
	height:auto;
	max-height: 63px;
}

.navbar.horizontal-layout .nav-top .navbar-menu-wrapper {
   /* width: calc(100% - 70px);*/
	width: calc(100% - 185px);
}

/*ナビ幅*/

@media (min-width: 769px) {
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item {
    width: 25%;
	border-right: solid 1px #DAD0B8;
}
}

/*ナビカラー*/
.navbar.horizontal-layout .nav-bottom {
    background: #f8f7f7;
}
.navbar.horizontal-layout .nav-bottom .page-navigation {
    background: #f8f7f7;
}

.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item {
    background: #f8f7f7;
	color: #675837;
}

.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link {
    background: #f8f7f7;
	color: #675837;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item > .nav-link .link-icon {
    background:none;
	color: #675837;
}


/*アクティブカラー*/
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item.active > .nav-link {
    background: #af9b65;
	color: #ffffff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link {
    background: #af9b65;
	color: #ffffff;
}
.navbar.horizontal-layout .nav-bottom .page-navigation > .nav-item:hover > .nav-link .link-icon {
	color: #ffffff;
}


/*table*/

.m_tab {
	width:100%;
	margin:0 0 20px 0;
	padding:0;
}

.m_tab th {
	background-color:#F0F0F0;
	width:20%;
	padding:20px;
}

.m_tab td {
	padding:20px;
	line-height:1.8;
	white-space: normal;
}

.m_tab td iframe {
	width:100%;
	height:400px;
}

@media (max-width: 768px) {
.m_tab th,.m_tab td {display: block;width:100%;border-bottom: none; height:auto;}
.m_tab td:last-child {border-bottom: 1px solid #ccc;}
}


#wrapper{
    min-height: 100vh;
}

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: rgba(255,255,255,0.8);
  z-index: 2000;
  display:none;

}

#loader {
  height:auto;
  text-align: center;
  color: #af9b65;
  margin-top:-50px;
  font-size: 18px;
  font-weight: 700;
}

.footer {
    background: none;
}

.footer span.ms {
	color: #666;
	cursor:pointer;
}

.footer span.ms:hover {
	text-decoration:underline;
}

.footer a {
	color: #666;
}

.c_gold {
    color: #af9b65;
}

.btn_gold {
    color: #fff;
	background: #af9b65;
	font-weight:bold;
}

a.btn_gold;hover,.btn_gold;hover {
    color: #fff;
}

/*detail*/

dl,dt,dd {
    margin: 0;
    padding: 0;
}

.detail {
    background-color: #F8F7F7;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 10px;
    margin-bottom: 25px;
}

.detail dl {
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
	background:#FFF;
}

.detail dt,
.detail dd {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    box-sizing: border-box;
    padding: 15px 20px;
}
.detail dt {
    font-size: 15px;
    width: 200px;
	font-weight: normal;
}
.detail dd {
    width: calc(100% - 200px);
}

@media (max-width: 768px) {

    .detail dl {
        width: 100%;
        border-right: 1px solid #ddd;
        display: block;
    }
    .detail dt,
    .detail dd {
        border-right: none;
        width: 100%;
        padding: 10px 15px;
    }
    .detail dt {
        border-bottom: none;
        padding-bottom: 0;
    }

}

/*FAQ DL*/

.separator_faq {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background:#FFF;
  padding:40px 0 20px;
}

.dlfaq dl {
    border: 1px solid #ddd;
    display: flex;
    flex-flow: column;
	background:#FFF;
	margin-top:20px;
	border-radius: 0.25rem;
}

.dlfaq dt,
.dlfaq dd {
    box-sizing: border-box;
    padding: 25px;
}
.dlfaq dt {
    font-size: 16px;
	background:#F0F0F0;
}
.dlfaq dd {

}

@media (max-width: 768px) {

.separator_faq {
  padding:20px 10px 10px;
}

.dltable dl {
	flex-flow: column;
}

}

.c-gold{
	color:#af9b65;
}

.hidden{
	display:none;
}
	