@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
*/
.post_content>*{margin-bottom:0px;}
.mincho{font-family: "Noto Serif JP", serif;}
.Oswald{font-family: Oswald;}
.post_content h2.is-style-section_ttl{color:#1D6565;font-family: "Noto Serif JP", serif; font-size: 34px;font-weight: 500!important;}
.post_content h3.is-style-section_ttl{color:#1D6565;font-family: "Noto Serif JP", serif;font-size:20px;font-weight:500!important;}
.swell-block-button.green_ .swell-block-button__link span{box-shadow:none;}
.l-fixHeader__logo{padding:10px 0;}

/* セクション同士の食い込みを解除（各セクションのpaddingを活かす） */
.post_content > .swell-block-fullWide {
  margin-top: 0 !important;
}

@media (max-width: 959px) {
	.post_content { font-size: 15px; }
	.post_content h2.is-style-section_ttl{font-size:18px;}
	.post_content h3.is-style-section_ttl{font-size: 18px;}
}


/* =========================================
   ボタン ホバー：背景と文字色を反転（サイト共通）
   ========================================= */
.swell-block-button__link {
  transition: background-color .25s ease, color .25s ease,
              box-shadow .25s ease !important;
}

/* --- LINE緑：緑地×白文字 → 白地×緑文字 --- */
.swell-block-button.green_ .swell-block-button__link:hover {
  opacity: 1 !important;
  background-color: #fff !important;
  color: #06C755 !important;
  box-shadow: inset 0 0 0 1.5px #06C755,
              0 4px 8px -4px rgba(0,0,0,.18) !important;
}

/* --- ティール塗り：ティール地×白文字 → 白地×ティール文字 --- */
.swell-block-button.is-style-btn_normal:not(.green_) .swell-block-button__link:hover {
  opacity: 1 !important;
  background-color: #fff !important;
  color: #1D6565 !important;
  box-shadow: inset 0 0 0 1.5px #1D6565,
              0 4px 8px -4px rgba(0,0,0,.18) !important;
}

/* --- 白抜き（Instagram）：もともと白地なので逆に塗りへ --- */
.swell-block-button.is-style-btn_line .swell-block-button__link:hover {
  opacity: 1 !important;
  background-color: #1D6565 !important;
  color: #fff !important;
  border-color: #1D6565 !important;
}

/* クリック時（SPのタップ含む） */
.swell-block-button__link:active {
  transition-duration: .08s !important;
}

/* キーボード操作時のフォーカス可視化 */
.swell-block-button__link:focus-visible {
  outline: 2px solid #B87A56;
  outline-offset: 3px;
}
/* ボタンの影：ボタン色を薄く落としたソフトシャドウ */
.swell-block-button__link {
  box-shadow: none !important;
}
.swell-block-button.green_ .swell-block-button__link {
  box-shadow: 0 4px 12px -4px rgba(6,199,85,.55) !important;
}
.swell-block-button.is-style-btn_normal:not(.green_) .swell-block-button__link {
  box-shadow: 0 4px 12px -4px rgba(29,101,101,.45) !important;
}

/* ホバー（白抜き）時：枠線＋影を弱めて残す */
.swell-block-button.green_ .swell-block-button__link:hover {
  box-shadow: inset 0 0 0 1.5px #06C755,
              0 3px 10px -5px rgba(6,199,85,.45) !important;
}
.swell-block-button.is-style-btn_normal:not(.green_) .swell-block-button__link:hover {
  box-shadow: inset 0 0 0 1.5px #1D6565,
              0 3px 10px -5px rgba(29,101,101,.35) !important;
}




/*MV*/
/* MV：SPは動画比のまま伸ばさず、画面高さで止める */
@media (max-width: 959px) {
  .p-mainVisual.-height-img,
  .p-mainVisual.-height-img .p-mainVisual__inner,
  .p-mainVisual.-height-img .p-mainVisual__imgLayer,
  .p-mainVisual.-height-img .p-mainVisual__video {
    max-height: 90vh;
    max-height: 90svh;
  }
}


/*共通ctaセクション*/
.cta_block > .swell-block-fullWide__inner {max-width:1040px;}
.cta_block .gentei{padding:0px; width: 20%;margin-inline: auto;margin-bottom:0px;}
.post_content .cta_block h2.is-style-section_ttl{margin-top:1rem;}
.cta_block_white{
	position: relative;
    background: #FFFFFFE6;
    box-shadow: 0 8px 24px rgba(43, 46, 49, 0.12);
    margin-top: -100px;
    padding: 50px 0px 48px;
    text-align: center;
}
.cta_block_white .campaign_price_box{max-width:600px;margin-inline:auto;justify-content: space-evenly; align-items: flex-end;}
.cta_block_white .campaign_price_box p span{font-family:Oswald;}
.cta_block_white .campaign_price_box p:last-child{line-height:1.3;}

/* =========================================
   キャンペーンCTA（SP）
   ========================================= */
@media (max-width: 959px) {

  /* --- 画面端と白ボックスの間の余白 --- */
  .swell-block-fullWide.has-bg-img > .swell-block-fullWide__inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* --- 白ボックスの内側余白 --- */
	.cta_block_white{padding:40px 0px 38px;}
  .cta_block_white > .wp-block-group__inner-container {
    padding: 0px 15px !important;
  }

  /* --- 「先着10名様限定」ラベル --- */
  .cta_block_white .gentei {
    display: inline-block !important;
    width: auto !important;
    padding: 3px 18px !important;
    letter-spacing: .06em;
    margin: 0 auto 10px !important;
  }
  .cta_block_white .gentei .swl-fz { font-size: 16px !important; }

  /* --- 見出し --- */
  .cta_block_white h2.is-style-section_ttl {
    margin: 0 0 12px !important;
    line-height: 1.5;
  }
  .cta_block_white h2.is-style-section_ttl .swl-fz { font-size: 24px !important; }

  /* --- リード文 --- */
  .cta_block_white h2 + p {
    font-size: 14px !important;
    line-height: 1.8;
    margin: 0 0 20px !important;
  }
  .cta_block_white h2 + p br { display: none; }

   /* --- 価格：横並びのまま縮める --- */
  .cta_block_white .campaign_price_box {
    margin: 0 0 22px !important;
  }
  .cta_block_white .campaign_price_box,
  .cta_block_white .campaign_price_box > .wp-block-group__inner-container {
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 0 !important;
  }
  .cta_block_white .campaign_price_box p {
    width: auto !important;
    font-size: 12px !important;
  }
  /* 「通常価格」「– 特別価格 –」のラベル */
  .cta_block_white .campaign_price_box p > .swl-fz:first-child {
    font-size: 13px !important;
  }
  /* 数字：9,900 と 1,000 */
  .cta_block_white .campaign_price_box p > .swl-fz:nth-of-type(2) {
    font-size: 26px !important;
  }
  .cta_block_white .campaign_price_box .campaign_price > .swl-fz:nth-of-type(2) {
    font-size: 45px !important;
  }
  /* 矢印を特別価格の内側に配置 */
  .cta_block_white .campaign_price_box p:last-child {
    padding-left: 52px !important;
  }
  .cta_block_white .campaign_price_box p:last-child::before {
    left: 10px !important;
    right: auto !important;
    top: auto !important;
    bottom: 14px !important;
    transform: none !important;
  }

  /* --- ボタン --- */
  .cta_block_white .swell-block-button { margin: 0 0 20px !important; }
  .cta_block_white .swell-block-button__link { width: 100%; }

  /* --- 補足文・注記 --- */
  .cta_block_white .swell-block-button ~ p {
    font-size: 13px !important;
    line-height: 1.9;
    margin: 0 0 20px !important;
  }
  .cta_block_white .swell-block-button ~ p:last-child {
    font-size: 11px !important;
    margin: 0 !important;
  }
}

.campaign_price_box .campaign_price {
  position: relative;
}
.campaign_price_box .campaign_price::before {
  content: "";
  position: absolute;
  left: -72px;   /* 左右の位置 */
  top: 50px;     /* 上下の位置 */
  width: 30px;   /* 矢印の長さ */
  height: 16px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 16'><path d='M2 8h38M32 1.5L40.5 8 32 14.5' fill='none' stroke='%23151d22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center / contain;
}
/* 「通常価格」の囲い（段落の1つ目のspan） */
.campaign_price_box > p:first-child > .swl-fz:first-child {
  display: block;
  border: 1.5px solid #151d22;
  padding: 4px 16px;
  line-height: 1;
}
.campaign_price_box > p:first-child > br {
  display: none;
}

/* 「9,900」の斜め打消し線 */
.campaign_price_box > p:first-child .swl-fz:last-of-type {
  position: relative;
  display: inline-block;
}
.campaign_price_box > p:first-child .swl-fz:last-of-type::after {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  top: 50%;
  height: 1.5px;
  background: #151d22;
  transform: rotate(-12deg);   /* 角度。マイナスで右上がり */
}

/* 通常価格側を一段落とす（グレージュ） */
.campaign_price_box > p:first-child {
  color: #756e67;
}
.campaign_price_box > p:first-child > .swl-fz:first-child {
  border-color: #756e67;
  border-width: 1px;
}
.campaign_price_box > p:first-child > .swl-fz:last-of-type::after {
  background: #756e67;
}


.campaign_price_box > .campaign_price {
  padding-bottom: 3px;
}

.c-tabList__button {font-size: 16px;}
@media (max-width: 959px) {
	.c-tabList__button {font-size: 14px;}
}


/* reCAPTCHAバッジを非表示 */
.grecaptcha-badge {visibility: hidden;}
/* SP下部固定CTAのアイコン削除 */
#fix_bottom_menu .menu-item i{display:none;}
#fix_bottom_menu span{font-size:14px;margin-top:0px;}

/*ロゴ上下の余白狭める*/
@media (min-width: 960px) {
	.-series .l-header__logo {padding:10px 0;}
}
/*ハンバーガー内の最上部のMENU削除*/
.c-widget__title.-spmenu{display:none;}

/*画像スライド*/
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0.25rem;
}

.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 70s infinite linear;
}

.loop-slider .swell-block-column figure {
    width: 500px;
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%;
    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: 350px;
    }
	.loop-slider .swell-block-columns__inner {
    animation: infinity-scroll-left 45s infinite linear;
}
}

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

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

/*流れ*/
.swell-block-step__number:after{font-family:"Noto Serif JP", serif;}
.swell-block-step__item .swell-block-step__title{font-family:"Noto Serif JP", serif;font-weight:500;color:#1d6565;}
@media (max-width: 959px) {
	.swell-block-step__number{width:38px;height:38px; top: 5px;}
	.swell-block-step__item{padding: 0 0 3em 50px;}
}

/*アコーディオン*/
.c-switchIconBtn, .c-switch_icon_btn{color: #1D6565;}
.swell-block-accordion__title .swell-block-accordion__label{font-family: "Noto Serif JP";font-size:18px;font-weight: 500;}
.swell-block-accordion.is-style-simple .swell-block-accordion__body{border-top:none;}
.is-style-simple>.swell-block-accordion__item:first-child{border-top-color:#1D6565;}
.is-style-simple>.swell-block-accordion__item{border-bottom-color:#1D6565;}

/* よくある質問：質問の頭に明朝のQ */
.swell-block-accordion__title .swell-block-accordion__label {
  position: relative;
  padding-left: 2.1em !important;
}
.swell-block-accordion__label::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.5;
  color: #1D6565;
}
@media (max-width: 959px) {
	.swell-block-accordion__label::before{font-size: 1em;top: -1px;left: -10px;}
	.swell-block-accordion__title .swell-block-accordion__label{padding-left: 0.5em !important;font-size:17px;line-height: 1.5;}
	.swell-block-accordion.is-style-simple .swell-block-accordion__body{padding-top:0px;}
}

/* 共通CTA：遅延読み込みスクリプトがないページでも背景を出す */
.cta_block.has-bg-img {
  background-image: url(https://xs069147.xsrv.jp/test-personal/wp-content/uploads/2026/08/cta_bk.webp) !important;
  background-size: cover;
  background-position: center;
}

/*Googleマップ口コミ*/
.review .ti-widget.ti-goog .ti-review-item>.ti-inner{background-color:#FAF8F6!important;}

.l-footer{background:#1D6565;}
.l-footer__foot{color:#fff;}
.footer-block .swell-block-linkList.is-style-default{width:30%;}
@media screen and (max-width: 760px) {
	.footer-block .swell-block-linkList.is-style-default{width:45%;}
	.l-footer .copyright{font-size:10px;}
	.l-footer__foot{padding-bottom: 0.5em;padding-top: 0.5em;}
	#fix_bottom_menu span{font-size:16px;}
	.p-spMenu__nav { margin-top: 2em;}
}


/* =========================================
   下層ページ タイトルエリア
   ========================================= */
.l-topTitleArea::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,
              rgba(20,28,32,.38) 0%,
              rgba(20,28,32,.18) 55%,
              rgba(20,28,32,.04) 100%);
  pointer-events: none;
}
.l-topTitleArea__body {
  position: relative;
  z-index: 2;
}
.c-pageTitle {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 34px !important;
  letter-spacing: .1em;
  color: #fff !important;
  text-shadow: 0 1px 5px rgba(0,0,0,.45);
}

@media (max-width: 959px) {
  .c-pageTitle { font-size: 22px !important; letter-spacing: .06em; }
}

/* ===== 共通CTA：見出しの両脇に斜線 ===== */
.cta_block h2.is-style-section_ttl {
  position: relative;
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0;
}
.cta_block h2.is-style-section_ttl > .swl-fz {
  position: relative;
  display: inline-block;
  margin-right: -.06em; /* ← 追加：letter-spacing の末尾余白を打ち消して左右を揃える */
}
.cta_block h2.is-style-section_ttl::before,
.cta_block h2.is-style-section_ttl::after,
.cta_block h2.is-style-section_ttl > .swl-fz::before,
.cta_block h2.is-style-section_ttl > .swl-fz::after {
  content: "";
  position: absolute;
  width: 1px;
  background: #1D6565;
  pointer-events: none;
}

/* 外側の長い線 */
.cta_block h2.is-style-section_ttl::before,
.cta_block h2.is-style-section_ttl::after { top: -50px; height: 62px; }
.cta_block h2.is-style-section_ttl::before { left: -30px;  transform: rotate(-44deg); }
.cta_block h2.is-style-section_ttl::after  { right: -30px; transform: rotate(44deg); }

/* 内側の短い線 */
.cta_block h2.is-style-section_ttl > .swl-fz::before,
.cta_block h2.is-style-section_ttl > .swl-fz::after { top: -57px; height: 35px; }
.cta_block h2.is-style-section_ttl > .swl-fz::before { left: -14px;  transform: rotate(-33deg); }
.cta_block h2.is-style-section_ttl > .swl-fz::after  { right: -14px; transform: rotate(33deg); } /* ← -19px → -14px */

@media (max-width: 959px) {
  .cta_block h2.is-style-section_ttl::before,
  .cta_block h2.is-style-section_ttl::after { top: -28px; height: 40px; }
  .cta_block h2.is-style-section_ttl::before { left: -14px; }
  .cta_block h2.is-style-section_ttl::after  { right: -14px; }
  .cta_block h2.is-style-section_ttl > .swl-fz::before,
  .cta_block h2.is-style-section_ttl > .swl-fz::after { top: -34px; height: 22px; }
  .cta_block h2.is-style-section_ttl > .swl-fz::before { left: -4px; }
  .cta_block h2.is-style-section_ttl > .swl-fz::after  { right: -4px; }
}

.p-authorBox__r {justify-content:center;}
@media (max-width: 959px) {
	.p-authorBox__desc{text-align:left;}
}

.map_link{text-decoration:none;}
.map_link:hover{text-decoration:underline;}

/* MV動画の枠を先に確保（CLS対策） */
.p-mainVisual.-height-img .p-mainVisual__video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
@media (max-width: 599px) {
  .p-mainVisual.-height-img .p-mainVisual__video {
    aspect-ratio: 9 / 16;
  }
}

/*投稿記事のpタグ余白*/
.single-post .l-mainContent__inner > .post_content p {
  margin-bottom: 2em;
  line-height: 2;
}
/*投稿記事の空行（空の段落）を編集画面と同じ高さで表示*/
.single-post .l-mainContent__inner > .post_content p:empty {
  min-height: 1.8em;
}

/*投稿サイドバーSP削除*/
@media (max-width: 959px) {
.l-sidebar{display:none;}
}

/* 特別価格：見出しを「3,000」側に少し寄せて、見た目で中央に見えるよう補正 */
.campaign_price_box .campaign_price > .swl-fz:first-child {
  position: relative;
  left: -1rem;
}
@media (max-width: 959px) {
  .campaign_price_box .campaign_price > .swl-fz:first-child {
    left: -0.75rem;
  }
}