/*----------------------------------------
    Header
----------------------------------------*/

.logo {
  top: 32px;
  left: 50%;
  margin-left: -220px;
}
@media (max-width: 767px) {
  .logo {
    top: 0;
    left: 0;
    margin-left: 0;
    padding: 12px 0 18px;
    text-align: center;
  }
}

.top_menu {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .top_menu {
    padding: 0;
  }
}

.global_nav > li {
  vertical-align: middle;
  padding-top: 4px;
  border-bottom: 4px solid rgba(255,255,255,0);
  vertical-align: middle;
  cursor: default;
  box-sizing: border-box;
}
.global_nav > li.reservation {
  padding-top: 0;
  border-bottom-width: 0;
}

.global_nav > li.concept > a {
  text-align: left;
  padding-left: 24px;
  line-height: 1.3;
}

.global_nav > li.concept > a:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -9px;
  background: url(/common/img/ico-concept.png) no-repeat left center;
  width: 17px;
  height: 18px;
}

.global_nav > li.wedding > a:before {
  background: url(/common/img/ico-wedding.png) no-repeat left center;
  width: 13px;
  height: 14px;
  padding-right: 18px;
}

@media (max-width: 767px) {
  .navigation_sp .global_nav_sp > li a {
    padding-right: 0;
    padding-left: 0;
  }
}


.fixed_nav .logo {
  top: 5px;
  left: 50%;
  margin-left: -75px;
}
.fixed_nav .top_menu {
  padding-bottom: 0px;
}
@media (max-width: 767px) {
}

/*  Footer
----------------------------------------*/
#footer .bottom_nav {
  padding-right: 0;
  padding-left: 0;
  text-align: center;
}
@media (max-width: 767px) {
  #footer .bottom_nav li:nth-child(8) {
    width: 100%;
  }
}

/*  sitemap
----------------------------------------*/
#sitemap .box_whg .sitemap_list .item.col_one {
  padding-bottom: 10px;
}
@media (max-width: 767px) {
  #sitemap .box_whg .sitemap_list .item.col_one {
    padding-bottom: 0;
  }
}


/*  tab change
----------------------------------------*/
.tabs_item li.handy > div {
  position: relative;
  display: block;
  background: url(/img/top/txt-tab_handy.png) no-repeat 0 0;
  width: 318px;
  height: 42px;
  margin-top: 10px;
}
.tabs_item li.handy .select {
  position: absolute;
  top: 9px;
  left: 118px;
  background: #fff;
}
.tabs_item li.handy .select > div {
  width: 192px;
  overflow: hidden;
}
.tabs_item li.handy .select select {
  width: 250px;
  height: 25px;
  padding: 0 35px 0 10px;
  border: 0;
  font-size: 117%;
  position: relative;
  color: #12256b;
}
.tabs_item li.handy .select:after {
  content: "";
  position: absolute;
  background: #12246b url(/img/top/ico-handy_down.png) no-repeat 50%;
  top: 0;
  bottom: 0;
  right: 0;
  width: 38px;
}
.tabs_item li.booking a {
  background-image: url(/img/top/txt-tab_booking.png);
  width: 191px;
}
@media (max-width: 767px) {
  .tabs_item li.handy > div {
    background: none;
    width: 100%;
    height: auto;
    margin-top: 0;
  }
  .tabs_item li.handy .select {
    top: 6px;
    right: 6px;
    left: 100px;
    width: auto;
  }
  .tabs_item li.handy .select > div {
    width: auto;
  }
  .tabs_item li.handy .select select {
    width: 100%;
    height: 30px;
  }

  .tabs_item li.booking a {
    background-image: none;
    width: 100%;
  }
}


.booking_info .booking_item {
  margin: 0 6px;
}
.booking_info .booking_item dl {
  display: block;
}
.booking_info .booking_item dt {
  display: block;
  margin-bottom: 5px;
  text-align: left;
}
.booking_info .booking_item dd.date_year,
.booking_info .booking_item dd.calendar {
  float: left;
}

.booking_info .booking_item dd.hotel .select > div {
  width: 240px;
  overflow: hidden;
}
.booking_info .booking_item dd.hotel .select select {
  width: 300px;
}

.booking_info .booking_item dd.btn_search {
  padding-left: 12px;
}
.booking_info .booking_item .search {
  width: 126px;
}
@media (max-width: 767px) {
  .booking_info .booking_item {
    margin: 0 15px;
  }
  .booking_info .booking_item dd.date_year,
  .booking_info .booking_item dd.calendar {
    float: none;
  }
  .booking_info .booking_item dd.hotel {
    display: block;
  }
  .booking_info .booking_item dd.hotel .select > div {
    width: auto;
  }
  .booking_info .booking_item dd.hotel .select select {
    width: 100%;
  }
  .booking_info .booking_item dd.btn_search {
    padding-left: 0;
  }
  .booking_info .booking_item .search {
    width: 100%;
  }
}


/*  tabs_item
----------------------------------------*/
.tabs_item .tab_content {
  padding: 14px 0;
}
@media (max-width: 767px) {
  .tabs_item .tab_content {
    padding: 15px 0 0 0;
  }
}



/*  search_box
----------------------------------------*/
#contents.detail .search_box {
  padding: 50px 0;
  background-color: #f5f5f5;
}
#contents.detail .search_box dl {
  margin-top: 20px;
}
#contents.detail .search_box dl dt {
  position: relative;
  font-size: 134%;
}
#contents.detail .search_box dl dt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid #dcdcdc;
}
#contents.detail .search_box dl dt span {
  position: relative;
  padding-right: 15px;
  background-color: #f5f5f5;
  font-weight: bold;
  z-index: 2;
}
#contents.detail .search_box dl dd {
  padding: 12px;
  font-size: 117%;
}
#contents.detail .search_box dl dd label {
  display: inline-block;
  margin-right: 22px;
  padding: 8px 8px 20px;
}
#contents.detail .search_box dl dd label input {
  display: none;
}
#contents.detail .search_box dl dd label span {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  vertical-align: -1.5px;
}
#contents.detail .search_box dl dd label span::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #ccc;
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
}
#contents.detail .search_box dl dd label input:checked + span::before {
  border: none;
  background: #235db1;
}
#contents.detail .search_box dl dd label input:checked + span::after {
  display: block;
  position: absolute;
  top: 5px;
  left: 3px;
  width: 12px;
  height: 8px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#contents.detail .search_box dl dd label input:checked:disabled + span::after {
  border-left: 3px solid #aaa;
  border-bottom: 3px solid #aaa;
}
#contents.detail .search_box .btn {
  margin-top: 10px;
  text-align: center;
}
#contents.detail .search_box .btn button {
  width: 330px;
  height: 60px;
  border: 0;
  background: #12256A url(/common/img/top/ico-arow_button.png) no-repeat 92% 50%;
  text-align: center;
  cursor: pointer;
  color: #fff;
  font-size: 134%;
  font-family: inherit;
}
@media (max-width: 767px) {
  #contents.detail .search_box {
    padding: 30px 15px;
  }
  #contents.detail .search_box dl dt {
    font-size: 125%;
  }
  #contents.detail .search_box dl dd {
    padding: 10px 0 20px;
    font-size: 109%;
  }
  #contents.detail .search_box dl dd:after {
    content: ""; display: table; clear: both;
  }
  #contents.detail .search_box dl dd label {
    display: block;
    float: left;
    width: 50%;
    padding: 8px 0;
    margin-right: 0;
  }
  #contents.detail .search_box dl dd label span {
    margin-right: 3px;
  }
  #contents.detail .search_box .btn {
    margin: 5px 20px 0;
  }
  #contents.detail .search_box .btn button {
    width: 100%;
    height: 40px;
    background-size: 6px;
    font-size: 125%;
  }
}
