@charset "UTF-8";
/*********************************************************************
*
*  </e/common/css/v2/base.css>
*
*********************************************************************/
.show_pc {
  display: block; }

.show_sp {
  display: none; }

/* 横並び */
.box_horizontal {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* コンテンツ幅に合わせて中央寄せ */
.content_wrap {
  max-width: 920px;
  margin: 0 auto;
  width: 100%; }

/* アジア言語の英語サブテキスト */
.txt_sub_en {
  display: block;
  font-size: 10px;
  margin-top: 3px; }

/* modal
---------------------------------------------------------- */
.area_modal_content {
  background: rgba(35, 34, 50, 0.9);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  display: none;
  max-height: 90%;
  max-width: 920px;
  overflow: auto;
  text-align: center;
  width: 100%;
  /* 予約システムカレンダー */ }
  .area_modal_content::-webkit-scrollbar {
    display: none; }
  .area_modal_content .modal_inner {
    border: 1px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: calc(100% - 10px);
    margin: 5px;
    padding: 80px 60px 67px;
    width: calc(100% - 10px); }
  .area_modal_content .btn_modal_close_white {
    background: url(/e/common/img/v2/icon_close_white.png) no-repeat top left;
    background-size: 14px 14px;
    height: 14px;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 14px;
    z-index: 10020; }
  .area_modal_content .btn_modal_close_black {
    background: url(/e/common/img/v2/icon_close_black.png) no-repeat top left;
    background-size: 14px 14px;
    height: 14px;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 14px;
    z-index: 10020; }
  .area_modal_content .modal_content_ttl {
    font-size: 20px;
    margin-bottom: 60px; }
  .area_modal_content .modal_content_area {
    font-size: 16px; }
  .area_modal_content#dynamicCalender {
    background: #fff;
    color: #333;
    padding: 0; }
    .area_modal_content#dynamicCalender .modal_inner {
      border: 0;
      height: 100%;
      margin: 0;
      overflow-y: auto;
      padding: 0;
      width: 100%; }
    .area_modal_content#dynamicCalender .fbw-calendar--title {
      padding-top: 20px; }
    .area_modal_content#dynamicCalender .config--child select {
      width: 39.79%; }
    .area_modal_content#dynamicCalender .next {
      padding: 0; }
      .area_modal_content#dynamicCalender .next .next--button {
        padding: 12px 10px; }
    .area_modal_content#dynamicCalender .modal_content_ttl {
      font-family: serif;
      font-size: 30px;
      font-weight: bold;
      margin: 0 0 40px;
      padding-top: 20px;
      text-align: center; }
    .area_modal_content#dynamicCalender .combi_reserve {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 0 20px 20px; }
      .area_modal_content#dynamicCalender .combi_reserve .datepicker-here {
        width: 50%; }
        .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker {
          border: 0;
          font-family: Open Sans,Avenir,Helvetica,Arial,sans-serif;
          width: 90%; }
          .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav {
            border-bottom: 0;
            margin: 0 0 5px;
            min-height: unset;
            padding: 0; }
            .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-action path {
              stroke: #a08348; }
            .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-title {
              color: #a08348;
              font-size: 16px;
              font-weight: bold;
              text-transform: uppercase; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-title i {
                color: #a08348; }
          .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content {
            padding: 0; }
            .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--days-names {
              border-bottom: 1px solid #ddd;
              border-top: 1px solid #ddd;
              margin: 0; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--days-names .datepicker--day-name {
                color: #333;
                font-size: 14px;
                font-weight: bold;
                padding: 10px 0;
                text-transform: capitalize; }
            .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day {
              border-radius: 0;
              font-size: 14px;
              font-weight: bold;
              height: auto;
              padding: 10px 0; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-current- {
                color: #333; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-from-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-to-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-selected-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-focus- {
                background: #a08348;
                border: none;
                color: #333; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-in-range- {
                background: rgba(160, 131, 72, 0.8);
                color: #333; }
              .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-to- {
                border: 0;
                border-radius: 0; }
      .area_modal_content#dynamicCalender .combi_reserve > div:last-child {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        min-height: 340px;
        width: 50%; }
      .area_modal_content#dynamicCalender .combi_reserve .fbqs {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #333;
        display: block;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        padding: 0;
        position: relative;
        width: 90%; }
        .area_modal_content#dynamicCalender .combi_reserve .fbqs .field {
          margin-bottom: 20px;
          text-align: left; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .field label {
            font-weight: bold; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .field div {
            text-align: right; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .field.checkin div,
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .field.nights div {
            padding-right: 25px; }
        .area_modal_content#dynamicCalender .combi_reserve .fbqs .hotel_select::after {
          content: none; }
        .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area {
          position: relative; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area label {
            cursor: auto; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area .select_label {
            background: #fff;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            line-height: 1;
            padding: 3px 25px 3px 0;
            position: absolute;
            right: 0;
            text-align: right;
            width: 100%;
            z-index: 2; }
            .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area .select_label::after {
              border-bottom-style: solid;
              border-bottom-width: 1px;
              border-color: #333;
              border-right-style: solid;
              border-right-width: 1px;
              bottom: 10px;
              content: '';
              display: inline-block;
              height: 10px;
              position: absolute;
              right: 3px;
              -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
              transform: rotate(45deg);
              width: 10px;
              z-index: 1; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area select {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background: transparent;
            border: none;
            color: #333;
            display: block;
            font-size: 13px;
            margin-left: auto;
            opacity: 0;
            padding-right: 25px;
            position: relative;
            width: 65%;
            z-index: 3; }
            .area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area select:focus {
              outline: none; }
        .area_modal_content#dynamicCalender .combi_reserve .fbqs .submit {
          background-image: none;
          background: #a08348;
          border: 0;
          border-radius: 0;
          bottom: 0;
          color: #333;
          font-size: 14px;
          height: 44px;
          right: 0;
          letter-spacing: .2em;
          line-height: 44px;
          position: absolute;
          text-transform: uppercase;
          width: 160px; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .submit:hover {
            opacity: .7; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .submit:focus {
            outline: none; }

/* 基本header
---------------------------------------------------------- */
header {
  background: #7f7f7f !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  letter-spacing: .2em;
  line-height: 1.5;
  /* サイトロゴ */
  /* 予約ボタン */
  /* ロゴ上のナビ */
  /* 追従ナビ */
  /* 総合TOPで使用しているnav */
  /* 要素の少ないheader */
  /* ナビのcurrentカラー */ }
  header .logo_main {
    display: block !important;
    line-height: 1;
    padding: 30px 0;
    text-align: center; }
    header .logo_main.logo_kamikochi {
      padding: 15px 0; }
    header .logo_main a {
      display: inline-block; }
      header .logo_main a:hover {
        text-decoration: none; }
  header .widgets--wrapper {
    font-family: Avenir, arial, "Helvetica Neue", sans-serif; }
    header .widgets--wrapper .show-modal {
      background: transparent !important;
      color: #fff !important;
      min-width: auto;
      padding: 0; }
      header .widgets--wrapper .show-modal:hover {
        color: #000 !important; }
  header .site_header--nav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    padding: 15px 20px 0;
    text-align: center;
    width: 100%;
    /* 言語変更 */ }
    header .site_header--nav a {
      color: #fff; }
      header .site_header--nav a:hover {
        color: #000;
        text-decoration: none; }
    header .site_header--nav .site_header--nav--language {
      /* toggleメニュー */ }
      header .site_header--nav .site_header--nav--language.js_show_wrap {
        position: relative;
        /* toggleメニュー - 開くボタン */
        /* toggleメニュー - コンテンツ */ }
        header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger {
          cursor: pointer;
          display: inline-block;
          line-height: 1;
          padding-right: 18px;
          position: relative;
          -webkit-transition: color .3s;
          -o-transition: color .3s;
          transition: color .3s; }
          header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger::after {
            content: '▼';
            font-size: 10px;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%) rotate(0deg);
            -ms-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
            -webkit-transform-origin: center;
            -ms-transform-origin: center;
            transform-origin: center;
            -webkit-transition: -webkit-transform .3s;
            transition: -webkit-transform .3s;
            -o-transition: transform .3s;
            transition: transform .3s;
            transition: transform .3s, -webkit-transform .3s;
            right: 0; }
          header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger:hover {
            color: #000;
            text-decoration: none; }
          header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger.js_is_show::after {
            -webkit-transform: translateY(-50%) rotate(180deg);
            -ms-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg); }
        header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target {
          display: none;
          left: 0;
          position: absolute;
          width: 135px;
          z-index: 10000; }
          header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap {
            background: rgba(127, 127, 127, 0.8);
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            padding: 10px 20px 20px; }
            header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li {
              font-size: 16px;
              margin-top: 20px; }
              header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
                margin-top: 0; }
  header .site_header--follow_nav {
    background: rgba(127, 127, 127, 0.8);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 40;
    /* hover menu */
    /* MENU */
    /* 言語変更 */
    /* 追従時 */ }
    header .site_header--follow_nav .is_fixed_hide {
      display: block; }
    header .site_header--follow_nav .is_fixed_show {
      display: none; }
    header .site_header--follow_nav a {
      color: #fff; }
      header .site_header--follow_nav a:hover {
        color: #000;
        text-decoration: none; }
    header .site_header--follow_nav .site_header--nav--item--name {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      color: #fff;
      cursor: pointer;
      display: block;
      padding: 15px 0; }
      header .site_header--follow_nav .site_header--nav--item--name:hover {
        color: #000; }
    header .site_header--follow_nav .js_hover_wrap {
      position: relative; }
      header .site_header--follow_nav .js_hover_wrap .js_hover_content {
        background: rgba(127, 127, 127, 0.8);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: none;
        font-size: 14px;
        left: 50%;
        padding: 10px 20px 20px;
        position: absolute;
        text-align: center;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 350px;
        z-index: 1000; }
        header .site_header--follow_nav .js_hover_wrap .js_hover_content li {
          margin-bottom: 20px; }
          header .site_header--follow_nav .js_hover_wrap .js_hover_content li:last-child {
            margin-bottom: 0; }
          header .site_header--follow_nav .js_hover_wrap .js_hover_content li .txt_sub_en {
            display: inline-block;
            margin-left: 10px; }
    header .site_header--follow_nav .site_header--nav--main_menu {
      position: relative;
      /* toggleメニュー */ }
      header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap {
        /* toggleメニュー - 開くボタン */
        /* toggleメニュー - コンテンツ */ }
        header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_trigger {
          cursor: pointer;
          display: inline-block;
          line-height: 1;
          -webkit-transition: color .3s;
          -o-transition: color .3s;
          transition: color .3s; }
          header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_trigger:hover {
            color: #000; }
        header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
          display: none;
          right: 0;
          position: absolute;
          width: 425px;
          z-index: 1000; }
          header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap {
            background: rgba(127, 127, 127, 0.8);
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            padding: 35px 42px; }
            header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
              margin-top: 20px; }
              header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
                margin-top: 0; }
              header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li a:hover {
                color: #000 !important; }
    header .site_header--follow_nav .site_header--nav--language {
      /* toggleメニュー */ }
      header .site_header--follow_nav .site_header--nav--language.js_show_wrap {
        position: relative;
        /* toggleメニュー - 開くボタン */
        /* toggleメニュー - コンテンツ */ }
        header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger {
          cursor: pointer;
          display: inline-block;
          line-height: 1;
          padding-right: 18px;
          position: relative;
          -webkit-transition: color .3s;
          -o-transition: color .3s;
          transition: color .3s; }
          header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger::after {
            content: '▼';
            font-size: 10px;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%) rotate(0deg);
            -ms-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
            -webkit-transform-origin: center;
            -ms-transform-origin: center;
            transform-origin: center;
            -webkit-transition: -webkit-transform .3s;
            transition: -webkit-transform .3s;
            -o-transition: transform .3s;
            transition: transform .3s;
            transition: transform .3s, -webkit-transform .3s;
            right: 0; }
          header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger:hover {
            color: #000; }
          header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger.js_is_show::after {
            -webkit-transform: translateY(-50%) rotate(180deg);
            -ms-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg); }
        header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target {
          display: none;
          left: 0;
          position: absolute;
          width: 135px;
          z-index: 1000; }
          header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap {
            background: rgba(127, 127, 127, 0.8);
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            padding: 10px 20px 20px; }
            header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li {
              font-size: 16px;
              margin-top: 20px; }
              header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
                margin-top: 0; }
    header .site_header--follow_nav.js_nav_is_fixed {
      background: #7f7f7f;
      background: -webkit-gradient(linear, left top, right top, from(rgba(127, 127, 127, 0.84)), color-stop(50%, rgba(127, 127, 127, 0.84)), to(rgba(1, 1, 1, 0.84)));
      background: -o-linear-gradient(left, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
      background: linear-gradient(to right, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7f7f7f', endColorstr='#010101', GradientType=1);
      left: 0;
      padding: 0 20px;
      position: fixed;
      top: 0; }
      header .site_header--follow_nav.js_nav_is_fixed .is_fixed_hide {
        display: none; }
      header .site_header--follow_nav.js_nav_is_fixed .is_fixed_show {
        display: block;
        position: absolute;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start; }
        header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal .site_header--nav--item {
          margin-right: 28px; }
          header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal .site_header--nav--item:last-child {
            margin-right: 0; }
  header .type_overall {
    /* サイトロゴ */ }
    header .type_overall .logo_main {
      padding: 30px 0 0; }
    header .type_overall .site_header--follow_nav {
      background: #7f7f7f;
      padding: 15px 20px;
      /* MENU */
      /* 言語変更 */
      /* 追従時 */ }
      header .type_overall .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: auto; }
      header .type_overall .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 25px; }
      header .type_overall .site_header--follow_nav .site_header--nav--main_menu {
        position: static; }
      header .type_overall .site_header--follow_nav .site_header--nav--language {
        position: static; }
      header .type_overall .site_header--follow_nav.js_nav_is_fixed {
        background: #7f7f7f; }
  header .type_simple {
    /* サイトロゴ */ }
    header .type_simple .logo_main {
      padding: 30px 0; }
      header .type_simple .logo_main.logo_kamikochi {
        padding: 15px 0; }
    header .type_simple .site_header--follow_nav {
      background: #7f7f7f;
      padding: 15px 20px;
      /* MENU */
      /* 言語変更 */
      /* 追従時 */ }
      header .type_simple .site_header--follow_nav .site_header--nav--item {
        margin-left: 82px; }
        header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
          margin-left: 0;
          margin-right: auto; }
        header .type_simple .site_header--follow_nav .site_header--nav--item a:hover {
          text-decoration: none; }
      header .type_simple .site_header--follow_nav .site_header--nav--main_menu {
        position: static; }
      header .type_simple .site_header--follow_nav .site_header--nav--language {
        position: static; }
      header .type_simple .site_header--follow_nav.js_nav_is_fixed {
        background: #7f7f7f; }
  header .js_is_current {
    color: #505050 !important; }

/* 既存ページでなぜかネガティブマージンかかってたのでトリ
---------------------------------------------------------- */
article {
  margin-top: 0; }

/* footer
---------------------------------------------------------- */
footer {
  background: #7f7f7f;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .2em;
  line-height: 1.5;
  padding: 27px 0 17px;
  /* copyright */ }
  footer a {
    color: #fff; }
    footer a:hover {
      color: #000;
      text-decoration: none; }
  footer .site_footer--nav {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 920px;
    padding: 0 0 44px;
    text-align: center; }
    footer .site_footer--nav > * {
      width: 100%; }
      footer .site_footer--nav > *:nth-of-type(2) {
        margin: 0 6%; }
    footer .site_footer--nav .site_footer--nav--genre_name {
      font-size: 18px;
      line-height: 1;
      margin-bottom: 24px;
      pointer-events: none; }
    footer .site_footer--nav .site_footer--nav--genre_item {
      background: none;
      display: block;
      font-size: 14px;
      line-height: 1;
      padding: 0; }
      footer .site_footer--nav .site_footer--nav--genre_item li {
        margin-bottom: 20px; }
        footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
          margin-bottom: 0; }
  footer aside {
    text-align: center; }
    footer aside .site_footer--sub_link {
      display: inline-block;
      margin-bottom: 45px;
      margin-left: 16px;
      text-align: center;
      vertical-align: middle;
      /* TripAdvisor */ }
      footer aside .site_footer--sub_link:first-child {
        margin-left: 0; }
      footer aside .site_footer--sub_link li {
        display: inline-block;
        margin-left: 16px;
        vertical-align: middle; }
        footer aside .site_footer--sub_link li:first-child {
          margin-left: 0; }
      footer aside .site_footer--sub_link .btn_mail,
      footer aside .site_footer--sub_link .btn_sns_facebook,
      footer aside .site_footer--sub_link .btn_sns_instagram {
        width: 29px; }
      footer aside .site_footer--sub_link .TA_socialButtonIcon > img {
        display: none; }
      footer aside .site_footer--sub_link .TA_socialButtonIcon .socialWidgetContainer {
        line-height: 1; }
        footer aside .site_footer--sub_link .TA_socialButtonIcon .socialWidgetContainer .socialWidgetCore img {
          width: 29px; }
      footer aside .site_footer--sub_link .btn_lhw {
        width: 61px; }
      footer aside .site_footer--sub_link .btn_etg,
      footer aside .site_footer--sub_link .btn_stn,
      footer aside .site_footer--sub_link .btn_tls,
      footer aside .site_footer--sub_link .btn_tm {
        width: 66px; }
  footer address {
    border: none;
    font-size: 14px !important;
    letter-spacing: .12em;
    padding: 0;
    text-align: center; }
    footer address a {
      pointer-events: none; }
  footer .txt_copyright {
    font-size: 13px;
    margin-top: 17px;
    text-align: center; }

/* SP
---------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .show_pc {
    display: none; }
  .show_sp {
    display: block; }
  /* modal */
  .area_modal_content {
    padding: 40px 30px 33px;
    width: 96%;
    /* 予約システムカレンダー */ }
    .area_modal_content#dynamicCalender {
      max-height: 85%; }
      .area_modal_content#dynamicCalender .modal_inner {
        width: auto; }
      .area_modal_content#dynamicCalender select {
        font-size: 16px; }
      .area_modal_content#dynamicCalender .fbw-calendar--container,
      .area_modal_content#dynamicCalender .fbw-calendar,
      .area_modal_content#dynamicCalender .fbw-calendar--month-bloc {
        width: auto; }
      .area_modal_content#dynamicCalender .modal_content_ttl {
        font-size: 26px; }
      .area_modal_content#dynamicCalender .combi_reserve {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 10px 10px; }
        .area_modal_content#dynamicCalender .combi_reserve .datepicker-here {
          margin-bottom: 30px;
          width: 100%; }
          .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker {
            width: 100%; }
        .area_modal_content#dynamicCalender .combi_reserve > div:last-child {
          width: 100%; }
        .area_modal_content#dynamicCalender .combi_reserve .fbqs {
          width: 100%; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .hotel_select .select_area select {
            width: 72%; }
          .area_modal_content#dynamicCalender .combi_reserve .fbqs .submit {
            color: #000;
            position: static;
            width: 100%; }
  /* 基本header
  ---------------------------------------------------------- */
  header {
    /* サイトロゴ */
    /* ロゴ上のナビ */
    /* 追従ナビ */
    /* 総合TOPで使用しているnav */
    /* 要素の少ないheader */ }
    header .logo_main {
      padding: 10px 0 11px; }
      header .logo_main.logo_kamikochi {
        padding: 10px 0 0; }
      header .logo_main a {
        width: 142px; }
    header .site_header--nav {
      font-size: 150%;
      padding: 13px 15px;
      /* MENU */ }
      header .site_header--nav .site_header--nav--main_menu {
        /* toggleメニュー */ }
        header .site_header--nav .site_header--nav--main_menu.js_show_wrap {
          /* toggleメニュー - 開くボタン */ }
          header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
            top: 134px;
            width: 100%; }
            header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
              margin-top: 24px; }
              header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap {
                margin-top: 60px; }
                header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst {
                  -webkit-box-align: center;
                  -ms-flex-align: center;
                  align-items: center;
                  display: -webkit-box;
                  display: -ms-flexbox;
                  display: flex;
                  -ms-flex-wrap: wrap;
                  flex-wrap: wrap;
                  -webkit-box-pack: justify;
                  -ms-flex-pack: justify;
                  justify-content: space-between; }
                  header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst li {
                    margin-top: 20px;
                    width: 50%; }
    header .site_header--follow_nav {
      background: #7f7f7f;
      font-size: 150%;
      padding: 15px;
      /* MENU */
      /* 基本ナビの追従時 */ }
      header .site_header--follow_nav a {
        padding: 0; }
      header .site_header--follow_nav .site_header--nav--main_menu {
        position: unset;
        /* toggleメニュー */ }
        header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap {
          /* toggleメニュー - 開くボタン */ }
          header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
            width: 100%; }
            header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap {
              padding: 10.67% 2.67%; }
              header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
                margin-top: 24px; }
                header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap {
                  margin-top: 60px; }
                  header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst {
                    -webkit-box-align: center;
                    -ms-flex-align: center;
                    align-items: center;
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                    -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                    justify-content: space-between; }
                    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst li {
                      margin-top: 20px;
                      width: 50%; }
      header .site_header--follow_nav.js_nav_is_fixed {
        background: #7f7f7f;
        padding: 15px; }
    header .type_overall .site_header--follow_nav {
      font-size: 150%;
      padding: 14px;
      /* MENU */
      /* 総合TOPで使用しているnavの追従時 */ }
      header .type_overall .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: 0; }
      header .type_overall .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 0; }
      header .type_overall .site_header--follow_nav .site_header--nav--main_menu {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1; }
      header .type_overall .site_header--follow_nav.js_nav_is_fixed {
        padding: 14px; }
    header .type_simple .site_header--follow_nav {
      font-size: 150%;
      padding: 14px;
      /* MENU */ }
      header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: 0; }
      header .type_simple .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 0; }
      header .type_simple .site_header--follow_nav .site_header--nav--main_menu {
        margin-left: 0; }
  /* footer
  ---------------------------------------------------------- */
  footer .site_footer--nav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 20px 44px; }
    footer .site_footer--nav .site_footer--nav--genre_name {
      font-size: 160%;
      margin-bottom: 12.14%;
      pointer-events: unset;
      position: relative;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; }
      footer .site_footer--nav .site_footer--nav--genre_name::after {
        content: '▼';
        font-size: 70%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(0deg);
        -ms-transform: translateY(-50%) rotate(0deg);
        transform: translateY(-50%) rotate(0deg);
        -webkit-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        right: 0; }
    footer .site_footer--nav .site_footer--nav--genre_item {
      border: none;
      display: none;
      font-size: 140%;
      margin: 0; }
      footer .site_footer--nav .site_footer--nav--genre_item li {
        border: none;
        margin-bottom: 12.14%;
        float: none;
        width: 100%; }
        footer .site_footer--nav .site_footer--nav--genre_item li::after {
          content: none; }
        footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
          margin-bottom: 14.29%; }
        footer .site_footer--nav .site_footer--nav--genre_item li a::after {
          content: none; }
    footer .site_footer--nav .js_is_open .site_footer--nav--genre_name::after {
      -webkit-transform: translateY(-50%) rotate(-180deg);
      -ms-transform: translateY(-50%) rotate(-180deg);
      transform: translateY(-50%) rotate(-180deg);
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
      right: 0; }
  footer aside .site_footer--sub_link {
    display: block;
    margin-bottom: 15px;
    margin-left: 0; }
    footer aside .site_footer--sub_link:last-child {
      margin-bottom: 45px; }
  footer address {
    font-size: 140% !important;
    width: 100%; }
    footer address::before {
      content: none; }
    footer address a {
      pointer-events: auto; } }

/* レスポンシブじゃないページ用
 * bodyに下記のclassを付与
---------------------------------------------------------- */
body.not_responsive {
  /* header */
  /* footer */ }
  body.not_responsive .show_pc {
    display: block; }
  body.not_responsive .show_sp {
    display: none; }
  body.not_responsive header {
    min-width: 920px;
    width: 100%; }
    body.not_responsive header .logo_main {
      padding: 30px 0; }
      body.not_responsive header .logo_main.logo_kamikochi {
        padding: 15px 0; }
    body.not_responsive header .site_header--follow_nav {
      background: #999999;
      font-size: 16px;
      padding: 0; }
      body.not_responsive header .site_header--follow_nav.js_nav_is_fixed {
        background: #7f7f7f;
        background: -webkit-gradient(linear, left top, right top, from(rgba(127, 127, 127, 0.84)), color-stop(50%, rgba(127, 127, 127, 0.84)), to(rgba(1, 1, 1, 0.84)));
        background: -o-linear-gradient(left, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
        background: linear-gradient(to right, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7f7f7f', endColorstr='#010101', GradientType=1); }
    body.not_responsive header .type_simple .site_header--follow_nav {
      background: #7f7f7f;
      padding: 15px 20px; }
      body.not_responsive header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: auto; }
      body.not_responsive header .type_simple .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 82px; }
    body.not_responsive header .site_header--nav {
      font-size: 16px;
      padding: 15px 20px 0; }
  body.not_responsive footer {
    min-width: 920px;
    text-align: left;
    width: 100%; }
    body.not_responsive footer .site_footer--nav {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      padding: 0 0 44px; }
      body.not_responsive footer .site_footer--nav .site_footer--nav--genre_name {
        font-size: 18px;
        margin-bottom: 24px;
        pointer-events: none; }
        body.not_responsive footer .site_footer--nav .site_footer--nav--genre_name::after {
          content: none; }
      body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item {
        display: block !important;
        font-size: 14px; }
        body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item li {
          margin-bottom: 20px; }
          body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
            margin-bottom: 0; }
    body.not_responsive footer aside .site_footer--sub_link {
      display: inline-block;
      margin-bottom: 45px; }
      body.not_responsive footer aside .site_footer--sub_link:last-child {
        margin-left: 16px; }
    body.not_responsive footer address {
      font-size: 14px; }

/* 非レスポンシブページかつ、ウィンドウ幅が小さいとき
---------------------------------------------------------- */
@media screen and (max-width: 600px) {
  .not_responsive header .type_simple .site_header--follow_nav.js_nav_is_fixed .site_header--nav--item {
    margin-left: auto; } }

/* ----- タップイベント実装デバイス向け ----- */
.js_touch_device {
  /* nav  */ }
  .js_touch_device .touch_device_none {
    display: none; }
  .js_touch_device header .site_header--follow_nav .js_hover_content {
    font-size: 13px; }

/* ----- header, footer差し替えページ用 既存cssのoverrideまとめ ----- */
header {
  position: unset;
  z-index: unset !important; }

footer {
  background: #7f7f7f !important; }
  footer li a {
    color: #fff !important; }
    footer li a:hover {
      color: #000 !important;
      text-decoration: none !important; }
  footer address {
    border-bottom: none !important;
    display: block !important; }
    footer address a:hover {
      text-decoration: none !important; }

@media screen and (max-width: 768px) {
  header {
    background: #7f7f7f !important;
    padding-top: 0 !important; }
    header::before, header::after {
      content: none !important; }
  footer {
    padding: 27px 0 17px !important; }
    footer address {
      text-align: center !important; }
      footer address::before {
        content: none !important; } }

/* ----- 20210510 add ----- */
footer aside .site_footer--sub_link .btn_gbac {
  display: block;
  width: 50px;
}
footer aside .site_footer--sub_link #tripadvisor {
  position: relative;
  width: 32px;
}
footer aside .site_footer--sub_link #tripadvisor img {
  bottom: 0;
  left: 0;
  margin: auto;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}
footer aside .site_footer--sub_link #tripadvisor .socialWidgetCore {
  position: relative;
}

/* ----- 20210803 add ----- */
header .site_header--nav .site_header--nav--language a.js_is_current {
  color: #fff !important;
}
