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

/*
Theme Name: SWELL CHILD
Template: swell
*/

/*
Theme Name: SWELL CHILD
Template: swell
*/
/* ========================================
   SWELL h2/h3 カスタムクラス 汎用リセット
======================================== */

/* --- h2 / h3 本体リセット --- */
.post_content h2.section-title,
.post_content h2.cta-title,
.post_content h3.service-title,
.swell-block-fullWideInner h2.section-title,
.swell-block-fullWideInner h2.cta-title,
.swell-block-fullWideInner h3.service-title {
  background:       transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  padding:          0 !important;
  margin-top:       0 !important;
  border:           none !important;
  border-top:       none !important;
  border-bottom:    none !important;
  border-left:      none !important;
  border-radius:    0 !important;
  position:         static !important;
  z-index:          auto !important;
}

/* --- ::before / ::after ボーダー線を消す --- */
.post_content h2.section-title::before,
.post_content h2.section-title::after,
.post_content h2.cta-title::before,
.post_content h2.cta-title::after,
.post_content h3.service-title::before,
.post_content h3.service-title::after,
.swell-block-fullWideInner h3.service-title::before,
.swell-block-fullWideInner h3.service-title::after {
  display: none !important;
  content: none !important;
}

/* ========================================
   やさしいきもち カスタムスタイル
   ベース: v8デザイン
======================================== */
 
/* フォント読み込み */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Noto+Serif+JP:wght@300;400;500&family=Noto+Sans+JP:wght@300;400&display=swap');
 
/* ========================================
   カラー変数
======================================== */
:root {
  /* メインカラー */
  --rose:       #C9897A;
  --rose-light: #E8C5BC;
  --rose-pale:  #F5EAE6;
  
  /* サブカラー */
  --cream:      #FAF6F2;
  --warm-white: #FFFCF9;
  --sage:       #8FA888;
  --sage-light: #D4E2CF;
  
  /* テキストカラー */
  --charcoal:   #3A3330;
  --mid:        #7A6E68;
  --light:      #B0A49E;
  
  /* アクセント */
  --gold:       #C4A97A;
  
  /* Swellの変数を上書き */
  --swl-color-main: #C9897A;
  --swl-color-text: #3A3330;
  --swl-color-bg: #FFFCF9;
}
 
/* ========================================
   基本スタイル
======================================== */
body {
  font-family: 'Noto Sans JP', sans-serif;
  background: var(--warm-white);
  color: var(--charcoal);
  font-weight: 300;
  line-height: 1.8;
}
/* ========================================
   ヘッダーカスタマイズ 完全版
   実クラス名確認済み・重複解消済み
======================================== */

/* --- ヘッダー背景：透過＋blur --- */
#header,
.l-header {
  background-color:       rgba(255, 252, 249, 0.92) !important;
  backdrop-filter:        blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom:          1px solid rgba(201, 137, 122, 0.15) !important;
  box-shadow:             none !important;
}

/* --- ロゴリンク --- */
.c-headLogo__link {
  text-decoration: none !important;
}

/* --- ロゴテキスト「Yasashii Kimochi」--- */
.c-headLogo__txt,
h1.c-headLogo__txt,
.c-headLogo__link,
a.c-headLogo__link,
.-txt .c-headLogo__link,
.l-header__logo .c-headLogo__link {
  font-family:    'Cormorant Garamond', serif !important;
  font-size:      1.1rem !important;
  font-weight:    400 !important;
  letter-spacing: .15em !important;
  color:          var(--rose) !important;
  line-height:    1.3 !important;
}

/* --- キャッチフレーズ「合同会社やさしいきもち」--- */
div.c-catchphrase.u-thin {
  display:        block !important;
  font-family:    'Noto Serif JP', serif !important;
  font-size:      .6rem !important;
  letter-spacing: .2em !important;
  color:          var(--mid) !important;
  font-weight:    400 !important;
  opacity:        1 !important;
  padding:        0 !important;
  width:          100% !important;
  margin-top:     4px !important;
}

/* --- グローバルナビ：リンク文字 --- */
.c-gnav .menu-item > a,
.c-gnav .menu-item > a .ttl {
  font-size:      .72rem !important;
  letter-spacing: .15em !important;
  color:          var(--charcoal) !important;
  font-weight:    400 !important;
}

/* --- グローバルナビ：ホバー下線アニメ（ボタン以外） --- */
.c-gnav .menu-item:not(.nav-cta) > a {
  position: relative !important;
}
.c-gnav .menu-item:not(.nav-cta) > a::after {
  content:    '' !important;
  display:    block !important;
  position:   absolute !important;
  bottom:     0 !important;
  left:       0 !important;
  width:      0 !important;
  height:     1px !important;
  background: var(--rose) !important;
  transition: width .3s ease !important;
}
.c-gnav .menu-item:not(.nav-cta) > a:hover::after {
  width: 100% !important;
}

/* --- 予約ボタン（li.nav-cta） --- */
.c-gnav li.nav-cta > a {
  background:    var(--rose) !important;
  color:         #fff !important;
  padding:       10px 24px !important;
  border-radius: 2px !important;
  height:        auto !important;
  transition:    background .3s !important;
}
.c-gnav li.nav-cta > a:hover {
  background: var(--charcoal) !important;
}
.c-gnav li.nav-cta > a span.ttl {
  color: #fff !important;
}
.c-gnav li.nav-cta > a::before,
.c-gnav li.nav-cta > a::after {
  display: none !important;
}
/* ========================================
   ヘッダー 追加修正
======================================== */

/* --- 1. ボタンの縦位置修正：ヘッダー内で中央揃え --- */
.c-gnav li.nav-cta {
  display:     flex !important;
  align-items: center !important;
}
.c-gnav li.nav-cta > a {
  height: auto !important;
  line-height: 1 !important;
}

/* --- 2. スクロール後もヘッダー背景・blur を維持 --- */
#header.l-header,
#header.l-header.is-scrolled,
#header[data-spfix="1"],
.l-header,
.l-header.is-scrolled {
  background-color:        rgba(255, 252, 249, 0.92) !important;
  backdrop-filter:         blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom:           1px solid rgba(201, 137, 122, 0.15) !important;
  box-shadow:              none !important;
}

/* --- 3. スクロール後もキャッチフレーズを表示 --- */
.l-header.is-scrolled .c-catchphrase,
.l-header.is-scrolled div.c-catchphrase.u-thin,
#header[data-spfix="1"] .c-catchphrase {
  display:   block !important;
  opacity:   1 !important;
  max-height: none !important;
  overflow:  visible !important;
  visibility: visible !important;
}

/* --- 4. スマホ：ハンバーガーメニュー内にボタンを表示 --- */
@media (max-width: 900px) {
  /* SWELLのスマホメニュー内でnav-ctaを表示 */
  .p-spMenu .nav-cta,
  .p-spMenu li.nav-cta {
    display: block !important;
  }
  .p-spMenu li.nav-cta > a {
    background:    var(--rose) !important;
    color:         #fff !important;
    padding:       12px 24px !important;
    border-radius: 2px !important;
    text-align:    center !important;
    display:       block !important;
    margin:        16px !important;
  }

  /* --- 5. スマホ：キャッチフレーズの余白調整 --- */
  div.c-catchphrase.u-thin {
    margin-top:  2px !important;
    font-size:   .55rem !important;
    line-height: 1.2 !important;
  }
}

/* スマホ：キャッチフレーズ位置調整 */
@media (max-width: 959px) {
  .l-header__logo {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    flex-start !important;
    justify-content: center !important;
  }

  div.c-catchphrase.u-thin {
    margin-top:  1px !important;
    font-size:   .55rem !important;
    line-height: 1.2 !important;
    width:       auto !important;
  }
}
/* スマホ：ロゴエリア全体をcolumn方向に整列 */
@media (max-width: 959px) {
  .l-header__logo {
    display:         flex !important;
    flex-direction:  column !important;
    align-items:     flex-start !important;
    justify-content: center !important;
    gap:             0 !important;
  }

  /* h1自体の余白をゼロに */
  .l-header__logo h1.c-headLogo__txt,
  .l-header__logo .c-headLogo__txt {
    margin:      0 !important;
    padding:     0 !important;
    line-height: 1.3 !important;
  }

  /* キャッチフレーズをh1直下に密着 */
  .l-header__logo div.c-catchphrase.u-thin {
    margin-top:  0 !important;
    padding-top: 0 !important;
    font-size:   .55rem !important;
    line-height: 1.2 !important;
    width:       auto !important;
  }
}
/* ========================================
   ヒーローセクション
======================================== */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 0 80px;
  overflow: hidden;
}
 
.hero-text {
  max-width: 700px;
  padding: 0 48px;
  text-align: center;
}
 
.eyebrow {
  font-family: 'Cormorant Garamond', serif;
  font-size: .75rem;
  letter-spacing: .4em;
  color: var(--rose);
  margin-bottom: 24px;
}
 
.hero h1 {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 300;
  line-height: 1.6;
  color: var(--charcoal);
  margin-bottom: 32px;
}
 
.hero h1 em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3em;
  color: var(--rose);
}
 
.hero-desc {
  font-size: .85rem;
  color: var(--mid);
  line-height: 2;
  margin-bottom: 48px;
}
 
.hero-btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
 
/* ========================================
   ボタン
======================================== */
.btn-primary {
  display: inline-block;
  background: var(--rose);
  color: #fff;
  padding: 16px 40px;
  font-size: .75rem;
  letter-spacing: .2em;
  text-decoration: none;
  border-radius: 2px;
  transition: all .3s;
}
 
.btn-primary:hover {
  background: var(--charcoal);
  transform: translateY(-2px);
}
 
.btn-outline {
  display: inline-block;
  border: 1px solid var(--rose);
  color: var(--rose);
  padding: 16px 40px;
  font-size: .75rem;
  letter-spacing: .2em;
  text-decoration: none;
  border-radius: 2px;
  transition: all .3s;
}
 
.btn-outline:hover {
  background: var(--rose-pale);
  transform: translateY(-2px);
}
 
/* Swellの既存ボタンも上書き */
.c-btn--main,
.wp-block-button__link {
  background-color: var(--rose) !important;
  color: #fff !important;
}
 
.c-btn--main:hover,
.wp-block-button__link:hover {
  background-color: var(--charcoal) !important;
}
 
/* ========================================
   セクション共通
======================================== */
section {
  padding: 100px 0;
}
 
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 48px;
}
 
.section-header {
  text-align: center;
  margin-bottom: 64px;
}
 
.section-eyebrow {
  font-family: 'Cormorant Garamond', serif;
  font-size: .8rem;
  letter-spacing: .4em;
  color: var(--rose);
  margin-bottom: 16px;
  display: block;
}
 
/*.section-title {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--charcoal);
  line-height: 1.6;
}*/

/* ========================================
   SWELLデフォルトh2スタイルの完全リセット＋上書き
   v2: ::before / ::after ボーダーと margin も無効化
======================================== */

/* --- 本体のリセット --- */
.post_content h2.section-title,
.l-mainContent h2.section-title,
.swell-block-fullWideInner h2.section-title,
h2.section-title {
  /* SWELLのh2帯背景を消す */
  background:       transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  /* SWELLのh2 padding / margin を消す */
  padding:        0 !important;
  margin-top:     0 !important;
  margin-bottom:  0 !important;

  /* SWELLのh2ボーダーをすべて消す */
  border:        none !important;
  border-top:    none !important;
  border-bottom: none !important;
  border-left:   none !important;
  border-right:  none !important;
  border-radius: 0 !important;
  outline:       none !important;

  /* SWELLのposition/z-indexを解除 */
  position: static !important;
  z-index:  auto !important;

  /* --- デザイン本来の指定 --- */
  font-family:    'Noto Serif JP', serif !important;
  font-size:      clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight:    300 !important;
  color:          var(--charcoal) !important;
  line-height:    1.6 !important;
  text-align:     center;
}

/* --- ::before / ::after で引かれるボーダー線を消す --- */
.post_content h2.section-title::before,
.post_content h2.section-title::after,
.swell-block-fullWideInner h2.section-title::before,
.swell-block-fullWideInner h2.section-title::after,
h2.section-title::before,
h2.section-title::after {
  display:    none !important;
  content:    none !important;
  border:     none !important;
  background: none !important;
  width:      0 !important;
  height:     0 !important;
}

/* --- section-header ブロック全体の余白調整 --- */
/* SWELLがh2の親要素にも余白を付与する場合があるため */
.post_content .section-header,
.swell-block-fullWideInner .section-header,
.section-header {
  margin-top:    0 !important;
  margin-bottom: 64px !important;
  padding:       0 !important;
}

/* --- section-eyebrow（英字小見出し）--- */
.post_content .section-eyebrow,
.swell-block-fullWideInner .section-eyebrow,
.section-eyebrow {
  font-family:    'Cormorant Garamond', serif !important;
  font-size:      .8rem !important;
  letter-spacing: .4em !important;
  color:          var(--rose) !important;
  margin-bottom:  16px !important;
  display:        block !important;
  background:     transparent !important;
  padding:        0 !important;
}
 
.section-divider {
  width: 40px;
  height: 1px;
  background: var(--rose);
  margin: 20px auto 0;
}
 
/* ========================================
   経営理念セクション
======================================== */
.philosophy {
  background: var(--rose-pale);
  position: relative;
  overflow: hidden;
}
 
.philosophy::before {
  content: 'Concept';
  position: absolute;
  top: 40px;
  left: 48px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 6rem;
  color: rgba(201,137,122,.06);
  font-style: italic;
  pointer-events: none;
  line-height: 1;
}
 
.philosophy-grid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 0 64px;
  align-items: center;
}
 
.philosophy-divider {
  height: 200px;
  background: linear-gradient(to bottom, transparent, var(--rose-light), transparent);
  align-self: center;
}
 
.philosophy-quote {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 300;
  line-height: 2;
  color: var(--charcoal);
}
 
.philosophy-quote strong {
  color: var(--rose);
  font-weight: 500;
}
 
.philosophy-body {
  font-size: .85rem;
  color: var(--mid);
  line-height: 2.2;
}
 
/* ========================================
   サービスグリッド
======================================== */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
 
.service-card {
  background: var(--warm-white);
  border: 1px solid rgba(201,137,122,.15);
  border-radius: 4px;
  padding: 40px 32px;
  text-decoration: none;
  color: inherit;
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
}
 
.service-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, var(--rose), var(--sage));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
 
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(58,51,48,.08);
  border-color: rgba(201,137,122,.3);
}
 
.service-card:hover::before {
  transform: scaleX(1);
}
 
.service-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--rose-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  font-size: 1.3rem;
}
 
.service-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: .75rem;
  letter-spacing: .3em;
  color: var(--light);
  margin-bottom: 12px;
}
 
/*.service-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 16px;
  line-height: 1.5;
}*/
/* --- h3.service-title デザイン本来の指定 --- */
.post_content h3.service-title,
.swell-block-fullWideInner h3.service-title,
h3.service-title {
  font-family:   'Noto Serif JP', serif !important;
  font-size:     1rem !important;
  font-weight:   400 !important;
  color:         var(--charcoal) !important;
  line-height:   1.5 !important;
  margin-bottom: 16px !important;
}
 
.service-desc {
  font-size: .78rem;
  color: var(--mid);
  line-height: 2;
}
 
.service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  font-size: .72rem;
  letter-spacing: .15em;
  color: var(--rose);
}
 
.service-link::after {
  content: '→';
  transition: transform .3s;
}
 
.service-card:hover .service-link::after {
  transform: translateX(4px);
}
 
/* ========================================
   メディアセクション
======================================== */
.media {
  background: var(--cream);
}
 
.media-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}
 
.media-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border: 1px solid rgba(201,137,122,.25);
  border-radius: 100px;
  font-size: .72rem;
  color: var(--mid);
  letter-spacing: .1em;
  background: var(--warm-white);
  transition: all .3s;
}
 
.media-tag:hover {
  background: var(--rose-pale);
  border-color: var(--rose);
  color: var(--rose);
}
 
.media-tag::before {
  content: '◆';
  font-size: .5em;
  color: var(--rose);
}
 
/* ========================================
   情報バー
======================================== */
.info-band {
  background: var(--charcoal);
  padding: 64px 0;
}
 
.info-band-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.1);
}
 
.info-item {
  background: var(--charcoal);
  padding: 40px 48px;
  text-align: center;
}
 
.info-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: .75rem;
  letter-spacing: .3em;
  color: var(--rose-light);
  margin-bottom: 12px;
}
 
.info-value {
  font-family: 'Noto Serif JP', serif;
  font-size: .9rem;
  color: #fff;
  line-height: 1.8;
}
 
/* ========================================
   CTAセクション
======================================== */
.cta-section {
  background: linear-gradient(135deg, var(--rose-pale) 0%, var(--sage-light) 100%);
  padding: 100px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
 
.cta-section::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(201,137,122,.1);
}
 
.cta-section::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -40px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(143,168,136,.1);
}
 
/*.cta-title {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-weight: 300;
  color: var(--charcoal);
  margin-bottom: 16px;
  position: relative;
}*/
/* ========================================
   CTA見出し (.cta-title) のリセット＋上書き
   SWELLのh2デフォルト装飾を無効化
======================================== */
.post_content h2.cta-title,
.swell-block-fullWideInner h2.cta-title,
h2.cta-title {
  background:       transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  padding:        0 !important;
  margin-top:     0 !important;
  margin-bottom:  16px !important;

  border:        none !important;
  border-top:    none !important;
  border-bottom: none !important;
  border-left:   none !important;
  border-radius: 0 !important;

  position: static !important;
  z-index:  auto !important;

  /* --- デザイン本来の指定 --- */
  font-family:  'Noto Serif JP', serif !important;
  font-size:    clamp(1.2rem, 2.5vw, 1.8rem) !important;
  font-weight:  300 !important;
  color:        var(--charcoal) !important;
  line-height:  1.4 !important;
}

/* ::before / ::after ボーダー線を消す */
.post_content h2.cta-title::before,
.post_content h2.cta-title::after,
h2.cta-title::before,
h2.cta-title::after {
  display:    none !important;
  content:    none !important;
  border:     none !important;
  background: none !important;
}
 
.cta-sub {
  font-size: .85rem;
  color: var(--mid);
  margin-bottom: 48px;
  position: relative;
}
 
.cta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}
 
/* ========================================
   フッター
======================================== */
footer {
  background: var(--charcoal);
  padding: 80px 0 40px;
}
 
.footer-top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 64px;
  margin-bottom: 64px;
}
 
.footer-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  color: var(--rose-light);
  letter-spacing: .15em;
  margin-bottom: 20px;
}
 
.footer-desc {
  font-size: .75rem;
  color: var(--light);
  line-height: 2;
}
 
.footer-nav-title {
  font-size: .7rem;
  letter-spacing: .25em;
  color: var(--rose-light);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
 
.footer-nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
 
.footer-nav a {
  font-size: .75rem;
  color: var(--light);
  text-decoration: none;
  transition: color .3s;
}
 
.footer-nav a:hover {
  color: var(--rose-light);
}
 
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
 
.footer-copy {
  font-size: .65rem;
  color: var(--light);
  letter-spacing: .1em;
}
/* ========================================
   フッターカスタマイズ
======================================== */

/* --- フッター全体 --- */
.l-footer {
  background-color: var(--charcoal) !important;
  padding: 80px 0 40px !important;
}

/* --- ロゴ（footer-logo） --- */
.l-footer .footer-logo {
  font-family:    'Cormorant Garamond', serif !important;
  font-size:      1.2rem !important;
  color:          var(--rose-light) !important;
  letter-spacing: .15em !important;
  margin-bottom:  20px !important;
  background:     transparent !important;
  padding:        0 !important;
  border:         none !important;
}

/* --- 住所テキスト（footer-desc） --- */
.l-footer .footer-desc {
  font-size:   .75rem !important;
  color:       var(--light) !important;
  line-height: 2 !important;
}

/* --- ウィジェットタイトル（SERVICES・COMPANY）--- */
.l-footer .c-widget__title,
.l-footer .c-widget__title.-footer,
.l-footer .widget-title,
.l-footer .widgettitle {
  font-size:      .7rem !important;
  letter-spacing: .25em !important;
  color:          var(--rose-light) !important;
  margin-bottom:  20px !important;
  padding-bottom: 12px !important;
  padding-top:    0 !important;
  border-bottom:  1px solid rgba(255,255,255,.1) !important;
  border-top:     none !important;
  border-left:    none !important;
  background:     transparent !important;
  font-family:    'Noto Sans JP', sans-serif !important;
  font-weight:    400 !important;
  overflow:       visible !important;
}

.l-footer .c-widget__title::before,
.l-footer .c-widget__title::after,
.l-footer .c-widget__title.-footer::before,
.l-footer .c-widget__title.-footer::after {
  display: none !important;
  content: none !important;
}
/* --- ナビメニューのリスト --- */
.l-footer .widget_nav_menu ul {
  list-style:     none !important;
  padding:        0 !important;
  margin:         0 !important;
  display:        flex !important;
  flex-direction: column !important;
  gap:            12px !important;
}

/* --- ナビリンク --- */
.l-footer .widget_nav_menu a {
  font-size:      .75rem !important;
  color:          var(--light) !important;
  text-decoration: none !important;
  transition:     color .3s !important;
  letter-spacing: .05em !important;
}
.l-footer .widget_nav_menu a:hover {
  color: var(--rose-light) !important;
}

/* --- ナビの矢印アイコンを非表示 --- */
.l-footer .widget_nav_menu .menu-item > a::before {
  display: none !important;
  content: none !important;
}

/* --- コピーライト行 --- */
.l-footer .l-footer__bottom,
.l-footer .p-footer__copyright {
  border-top:  1px solid rgba(255,255,255,.08) !important;
  padding-top: 32px !important;
  margin-top:  64px !important;
  font-size:   .65rem !important;
  color:       var(--light) !important;
  letter-spacing: .1em !important;
}

/* --- CTAとフッターの間の隙間を消す --- */
.l-footer {
  margin-top: 0 !important;
}
.cta-section + *,
section#contact + * {
  margin-top: 0 !important;
}
/* ========================================
   アニメーション
======================================== */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
 
.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}
 
/* ========================================
   レスポンシブ
======================================== */
@media (max-width: 900px) {
  .hero {
    padding: 100px 0 60px;
  }
  
  .hero-text {
    padding: 0 32px;
  }
  
  .philosophy-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .philosophy-divider {
    display: none;
  }
  
  .services-grid {
    grid-template-columns: 1fr;
  }
  
  .info-band-grid {
    grid-template-columns: 1fr;
  }
  
  .footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
/* CTAとフッターの間の隙間を解消 */
.l-content {
  margin-bottom: 0 !important;
}

/* トップページのコンテンツ上部パディングを解消 */
.top #content {
  padding-top: 0 !important;
}
/* CTAブロック直下のmargin-bottomを解消 */
.swell-block-fullWide__inner:last-of-type,
#contact.cta-section,
section#contact {
  margin-bottom: 0 !important;
}

/* SWELLの全幅ブロックのmargin-bottomを最後の要素だけ解消 */
.post_content > .swell-block-fullWide:last-child .swell-block-fullWide__inner,
.post_content > .swell-block-fullWide:last-of-type {
  margin-bottom: 0 !important;
}
.petals { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.petal { position: absolute; width: 6px; height: 6px; border-radius: 50% 0 50% 0; background: rgba(201,137,122,.2); animation: float-petal linear infinite; }
@keyframes float-petal { 0%{transform:translateY(-20px) rotate(0deg);opacity:0;} 10%{opacity:1;} 90%{opacity:.6;} 100%{transform:translateY(100vh) rotate(720deg);opacity:0;} }
