@charset "utf-8";

main {
  background: url(/image/common/bg_contents.gif) repeat;
}

/* =======================
	main_visual
========================== */
.mainvisual_title_secondary .mainvisual_title_header img {
  transform: translate(4%, 5%);
}
.mainvisual_title_secondary {
  inset: 60px 0 0 0;
}
.mainvisual_title_secondary .mainvisual_title_header {
  width: auto;
  width: 70%;
}
@media screen and (min-width: 768px) {
  .mainvisual_title_secondary {
    inset: 0;
  }
}
@media screen and (min-width: 1024px) {
  .mainvisual_title_secondary .mainvisual_title_header {
    width: auto;
    max-height: initial;
    margin: min(1%, 20px) 0 0 9%;
  }
  .mainvisual_title_secondary .mainvisual_title_header img {
    max-height: calc(80svh - 95px);
    object-fit: cover;
    object-position: center;
    transform: unset;
  }
}
/* =======================
		slide
========================== */
.clearfix:after {
  content: none;
}
.l_title {
  font-size: 21px;
  text-align: center;
}
.m_title {
  font-size: 18px;
  text-align: center;
}
#topicpath {
  display: none;
}
#main .navi .cate_navi {
  background-color: #f0f0f0;
  padding: 25px 10px 20px;
}
.grade {
  text-align: center;
}
.button {
  margin: 0 30px;
}
.button2 {
  margin: 0 30px;
  margin-bottom: 50px;
}
.floor_plan {
  margin: 0 30px;
}
.ft_img {
  margin: 0 10px 25px;
}
/* =======================
		contents
========================== */
#contents {
  background: url(/images/bg_contents.gif) repeat;
}
/* タイムセール中
.page_image{
   margin-top: 65px;
} */
.maincopy {
  line-height: 27px;
  padding: 15px 20px 40px;
}
.page_image div.main_box {
  display: flex;
  justify-content: center;
}
.page_image .main_txt {
  position: absolute;
  top: calc(100vw / 2.25);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 20px;
  /* font-size: 1.5rem; */
}
.page_image .main_txt h1 {
  /* font-size: 3.5rem; */
  color: #f26000;
  background: none;
  padding: 0;
  margin: 0;
}
.page_image .main_txt h1 span {
  /* font-size: 2.5rem; */
  color: #663300;
}
.page_image .main_txt dl {
  display: flex;
  margin-top: 10px;
}
.page_image .main_txt dl dt {
  background: #e4dcd7;
  padding: 10px;
  line-height: 5;
}
.page_image .main_txt dl dd {
  background: #fff;
  padding: 10px;
}
#cate_navi {
  display: flex;
  flex-direction: row;
  width: 95vw;
  margin-top: 20px;
  padding-bottom: 40px;
}
#cate_navi li {
  width: calc(100vw / 2.17);
  text-align: center;
  box-sizing: border-box;
}
#cate_navi li:nth-child(even) {
  margin-right: 0;
}
#cate_navi li:nth-child(n + 3) {
  margin-top: 8px;
}
#cate_navi li.current {
  background: none;
  border: 1px solid #b59e90;
}
#cate_navi li a {
  display: block;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
.view_sp #cate_navi {
  margin-top: 20px;
  padding-bottom: 40px;
}
h2,
.data_box h3 {
  font-size: 2.1rem;
  color: #663300;
  text-align: center;
  font-weight: normal;
  margin-bottom: 15px;
}
.index_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 16px;
}
.index_list_item {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin-right: -1px;
}
.index_list_item a.btn {
  padding-inline: 1.6rem;
}
@media screen and (min-width: 768px) {
  #main {
    width: 100%;
    margin: 0 auto;
  }
  #contents {
    color: #333333;
  }
  #contents img {
    width: 100%;
  }
  #recommend_plan_box img {
    width: auto;
  }
  .page_image {
    width: 100%;
    position: relative;
    margin-top: 95px;
  }
  .page_image p:first-child {
    position: absolute;
    left: 9vw;
    top: 50%;
    margin-top: -225px;
  }
  .page_image .concept {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -253px;
    margin-left: -244px;
  }
  .page_image .bg img {
    width: 100%;
  }
  .page_image .main_txt {
    left: 5%;
    bottom: 25%;
    padding: 40px 30px;
  }
  .page_image .main_txt h1 {
    font-size: 4.8rem;
  }
  .page_image .main_txt h1 span {
    font-size: 2.8rem;
  }
  #cate_navi {
    justify-content: center;
    margin: 20px auto 0;
    padding-bottom: 80px;
  }
  .maincopy {
    font-size: 1.6rem;
    line-height: 31px;
    letter-spacing: 1px;
    text-align: center;
    padding: 30px 0 60px;
  }
  h2 {
    font-size: 2.8rem;
    margin-bottom: 40px;
  }
  .restaurant_link {
    width: 950px;
    margin: 0 auto;
  }
  .charm .p_03 .point_text {
    width: 830px;
    margin: -90px auto 40px;
    padding: 25px 30px;
    text-align: center;
  }
  .col_03 {
    width: 1180px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .col_03 section {
    width: 32.3%;
  }
  .p_04,
  .p_05 {
    margin-right: 1.5%;
  }
  .col_03 .point_text {
    width: 87%;
    margin: 0px auto 40px;
    padding: 25px 25px;
    border-radius: 0 0 10px 10px;
  }
  .col_03 .pict_point {
    top: -83px;
  }
  #cate_navi li {
    max-width: 365px;
  }
}
/* =======================
		bxslider
========================== */
.bx-wrapper {
  background: none;
  border: none;
  box-shadow: none;
  margin-bottom: 0;
}
.bxslider1 .bx-pager {
  display: none;
}
.bxslider1 {
  position: relative;
  left: 4vw;
  overflow: visible !important;
}
.bxslider1 li {
  width: 90vw !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0 5px;
}
.bxslider2 {
  position: relative;
  left: 1vw;
  overflow: visible !important;
}
.bxslider2 li {
  width: 94vw !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
}
.bx-wrapper .bx-controls-direction a {
  height: 40px;
  width: 25px;
  top: 43%;
}
.bx-wrapper .bx-next {
  background: url("../image/common/sp_right.png");
  background-size: 100%;
  right: 1vw;
}
.bx-wrapper .bx-prev {
  background: url("../image/common/sp_left.png");
  background-size: 100%;
  left: 1vw;
}
.bx-wrapper .bx-pager {
  bottom: 10px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .bx-wrapper {
    overflow: hidden;
    box-shadow: none;
    border: none;
    background: transparent;
  }
  .bxslider1 li {
    width: 656px !important;
    height: 437px;
    margin-right: 10px;
  }
  .bxslider2 li {
    width: 580px !important;
    height: 387px;
    margin-right: 10px;
  }
  .p_03 .bx-viewport {
    left: 50%;
    margin-left: -328px;
    overflow: visible !important;
  }
  .bx-wrapper .bx-controls-direction a {
    height: 53px;
    text-indent: -9999px;
    z-index: 999;
  }
  .bx-wrapper .bx-prev {
    left: 50%;
    margin-left: -650px;
    background: url(https://www.lakeresort.jp/restaurant/hibara_di/image/common/left.png) no-repeat 0 0;
  }
  .bx-wrapper .bx-next {
    right: 50%;
    margin-right: -650px;
    background: url(https://www.lakeresort.jp/restaurant/hibara_di/image/common/right.png) no-repeat 0 0;
  }
  .bx-wrapper .bx-next:hover,
  .bx-wrapper .bx-next:focus {
    background-position: 0 0;
  }
  .bx-wrapper .bx-pager.bx-default-pager a {
    background: #fff;
  }
  .bx-wrapper .bx-pager.bx-default-pager a:hover,
  .bx-wrapper .bx-pager.bx-default-pager a.active,
  .bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #f60;
  }
  .bx-wrapper .bx-pager,
  .bx-wrapper .bx-controls-auto {
    display: none;
  }
}
/* =======================
		テキスト
========================== */

.restaurant_main_text {
  margin: 0 30px 40px 30px;
}
.txt {
  margin: 0 30px;
  font-size: 15px;
  line-height: 27px;
  margin-bottom: 25px;
}

/* -----------------------------------------------------------
			.no_01
----------------------------------------------------------- */
section.no_01 {
  background: #fff;
  padding: 25px 0;
}
.no_box {
  display: grid;
  grid-template-columns: min(35%, 150px) 1fr;
  padding: 20px 10px 10px;
  align-items: center;
  gap: 15px;
}
section.no_01 div > dl dt {
  font-size: 1.7rem;
  color: #663300;
  margin-bottom: 8px;
  line-height: 1.3;
}
section.no_01 div > dl dd {
  font-size: 1.5rem;
  line-height: 1.5;
}
.no_box_image {
  border: 1px solid #fab080;
  border-radius: 50%;
  position: relative;
  padding: 5px;
}
.no_box_image > img {
  border-radius: 50%;
  width: 100%;
}
.no_box_image > span {
  position: absolute;
  width: 40%;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  max-width: 50px;
}
section.osusume,
section.menu_example,
section.venue_info {
  margin: 50px auto;
}
section.osusume {
  margin-top: 25px;
}
.venue_info .owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 0;
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
}
.venue_info .owl-theme .owl-dots .owl-dot span {
  background: #fff;
  width: 12px;
  height: 12px;
  margin: 5px;
}
.venue_info .owl-theme .owl-dots .owl-dot.active span,
.venue_info .owl-theme .owl-dots .owl-dot:hover span {
  background: #794100;
}
.venue_info .slide_primary {
  width: 95%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .venue_info .owl-theme .owl-nav.disabled + .owl-dots {
    position: relative;
    margin-top: 10px;
  }
  section.no_01 {
    padding: 30px 0;
  }
  .no_box_wrap {
    display: grid;
    justify-content: center;
    text-align: center;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 3%;
    max-width: 1250px;
    margin-inline: auto;
    width: 95%;
    align-items: start;
  }
  .no_box {
    display: grid;
    grid-template-columns: initial;
    padding: 0;
  }
  section.no_01 div > dl dt {
    font-size: 2.2rem;
    margin-top: 10px;
    width: 100%;
    clear: both;
  }
  section.no_01 div > dl dd {
    width: 100%;
    clear: both;
    text-align: left;
  }
  .no_box_image > span {
    top: initial;
    bottom: 0;
    translate: -50% 15%;
    max-width: none;
    width: 33%;
    max-width: 80px;
  }
  section.no_01 div p {
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
  }
  section.no_01,
  section.osusume {
    margin-bottom: 80px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1024px) {
  section.no_01 div {
    column-gap: 50px;
  }
  section.no_01 div > dl dd {
    text-align: center;
  }
}
/* -----------------------------------------------------------
			.osusume
----------------------------------------------------------- */
section.osusume div.point01 {
  width: 90vw;
  margin: 0 auto 15px;
}
section.osusume div.point_box {
}
section.osusume div.point01 p:first-child,
section.osusume div.point_box p:nth-child(2) {
  margin: -55px auto 10px;
  width: 70px;
}
section.osusume div.point_box div {
  border-top: 1px solid #faad7a;
  padding: 25px 15px;
}
section.osusume div.point_box div:last-child {
  border-bottom: 1px solid #faad7a;
}
section.osusume div.point_box div p:first-child img {
  border-radius: 10px;
}
section.osusume div p:last-child {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-top: 5px;
}
section.osusume div h3 {
  text-align: center;
  font-size: 2.1rem;
  font-weight: normal;
  line-height: 1.2;
  color: #663300;
}
@media screen and (min-width: 768px) {
  section.osusume div.point01 {
    width: 600px;
    margin: 0 auto;
    text-align: center;
  }
  section.osusume div.point01 p:first-child {
    margin: -40px auto 15px;
    width: 100px;
  }
  section.osusume div.point_box p:nth-child(2) {
    margin: -40px auto 15px;
    max-width: 100px;
    min-width: 80px;
    width: 23%;
  }
  section.osusume div.point_box {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(384px, 1fr));
    margin-top: 30px;
    margin-top: 30px;
  }
  section.osusume div.point_box div {
    border: 1px solid #faad7a;
    border-left: none;
    padding: 20px;
    box-sizing: border-box;
  }
  section.osusume div.point_box div:nth-child(n + 1) {
    margin-bottom: -1px;
    margin-right: -1px;
  }
  section.osusume div p:last-child {
    margin-top: 10px;
  }
  section.osusume div h3 {
    text-align: center;
    font-size: 2.2rem;
    letter-spacing: 0.1px;
  }
}

/* -----------------------------------------------------------
			.alle
----------------------------------------------------------- */
.alle {
  width: 95%;
  margin: 0 auto 40px;
  background: #fff;
}
/* .alle div {
  border: 1px solid #e3d9d9;
} */
.alle p {
  padding: 20px;
  font-size: 1.5rem;
}
.alle p:first-child {
  padding: 15px;
  background: #e4dcd7;
  text-align: center;
  font-size: 1.8rem;
}
.alle p:last-child {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .alle {
    margin: 0 auto 80px;
  }
  .alle div {
    display: table;
  }
  .alle p {
    display: table-cell;
    vertical-align: middle;
  }
  .alle p:first-child {
    background: #e4dcd7;
    font-size: 1.8rem;
    min-width: 15rem;
  }
}
@media screen and (min-width: 1440px) {
  .alle {
    width: 1180px;
  }
  .alle p:first-child {
    width: 22%;
  }
}
/* =======================
		menu_example
========================== */
#main .tbl_basic {
  width: 95%;
  margin: 0 auto;
  box-sizing: border-box;
  border: 1px solid #e3d9d9;
  font-size: 1.4rem;
}
#main .tbl_basic th {
  padding: 1.2em 0.5em;
  background: #f3e5c4;
  width: 22%;
  text-align: center;
}
#main .tbl_basic td {
  padding: 1em;
  background: #fff;
  font-size: 100%;
}
#main .tbl_basic th,
.tbl_basic td {
  font-weight: normal;
  border-bottom: 1px solid #e3d9d9;
  vertical-align: middle;
  line-height: 1.8;
  font-size: 100%;
  white-space: normal;
}
.notice {
  padding-left: 2rem;
  text-indent: -1rem;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .menu_example {
    padding-bottom: 40px;
    width: 95%;
    margin: 0 auto;
  }
  #main .tbl_basic {
    width: 100%;
    max-width: 1180px;
  }
  .tbl_basic th {
    padding: 1.2em 1em 1.2em 1em;
    width: 200px;
  }
  .tbl_basic td {
    padding: 1.2em 1em 1.2em 2em;
  }
  .notice {
    padding-top: 10px;
    margin: 0 auto;
  }
  /* .menu_example .notice {
    width: 1180px;
  } */
}
@media screen and (min-width: 1440px) {
  .menu_example .notice {
    width: 1180px;
  }
  .menu_example {
    width: 1180px;
  }
}
/* =======================
		venue_info
========================== */
selection.venue_info {
  width: 95%;
  margin: 40px auto;
}
.venue_info h3 {
  margin: 10px 0;
}
.venue_info a:link,
a:visited {
  display: initial;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .venue_info .flex_view_pc-tab {
    justify-content: space-between;
    width: 100%;
  }
  .venue_info .flex_view_pc-tab .slide_primary {
    width: 50%;
    margin: unset;
  }
  #main .venue_info .data_box {
    width: 46%;
  }
  .venue_info {
    width: 95%;
    margin-inline: auto;
    max-width: 1180px;
  }
  .venue_info .owl-theme .owl-nav.disabled + .owl-dots {
    position: relative;
    margin-top: -30px;
  }
  .venue_info h3 {
    text-align: left;
  }
}
@media screen and (min-width: 1024px) {
  .venue_info {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 60px;
    margin: 0 auto;
  }
  .venue_info h2 {
    width: 100%;
  }
  .venue_info .bx-wrapper {
    width: 50% !important;
    margin-right: 3%;
  }
  .venue_info .bx-wrapper .bx-controls-direction a {
    display: none;
  }
  .venue_info .bx-wrapper .bx-pager,
  .venue_info .bx-wrapper .bx-controls-auto {
    bottom: 20px;
    display: block;
  }
  .venue_info .flex_view_pc-tab .slide_primary {
    width: 50%;
  }
  #main .venue_info .data_box {
    width: 46%;
  }
  .venue_info .data_box h3 {
    font-size: 2rem;
    font-weight: normal;
    line-height: 31px;
    margin-bottom: 10px;
  }
  .venue_info .data_box .tbl_basic {
    width: 100%;
  }
  .venue_info .data_box .tbl_basic th {
    width: 100px;
  }
  .venue_info .bx-viewport {
    width: 200% !important;
  }
  .venue_info .data_box {
    width: 47%;
  }
  section.venue_info {
    max-width: 1180px;
    margin-bottom: 10px;
  }
  .venue_info .owl-theme .owl-nav.disabled + .owl-dots {
    position: absolute;
  }
}
