@charset "UTF-8";
/*============================ 函館のみ
============================*/
.text_lr .text { width: 100%; }

.bg_dark { margin-bottom: 40px; }

.sub-t { color: #3F1F00; }

@media screen and (max-width: 1024px) { .meeting_cont .boxes > div { padding-bottom: 0; } }
@media screen and (min-width: 769px) { .table_cont table th { min-width: 130px; } }
#introduction .text_lr .text { width: 50%; }
#introduction .button { /*max-width: 500px;*/ margin-top: 15px; }

.button { max-width: 390px; margin-left: auto; margin-right: auto; }

#search_top { display: none; }

/*============================ bgdark
============================*/
.meeting-contents { padding: 50px 20px; }
.meeting-contents .lead-t { text-align: center; max-width: 940px; margin-bottom: 40px; margin-left: auto; margin-right: auto; }
.meeting-contents figure { position: relative; }
.meeting-contents figure, .meeting-contents .text { max-width: 800px; margin-left: auto; margin-right: auto; }
.meeting-contents .text { margin-top: 30px; overflow: hidden; position: relative; }

.meeting_cont .boxes > div .button { width: 100%; max-width: 390px; position: static; /* absolute を解除 */ bottom: auto; left: auto; margin-top: 50px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 768px) { .meeting_cont .boxes > div .button { margin-top: 30px; } }

.box2 .info-table { width: 100%; border-collapse: collapse; }
.box2 .info-table th, .box2 .info-table td { /*padding: 15px 10px;*/ text-align: left; vertical-align: top; }
@media screen and (max-width: 768px) { .box2 .info-table th, .box2 .info-table td { padding: 12px 8px; } }
.box2 .info-table th { width: 10%; font-weight: 600; }
@media screen and (max-width: 768px) { .box2 .info-table th { width: 20%; } }
.box2 .info-table td { width: 75%; }
@media screen and (max-width: 768px) { .box2 .info-table td { width: 70%; } }

/*============================ 予約・お問合せ
============================*/
#book { background: #E4DFD1; padding: 50px 8.333333%; }
#book h4 { padding-left: 10px; padding-right: 10px; margin-bottom: 20px; font-size: 18px; color: #3F1F00; border-bottom: 1px solid #BDB393; }
#book p { padding-left: 10px; padding-right: 10px; }

/*============================ テーブル
============================*/
.table-contents { background: #E4DFD1; padding: 50px 20px; }
.table-contents .lead-t { text-align: center; max-width: 940px; margin-bottom: 40px; margin-left: auto; margin-right: auto; }
.table-contents figure { position: relative; }
.table-contents figure, .table-contents .text { max-width: 800px; margin-left: auto; margin-right: auto; }
.table-contents .text { margin-top: 30px; overflow: hidden; position: relative; }

/*============================ テーブル
============================*/
#map { background: #E4DFD1; }
#map .meeting-contents figure { text-align: center; }
#map .text h3 { color: #3F1F00; font-size: 26px; line-height: 1.6; margin-bottom: 20px; }
@media screen and (max-width: 768px) { #map .text h3 { font-size: 22px; } }

/*============================ 宴会料理
============================*/
#cuisine .cont_lr .slick-dots { text-align: center; }
#cuisine .cont_lr { margin-bottom: 50px; }
#cuisine .cont_lr .text { padding-top: 0; }
#cuisine .cont_lr .text header > p { width: 20%; max-width: 70px; margin-top: 0; float: left; }
#cuisine .cont_lr .text header > h3 { margin-top: 20px; margin-left: 30px; float: left; text-align: center; }
#cuisine .cont_lr .text header > h3 span { font-size: 22px; }
#cuisine .cont_lr .image { position: relative; }
#cuisine .cont_lr .image p { position: absolute; width: 200px; top: 0px; z-index: 2; }
@media screen and (max-width: 479px) { #cuisine .cont_lr .image p { width: 50%; } }
#cuisine .cont_lr .image.left p { right: 20px; }
#cuisine .cont_lr .image.right p { left: 20px; }
@media screen and (max-width: 768px) { #cuisine .cont_lr .image.left p, #cuisine .cont_lr .image.right p { left: 5%; } }
#cuisine .cont_lr .data { margin-top: 50px; }
#cuisine .cont_lr .data dl dt { width: 6em; }
#cuisine .cont_lr .data dl dd { width: calc(100% - 7em); }

/*============================ タブナビゲーション
============================*/
.tab-radio { display: none; }

.tab-navigation { margin-bottom: 40px; margin-top: 40px; }
@media screen and (max-width: 768px) { .tab-navigation { margin-bottom: 30px; } }

.tab-list { display: flex; justify-content: center; list-style: none; padding: 0; margin: 0; border-bottom: 2px solid #E4DFD1; }

.tab-item { margin: 0; }
.tab-item label { display: block; padding: 15px 100px; font-size: 18px; cursor: pointer; position: relative; transition: all 0.3s; color: #666; }
.tab-item label:hover { color: #3F1F00; }
@media screen and (max-width: 768px) { .tab-item label { padding: 12px 30px; font-size: 14px; } }

#tab-banquet:checked ~ .tab-navigation .tab-list .tab-item:nth-child(1) label, #tab-meeting:checked ~ .tab-navigation .tab-list .tab-item:nth-child(2) label { color: #3F1F00; font-weight: bold; }

#tab-banquet:checked ~ .tab-navigation .tab-list .tab-item:nth-child(1) label::after, #tab-meeting:checked ~ .tab-navigation .tab-list .tab-item:nth-child(2) label::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #3F1F00; }

.tab-content { display: none; }
.tab-content .slider-container { visibility: hidden; transition: visibility 0s; }

#tab-banquet:checked ~ #banquet, #tab-meeting:checked ~ #meeting { display: block; }

@media (max-width: 959px) { body:not(.index) .kv-slider { min-height: 300px; } }

@media screen and (max-width: 768px) { .detail { padding-bottom: 60px; }
  .section:last-of-type .detail { padding-bottom: 0; } }

/*# sourceMappingURL=hakodate_meeting.css.map */
