@charset "UTF-8";
/* トップページ */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
.view-sp,
.view-tb {
  display: none; }

@media screen and (max-width: 768px) {
  .view-sp,
  .view-tb {
    display: block; }

  .view-pc {
    display: none; } }
/* 画像パス */
/* 枠 */
/* flexbox */
/* position */
/* 電話番号リンク設定 */
@media screen and (min-width: 769px) {
  .telnum {
    pointer-events: none; } }

/* フォント */
/* アイキャッチアイコンセット */
/* ボタン */
/* 文字サイズ */
/* 色 */
/* 背景色 */
/* 文字色 */
/* 背景画像 */
/* 中央揃え */
/* object */
/* ホバーアクション */
/* 背景 */
/* 導入
---------------------------------------------------------------------------*/
.secmv .secmv__ttl,
.secmv .secmv__en {
  color: #3F3127;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.6), 3px 3px 4px rgba(255, 255, 255, 0.6), 3px -3px 4px rgba(255, 255, 255, 0.6), -3px 3px 4px rgba(255, 255, 255, 0.6), -3px -3px 4px rgba(255, 255, 255, 0.6); }

/* 周辺観光マップ
---------------------------------------------------------------------------*/
.map {
  background-color: #203020;
  background-image: url(../img/access/bg-map.png);
  background-size: cover;
  color: #ffffff;
  /* gmap */
  /* ボタン */
  /* 下部 */ }
  .map .map__gmap {
    margin-bottom: 5vw; }
    @media screen and (max-width: 768px) {
      .map .map__gmap {
        margin-bottom: 6vw; } }
  .map .map__btn a {
    width: 350px;
    margin-left: auto;
    margin-right: auto;
    border-color: #ffffff;
    color: #ffffff; }
    @media screen and (max-width: 768px) {
      .map .map__btn a {
        width: 88vw; } }
  .map .map__btn a span::after {
    border-left-color: #ffffff; }
  .map .map-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px; }
    @media screen and (max-width: 768px) {
      .map .map-detail {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 8vw; } }
  .map .map-detail__map {
    width: 630px;
    margin-right: 30px; }
    @media screen and (max-width: 768px) {
      .map .map-detail__map {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5vw; } }
  .map .map-detail__data {
    width: 370px;
    background-color: #ffffff;
    color: #3F3127; }
    @media screen and (max-width: 768px) {
      .map .map-detail__data {
        width: 100%; } }
  .map .map-detail__tx {
    padding: 40px 25px 45px; }
    @media screen and (max-width: 768px) {
      .map .map-detail__tx {
        padding: 5vw; } }
  .map .map-detail__logo {
    margin-bottom: 25px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .map .map-detail__logo {
        margin-bottom: 3vw; } }
    .map .map-detail__logo img {
      height: auto; }
  .map .map-deetail__addr p {
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      .map .map-deetail__addr p {
        font-size: 3.48vw; } }
  .map .map-deetail__addr p + p {
    margin-top: 1em; }

/* 交通案内
---------------------------------------------------------------------------*/
.guide {
  background-color: #E5E0DB;
  /* アンカー */
  /* 路線図 */
  /* 路線説明文 */
  /* 駐車場 */
  /* 電車 */
  /* 飛行機 */ }
  .guide .anc-tx li {
    width: 330px;
    margin-right: 20px; }
    @media screen and (max-width: 1024px) {
      .guide .anc-tx li {
        width: 30%; } }
    @media screen and (max-width: 768px) {
      .guide .anc-tx li {
        width: 49%;
        margin-right: 2%; } }
  .guide .anc-tx li:nth-of-type(3) {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .guide .anc-tx li:nth-of-type(2) {
      margin-right: 0; } }
  .guide .anc-tx li a {
    background-color: transparent;
    border-color: #3F3127; }
  .guide .guide__img {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .guide .guide__img {
        margin-bottom: 5vw; } }
  .guide .guide__tx + .guide__tx {
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .guide .guide__tx + .guide__tx {
        margin-top: 3vw; } }
  .guide .guide__tx dt,
  .guide .guide__tx dd {
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400; }
    @media screen and (max-width: 768px) {
      .guide .guide__tx dt,
      .guide .guide__tx dd {
        font-size: 3.48vw;
        line-height: 1.75;
        padding: 2vw 0; } }
  .guide .guide__tx dt {
    border-bottom: 2px solid #7D624D;
    font-weight: 700; }
  .guide .guide__tx dt strong {
    font-size: 20px;
    color: #7D624D; }
    @media screen and (max-width: 768px) {
      .guide .guide__tx dt strong {
        font-size: 4.4vw; } }
  .guide .guide__tx dd {
    border-bottom: 1px dotted #7D624D; }
  .guide .guide__attr {
    font-size: 16px;
    line-height: 1.75;
    margin-top: 1.5em; }
    @media screen and (max-width: 768px) {
      .guide .guide__attr {
        font-size: 3.48vw;
        line-height: 1.75; } }
  .guide .parking {
    margin-top: 35px;
    padding: 30px;
    background-image: url(../img/top/bg-accs-parking.png);
    background-position: center;
    /* 画像 */
    /* 小見出し */
    /* 表組 */
    /* 提携駐車場 */ }
    @media screen and (max-width: 768px) {
      .guide .parking {
        background-size: 140%;
        background-repeat: repeat-y; } }
    @media screen and (max-width: 768px) {
      .guide .parking {
        margin-top: 5vw;
        padding: 6vw 4vw; } }
    .guide .parking .parking__ttl {
      position: relative;
      font-size: 20px;
      font-weight: 700;
      padding-left: 38px;
      margin-bottom: 14px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__ttl {
          padding-left: 9vw;
          width: 100%;
          margin-bottom: 3vw;
          font-size: 4.4vw; } }
    .guide .parking .parking__ttl::before {
      position: absolute;
      content: "";
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-image: url(../img/top/icn-accs-parking.png);
      width: 30px;
      height: 30px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__ttl::before {
          width: 7.2vw;
          height: 7.2vw; } }
    .guide .parking .parking__lead {
      margin-bottom: 15px;
      font-size: 16px;
      line-height: 1.75; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__lead {
          margin-bottom: 3vw;
          font-size: 3.48vw;
          line-height: 1.75; } }
    @media screen and (max-width: 768px) {
      .guide .parking .parking__lead br {
        display: none; } }
    .guide .parking .parking__imgs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-bottom: 15px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__imgs {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          margin-bottom: 5vw; } }
    .guide .parking .parking__imgs li {
      position: relative;
      width: 320px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__imgs li {
          width: 49%;
          margin-right: 2%; } }
    @media screen and (max-width: 768px) {
      .guide .parking .parking__imgs li:nth-of-type(2n) {
        margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .guide .parking .parking__imgs li:nth-of-type(n+3) {
        margin-top: 2vw; } }
    .guide .parking .parking__subttl {
      font-size: 20px;
      font-weight: 700;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__subttl {
          margin-bottom: 3vw;
          font-size: 4.4vw; } }
    .guide .parking .parking__data th {
      font-weight: 400;
      text-align: left;
      width: 13%;
      vertical-align: top; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__data th {
          display: block;
          width: 100%;
          border-bottom-style: dotted;
          border-bottom-width: 1px; } }
    .guide .parking .parking__data td {
      width: calc(100% - 13%);
      vertical-align: top; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking__data td {
          display: block;
          width: 100%;
          border-bottom-style: solid;
          border-bottom-width: 2px; } }
    @media screen and (max-width: 768px) {
      .guide .parking .parking__data tr:nth-of-type(1) td {
        border-top: none; } }
    .guide .parking .parking-rinsetsu__desc {
      margin-top: 1.5em; }
    .guide .parking .parking-rinsetsu__desc li {
      font-size: 16px;
      line-height: 1.75;
      text-indent: -1em;
      padding-left: 1em; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking-rinsetsu__desc li {
          font-size: 3.48vw;
          line-height: 1.75; } }
    .guide .parking .parking-rinsetsu {
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        .guide .parking .parking-rinsetsu {
          margin-top: 5vw; } }
  .guide .train {
    background-image: url(../img/top/bg-accs-parking.png);
    background-position: center; }
    @media screen and (max-width: 768px) {
      .guide .train {
        background-size: 140%;
        background-repeat: repeat-y; } }
  .guide .air {
    padding-bottom: 0; }
    @media screen and (max-width: 768px) {
      .guide .air {
        padding-bottom: 0; } }

/* リンク
---------------------------------------------------------------------------*/
.link {
  background-image: url(../img/cmn/bg-net-brown.png);
  background-size: 2000px;
  color: #ffffff; }
  @media screen and (max-width: 768px) {
    .link {
      background-size: 140%;
      background-repeat: repeat-y; } }
  .link .link__data th {
    text-align: left; }
  @media screen and (max-width: 768px) {
    .link .link__data th,
    .link .link__data td {
      display: block;
      width: 100%; } }
  @media screen and (max-width: 768px) {
    .link .link__data th {
      border-bottom-style: dotted;
      border-bottom-width: 1px; } }
  @media screen and (max-width: 768px) {
    .link .link__data td {
      border-bottom-style: solid;
      border-bottom-width: 2px; } }
  @media screen and (max-width: 768px) {
    .link .link__data tr:nth-of-type(1) td {
      border-top: none; } }
