/*!
 * Theme Name: Cocoon Child - HANA
 * Description: フジコー研修企画 C案「華 ─ HANA」カスタムデザイン
 * Template: cocoon-master
 * Version: 2.0
 *
 * ============================================
 *  カラーパレット（C案デザインコンプ準拠）
 *  Primary:     #B87898
 *  Secondary:   #D4A0B8
 *  Background:  #FAF6F8
 *  Text:        #3A2A32
 *  Text Dark:   #5A2A42
 *  Accent BG:   #FCE4EC
 *  Footer:      #2A1A22
 * ============================================
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@400;600;700&display=swap');

body {
  font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
  color: #3A2A32;
  background-color: #FAF6F8;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'palt';
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.article-title,
.widget-title {
  font-family: 'Noto Serif JP', '游明朝', 'Yu Mincho', serif;
  color: #5A2A42;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: #B87898;
  transition: color 0.3s ease;
  text-decoration: none;
}
a:hover {
  color: #A06080;
}

/* ===========================================================
   2. ヘッダー＋ナビ統合（C案 - top_menu_small_right レイアウト）
   =========================================================== */

/* コンテナ全体 */
#header-container,
.header-container,
#header-container-in {
  background: linear-gradient(90deg, #fff 0%, #FDF4F8 100%) !important;
}
#header-container-in {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  align-items: center;
  border-bottom: 1px solid #E8D0DC;
}

/* ヘッダー（ロゴ部分） */
.header {
  background: transparent !important;
  border-bottom: none !important;
  height: auto !important;
  flex-shrink: 0;
}
.header-in {
  display: flex;
  align-items: center;
  height: 80px;
  padding: 0 !important;
}

/* ロゴマーク（CSS疑似要素） */
.logo-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  position: relative;
  padding-left: 62px !important;
  white-space: nowrap;
}

.site-name-text-link {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.2 !important;
}
.site-name-text-link::after {
  content: 'CS Manner Training';
  display: block;
  font-size: 9px;
  color: #A07888;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: 'Noto Sans JP', sans-serif;
  margin-top: 2px;
}
.logo-header::before {
  content: 'CS\a FUJIKO';
  white-space: pre-line;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 50px; height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #D4A0B8, #B87898);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 9px; font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  line-height: 1.2;
}

/* サイト名 */
.site-name-text {
  font-family: 'Noto Serif JP', serif !important;
  color: #6A3A52 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  white-space: nowrap;
}

/* ナビゲーション */
#navi {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  flex: 1;
}
#navi-in {
  padding: 0 !important;
}
.navi-in .menu-header {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
}
.navi-in .menu-header > li > a {
  color: #7A5A68 !important;
  font-size: 11px !important;
  letter-spacing: 0.5px;
  padding: 8px 10px !important;
  font-family: 'Noto Sans JP', sans-serif;
  transition: all 0.3s;
  white-space: nowrap;
}
.navi-in .menu-header > li > a:hover {
  color: #B87898 !important;
  background: transparent !important;
}
.navi-in > .menu-header > .current-menu-item > a,
.navi-in > .menu-header > .current-menu-ancestor > a {
  color: #B87898 !important;
  border-bottom: 2px solid #B87898;
}


/* ナビ項目のオーバーフロー防止・自然幅レイアウト */
.hlt-tm-right .menu-header > li {
  width: auto !important;
  flex: none !important;
}
.hlt-tm-right .menu-header > li > a {
  padding: 8px 10px !important;
  font-size: 11px !important;
  width: auto !important;
}
#header-container-in.hlt-top-menu {
  flex-wrap: nowrap !important;
}
#navi .navi-in {
  width: auto !important;
  max-width: none !important;
}
.navi-in .menu-header {
  flex-wrap: nowrap !important;
}
/* ドロップダウン */
.navi-in > .menu-header .sub-menu {
  background: #fff !important;
  border: 1px solid #F0DCE4 !important;
  box-shadow: 0 4px 15px rgba(160,96,128,0.08) !important;
}
.navi-in > .menu-header .sub-menu a {
  border-bottom: 1px solid #F8EEF2 !important;
  font-size: 11px !important;
  color: #7A5A68 !important;
  padding: 8px 14px !important;
}
.navi-in > .menu-header .sub-menu li:last-child a {
  border-bottom: none !important;
}

/* ===========================================================
   3. 通知エリア（C案デザインコンプ準拠）
   =========================================================== */
.notice-area {
  display: none !important;
}
.notice-area a {
  color: #8A4A68 !important;
  font-size: 11px;
  font-family: 'Noto Sans JP', sans-serif;
}


/* ===========================================================
   3. 通知エリア（C案デザインコンプ準拠）
   =========================================================== */
.notice-area {
  background: linear-gradient(90deg, #FCE4EC, #FDF0F4, #FCE4EC) !important;
  padding: 8px !important;
  text-align: center;
}
.notice-area a {
  color: #8A4A68 !important;
  font-size: 11px;
  font-family: 'Noto Sans JP', sans-serif;
}

.appeal {
  display: none !important;
}
.front-top-page .recommended {
  display: none !important;
}
.front-top-page .carousel {
  display: none !important;
}
.front-top-page .content-in {
  max-width: 100%;
  padding: 0;
}
.front-top-page .main {
  width: 100%;
  padding: 0;
  margin: 0;
}
.front-top-page #content {
  margin: 0;
  padding: 0;
}
.front-top-page .article {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
}
.front-top-page .entry-content {
  margin: 0;
  padding: 0 !important;
}
.front-top-page .sidebar {
  display: none !important;
}
.front-top-page .breadcrumb {
  display: none !important;
}
.front-top-page .entry-title,
.front-top-page .date-tags,
.front-top-page .sns-share,
.front-top-page .sns-follow,
.front-top-page .author-info,
.front-top-page .under-entry-content,
.front-top-page .related-entries,
.front-top-page .pager-post-navi,
.front-top-page .comment-area {
  display: none !important;
}

.hana-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #E8B8CC 0%, #D498B0 30%, #B87898 70%, #A06080 100%);
  color: #fff;
  padding: 80px 60px;
}
.hana-hero::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -40px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent);
}
.hana-hero::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: 10%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255,220,230,0.08);
}
.hana-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.hana-hero-label {
  font-size: 11px;
  letter-spacing: 5px;
  opacity: 0.8;
  margin-bottom: 16px;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-hero h2 {
  font-size: 30px;
  line-height: 1.7;
  margin-bottom: 16px;
  font-weight: 600;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
}
.hana-hero p {
  font-size: 14px;
  opacity: 0.9;
  line-height: 1.9;
  margin-bottom: 30px;
  font-weight: 300;
}
.hana-btn {
  display: inline-block;
  background: #fff;
  color: #A06080 !important;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 14px 36px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  transition: all 0.3s;
}
.hana-btn:hover {
  background: #FDF4F8;
  color: #A06080 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.hana-section-header {
  text-align: center;
  margin-bottom: 30px;
}
.hana-section-title {
  font-size: 24px;
  font-weight: 600;
  color: #5A2A42;
  margin-bottom: 6px;
  font-family: 'Noto Serif JP', serif;
}
.hana-section-en {
  font-size: 10px;
  letter-spacing: 4px;
  color: #C8A0B4;
  margin-bottom: 10px;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-section-line {
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, #D4A0B8, #E8C8D8);
  margin: 0 auto;
}
.hana-grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.hana-grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}
.hana-features,
.hana-services,
.hana-message,
.hana-voices,
.hana-blog {
  padding: 60px 40px;
}
.hana-features {
  background: #fff;
}
.hana-feature-card {
  text-align: center;
  padding: 30px 20px;
}
.hana-feature-icon {
  width: 120px;
  height: 120px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hana-feature-icon img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: contain;
}
.hana-feature-title {
  font-size: 15px;
  margin-bottom: 6px;
  color: #6A3A52;
  font-weight: 600;
  font-family: 'Noto Serif JP', serif;
}
.hana-feature-text {
  font-size: 12px;
  color: #907080;
  line-height: 1.7;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-services {
  background: #FAF6F8;
}
.hana-service-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 3px 18px rgba(160,96,128,0.06);
  border: 1px solid #F0DCE4;
  transition: transform 0.3s;
  text-decoration: none;
  display: block;
  color: inherit;
}
.hana-service-card:hover {
  transform: translateY(-3px);
  color: inherit;
}
.hana-service-img {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #A07888;
  font-size: 16px;
  font-family: 'Noto Serif JP', serif;
}
.hana-service-body {
  padding: 20px;
}
.hana-service-title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #5A2A42;
  font-family: 'Noto Serif JP', serif;
}
.hana-service-text {
  font-size: 11px;
  color: #907080;
  line-height: 1.7;
  font-family: 'Noto Sans JP', sans-serif;
}

.hana-message {
  background: #fff;
}
.hana-msg-grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
.hana-msg-photo {
  width: 200px;
  height: 260px;
  border-radius: 10px;
  background: linear-gradient(135deg, #F0D0E0, #E4B8CC);
  border: 3px solid #F8E4EC;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B08898;
  font-size: 14px;
  font-family: 'Noto Serif JP', serif;
}
.hana-msg-content h3 {
  font-size: 20px;
  color: #5A2A42;
  margin-bottom: 12px;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.7;
}
.hana-msg-content p {
  font-size: 13px;
  color: #6A4A58;
  line-height: 2;
}
.hana-msg-name {
  text-align: right;
  color: #B08898;
  font-size: 13px;
  margin-top: 10px;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-voices {
  background: #FAF6F8;
}
.hana-voice-card {
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  border-left: 3px solid #D4A0B8;
}
.hana-voice-text {
  font-size: 12px;
  color: #5A3A48;
  line-height: 1.9;
  margin-bottom: 10px;
}
.hana-voice-author {
  font-size: 10px;
  color: #B08898;
  text-align: right;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-blog {
  background: #fff;
}
.hana-blog-card {
  background: #FAF6F8;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #F0DCE4;
  text-decoration: none;
  display: block;
  color: inherit;
  transition: transform 0.3s;
}
.hana-blog-card:hover {
  transform: translateY(-3px);
  color: inherit;
}
.hana-blog-thumb {
  height: 130px;
  background: linear-gradient(135deg, #F4DCE8, #E8C8D8);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B08898;
  font-size: 14px;
  font-family: 'Noto Serif JP', serif;
}
.hana-blog-body {
  padding: 16px;
}
.hana-blog-cat {
  display: inline-block;
  padding: 2px 10px;
  font-size: 10px;
  border-radius: 20px;
  background: #FCE4EC;
  color: #8A4A68;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-blog-title {
  font-size: 13px;
  color: #5A2A42;
  margin-top: 6px;
  line-height: 1.5;
  font-family: 'Noto Serif JP', serif;
}
.hana-cta {
  background: linear-gradient(135deg, #D498B0, #B87898, #A06080);
  color: #fff;
  padding: 50px 40px;
  text-align: center;
}
.hana-cta h3 {
  font-size: 22px;
  margin-bottom: 10px;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
}
.hana-cta p {
  font-size: 13px;
  opacity: 0.9;
  margin-bottom: 20px;
  font-family: 'Noto Sans JP', sans-serif;
}
.hana-cta .hana-btn {
  background: #fff;
  color: #A06080 !important;
}
.hana-cta-tel {
  font-size: 12px;
  opacity: 0.8;
  margin-top: 12px;
  font-family: 'Noto Sans JP', sans-serif;
}
.footer {
  background: #2A1A22 !important;
  color: #C4A0B0;
  padding: 40px;
}
.footer a {
  color: #C4A0B0;
}
.footer a:hover {
  color: #E4C0D0;
}
.footer h4,
.footer-widget-title {
  color: #E4C0D0 !important;
  font-family: 'Noto Serif JP', serif;
  font-size: 13px;
  margin-bottom: 10px;
  font-weight: 600;
}
.footer li {
  font-size: 11px;
  padding: 3px 0;
  color: #9A7888;
  list-style: none;
  font-family: 'Noto Sans JP', sans-serif;
}
.copyright {
  text-align: center;
  font-size: 10px;
  color: #6A4A58;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid #4A2A3A;
  font-family: 'Noto Sans JP', sans-serif;
}
.go-to-top-button {
  background: #B87898;
  color: #fff;
  border-radius: 50%;
}
.go-to-top-button:hover {
  background: #A06080;
}

.entry-card-wrap {
  border-radius: 10px;
  border: 1px solid #F0DCE4;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.entry-card-wrap:hover {
  box-shadow: 0 4px 18px rgba(160,96,128,0.1);
}
.entry-card-title {
  font-family: 'Noto Serif JP', serif;
  color: #5A2A42;
}
.entry-card-snippet {
  color: #6A4A58;
}
.cat-label {
  background: #FCE4EC !important;
  color: #8A4A68 !important;
  border-radius: 20px;
  font-size: 11px;
  padding: 2px 10px;
}
.article {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(160,96,128,0.04);
}
.article h2 {
  border: none;
  border-left: 4px solid #B87898;
  padding: 12px 20px;
  background: linear-gradient(90deg, #F0DCE4, transparent);
  color: #5A2A42 !important;
  font-size: 22px;
  margin-top: 40px;
}
.article h3 {
  border: none;
  border-bottom: 2px solid #E8D0DC;
  padding-bottom: 8px;
  font-size: 18px;
  margin-top: 30px;
}
.article h4 {
  color: #6A3A52;
  font-size: 16px;
  padding-left: 12px;
  border-left: 3px solid #D4A0B8;
}
.article table th {
  background: #B87898;
  color: #fff;
}
.article table td {
  border-color: #F0DCE4;
}
.article table tr:nth-child(even) td {
  background: #FDF8FA;
}
.widget-title {
  font-family: 'Noto Serif JP', serif;
  color: #5A2A42;
  border-bottom: 2px solid #B87898;
  padding-bottom: 8px;
  font-size: 15px;
}
.author-box {
  border: 1px solid #F0DCE4;
  border-radius: 10px;
  background: #fff;
}
.author-name {
  font-family: 'Noto Serif JP', serif;
  color: #5A2A42;
}
.btn,
.wp-block-button__link,
.btn-wrap a {
  background: #B87898;
  color: #fff;
  border-radius: 30px;
  transition: all 0.3s;
}
.btn:hover,
.wp-block-button__link:hover,
.btn-wrap a:hover {
  background: #A06880;
  transform: translateY(-2px);
}
.btn-wrap.btn-wrap-l a {
  background: linear-gradient(135deg, #D498B0, #B87898);
}
.breadcrumb {
  background: #fff;
  border-bottom: 1px solid #F0DCE4;
  color: #907080;
}
.breadcrumb a {
  color: #B87898;
}
.pagination .current {
  background: #B87898;
  color: #fff;
  border-radius: 6px;
}
.pagination a {
  color: #B87898;
  border: 1px solid #E8D0DC;
  border-radius: 6px;
}
.pagination a:hover {
  background: #FCE4EC;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  border: 1px solid #E8D0DC;
  border-radius: 6px;
  padding: 12px 16px;
  background: #FDF8FA;
  font-size: 14px;
  transition: border-color 0.3s;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: #B87898;
  outline: none;
  box-shadow: 0 0 0 3px rgba(184,120,152,0.1);
}
.wpcf7 input[type="submit"] {
  background: linear-gradient(135deg, #D498B0, #B87898) !important;
  color: #fff !important;
  border: none;
  border-radius: 30px;
  padding: 14px 50px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s;
}
.wpcf7 input[type="submit"]:hover {
  background: linear-gradient(135deg, #C488A0, #A06888) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(184,120,152,0.3);
}
.wpcf7 .wpcf7-checkbox .wpcf7-list-item-label {
  padding-left: 4px;
  color: #5A3A48;
}
.blank-box {
  border-color: #E8D0DC;
}
.blank-box.bb-tab .bb-label {
  background: #B87898;
}
.blank-box.bb-quote {
  border-left: 3px solid #D4A0B8;
  background: #FDF8FA;
  border-radius: 10px;
}
.toggle-wrap .toggle-button {
  background: #FAF0F4;
  border: 1px solid #E8D0DC;
  color: #5A2A42;
}
.toggle-wrap .toggle-button:hover {
  background: #F5E6F0;
}
.toggle-wrap.open .toggle-button {
  background: #B87898;
  color: #fff;
  border-color: #B87898;
}
.toggle-wrap .toggle-content {
  border: 1px solid #E8D0DC;
  border-top: none;
}
.tab-caption-box .tab-caption-label {
  background: #B87898;
  color: #fff;
}
.tab-caption-box .tab-caption-box-content {
  border-color: #B87898;
}
.toc {
  border: 1px solid #E8D0DC;
  border-radius: 10px;
  background: #FDF8FA;
}
.toc-title {
  color: #5A2A42;
  font-family: 'Noto Serif JP', serif;
}
.toc a { color: #6A3A52; }
.toc a:hover { color: #B87898; }
.cta-box {
  background: #FAF6F8;
  border: 1px solid #F0DCE4;
  border-radius: 12px;
}
.cta-heading {
  font-family: 'Noto Serif JP', serif;
  color: #5A2A42;
}
.cta-button {
  background: linear-gradient(135deg, #D498B0, #B87898) !important;
  color: #fff !important;
  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-weight: 500;
  box-shadow: 0 3px 12px rgba(184,120,152,0.3);
  transition: all 0.3s;
}
.cta-button:hover {
  background: linear-gradient(135deg, #C488A0, #A06888) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(184,120,152,0.4);
}
.sns-share-message { color: #907080; }
.related-entry-heading {
  font-family: 'Noto Serif JP', serif;
  color: #5A2A42;
}

@media screen and (max-width: 1023px) {
  .hana-grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 834px) {
  .hana-hero {
    padding: 50px 24px;
  }
  .hana-hero h2 {
    font-size: 22px;
  }
  .hana-hero p {
    font-size: 13px;
  }
  .hana-features,
  .hana-services,
  .hana-message,
  .hana-voices,
  .hana-blog {
    padding: 40px 20px;
  }
  .hana-grid3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .hana-grid4 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .hana-msg-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hana-msg-photo {
    margin: 0 auto;
    width: 160px;
    height: 210px;
  }
  .hana-section-title {
    font-size: 20px;
  }
  .hana-cta {
    padding: 40px 20px;
  }
  .hana-cta h3 {
    font-size: 18px;
  }
  .article h2 {
    font-size: 18px;
  }
  .mobile-menu-buttons {
    background: #fff;
    border-top: 1px solid #F0DCE4;
  }
  .mobile-menu-buttons .menu-button > a {
    color: #B87898;
  }
  .menu-drawer {
    background: #fff;
  }
  .menu-drawer a {
    color: #5A2A42;
    border-bottom: 1px solid #F8EEF2;
  }
}


/* ===========================================================
   下層ページ共通スタイル（固定ページ）
   =========================================================== */

/* ── ページタイトルバナー ── */
.page:not(.front-top-page) .entry-title,
.page-template-default:not(.front-top-page) .entry-title {
  display: block !important;
  background: linear-gradient(135deg, #e8b8cc 0%, #d498b0 30%, #b87898 70%, #a06080 100%);
  color: #fff !important;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 3px;
  text-align: center;
  padding: 48px 40px;
  margin: 0 -40px 40px !important;
  position: relative;
  overflow: hidden;
  font-family: 'Noto Serif JP', serif;
}
.page:not(.front-top-page) .entry-title::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -40px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(255,255,255,.12), transparent);
}

/* ── 固定ページ：不要要素非表示 ── */
.page:not(.front-top-page) .sns-share,
.page:not(.front-top-page) .sns-follow,
.page:not(.front-top-page) .date-tags,
.page:not(.front-top-page) .author-info,
.page:not(.front-top-page) .under-entry-content,
.page:not(.front-top-page) .comment-area,
.page:not(.front-top-page) .pager-post-navi,
.page:not(.front-top-page) .related-entries {
  display: none !important;
}

/* ── 固定ページ：1カラム・サイドバー非表示 ── */
.page:not(.front-top-page) .main {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  float: none !important;
}
.page:not(.front-top-page) .sidebar {
  display: none !important;
}

/* ── 固定ページ：記事本体 ── */
.page:not(.front-top-page) .article {
  background: #fff;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 12px rgba(160,96,128,0.04);
  padding: 0 40px 40px;
  margin-bottom: 40px;
}

/* ── パンくず ── */
.page:not(.front-top-page) .breadcrumb {
  max-width: 900px;
  margin: 0 auto;
  padding: 12px 20px;
  font-size: 12px;
  background: transparent;
}

/* ===========================================================
   フッター（C案デザインコンプ準拠）
   =========================================================== */
#footer {
  background: #2A1A22 !important;
  color: #C4A0B0;
}
#footer a {
  color: #C4A0B0 !important;
}
#footer a:hover {
  color: #E4C0D0 !important;
}
.footer-bottom {
  background: #2A1A22 !important;
  border-top: 1px solid #4A2A3A;
}
.footer-bottom-content {
  color: #6A4A58;
  font-size: 11px;
}
.footer-widget-area .widget-title {
  color: #E4C0D0 !important;
  border-bottom-color: #5A3A4A !important;
}
.navi-footer-in a {
  color: #9A7888 !important;
  font-size: 12px;
}
.navi-footer-in a:hover {
  color: #E4C0D0 !important;
}

/* ===========================================================
   23. フロントページ追加修正
   =========================================================== */
/* 目次を非表示 */
.front-top-page .toc,
.front-top-page .toc-content {
  display: none !important;
}

/* フロントページのh2セクションタイトル - Cocoonデフォルトスタイルを上書き */
.front-top-page .entry-content h2.hana-section-title {
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  background: none !important;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  color: #5A2A42;
  margin: 0 0 6px 0;
  font-family: 'Noto Serif JP', serif;
}

/* フロントページのヒーロー内h2 */
.front-top-page .hana-hero h2 {
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  background: none !important;
  text-align: left;
  font-size: 30px;
  color: #fff;
  margin: 0 0 16px 0;
}

/* フロントページのCTA内h3 */
.front-top-page .hana-cta h3 {
  color: #fff;
}

/* フロントページの代表メッセージ内h3 */
.front-top-page .hana-msg-content h3 {
  border: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  background: none !important;
}

/* admin-barの下余白修正 */
.admin-bar .header {
  margin-top: 0;
}

/* フロントページ：タイトルバナー・1カラム等の上書き防止 */
body.front-top-page .entry-title {
  display: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ===========================================================
   余白調整・フォントサイズ見直し（全ページ共通）
   =========================================================== */

/* --- ヘッダーとヒーロー間のギャップ除去 --- */
.hana-hero {
  margin-top: 0;
  padding: 70px 60px 60px;
  margin-bottom: 0 !important;
  margin-left: -10px;
  margin-right: -10px;
  width: calc(100% + 20px);
}

/* フロントページ #navi 非表示（ヘッダー内にメニュー配置済み）*/
/* #navi の余白を詰める（メニューは表示維持） */
.page-id-6 #navi {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* フロントページのヒーロー上部余白を詰める */
.page-id-6 .article-header {
  display: none !important;
}
.page-id-6 .entry-content {
  margin-top: 0 !important;
}
.page-id-6 #header {
  height: 70px !important;
}
.page-id-6 #header-in {
  height: 70px !important;
  display: flex !important;
  align-items: center !important;
}


/* --- フロントページ セクション間余白を詰める --- */
.page-id-6 .entry-content > section {
  margin-bottom: 0 !important;
}

/* --- 各セクションのpaddingを適切に調整 --- */
.hana-features,
.hana-services,
.hana-message,
.hana-voices,
.hana-blog {
  padding: 50px 40px 40px;
}

.hana-cta {
  padding: 45px 40px;
}

/* --- セクション見出しを大きく --- */
.hana-section-title {
  font-size: 30px !important;
  margin-bottom: 4px !important;
}

.hana-section-sub {
  font-size: 13px !important;
  margin-bottom: 30px !important;
}

/* --- ヒーローのフォントサイズ拡大 --- */
.hana-hero h2 {
  font-size: 36px !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

.hana-hero-label {
  font-size: 14px !important;
  margin-bottom: 16px !important;
}

.hana-hero p {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.hana-hero-btn {
  margin-top: 24px !important;
  font-size: 15px !important;
  padding: 14px 36px !important;
}

/* --- 3つの理由セクション フォント拡大 --- */
.hana-reason-icon {
  width: 80px !important;
  height: 80px !important;
  font-size: 36px !important;
  margin: 0 auto 16px !important;
}

.hana-reason-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}

.hana-reason-text {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.hana-features .hana-reason-grid {
  gap: 30px !important;
}

/* --- サービスカード フォント拡大 --- */
.hana-service-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

.hana-service-text {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.hana-service-body {
  padding: 14px 16px 16px !important;
}

.hana-service-img {
  height: 160px !important;
}

.hana-service-img span {
  font-size: 16px !important;
}

/* --- 代表メッセージ フォント拡大 --- */
.hana-msg-content h3 {
  font-size: 22px !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

.hana-msg-content p {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.hana-msg-name {
  font-size: 15px !important;
}

/* --- お客様の声 フォント拡大 --- */
.hana-voice-card {
  padding: 24px !important;
}

.hana-voice-text {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.hana-voice-attr {
  font-size: 13px !important;
}

/* --- ブログカード フォント拡大 --- */
.hana-blog-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.hana-blog-cat {
  font-size: 12px !important;
  padding: 3px 10px !important;
}

.hana-blog-card .hana-blog-body {
  padding: 14px 16px !important;
}

/* --- CTAセクション フォント拡大 --- */
.hana-cta h2 {
  font-size: 26px !important;
  margin-bottom: 10px !important;
}

.hana-cta p {
  font-size: 15px !important;
}

.hana-cta-btn {
  font-size: 16px !important;
  padding: 16px 40px !important;
}

.hana-cta-tel {
  font-size: 14px !important;
  margin-top: 14px !important;
}

/* --- 内部ページ共通の余白調整 --- */
.page:not(.page-id-6) .article-header {
  margin-bottom: 20px;
}

.page:not(.page-id-6) .entry-content {
  padding: 0 10px;
}

.page:not(.page-id-6) .entry-content h2 {
  font-size: 24px;
  margin-top: 36px;
  margin-bottom: 16px;
}

.page:not(.page-id-6) .entry-content h3 {
  font-size: 20px;
  margin-top: 28px;
  margin-bottom: 12px;
}

.page:not(.page-id-6) .entry-content p {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 16px;
}

/* 内部ページのブレッドクラム */
.breadcrumb {
  padding: 8px 20px !important;
  font-size: 13px !important;
}

/* --- Cocoon本体の余分なマージンを除去 --- */
.page-id-6 .entry-content > * {
  margin-bottom: 0 !important;
}

/* 内部ページのセクション間余白 */
.page:not(.page-id-6) .entry-content > section {
  margin-bottom: 0;
}

/* --- フッター余白微調整 --- */
.hana-footer {
  padding: 40px 20px 20px !important;
}

.hana-footer-menu {
  margin-bottom: 20px !important;
}
