@charset "utf-8";
/* CSS Document */
/* カラー 
* メイン：#0099cc
* サブ：#9ddeff
* リンク：#1176d4
--------------
* メイン：var(--color_htag);
* 濃ブルー：#0072ba
* 淡いブルー：#648397

* PC用：@media (min-width: 960px){}
* SP用：@media not all and (min-width: 960px){}
*/ :root {
    --color-lblue: #dde2e5;
}
@media (min-width: 960px) {
    .w-footer.-col3 {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 30px !important;
        align-items: start !important;
    }
    .w-footer__box:nth-child(3) {
        display: contents;
    }
    .w-footer__box:nth-child(3) > .widget {
        align-self: start !important;
        padding: 1em !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
@media not all and (min-width: 960px) {
    #site-publisher {
        margin: 40px 0 20px;
        text-align: center;
    }
}
/*==============================
メインビジュアル
/*==============================*/
/* SP */
@media not all and (min-width: 960px) {
    .p-mainVisual .main-copy {
        line-height: 350%;
    }
    .p-mainVisual .main-copy .swl-fz {
        font-size: 40px !important;
    }
    .p-mainVisual .main-desc {
        font-size: 12px !important;
    }
}
/*==============================
トップページ
/*==============================*/
/* SP ========================= */
/* 翻訳 */
#sp-trans {
    text-align: center;
}
/* 英語・台湾語 */
#sp-trans .en-tw {
    display: inline-block;
}
#sp-trans .en-tw a:after {
    content: "|";
    margin-left: 7px;
    margin-right: 7px;
    color: black;
}
/* Google翻訳 */
#sp-trans .gtranslate_wrapper {
    display: inline-block;
    height: 21px;
    line-height: 100%;
    position: relative;
    top: -2px;
}
.swell-block-box-menu.is-style-default .swell-block-box-menu__item {
    border-radius: 10px;
}
.home .fa-newspaper {
    background-color: white;
    border: 2px solid var(--color_htag);
    border-radius: 50%;
    padding: 10px;
    font-size: 22px; /* アイコンサイズ調整 */
}
.home .post_content #news .is-style-more_btn {
    margin-bottom: 2em !important;
}
/* ========================================
共通スタイル
======================================== */
a:hover {
    opacity: 0.8;
}
.wp-block-table .swl-inline-btn a {
    line-height: 210%
}
.post_content h2.no-border::after {
    content: none;
}
.is-style-more_btn a {
    border-radius: 7px;
}
/* パンくず */
.-body-solid .p-breadcrumb.-bg-on {
    box-shadow: none;
    border-bottom: 1px solid var(--color-lblue);
    background: none;
}
@media (min-width: 960px) {
    .p-breadcrumb {
        margin-top: 30px !important;
    }
}
/*==============================
ヘッダー
/*==============================*/
.l-header {
    box-shadow: none;
}
/* PC============================== */
/* ヘッダーバー */
.l-header__bar.pc_ {
    width: 88%;
    padding-top: 5px;
}
@media (min-width: 960px) {
    .-parallel .l-header__logo {
        margin-bottom: 20px;
    }
    .-parallel-bottom .l-header__inner {
        padding-top: 0;
    }
}
/* SNS・検索ボタン */
.l-header__bar .c-iconList .c-iconList__link {
    color: black;
}
/* ヘッダー上部 */
.l-header__inner .pc_ {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.l-header__inner .pc_ .w-header__inner {
    position: absolute;
    top: -115px;
    right: 0;
    text-align: right;
}
.l-header__inner .pc_ .w-header__inner ul {
    text-align: right;
}
.l-header__inner .pc_ .w-header__inner li {
    display: inline-block;
}
/* ヘッダーメニュー */
.pc_ .w-header__inner #nav_menu-6 {
    margin-bottom: 3px;
}
.pc_ .w-header__inner #nav_menu-6 li a {
    display: inline-block;
    padding: 7px 14px;
    margin-left: 5px;
    font-size: 0.8em;
    font-weight: bold;
    background: #fff;
    border: 1px solid var(--color_htag);
    border-radius: 7px;
}
.pc_ .w-header__inner #nav_menu-6 li a:hover {
    background-color: var(--color_htag);
    color: white;
}
/* 英語・日本語 */
.pc_ .w-header__inner #nav_menu-5, .pc_ .w-header__inner #custom_html-2 {
    display: inline-block;
    font-size: 0.8em;
}
.pc_ .w-header__inner #nav_menu-5 {
    vertical-align: bottom;
}
.pc_ .w-header__inner #nav_menu-5 li {
    margin-right: 5px;
}
.pc_ .w-header__inner #nav_menu-5 li:after {
    content: "|";
    margin-left: 5px;
    vertical-align: text-bottom;
}
.pc_ .w-header__inner #nav_menu-5 a {
    font-size: 15px;
}
/*==============================
グローバルナビ
/*==============================*/
/* アイコン */
.c-gnav > .menu-item > a .ttl i, .l-header .c-gnav > .menu-item > a .ttl i, .p-spMenu__nav i {
    color: var(--color_htag);
}
/* Gアイコン用
.l-header .c-gnav .material-symbols-outlined {
    color: var(--color_htag);
    display: block!important;
    font-size: 2.0em!important;
    line-height: 1.8em!important;
    width: 100%;
}*/
/* PC */
.c-gnav > .menu-item > a .ttl {
    font-weight: bold;
    letter-spacing: 0.03em;
}
.l-header .c-gnav > li.menu-item {
    width: 146px;
    border-left: 1px solid var(--color-lblue);
}
.l-header .c-gnav > li.menu-item:first-child {
    border-left: none;
}
.l-header .c-gnav > li.menu-item a {
    padding-top: 0px !important;
}
.l-header .c-gnav > li.menu-item > a .ttl {
    font-size: 0.9em;
}
.l-header .c-gnav > li.menu-item > a .ttl i {
    display: block;
    font-size: 1.7em !important;
    line-height: 1.8em !important;
}
/* SP */
.c-widget__title.-spmenu {
    margin-bottom: 7px;
    border-radius: 7px;
}
.p-spMenu__nav {
    margin-top: 0px !important;
}
.p-spMenu__nav a {
    display: flex; /* 横並び */
    align-items: center; /* 垂直方向中央 */
    gap: 5px; /* アイコンと文字の間の余白 */
    font-weight: bold;
}
.p-spMenu__nav i {
    font-size: 1.2em;
}
#sp_menu_bottom .c-listMenu a {
    font-weight: bold;
}
/*==============================
フッター
/*==============================*/
.l-footer__widgetArea {
  position: relative;
  padding-top: 2vw;
}

.l-footer__widgetArea::before {
  content: "";
  position: absolute;
  top: -2vw;
  left: 0;
  width: 100%;
  height: 2vw;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath fill='%23f7f7f7' d='M100,5.58c-0.05-0.01-0.1-0.03-0.15-0.04C93.74,3.8,87.42,2,75,2S56.26,3.8,50.15,5.53 C43.97,7.29,37.58,9.11,25,9.11c-12.48,0-18.86-1.79-25-3.53V10h75h25V5.58z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.l-footer__foot {
    background-color: var(--color_htag);
    color: #fff;
}
.l-footer__foot, .l-footer__widgetArea {
    padding-top: 40px;
}
.l-footer__widgetArea a {
    font-size: 14px;
}
.l-footer__widgetArea li:last-child a {
    border: none;
}
.c-widget__title.-footer {
    margin-bottom: 1.0em;
}
.w-footer__box #text-2 {
    font-size: 14px;
}
/* フッター1～3 */
@media (min-width: 960px) {
    .w-footer {
        gap: 50px;
    }
}
/* フッター最下部 */
@media (min-width: 600px) {
    .l-footer__nav li:first-child a {
        border-left: none;
    }
    .l-footer__nav li:last-child a {
        border: none;
    }
}
/*==============================
個別ページタクソノミー表示
/*==============================*/
/* 宿泊施設、グルメ・買い物 */
.p-articleMetas .p-articleMetas__taxGroup {
    font-display: inline-block;
    width: auto !important;
    margin-right: 10px;
}
.p-articleMetas a.hov-flash-up {
    display: inline-block;
}
.p-articleMetas span.p-articleMetas__taxLabel {
    font-weight: bold;
}
/*==============================
デフォルトタブデザイン調整
/*==============================*/
.c-tabBody iframe {
    width: 100%;
    height: 500px;
}
.is-style-default > .c-tabList .c-tabList__button[aria-selected=true] {
    background-color: #fff;
    color: initial;
    border: 1px solid var(--color_text);
    border-top: 4px solid var(--color_text);
    border-bottom: 1px solid #fff;
    z-index: 10;
}
.is-style-default > .c-tabList .c-tabList__button[aria-selected=false] {
    transition: transform 0.2s ease;
}
.is-style-default > .c-tabList .c-tabList__button:hover[aria-selected=false] {
    transform: translateY(-5px) rotate(-0.5deg);
}
.is-style-default > .c-tabList .c-tabList__button {
    background-color: var(--color_text);
    color: var(--color_content_bg);
    font-weight: bold;
}
button.c-tabList__button {
    border-left: 5px solid #fff;
}
/* SP */
@media not all and (min-width: 960px) {
    .c-tabBody iframe {
        height: 300px;
    }
}
/*==============================
VKフィルタの表示位置調整
/*==============================*/
/* パネル位置調整 */
.wp-block-vk-filter-search-pro-filter-search-pro, .post_content div .wp-block-vk-filter-search-pro-filter-search-pro {
    margin-top: -2.0em !important;
}
/* リストの並び・ブロック調整 */
.vkf-adj .vkfs__outer-wrap {
    justify-content: flex-start !important;
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 10px;
}
.vkf-adj .vkfs__outer-wrap:last-child {
    border-bottom: none;
    padding-bottom: 0px;
}
.vkf-adj .vkfs__input-wrap {
    display: inline-block;
}
.vkf-adj .vkfs__input-wrap li {
    margin-right: 10px;
}
@media not all and (min-width: 960px) {
    .vkf-adj ul[class*=vkfs__input-wrap--col] > li {
        margin-right: 0px;
        padding-right: 8px;
        padding-left: 25px;
    }
}
/*==============================
スマホ表示時に画像とテキストの並びを入替
/*==============================*/
@media not all and (min-width: 960px) {
    .sp-rev {
        flex-direction: column-reverse;
    }
}
/*==============================
フルワイド表示の際に左右にパディング
/*==============================*/
@media not all and (min-width: 960px) {
    .swell-block-fullWide + .swell-block-fullWide {
        padding-left: 15.6px;
        padding-right: 15.6px;
    }
}
/*==============================
トップページ もっと見るボタン調整
/*==============================*/
.swell-block-button.is-style-more_btn {
    max-width: 800px;
}
/*==============================
SWELLテーブル調整
/*==============================*/
@media (min-width: 960px) {
    .is-style-default .sp_adj table th {
        width: 230px !important;
    }
}
@media not all and (min-width: 960px) {
    /* 該当する要素のセレクタを指定してください */
    .sp_block_ table {
        --swl-cell1-width: auto !important;
    }
    .sp_adj td, .sp_adj th {
        border: none;
    }
    .sp_adj th {
        padding-block: 8px;
    }
}
/*==============================
アメニティ用テーブル
/*==============================*/
.feature-table table {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr) 40px);
    border-top: 1px solid #cfcfcf;
    border-left: 1px solid #cfcfcf;
    border-right: none;
    border-bottom: none;
    border-collapse: collapse;
    border-spacing: 0;
}
.feature-table tbody, .feature-table tr {
    display: contents;
}
.feature-table td {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    /*padding: 8px 12px;
	font-size: 15px;*/
    max-height: 35px;
    overflow: hidden;
    /* 四辺borderはやめる */
    border: none;
    /* 右と下だけにする */
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
}
.feature-table td:empty {
    display: none;
}
/* 〇×列 */
.feature-table td:nth-child(even) {
    justify-content: center;
}
@media not all and (min-width: 960px) {
    .feature-table table {
        grid-template-columns: repeat(2, minmax(0, 1fr) 40px);
    }
    .feature-table td {
        max-height: 60px;
    }
}
@media (min-width: 960px) {
    /* 3項目未満 */
    .feature-table.is-max3 table {
        border: none !important;
    }
    .feature-table.is-max3 table td {
        border-top: 1px solid #cfcfcf;
    }
    .feature-table td:nth-child(1) {
        border-left: 1px solid #cfcfcf;
    }
}
/*==============================
VK Filter Search
/*==============================*/
/* ログイン時、表側に表示される「編集」を非表示に */
a.btn.btn-default.btn-sm {
    display: none;
}
/*==============================
メインビジュアル
/*==============================*/
/* メインテキスト */
.p-mainVisual__slideTitle {
    font-size: 30px;
    font-weight: bold;
}
.p-mainVisual__slideText {
    font-weight: bold;
}
/* メインテキスト スマホ用 */
@media (max-width: 480px) {
    .p-mainVisual__slideTitle {
        font-size: 24px;
    }
}
/* ボタン */
.p-mainVisual__slideBtn .c-mvBtn__btn {
    border-radius: 50px;
}
/*==============================
目次
/*==============================*/
.p-toc__list li {
    font-weight: bold;
}
.p-toc__list li li {
    font-weight: normal;
}
/*==============================
フォーム
/*==============================*/
form.myForm .required .my_column.my_left label:first-child:after, form.myForm th.required label:first-child:after, form.myForm span.required:after {
    height: auto !important;
}