@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
*/

/* テーブルの横幅を100%基準にする */
.custom-table-col table {
  table-layout: fixed;
  width: 100%;
}

/* 1列目（メインメニュー） */
.custom-table-col th:nth-child(1),
.custom-table-col td:nth-child(1) {
  width: 35%;
}

/* 2列目（内容・所要時間） */
.custom-table-col th:nth-child(2),
.custom-table-col td:nth-child(2) {
  width: 40%;
}

/* 3列目（料金） */
.custom-table-col th:nth-child(3),
.custom-table-col td:nth-child(3) {
  width: 25%;
}

/* フローティングバナー */
@media screen and (max-width: 959px) {

    body {
        padding-bottom: 60px;
        /* 固定メニューの高さに合わせて余白を設定 */
    }

    .p-fixBtnWrap {
        bottom: 5.5em;
        /* 上に戻るボタンの位置を上に */
    }

    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;

        /* #F5F5F5を85％の濃さにする */
        background-color: rgba(245, 245, 245, 0.50);

        padding: 0.3em;
    }

    #fixed-bottom-menu .swell-block-column {
        padding: 0.5em;
    }

    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em;
    }
}

@media screen and (min-width: 960px) {

    #fixed-bottom-menu,
    #fixed-sidebar-menu {
        display: none;
        /* PCでは非表示にする */
    }
}

/* SWELL: PCヘッダーを常に全幅に（透明/非透明どちらでも） */
@media (min-width: 1025px) {
  /* 幅制限している内側コンテナを解除し、フルブリードに */
  .l-fixHeader__inner,
  .l-header__inner,
  .l-fixHeader__inner > .c-container,
  .l-header__inner > .c-container,
  .l-fixHeader__inner .l-container,
  .l-header__inner .l-container {
    max-width: none !important;
    width: 100vw !important;
    /* 画面端まで広げつつ中央寄せを維持するテクニック */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    /* 端がくっつきすぎないようにガターを確保（お好みで調整） */
    padding-left: clamp(16px, 4vw, 40px);
    padding-right: clamp(16px, 4vw, 40px);
  }

  /* ナビの左右を均等に広げたい場合（任意） */
  .p-globalNav__inner { justify-content: space-between; }
}

.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 10s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
    width: 500px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 66.67%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 400px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* メインビジュアルの要素を下寄せ */
.p-mainVisual__textLayer { 
justify-content: flex-end; 
}

/* ヘッダーナビゲーション調整 */
.c-gnav>.menu-item>a .ttl {
font-size: 20px;
color: #C79A54;
font-weight: bold;
letter-spacing: 1.3px;
}

/* コンタクトフォームの空白設定 */
.wpcf7-form p {
    margin-bottom: 20px; /* ここで好きな間隔を設定 */
}

/* --- スマホでのみ表示 (599px以下) --- */
@media screen and (max-width: 599px) {
  .show-sp-only {
    display: block !important;
  }
}

/* --- それ以外の画面サイズ（タブレット・PC）では非表示 --- */
@media screen and (min-width: 600px) {
  .show-sp-only {
    display: none !important;
  }
}

/* タブレットでのみ表示 */
.show-on-tablet {
    display: none; /* デフォルトでは非表示にする */
}

/* SWELLのタブレットサイズ（600px以上）で表示 */
@media (min-width: 600px) {
    .show-on-tablet {
        display: block;
    }
}

/* SWELLのPCサイズ（1024px以上）で非表示 */
@media (min-width: 1024px) {
    .show-on-tablet {
        display: none;
    }
}

/* スマホのハンバーガーメニューの色 */
@media screen and (max-width: 959px) {
    .c-iconBtn.-menuBtn {
        color: #C79A54 !important;
    }
}

/* ========================================
   SWELL SNSアクションエリア
   by U オフホワイト・ゴールドデザイン
======================================== */

/* エリア全体 */
.p-snsCta {
    background: #FAF8F2;
    color: #6b5b4b;
    border: 1px solid #C79A54;
    border-radius: 4px;
    box-shadow: none;
    margin: 3em auto;
}

/* 背景画像を非表示 */
.p-snsCta__figure {
    display: none;
}

/* 黒い半透明レイヤーを変更 */
.p-snsCta__body {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.96),
            rgba(250, 248, 242, 0.96)
        );
    min-height: 180px;
    padding: 32px 20px;
}

/* メッセージ */
.p-snsCta__message {
    color: #6b5b4b;
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: 0.08em;
    margin-bottom: 18px;
}

/* Instagramボタン */
.p-snsCta .c-instaFollowLink {
    background: #C79A54;
    color: #fff;
    min-width: 190px;
    height: 42px;
    padding: 0 22px;
    border-radius: 30px;
    font-size: 13px;
    justify-content: center;
    letter-spacing: 0.05em;
    box-shadow: none;
    transition: opacity 0.3s, transform 0.3s;
}

/* Instagram標準グラデーションを消す */
.p-snsCta .c-instaFollowLink::before {
    display: none;
}

/* Instagramアイコン */
.p-snsCta .c-instaFollowLink i {
    font-size: 16px;
    margin-right: 7px;
}

/* ホバー時 */
.p-snsCta .c-instaFollowLink:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}

/* スマホ */
@media screen and (max-width: 599px) {
    .p-snsCta__body {
        min-height: 160px;
        padding: 28px 16px;
    }

    .p-snsCta__message {
        font-size: 14px;
    }
}