/**
 * Theme Name: Sakura Resort Hotel ISHIGAKI
 * Description: さくらリゾートホテル石垣様公式サイト専用テーマ
 * Template: blocksy  
 */


html body {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    color: #00639d !important;
}
body {
    
}


.ct-container-full {
    padding-bottom: 0px !important;
}

.acenter { text-align: center; margin: 0 auto; }
.aleft { text-align: left; }
.aright { text-align: right; }
.vtop { vertical-align: top; }
.vmiddle { vertical-align: middle; }
.vbottom { vertical-align: bottom; }

.bold { font-weight: bold; }
.fw_normal  { font-weight: normal; }

.fg { font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif !important; }
.fm { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important; }
.f_bizudp { font-family: "BIZ UDPGothic", sans-serif; }
.f_dancing { font-family: "Dancing Script", cursive; }


.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }

.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: clamp(20px, 3vw, 40px) !important; } 
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: clamp(40px, 5vw, 60px) !important; } 
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: clamp(40px, 10vw, 80px) !important; } 
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mb120 { margin-bottom:clamp(80px, 10vw, 120px) !important; } 
.mb150 { margin-bottom:clamp(100px, 14vw, 150px) !important; } 

.gray_border { border-bottom: 1px solid #ccc; }
.img_radius { border-radius: 10px; }

.pc_on { display: inline; }
.sp_on { display: none; }
.br { display: none; }

/*ページ内リンク*/
#amenity, #moderatetwin, #superiortwinloft, #deluxetwinloft, #amenity, #information {
    padding-top: 100px;
    margin-top: -100px;
    pointer-events: none;
    position: absolute;
}

/*※マークリスト＆※マーク1行*/
ul.komemark {
    list-style: none;
    margin: 0px 0 10px 0;
    padding: 0;
}

ul.komemark li {
    text-align: left;
    text-indent: -8px;
    padding: 0 0 0 16px;
}

ul.komemark li:before {
    content: '※';
    display: inline-block;
    position: relative;
    margin-right: 2px;
}
div.komemark,
p.komemark {
    text-indent: -14px;
    padding-left: 14px;
}

/* マップ */
.gmap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*電話番号リンクなし*/
a.notel {
    color: #000;
    text-decoration: none;
    pointer-events: none;
}

/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge {
    margin-bottom: 90px;
}


/*グラデーションボタン*/
.df_btn a {
    position: relative;
    z-index: 0;
    display: block;
    width: 200px;
    padding: 11px 30px;
    background: transparent;
    border-radius: 50px;
    overflow: hidden;
    cursor: pointer;
    color: #00639d;
    font-size: clamp(14px, 3vw, 16px);
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
}

.df_btn a::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, #ed8374, #00639d);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: -1;
}




/*---幅-----------------------------------------------*/
.container {
    max-width: 1360px;
    margin: 0 auto;
}
.width900 {
    max-width: 900px;
    margin: 0 auto;
}

/*---テーブル-----------------------------------------------*/
table {
    border: none !important;
}
table tr {

}
table tr th {
    border: none;
    padding: clamp(8px, 1vw, 10px) clamp(15px, 4vw, 30px);
    border-bottom: 1px solid #8eb4dd;
}
table tr td {
    border: none;
    padding: clamp(8px, 1vw, 10px) clamp(15px, 4vw, 30px);
    border-bottom: 1px solid #8eb4dd;
    vertical-align: top;
}
table tr:first-child td {
    border-top: 1px solid #8eb4dd;
}

/* == 各ページヘッダー画像 =================================== */
#pg_main_wrap {
    position: relative;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    height: clamp(280px, 34vw, 600px);
    margin-bottom: clamp(60px, 8vw, 120px) !important;

}
#pg_main_wrap h1.pgtitle {
    display: block;
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);

    font-size: clamp(60px, 5.5vw, 100px);
    font-family: "Dancing Script", cursive;
    text-shadow: 2px 3px 6px rgb(0 0 0);
    line-height: 1.1;
    color: #fff;
    text-align: center;
    margin: 0;
}

#pg_main_wrap.faq {
    background-image: url(img/header_faq.webp);
}
#pg_main_wrap.access {
    background-image: url(img/header_access.webp);
}
#pg_main_wrap.dining {
    background-image: url(img/header_dining.webp);
}
#pg_main_wrap.concept {
    background-image: url(img/header_concept.webp);
    margin-bottom: 0 !important;
}
#pg_main_wrap.facilities {
    background-image: url(img/header_facilities.webp);
}
#pg_main_wrap.rooms {
    background-image: url(img/header_rooms.webp);
}
#pg_main_wrap.privacypolicy {
    background-image: url(img/header_privacypolicy.webp);
}
#pg_main_wrap.news {
    background-image: url(img/header_news.webp);
}
#pg_main_wrap.blog {
    background-image: url(img/header_blog.webp);
}


/* == タイトル =================================== */
.top_block_title {
    font-family: "Dancing Script", cursive;
    font-size: clamp(45px, 5.5vw, 70px);
    font-weight: normal;
    text-align: left;
    line-height: 1.3;
    margin-bottom: 0px;

    display: inline-block;
    background-color: #ffffff;
    background-image:
    linear-gradient(90deg, rgba(237, 131, 116, 1) 0%, rgba(0, 99, 157, 1) 100%);
        -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.contents_title {
    font-size: clamp(30px, 4vw, 40px);
    font-weight: bold;
    color: #00639d;
    text-align: left;
    line-height: 1.4;
}






/*スクロールでフェードイン*/
.js-fade-in {
    opacity: 0 !important;
    transition: opacity 1.3s ease !important;
}

.js-fade-in.is-fade-show {
    opacity: 1 !important;
}



/*Q&Aアコーディオン*/
.qa_box {
    margin: 0 auto clamp(40px, 4vw, 60px);
    width: 100%;
    border-bottom: 1px solid #8eb4dd;
}

.qa_box label {
    display: flex;
    align-items: baseline;
    padding: 18px clamp(20px, 2vw, 30px) 18px clamp(40px, 6vw, 60px);
    color: #00639d;
    font-size: clamp(14px, 2vw, 18px);
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    line-height: 1.4;
    border-top: 1px solid #8eb4dd;
    cursor: pointer;
    transition: all 0.5s;
    position: relative;
    margin: 0;
}
.qa_acc:checked + label:last-of-type {

}
.qa_box label span {
    position: absolute;
    left: clamp(10px, 2.5vw, 18px);
    top: 50%;
    width: clamp(15px, 3vw, 22px);
    height: clamp(15px, 3vw, 22px);
    transform: translateY(-50%);
}

.qa_box label span::before,
.qa_box label span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(15px, 3vw, 18px);
    height: 4px;
    background: #00639d;
    transform: translate(-50%, -50%);
}

.qa_box label span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.qa_acc:checked + label span::after {
    opacity: 0;
}
/*チェックは隠す*/
.qa_box input {
    display: none;
}

.qa_acc:checked + label {}
.qa_acc:checked + label + .qa_show {
    height: auto;
    padding: 15px 60px 25px 60px;
    padding: clamp(10px, 1vw, 15px) clamp(10px, 5vw, 60px) 25px clamp(40px, 6vw, 60px);
    opacity: 1;
}
/*中身を非表示にしておく*/
.qa_box .qa_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
    font-size: clamp(14px, 2vw, 16px);
}
.qa_box .qa_show_inner {
    color: #ed8374;
}

.qa_box .qa_show_inner p {
    margin: 0;
}
.qa_box .qa_show_inner p a {
    text-decoration: none;
}
.qa_box .qa_show_inner p a:hover {
    text-decoration: underline;
}

.qa_box .qa_show_inner .memo {
    background-color: #faf6f0;
    border-radius: 10px;
    padding: clamp(20px, 2vw, 30px);
    margin: 30px 0;
}
.qa_box .qa_show_inner .tel a {
    color: #ed8374;
}
.qa_box .qa_show_inner .notel a {
    color: #ed8374;
    text-decoration: none;
    pointer-events: none;
}


/* =============================================================
header
================================================================= */
#header_wrap {

    background: #fff;
    border-bottom: 1px solid #b3b3b3;
}

.header_inner {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 0 0 0 clamp(10px, 4vw, 30px);
}

/* ロゴ */
.header_inner h1.logo {
    max-width: 280px;
    min-width: 135px;
    width: 100%;
    margin: 0;
}
.header_inner h1.logo a,
.header_inner h1.logo a img {
    display: block;
}
.header_inner .right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
}

/* 常時ナビ */
.header_inner .right .main-nav {
  justify-self: end;
}
.header_inner .right .main-nav ul {
  display: flex;
  gap: clamp(10px, 1.2vw, 20px);
  list-style: none;
  padding: 0;
}

.header_inner .right .main-nav a {
    font-size: clamp(14px, 1.2vw, 16px);
    text-decoration: none;
    color: #00639d;
}
.header_inner .right .main-nav a:hover {
    opacity: 0.8;
}
/*言語ボタン*/
.header_inner .right .language {
    width: 100%;
    min-width: 140px;
}
.header_inner .right .language .gtranslate_wrapper select {
    font-size: clamp(10px, 1vw, 12px) !important;
    font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    height: 25px !important;
    border: 1px solid #00639d;
    padding: 2px 28px 2px clamp(10px, 1vw, 20px);
    border-radius: 50px;
    color: #00639d;
    background-image: none;
    outline: none;
}
.header_inner .right .language .gtranslate_wrapper {
    position: relative;
}

.header_inner .right .language .gtranslate_wrapper::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #00639d;
    border-bottom: 2px solid #00639d;
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}


.header_inner .right .language .gtranslate_wrapper select option {
    color: #000;
}
/* 予約ボタン  */
.header_inner .right .reserve_pc {
    display: block;
}
.header_inner .right .reserve_pc a {
    position: relative;
    display: block;
    width: clamp(80px, 7vw, 100px);
    aspect-ratio: 1;
    padding: 5px;
    background: #ed8374;
    overflow: hidden;
    text-align: center;
}
.header_inner .right .reserve_pc a:hover {
    color: #fff;
    opacity: 0.8;
}
.header_inner .right .reserve_pc a span {
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
}
.header_inner .right .reserve_pc a div {
    font-size: 12px;
    color: #fff;
    padding-top: 5px;
}
/* ===== ハンバーガーメニュー ===== */
/*ヘッダーハンバーガー*/
.header_hamburger {
    display: none;
}
/* hamburger */
.hamburger {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: opacity .4s ease, transform .4s ease;

    position: fixed;
    top: 10px;
    right: 10px;
    width: 45px;
    height: 45px;
    background: #00639d;
    cursor: pointer;
    z-index: 2000; /* overlayより上 */
}
.hamburger.is-show {
    display: block;

    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}



button.hamburger:focus {
    outline: none;
    outline-offset: 0px;
}
.hamburger span {
    position: absolute;
    left: 50%;
        transform: translate(-50%);
    width: 55%;
    height: 2px;
    background: #fff;
    transition: .3s;
}

.hamburger span:nth-child(1) { top: 14px; }
.hamburger span:nth-child(2) { top: 22px; }
.hamburger span:nth-child(3) { top: 30px; }

/* × */
.hamburger.is-open span:nth-child(1) {
    top: 22px;
    transform: translateX(-50%) rotate(45deg);
}
.hamburger.is-open span:nth-child(2) {
    opacity: 0;
}
.hamburger.is-open span:nth-child(3) {
    top: 22px;
    transform: translateX(-50%) rotate(-45deg);
}



/* overlay */
.overlay-nav {
    position: relative;
    display: block;
    position: fixed;
    inset: 0;
    background: #5284bf;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .3s ease, visibility .3s ease;
    z-index: 1000;

    overflow-y: auto;
        -webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
}

/*言語ボタン*/
.overlay-nav .language {
    position: absolute;
    top: 20px;
    right: 90px;
    width: 170px;
}
.overlay-nav .language .gtranslate_wrapper select {
    font-size: 12px !important;
    font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    height: 25px !important;
    border: 1px solid #fff;
    padding: 2px 28px 2px 20px;
    border-radius: 50px;
    color: #fff;
    background-image: none;
    outline: none;
}
.overlay-nav .language .gtranslate_wrapper {
    position: relative;
}

.overlay-nav .language .gtranslate_wrapper::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
}

.overlay-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.overlay-nav_inner {
    max-width: 500px;
    margin: 0 auto;
    padding: 100px 40px 80px;
}

/*ボタン*/
.overlay-nav .reserve_btn,
.overlay-nav .tel_btn {
    width: 100%;
    max-width: 460px;
    margin-bottom: 30px;
    color: #fff;
}
.overlay-nav .reserve_btn img,
.overlay-nav .tel_btn img {
    width: clamp(20px, 5vw, 36px);
}
.overlay-nav .reserve_btn p,
.overlay-nav .tel_btn p {
    margin-bottom: 5px;
}
.overlay-nav .reserve_btn a,
.overlay-nav .tel_btn .tel_wrap {
    position: relative;
    display: block;
    padding-top: 15%;
    overflow: hidden;
    cursor: pointer;
    color: #fff;
    font-size: clamp(16px, 5vw, 25px);
    font-weight: bold;
    text-align: center;
}
.overlay-nav .reserve_btn a {
    background-color: #ed8374;
}
.overlay-nav .tel_btn .tel_wrap {
    background-color: #00639d;
}
.overlay-nav .reserve_btn a span,
.overlay-nav .tel_btn .tel_wrap span {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
    line-height: 0;
    width: 100%;
}
.overlay-nav .reserve_btn a span div,
.overlay-nav .tel_btn .tel_wrap span div {
    position: relative;
    top: 2px;
}

.overlay-nav ul {
    list-style: none;
    text-align: left;
    margin: 0px auto 30px;
    padding: 0;
}
.overlay-nav ul.main_nav li {
    position: relative;
    border-bottom: 1px solid #9dc0e5;
    padding: 18px 0 15px;
}
.overlay-nav ul.main_nav li:first-child {
    border-top: 1px solid #9dc0e5;
}


.overlay-nav ul.main_nav li:after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-right: 20px;
    vertical-align: middle;
    position: absolute;
    top: 44%;
    right: 0;
}
.overlay-nav ul.main_nav li a {
    display: grid;
    grid-template-columns: minmax(100px, 40%) auto;
    align-items: center;
    gap: clamp(20px, 3vw, 40px);
    font-size: clamp(12px, 3vw, 16px);
}
.overlay-nav ul.main_nav li a span {
    font-size: clamp(14px, 4vw, 23px);
    line-height: 1;

}

.overlay-nav ul.suv_nav {
    margin: 0 auto 30px;
    padding: 0;
}
.overlay-nav ul.suv_nav li {
    text-align: left;
    text-indent: -0.8em;
    padding: 0 0 12px 1em;
}

.overlay-nav ul.suv_nav li:before {
    content: '';
    display: inline-block;
    position: relative;
    bottom: 3px;
    width: 5px;
    height: 5px;
    margin-right: 8px;
    border-radius: 100%;
    background-color: #fff;
}
.overlay-nav ul.suv_nav li a {
    font-size: clamp(14px, 3vw, 18px);
    font-weight: normal;
}
.overlay-nav a {
    text-decoration: none;
    color: #fff;
}
.overlay-nav a:hover {
    color: #fff;
    opacity: 0.6;
}
.overlay-nav .sns_wrap {
    display: flex;
    gap: 20px;
    margin: 0;
}
.overlay-nav .sns_wrap a img {
    height: 36px;
}


.nav_sp {
    display: none;
}
/*=======オリジナルナビ終了======= */

/* ===== 下部スクロール表示予約フォーム ===== */


.reserve_fixed {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: opacity .4s ease, transform .4s ease;

    position: fixed;
    bottom: 5px;
    left: 50%;
        transform: translateX(-50%);
    width: 98%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.reserve_fixed.is-show {
    display: flex;
    justify-content: center;
    gap: 10px;
    background-color: #fff;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2) !important;
    z-index: 999;
    padding: 20px;

    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.reserve_fixed span {
    transition: none;
}


/*=======予約フォーム終了======= */



/* =============================================================
footer
================================================================= */


footer {}
footer a {
    color: #fff !important;
}

/*予約*/


#footer_reserve {
    position: relative;
    background-image: url(img/footer_reserve_bg.webp);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    min-height: 430px;
}
#footer_reserve .reserve_inner {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
    text-align: center;
}
#footer_reserve .reserve_inner h2 {
    font-size: clamp(46px, 6.8vw, 70px);
    color: #fff;
    text-shadow: 2px 3px 6px rgb(0 0 0);
    margin-bottom: clamp(10px, 2vw, 20px);
}

#footer_reserve .reserve_inner .h2sub {
    font-size: clamp(17px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 3vw, 40px);
    color: #fff;
    text-shadow: 2px 3px 6px rgb(0 0 0);

}
#footer_reserve .reserve_inner .df_btn {

}
#footer_reserve .reserve_inner .df_btn a {
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
    font-size: clamp(15px, 3vw, 20px);
    background-color: #fff;
    color: #ed8374;
    padding: clamp(18px, 2.5vw, 25px) 30px;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.25);

}
#footer_reserve .reserve_inner .df_btn a::before {
    content: none;
}
#footer_wrap {
    background-color: #ed8374;
    width: 100%;
    padding: 40px 0 110px;
    color: #fff;
    font-size: clamp(14px, 2.5vw, 16px);
}
#footer_wrap .footer_inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

#footer_wrap .footer_inner .logo {
    max-width: 240px;
    margin: 0 auto clamp(20px, 2vw, 30px);
}
#footer_wrap .footer_inner .address {
}
#footer_wrap .footer_inner .address br {
    display: none;
}
#footer_wrap .footer_inner .map_btn {
    margin-bottom: clamp(20px, 2vw, 40px);
}
#footer_wrap .footer_inner .map_btn a {
    position: relative;
    display: block;
    text-align: center;
}
#footer_wrap .footer_inner .map_btn a span {
    padding-right: 5px;
}

#footer_wrap .footer_inner .sns_wrap {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: clamp(20px, 2vw, 40px);
}
#footer_wrap .footer_inner .sns_wrap a img {
    height: clamp(28px, 5vw, 36px);
}

/*コピーライト*/
#footer_wrap .footer_inner .copyright {
    font-family: "BIZ UDPGothic", sans-serif;
    text-align: center;
    font-size: 12px;
}




/* =============================================================
トップページ
================================================================= */
#mv_wrap {
    position: relative;

}
#mv_wrap h1.pc {
    display: block;
    margin: 0;
}
#mv_wrap h1.sp {
    display: none;
}
#mv_wrap .mv_text {
    position: absolute;
    width: 40%;
    height: 60%;
    top: 23%;
    left: 9%;
    color: #fff;
    text-align: center;
    text-shadow: 2px 3px 6px rgb(0 0 0);
}
#mv_wrap .mv_text .title {
    font-size: clamp(44px, 5.5vw, 90px);
    font-family: "Dancing Script", cursive;
    line-height: 1.1;
    margin-bottom: clamp(15px, 2vw, 35px);
}
#mv_wrap .mv_text p {
    font-size: clamp(18px, 2vw, 32px);
    line-height: 1.5;
    margin: 0;
}

/*---NEWS & TOPICS------------------*/

.top_news_block {
    position: relative;
    background-image: linear-gradient(#ffe0c4, #faf6f0 30% 100%);
    padding: clamp(90px, 8vw, 100px) 0 clamp(40px, 8vw, 100px);
}
.top_news_block .bg {
    width: 100%;
    position: absolute;
    top: 0;
    background-image: url(img/bg01.webp), url(img/bg02.webp);
    background-repeat: no-repeat;
    background-position: top -60px left -55px, top -85px right -20px;
    background-size: clamp(305px, 24vw, 440px);
    height: clamp(150px, 32vw, 420px);
    z-index: 2;
}
.top_news_block .container {
    position: relative;
    z-index: 5;
}
.top_news_block .container .title_wrap {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.top_news_block .container .h2sub {
    font-size: clamp(16px, 2vw, 20px);
    color: #00639d;
}
.top_news_block .container .news_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: clamp(20px, 2vw, 30px) clamp(15px, 1vw, 20px);
    margin-bottom: clamp(40px, 3vw, 60px);
}

.top_news_block .container .news_wrap a {
    display: block;
    color: #00639d;
}
.top_news_block .container .news_wrap a img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 15px;
}
.top_news_block .container .news_wrap a .news_title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    font-size: clamp(14px, 3vw, 16px);
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: normal;
    color: #00639d;
}
.top_news_block .container .news_wrap a .news_date_cat {
    display: flex;
    gap: 20px;
    color: #ed8374;
    font-size: clamp(12px, 3vw, 14px);
}
.top_news_block .container .news_btn {
    text-align: center;
}
.top_news_block .container .news_btn a {
    text-align: center;
    color: #00639d;
}
.top_news_block .container .news_btn a img {
    position: relative;
    bottom: 2px;
    width: 26px;
    margin-right: 10px;
}

/*---コンセプト------------------*/

.top_concept_block {
    position: relative;

}

.top_concept_block .concept_wrap {
    display: grid;
    grid-template-columns: clamp(380px, 60vw, 1050px) 1fr;
    align-items: center;
}
.top_concept_block .concept_wrap .left {

}
.top_concept_block .concept_wrap .left img {
    min-height: 650px;
    object-fit: cover;
}
.top_concept_block .concept_wrap .right {
    padding: 0 clamp(40px, 4vw, 80px) 0 clamp(40px, 6vw, 120px);
}
.top_concept_block .concept_wrap .right .h2sub {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
}
.top_concept_block .concept_wrap .right p:last-of-type {
    margin-block-end: clamp(30px, 2vw, 40px) !important;
}


/*---アメニティ------------------*/
.top_amenity_block {
    position: relative;
    background-color: #f0f6f6;
    padding: clamp(40px, 8vw, 100px) 0;
}
.top_amenity_block .title_wrap {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.top_amenity_block .title_wrap .h2sub {
    font-size: clamp(23px, 2vw, 26px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
}

/*---ルーム------------------*/

.top_rooms_block {
    position: relative;

}
.top_rooms_block .rooms_wrap {
    display: grid;
    grid-template-columns: clamp(380px, 60vw, 1050px) 1fr;
    align-items: center;
}
.top_rooms_block .rooms_wrap .left {

}
.top_rooms_block .rooms_wrap .left img {
    min-height: 650px;
    object-fit: cover;
}
.top_rooms_block .rooms_wrap .right {
    padding: 0 clamp(40px, 4vw, 80px) 0 clamp(40px, 6vw, 120px);
}
.top_rooms_block .rooms_wrap .right .h2sub {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
}
.top_rooms_block .rooms_wrap .right p:last-of-type {
    margin-block-end: clamp(30px, 2vw, 40px) !important;
}


/*---ダイニング------------------*/

.top_dining_block {
    position: relative;

}
.top_dining_block .dining_wrap {
    display: grid;
    grid-template-columns: 1fr clamp(380px, 60vw, 1050px);
    align-items: center;
}
.top_dining_block .dining_wrap .left {
    padding: 0 clamp(40px, 4vw, 80px) 0 clamp(40px, 6vw, 120px);
}
.top_dining_block .dining_wrap .left .h2sub {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
}
.top_dining_block .dining_wrap .left p:last-of-type {
    margin-block-end: clamp(30px, 2vw, 40px) !important;
}
.top_dining_block .dining_wrap .right {

}
.top_dining_block .dining_wrap .right img {
    min-height: 650px;
    object-fit: cover;
}


/*---館内施設------------------*/

.top_facilities_block {
    position: relative;
    background-color: #faf6f0;
    background-image: url(img/top_facilities_pc.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 90%;
    padding: clamp(100px, 12vw, 200px) 0 clamp(200px, 18vw, 300px);
}
.top_facilities_block .facilities_wrap {
    position: relative;
    max-width: 280px;
    margin: 0 auto;
    text-align: center;
    background-image: url(img/bg03.webp), url(img/bg04.webp), url(img/bg05.webp);
    background-repeat: no-repeat;
    background-position: top left 52%, top 30% right, top 62% left;
    background-size: clamp(90px, 9vw, 125px), clamp(70px, 8vw, 90px), clamp(70px, 8vw, 90px);
    z-index: 5;
    padding-top: clamp(95px, 9vw, 130px);
}
.top_facilities_block .facilities_wrap .title {
    writing-mode: vertical-rl;
    font-size: clamp(25px, 3vw, 40px);
    color: #ed8374;
    line-height: 1.3;
    white-space: nowrap;
    margin: 0 auto clamp(20px, 3vw, 40px);

}
.top_facilities_block .facilities_wrap p {

}
.top_facilities_block .facilities_wrap .df_btn a {
    margin: 0 auto;
}





/*---アクセス------------------*/

.top_access_block {
    position: relative;

}
.top_access_block .access_wrap {
    display: grid;
    grid-template-columns: clamp(380px, 60vw, 1050px) 1fr;
    align-items: center;
    background-color: #5284bf;
}
.top_access_block .access_wrap .left {

}
.top_access_block .access_wrap .left img {
    min-height: 650px;
    object-fit: cover;
}
.top_access_block .access_wrap .right {
    padding: 0 clamp(40px, 4vw, 80px) 0 clamp(40px, 6vw, 120px);
    text-align: center;
}
.top_access_block .access_wrap .right h2 {
    color: #fff;
}
.top_access_block .access_wrap .right .h2sub {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
    color: #fff;
}
.top_access_block .access_wrap .right img {
    margin-bottom: clamp(30px, 2vw, 40px);
}
.top_access_block .access_wrap .right .df_btn a {
    color: #fff;
    border: 1px solid #fff;
    margin: 0 auto;
}
.top_access_block .access_wrap .right .df_btn a::before {
    content: none;
}
/*---FAQ------------------*/

.top_faq_block {
    position: relative;
    padding: clamp(40px, 8vw, 100px) 0;
}
.top_faq_block .faq_wrap {
    display: grid;
    grid-template-columns: clamp(240px, 10vw, 340px) 1fr;
}
.top_faq_block .faq_wrap .left {

}
.top_faq_block .faq_wrap .left .h2sub {
    font-size: clamp(16px, 2vw, 20px);
    color: #00639d;
}
.top_faq_block .access_wrap .right {

}
.top_faq_block .faq_wrap .right .df_btn {
    text-align: center;
}
.top_faq_block .faq_wrap .right .df_btn a {
    margin: 0 auto;
}


/*---スタッフブログ------------------*/

.top_blog_block {
    position: relative;
    background-image: linear-gradient(#ffe0c4, #faf6f0 30% 100%);
    padding: clamp(40px, 8vw, 100px) 0;
}

.top_blog_block .container {
    position: relative;
    z-index: 5;
}
.top_blog_block .container .title_wrap {
    margin-bottom: clamp(20px, 3vw, 40px);
}
.top_blog_block .container .h2sub {
    font-size: clamp(16px, 2vw, 20px);
    color: #00639d;
}
.top_blog_block .container .blog_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: clamp(20px, 2vw, 30px) clamp(15px, 1vw, 20px);
    margin-bottom: clamp(40px, 3vw, 60px);
}

.top_blog_block .container .blog_wrap a {
    display: block;
    color: #00639d;
}
.top_blog_block .container .blog_wrap a img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 15px;
}
.top_blog_block .container .blog_wrap a .blog_title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
    font-size: clamp(14px, 3vw, 16px);
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: normal;
    color: #00639d;
}
.top_blog_block .container .blog_wrap a .blog_date_cat {
    display: flex;
    gap: 20px;
    color: #ed8374;
    font-size: clamp(12px, 3vw, 14px);
}
.top_blog_block .container .blog_btn {
    text-align: center;
}
.top_blog_block .container .blog_btn a {
    text-align: center;
    color: #00639d;
}
.top_blog_block .container .blog_btn a img {
    position: relative;
    bottom: 2px;
    width: 26px;
    margin-right: 10px;
}


/* =============================================================
コンセプト
================================================================= */
.concept_block {
    position: relative;
    margin-bottom: clamp(90px, 12vw, 140px);
}
.concept_block .main_block {
    background-color: #faf6f0;
    padding: clamp(60px, 8vw, 100px) 0;
    margin-bottom: clamp(64px, 8vw, 100px);
}


.concept_block .main_block .concept_wrap {
    display: flex;
    flex-wrap: wrap;
    row-gap: clamp(30px, 4vw, 50px);
}
.concept_block .main_block .concept_wrap img {
    border-radius: 10px;
}
.concept_block .main_block .concept_wrap .box1 {
    width: 40%;
    position: relative;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: clamp(25px, 3vw, 40px);
    color: #00639d;
    line-height: 1.6;
    background-image: url(img/concept_bg.webp);
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
}

.concept_block .main_block .concept_wrap .box2 {
    width: 60%;
}
.concept_block .main_block .concept_wrap .box3 {
    width: 55%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.concept_block .main_block .concept_wrap .box3 img {
    width: 100%;
    max-width: 390px;
    aspect-ratio: 1 / 1.3;
    object-fit: cover;
}
.concept_block .main_block .concept_wrap .box3 img:last-of-type {
    margin-top: 50px;
}

.concept_block .main_block .concept_wrap .box4 {
    width: 45%;
    position: relative;
    writing-mode: vertical-rl;
    white-space: nowrap;
    font-size: clamp(18px, 2.3vw, 26px);
    color: #00639d;
    line-height: 1.6;
    min-height: 675px;
}
.concept_block .main_block .concept_wrap .box1 span,
.concept_block .main_block .concept_wrap .box4 span {
    position: absolute;
}
.concept_block .main_block .concept_wrap .box1 span {
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
}
.concept_block .main_block .concept_wrap .box4 span {
    top: 10%;
    left: 50%;
        transform: translate(-50%, -0%);
}




.concept_block .block1 .enjoy_wrap,
.concept_block .block1 .time_wrap {
    display: grid;
    gap: clamp(40px, 4vw, 60px) clamp(40px, 4vw, 60px);
    align-items: center;
}
.concept_block .block1 .enjoy_wrap {
    grid-template-columns: 1fr minmax(370px, 50%);
    margin-bottom: clamp(40px, 4vw, 60px);
}
.concept_block .block1 .time_wrap {
    grid-template-columns: minmax(370px, 50%) 1fr;
}
.concept_block .block1 .enjoy_wrap img,
.concept_block .block1 .time_wrap img {
    border-radius: 10px;
}
.concept_block .block1 h2 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(23px, 3vw, 30px);
    color: #00639d;
    font-weight: normal;
    margin-bottom: clamp(20px, 2vw, 30px);
}
.concept_block .block1 p:last-of-type {
    margin-bottom: 0;
}
/* =============================================================
お食事
================================================================= */
.dining_block {
    position: relative;
}
.dining_block img {
    border-radius: 10px;
}
.dining_block .block1 .breakfast_wrap {
    display: grid;
    grid-template-columns: 1fr minmax(370px, 50%);
    margin-bottom: clamp(40px, 4vw, 60px);
    gap: clamp(20px, 4vw, 60px) clamp(40px, 4vw, 60px);
}
.dining_block .h2sub {
    font-size: clamp(23px, 3vw, 30px);
    line-height: 1.3;
    margin-bottom: clamp(30px, 2vw, 40px);
}
.dining_block .block1 .breakfastphoto_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: clamp(40px, 4vw, 60px);
    gap: clamp(20px, 4vw, 50px) clamp(30px, 4vw, 50px);
}
.dining_block .block1 .breakfastphoto_wrap img {
    margin-bottom: clamp(10px, 2vw, 20px);
}


.dining_block .block2 {
    background-color: #faf6f0;
    padding: clamp(60px, 8vw, 100px) 0;
}
.dining_block .block2 .icon {
    font-size: clamp(16px, 2vw, 20px);
    color: #ed8374;
    margin-bottom: clamp(10px, 2vw, 15px);
}
.dining_block .block2 h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #ed8374;
    font-size: clamp(20px, 3vw, 24px);
    font-weight: normal;
    margin-bottom: clamp(30px, 3vw, 40px);
    padding: clamp(10px, 2vw, 15px) 0px;
    border-top: 1px solid #ed8374;
    border-bottom: 1px solid #ed8374;
}
.dining_block .block2 .dinner_wrap1,
.dining_block .block2 .dinner_wrap2 {
    display: grid;
    gap: clamp(20px, 4vw, 60px) clamp(40px, 4vw, 58px);
}
.dining_block .block2 .dinner_wrap1 {
    grid-template-columns: 1fr minmax(370px, 60%);
    margin-bottom: clamp(40px, 4vw, 60px);
}
.dining_block .block2 .dinner_wrap2 {
    grid-template-columns: minmax(370px, 58%) 1fr;
}
/* =============================================================
お部屋
================================================================= */
.rooms_block {
    position: relative;
    margin-bottom: clamp(90px, 12vw, 140px);
}
/*ナビ*/
.rooms_block .rooms_nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 700px;
    margin: 0 auto 40px;
}

.rooms_block .rooms_nav a {
    position: relative;
    display: block;
    width: calc(100% / 3 - 17px);
    border: 1px solid #00639d;
    color: #00639d;
    min-height: clamp(40px, 7vw, 60px);
}
.rooms_block .rooms_nav a span {
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
    width: 100%;
    font-size: clamp(12px, 2vw, 16px);
    line-height: 1.2;
    text-align: center;
}



.rooms_block .rooms_box {
    border-bottom: 1px solid #8eb4dd;
    margin-bottom: clamp(40px, 4vw, 60px);
    padding-bottom: clamp(40px, 4vw, 60px);
}
.rooms_block .rooms_box img {
    border-radius: 10px;
}
.rooms_block .rooms_box:last-of-type {
    border-bottom: none;
    margin-bottom: clamp(56px, 6vw, 80px);
    padding-bottom: 0;
}
.rooms_block .rooms_box h2 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #ed8374;
    font-size: clamp(25px, 3vw, 40px);
    font-weight: normal;
    margin-bottom: clamp(20px, 2vw, 30px);
}
.rooms_block .rooms_box h2 span {
    display: block;
    font-size: 16px;
}
.rooms_block .rooms_box .rooms_wrap {
    display: grid;
    grid-template-columns: minmax(0, 800px) minmax(0, 480px);
    gap: clamp(40px, 4vw, 60px);
}
.rooms_block .rooms_box .rooms_wrap .right p {

}
.rooms_block .rooms_box .rooms_wrap .right table {
    margin-bottom: clamp(20px, 2vw, 30px);
}
.rooms_block .rooms_box .rooms_wrap .right table tr td:first-child {
    white-space: nowrap;
    padding-right: 0;
}
/*アメニティ*/
.rooms_block .amenity_block {
    background-color: #faf6f0;
    padding: clamp(60px, 8vw, 100px) 0;
}
.rooms_block .amenity_block .container {
    max-width: 1100px;
}
.rooms_block .amenity_block .container .title_wrap {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.rooms_block .amenity_block .container .h2sub {
    font-size: clamp(16px, 2vw, 20px);
    color: #00639d;
}
.rooms_block .amenity_block p {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.rooms_block .amenity_block .container .amenity_wrap {
    display: grid;
    grid-template-columns: 1fr minmax(330px, auto);
    gap: clamp(24px, 2vw, 40px);
}
.rooms_block .amenity_block .container .amenity_box {
    background-color: #fff;
    border-radius: 10px;
}

.rooms_block .amenity_block .container .amenity_box h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #ed8374;
    font-size: clamp(20px, 3vw, 22px);
    font-weight: normal;
    margin-bottom: clamp(15px, 2vw, 20px);
    padding: 20px clamp(20px, 2vw, 40px) 10px;
    border-bottom: 1px solid #ed8374;
}
.rooms_block .amenity_block .container .amenity_box .inner {
    display: flex;
    gap: clamp(40px, 4vw, 60px);
    padding: 0 clamp(20px, 2vw, 40px) clamp(20px, 2vw, 40px);
}
.rooms_block .amenity_block .container .amenity_box ul {
    list-style: none;
    margin: 0px;
    padding: 0;
}

.rooms_block .amenity_block .container .amenity_box ul li {
    text-align: left;
    text-indent: -0.8em;
    padding: 0 0 0 1em;
}

.rooms_block .amenity_block .container .amenity_box ul li:before {
    content: '';
    display: inline-block;
    position: relative;
    bottom: 3px;
    width: 5px;
    height: 5px;
    margin-right: 10px;
    border-radius: 100%;
    background-color: #00639d;
}
.rooms_block .amenity_block .container .amenity_box ul li.note {
    text-indent: 0;
    padding: 20px 0 0 0;
    font-size: clamp(12px, 2vw, 13px);
}
.rooms_block .amenity_block .container .amenity_box ul li.note:before {
    content: none;
}
.rooms_block .amenityphoto_block {
    margin-bottom: clamp(64px, 8vw, 100px);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
/*基本情報*/
.rooms_block .rooms_info_block {

}
.rooms_block .rooms_info_block .container {
    max-width: 1020px;
}
.rooms_block .rooms_info_block .container .title_wrap {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.rooms_block .rooms_info_block .container .h2sub {
    font-size: clamp(16px, 2vw, 20px);
    color: #00639d;
}
.rooms_block .rooms_info_block .container table tr td:first-child {
    white-space: nowrap;
}
/* =============================================================
アクセス
================================================================= */
.access_block {
    position: relative;
    margin-bottom: clamp(90px, 12vw, 140px);
}
.access_block img {
    border-radius: 10px;
}
.access_block .access_text {
    margin-bottom: clamp(40px, 4vw, 60px);
}
.access_block h2.contents_title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-bottom: clamp(30px, 4vw, 60px);
}
.access_block .information_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(30px, 4vw, 50px);
    margin-bottom: clamp(40px, 4vw, 60px);
}
.access_block .information_wrap .left {

}
.access_block .information_wrap .right {

}
.access_block .information_wrap .right h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(20px, 3vw, 24px);
    color: #00639d;
}
.access_block .information_wrap .right table tr td:first-child {
    white-space: nowrap;
}

.access_block .gmap {
    border-radius: 10px;
    padding-bottom: 31.25%;
    min-height: 350px;
    margin-bottom: clamp(60px, 8vw, 100px);
}
.access_block .howto_access_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(60px, 7vw, 120px);
}
.access_block .howto_access_wrap .car_block {

}
.access_block .howto_access_wrap .bus_block {

}
.access_block .howto_access_wrap h3 {
    position: relative;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(20px, 3vw, 24px);
    font-weight: normal;
    color: #00639d;
    margin-bottom: clamp(24px, 2vw, 40px);
    padding-left: 62px;
}
.access_block .howto_access_wrap h3:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    display: inline-block;

    background-repeat: no-repeat;
    background-position: top;
    background-size: auto;
    width: 50px;
    height: 26px;
}
.access_block .howto_access_wrap .car_block h3:before {
    background-image: url(img/icon_car.svg);
}
.access_block .howto_access_wrap .bus_block h3:before {
    background-image: url(img/icon_bus.svg);
}
.access_block .howto_access_wrap .car_block h3 span {
    font-size: clamp(14px, 2vw, 16px);
}
.access_block .howto_access_wrap h3 br {
    display: none;
}

.access_block .howto_access_wrap .howto_frame {
    position: relative;
}
/*縦ライン*/
.access_block .howto_access_wrap .howto_frame:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
        transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: #00639d;
}
.access_block .howto_access_wrap .car_block .howto_frame:before {
    height: 80%;
}
.access_block .howto_access_wrap .howto_frame .box {
    position: relative;
    background-color: #f0f6f6;
    border: 1px solid #00639d;
    font-size: clamp(16px, 3vw, 20px);
    color: #00639d;
    height: clamp(80px, 5vw, 90px);
}
.access_block .howto_access_wrap .howto_frame .sakura {
    background-color: #faf6f0;
    border: 1px solid #ed8374;
    color: #ed8374;
}
.access_block .howto_access_wrap .howto_frame .box span,
.access_block .howto_access_wrap .howto_frame .subbox span {
    position: absolute;
    top: 50%;
    left: 50%;
        transform: translate(-50%, -50%);
    padding: clamp(5px, 2vw, 10px) 0;
}
.access_block .howto_access_wrap .howto_frame .box span {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    padding-left: clamp(26px, 6vw, 33px);
}
.access_block .howto_access_wrap .howto_frame .subbox span {
    width: 100%;
    text-align: left;
}
.access_block .howto_access_wrap .howto_frame .box span:before {
    content: '';
    position: absolute;
    left: 0;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: top;
    background-size: auto;
    height: 26px;
}
.access_block .howto_access_wrap .howto_frame .plane span:before {
    top: clamp(9px, 2vw, 12px);
    background-image: url(img/icon_plane.svg);
    width: clamp(20px, 4vw, 23px);
}
.access_block .howto_access_wrap .howto_frame .sakura span:before {
    top: clamp(10px, 2vw, 13px);
    background-image: url(img/icon_map1.svg);
    width: clamp(17px, 4vw, 20px);
}

.access_block .howto_access_wrap .howto_frame .car span {
    padding-left: clamp(35px, 4vw, 38px);
}
.access_block .howto_access_wrap .howto_frame .bus span {
    padding-left: clamp(35px, 4vw, 38px);
}
.access_block .howto_access_wrap .howto_frame .people span {
    padding-left: clamp(23px, 4vw, 25px);
}
.access_block .howto_access_wrap .howto_frame .subbox span:before {
    content: '';
    position: absolute;
    left: 0;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: top;
    background-size: auto;
}
.access_block .howto_access_wrap .howto_frame .car span:before {
    top: clamp(12px, 1vw, 16px);
    background-image: url(img/icon_car.svg);
    width: 30px;
    width: clamp(27px, 4vw, 30px);
    height: 15px;
}
.access_block .howto_access_wrap .howto_frame .bus span:before {
    top: clamp(12px, 1vw, 16px);
    background-image: url(img/icon_bus.svg);
    width: clamp(27px, 4vw, 30px);
    height: 17px;
}
.access_block .howto_access_wrap .howto_frame .people span:before {
    top: clamp(5px, 2vw, 9px);
    background-image: url(img/icon_people.svg);
    width: clamp(13px, 4vw, 16px);
    height: 26px;
}


.access_block .howto_access_wrap .howto_frame .short {
    max-width: 250px;
    margin: 0 auto;
    height: clamp(40px, 4vw, 60px);
    font-size: clamp(14px, 2vw, 18px);
}
.access_block .howto_access_wrap .howto_frame .short span {
    padding: 0;
}
.access_block .howto_access_wrap .howto_frame .subbox {
    position: relative;
    width: 45%;
    margin-left: auto;
    font-size: clamp(14px, 1.2vw, 18px);
    color: #00639d;
}

.access_block .howto_access_wrap .car_block .subbox {
    height: clamp(70px, 5vw, 80px);
}
.access_block .howto_access_wrap .bus_block .subbox {
    height: clamp(60px, 4vw, 60px);
}
.access_block .howto_access_wrap .car_block .terminal {
    margin-bottom: 10px;
}


/* =============================================================
施設のご紹介
================================================================= */
.facilities_block {
    position: relative;
    margin-bottom: clamp(90px, 12vw, 140px);
}
.facilities_block img {
    border-radius: 10px;
}
.facilities_block h2.contents_title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-bottom: clamp(30px, 4vw, 60px);
}
.facilities_block .facilities_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(30px, 4vw, 75px);
    margin-bottom: clamp(40px, 4vw, 60px);
}
.facilities_block .facilities_wrap .box img {
    margin-bottom: clamp(15px, 2vw, 20px);
}
.facilities_block .facilities_wrap .box h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(20px, 4vw, 25px);
    color: #00639d;
    margin-bottom: clamp(10px, 2vw, 20px);
}
.facilities_block .facilities_wrap .box h3 span {
    color: #ed8374;
    padding-right: 10px;
}
.facilities_block .facilities_wrap .box p:last-child {
    margin: 0;
}
.facilities_block .facilities_wrap .box ul {

}
.facilities_block .facilities_wrap .box ul li {

}
.facilities_block .facilities_wrap .box table {

}
.facilities_block .facilities_wrap .box table tr td {
    padding: clamp(10px, 2vw, 15px) clamp(10px, 4vw, 30px);
}
.facilities_block .facilities_wrap .box table tr td:first-child {
    width: clamp(95px, 25vw, 135px);
}
/* =============================================================
FAQ
================================================================= */
.faq_block {
    position: relative;
    margin-bottom: clamp(90px, 12vw, 140px);
}
.faq_block .container {
    max-width: 1000px;
}
.faq_block .container h2 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(22px, 3.5vw, 40px);
    color: #00639d;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.faq_block .block1,
.faq_block .block2 {
    margin-bottom: clamp(50px, 6vw, 80px);
}




/* =============================================================
プライバシーポリシー
================================================================= */

.privacypolicy_block {
    position: relative;
    max-width: 800px;
    margin: 0 auto clamp(90px, 12vw, 140px);
}
.privacypolicy_block .container {
    max-width: 1000px;
}
.privacypolicy_block .container h2 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(22px, 3.5vw, 40px);
    color: #00639d;
    margin-bottom: clamp(20px, 3vw, 40px);
}
.privacypolicy_block .container h3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: clamp(18px, 1vw, 22px);
    color: #ed8374;
    margin-bottom: 10px;
}
.privacypolicy_block .container p {
    margin-bottom: 40px;
}
.privacypolicy_block .container .block4 p {
    margin-bottom: 20px;
}
.privacypolicy_block .container .block4 ul {
    margin-bottom: 40px;
}
.privacypolicy_block .container .block8 p {
    margin-bottom: 20px;
}
.privacypolicy_block .tel a {
    color: #00639d;
}
.privacypolicy_block .notel a {
    color: #00639d;
    text-decoration: none;
    pointer-events: none;
}

/* =============================================================
ニュース　ブログ　各ページ
================================================================= */
/*アーカイブ*/
.news_archive,
.blog_archive {
    padding-top: 0 !important;
    margin: 0 auto clamp(90px, 12vw, 140px);
}
.news_archive .entry-meta a,
.news_archive .entry-meta .meta-date,
.blog_archive .entry-meta a,
.blog_archive .entry-meta .meta-date {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #ed8374;
    font-size: clamp(12px, 4vw, 14px);
}
.news_archive h2.entry-title a,
.blog_archive h2.entry-title a {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #00639d;
    font-size: clamp(16px, 2vw, 18px);
}
.news_archive article,
.blog_archive article {
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2)!important;
}
/*カテゴリーアーカイブ*/
.news_archive h1.page-title,
.blog_archive h1.page-title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #00639d;
}


.entry-meta li.meta-author {
    display: none;
}


/*シングルページ*/
.news_single,
.blog_single {
    max-width: 1000px;
    padding-top: 0 !important;
    margin: 0 auto clamp(90px, 12vw, 140px);
}
.news_single .entry-meta a,
.news_single .entry-meta .meta-date,
.blog_single .entry-meta a,
.blog_single .entry-meta .meta-date {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #ed8374;
    font-size: clamp(12px, 4vw, 16px);
}
.news_single h1.page-title,
.blog_single h1.page-title {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #00639d;
    font-size: clamp(28px, 4vw, 30px);
}
.news_single .entry-content,
.blog_single .entry-content {
    margin-bottom: clamp(56px, 6vw, 80px);
}
.news_single .entry-content h1,
.news_single .entry-content h2,
.news_single .entry-content h3,
.news_single .entry-content h4,
.news_single .entry-content h5,
.news_single .entry-content h6,
.blog_single .entry-content h1,
.blog_single .entry-content h2,
.blog_single .entry-content h3,
.blog_single .entry-content h4,
.blog_single .entry-content h5,
.blog_single .entry-content h6 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #00639d;
}
.news_single .entry-content h2,
.blog_single .entry-content h2 { font-size: clamp(24px, 4vw, 28px); }
.news_single .entry-content h3,
.blog_single .entry-content h3 { font-size: clamp(22px, 4vw, 26px); }
.news_single .entry-content h4,
.blog_single .entry-content h4 { font-size: clamp(20px, 4vw, 24px); }
.news_single .entry-content h5,
.blog_single .entry-content h5 { font-size: clamp(18px, 4vw, 22px); }
.news_single .entry-content h6,
.blog_single .entry-content h6 { font-size: clamp(16px, 4vw, 20px); }


.post-navigation {
    margin-bottom: clamp(30px, 4vw, 50px);
}
.news_single .df_btn a,
.blog_single .df_btn a {
    margin: 0 auto clamp(90px, 12vw, 140px);
}








