@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================================
   HOTEL PATIO リニューアル — 雛形 https://nefa2.xsrv.jp/patio/ のデザインを踏襲
   2026-08-27 作成
   抽出したデザイントークン：
     ベース #fefefe / 墨 #1f1b19 / アクセント #016c6e
     見出し Playfair Display + 游明朝 ／ 英字ラベル Catamaran ／ 装飾 Satisfy
   🔴 下の :root は SWELL カスタマイザーの色設定より優先されます。
      カスタマイザー側で色を変えたくなったら、この :root ブロックを削除してください。
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@300;400;600&family=Playfair+Display:wght@400;500;700&family=Satisfy&display=swap');

:root {
    --color_main: #016c6e;
    --color_link: #016c6e;
    --color_text: #1f1b19;
    --color_bg: #fefefe;
    --color_content_bg: #ffffff;
    --color_border: #ededed;
    --color_gray: #999999;
    --color_header_bg: #ffffff;
    --color_header_text: #1f1b19;
    --color_gnav_bg: #ffffff;
    --color_footer_bg: #1f1b19;
    --color_footer_text: #fefefe;
    --color_deep01: #015456;
    --color_deep02: #01393a;

    --patio-mincho: 'Playfair Display', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", serif;
    --patio-en: 'Catamaran', sans-serif;
    --patio-accent: #016c6e;
    --patio-ink: #1f1b19;
}

body {
    background: var(--color_bg);
    color: var(--patio-ink);
}

/* ---- 見出しは明朝で通す（雛形の基調） ---------------------------------- */
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.c-pageTitle {
    font-family: var(--patio-mincho);
    font-weight: 500;
    letter-spacing: .06em;
}

.c-pageTitle {
    font-size: 1.9rem;
}

/* h2：センター寄せ＋細い下線 */
.post_content h2 {
    background: none;
    border: 0;
    padding: 0 0 .7em;
    margin: 3.2em 0 1.5em;
    text-align: center;
    font-size: 1.5em;
    position: relative;
}

.post_content h2::before {
    content: none;
}

.post_content h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 48px;
    height: 1px;
    background: var(--patio-accent);
}

/* h3：左に細いアクセント罫 */
.post_content h3 {
    background: none;
    border: 0;
    border-left: 2px solid var(--patio-accent);
    padding: .1em 0 .1em .85em;
    margin: 2.6em 0 1em;
    font-size: 1.25em;
}

.post_content h3::before,
.post_content h3::after {
    content: none;
}

.post_content h4 {
    border: 0;
    font-size: 1.06em;
    margin: 1.9em 0 .6em;
}

/* ---- 本文 -------------------------------------------------------------- */
.post_content p {
    line-height: 2;
    letter-spacing: .03em;
}

/* ---- ボタン：角丸なし・字間広め ---------------------------------------- */
.post_content .wp-block-button__link {
    background: var(--patio-accent);
    color: #fff;
    border-radius: 0;
    letter-spacing: .12em;
    font-family: var(--patio-en);
    padding: 1em 2.6em;
    box-shadow: none;
    transition: background .25s;
}

.post_content .wp-block-button__link:hover {
    background: var(--patio-ink);
    color: #fff;
}

.wp-block-buttons {
    justify-content: center;
    margin: 2em 0 3em;
}

/* ---- 表：細罫・ヘッダは墨 ---------------------------------------------- */
.post_content table {
    border-collapse: collapse;
    font-size: .93em;
}

.post_content table th,
.post_content table td {
    border: 1px solid var(--color_border);
    padding: .7em .9em;
}

.post_content table th {
    background: var(--patio-ink);
    color: #fefefe;
    font-weight: 400;
    letter-spacing: .04em;
}

.post_content .is-style-stripes tbody tr:nth-child(odd) {
    background: #f9f9f9;
}

/* ---- 画像・ギャラリー：角丸なし ---------------------------------------- */
.post_content .wp-block-image img,
.post_content .wp-block-gallery img {
    border-radius: 0;
}

.post_content .wp-block-gallery {
    gap: 8px;
    margin: 1.8em 0 2.6em;
}

/* ---- ヘッダー／グローバルナビ ------------------------------------------ */
.l-header {
    border-bottom: 1px solid var(--color_border);
}

.c-gnav>li>a {
    font-family: var(--patio-en);
    letter-spacing: .1em;
    font-size: .92em;
}

/* ---- フッター ---------------------------------------------------------- */
.l-footer {
    background: var(--color_footer_bg);
    color: var(--color_footer_text);
}

/* ---- 電話番号CTA ------------------------------------------------------- */
.post_content a[href^="tel:"] {
    font-family: var(--patio-en);
    font-size: 1.3em;
    letter-spacing: .06em;
    color: var(--patio-accent);
    text-decoration: none;
}

/* ---- 英字の小見出しラベル（Catamaran） --------------------------------- */
.post_content .wp-block-latest-posts__post-date {
    font-family: var(--patio-en);
    letter-spacing: .08em;
    color: var(--color_gray);
}

@media (max-width: 959px) {
    .post_content h2 {
        font-size: 1.32em;
        margin: 2.4em 0 1.2em;
    }

    .post_content table {
        font-size: .86em;
    }
}

/* =========================================================================
   デザイン調整（2026-08-27 第2弾）— ヘッダー／フッター／地図／固定フッター
   ========================================================================= */

/* ---- ヘッダー内の電話CTA（ウィジェット head_box） ---------------------- */
.patio-headTel a {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.25;
    text-decoration: none;
    color: var(--patio-ink);
}

.patio-headTel .__lbl {
    font-family: var(--patio-en);
    font-size: .62rem;
    letter-spacing: .22em;
    color: var(--patio-accent);
}

.patio-headTel .__num {
    font-family: var(--patio-en);
    font-size: 1.32rem;
    letter-spacing: .04em;
    font-weight: 600;
}

/* ---- 地図 -------------------------------------------------------------- */
.patio-map {
    margin: 1.6em 0 2.4em;
    line-height: 0;
}

.patio-map iframe {
    width: 100%;
    height: 450px;
    border: 0;
    filter: grayscale(.25);
}

@media (max-width: 599px) {
    .patio-map iframe {
        height: 320px;
    }
}

/* ---- フッターのホテル情報 / SNS ---------------------------------------- */
.l-footer .patio-fInfo .__name {
    font-family: var(--patio-mincho);
    font-size: 1.05rem;
    letter-spacing: .08em;
    margin: 0 0 .5em;
}

.l-footer .patio-fInfo p {
    margin: 0 0 .35em;
    font-size: .88rem;
    line-height: 1.9;
}

.l-footer .patio-fInfo .__tel a {
    font-family: var(--patio-en);
    font-size: 1.25rem;
    letter-spacing: .05em;
    text-decoration: none;
}

.l-footer .patio-fInfo .__note {
    color: #b9b6b4;
    font-size: .8rem;
}

.patio-fSns ul {
    display: flex;
    gap: 1.4em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.patio-fSns a {
    font-family: var(--patio-en);
    font-size: .85rem;
    letter-spacing: .14em;
    text-decoration: none;
    border-bottom: 1px solid rgba(254, 254, 254, .35);
    padding-bottom: 2px;
}

.l-footer .widget_block h2,
.l-footer .wp-block-heading,
.l-footer .widgettitle {
    font-family: var(--patio-en);
    font-size: .74rem;
    letter-spacing: .2em;
    color: var(--patio-accent);
    margin-bottom: 1em;
}

/* ---- スマホ固定フッターメニュー（雛形の下部4ボタンに寄せる） ----------- */
.p-fixBtnWrap,
.l-fixBottomMenu {
    background: var(--patio-ink);
}

.l-fixBottomMenu a,
.p-fixBtnWrap a {
    color: #fefefe;
    font-family: var(--patio-en);
    letter-spacing: .06em;
    font-size: .72rem;
}

/* ---- グローバルナビ：下線ホバー ---------------------------------------- */
.c-gnav>li>a::after {
    background: var(--patio-accent);
    height: 1px;
}

/* ---- ページタイトル：センター＋細線 ------------------------------------ */
.c-pageTitle {
    text-align: center;
    letter-spacing: .1em;
}

.c-pageTitle::after {
    content: "";
    display: block;
    width: 48px;
    height: 1px;
    background: var(--patio-accent);
    margin: .8em auto 0;
}