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



/* Remove yellow underline/highlight decorations */
mark, .marker, .highlight, .yellow-marker,
[class*="marker"], [class*="highlight"], [class*="underline"] {
  background-image: none !important;
  background-color: transparent !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}

/* Customizer image icons */
.header-line__icon-img{width:32px;height:32px;object-fit:contain;display:block;}


/* Footer SERVICE AREA: city list in two columns */
.footer-service-area-list,
.footer-service-area__list,
.site-footer .service-area-list,
.site-footer [class*="service-area"] ul,
.lp-footer [class*="service-area"] ul,
.footer-area-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 22px !important;
  row-gap: 7px !important;
  align-items: start !important;
}
.footer-service-area-list > *,
.footer-service-area__list > *,
.site-footer .service-area-list > *,
.site-footer [class*="service-area"] ul > *,
.lp-footer [class*="service-area"] ul > *,
.footer-area-list > * {
  margin: 0 !important;
}


/* =========================================================
   FRITTS 共通デザイン
   固定ページ・投稿ページをTOPページの配色に統一
   ========================================================= */

body.page:not(.home),
body.single-post {
  --fritts-green: #94B721;
  --fritts-green-dark: #6f8a18;
  --fritts-teal: #2ca8a3;
  --fritts-rose: #EB7885;
  --fritts-bg-alt: #F7F8F4;
  --fritts-border: #eceee6;
  --fritts-text: #222222;
  --fritts-text-body: #333333;
}

/* 本文全体 */
body.page:not(.home) .post_content,
body.single-post .post_content {
  color: var(--fritts-text-body);
  line-height: 1.9;
  font-size: 16px;
}

/* ページ・投稿タイトル */
body.page:not(.home) .c-pageTitle,
body.single-post .c-pageTitle,
body.page:not(.home) .c-postTitle__ttl,
body.single-post .c-postTitle__ttl,
body.page:not(.home) .p-articleHead h1,
body.single-post .p-articleHead h1 {
  color: var(--fritts-text);
  font-weight: 800;
  letter-spacing: .01em;
}

/* H2：TOPのターコイズ系 */
body.page:not(.home) .post_content h2,
body.single-post .post_content h2 {
  position: relative;
  margin-top: 2.8em;
  margin-bottom: 1.3em;
  padding: .65em 0 .65em 22px;
  color: var(--fritts-teal) !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 800;
  line-height: 1.45;
  box-shadow: none !important;
}

body.page:not(.home) .post_content h2::before,
body.single-post .post_content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  bottom: .65em;
  width: 5px;
  border-radius: 999px;
  background: var(--fritts-green);
}

/* H3：黄緑アクセント */
body.page:not(.home) .post_content h3,
body.single-post .post_content h3 {
  margin-top: 2.1em;
  margin-bottom: 1em;
  padding: 0 0 .55em;
  color: var(--fritts-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--fritts-green) !important;
  font-weight: 800;
}

/* H4 */
body.page:not(.home) .post_content h4,
body.single-post .post_content h4 {
  color: var(--fritts-green-dark);
  font-weight: 800;
}

/* 通常リンク */
body.page:not(.home) .post_content a:not(.wp-block-button__link),
body.single-post .post_content a:not(.wp-block-button__link) {
  color: var(--fritts-green-dark);
  text-decoration-color: rgba(148,183,33,.45);
  text-underline-offset: 3px;
}

body.page:not(.home) .post_content a:not(.wp-block-button__link):hover,
body.single-post .post_content a:not(.wp-block-button__link):hover {
  color: var(--fritts-green);
}

/* WordPressボタン */
body.page:not(.home) .wp-block-button__link,
body.single-post .wp-block-button__link,
body.page:not(.home) .is-style-btn_normal a,
body.single-post .is-style-btn_normal a {
  background: var(--fritts-green) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: .9em 1.8em !important;
  font-weight: 700;
  border: 0 !important;
  box-shadow: none !important;
}

body.page:not(.home) .wp-block-button__link:hover,
body.single-post .wp-block-button__link:hover {
  background: #82a11c !important;
  color: #fff !important;
}

/* 引用 */
body.page:not(.home) .post_content blockquote,
body.single-post .post_content blockquote {
  margin: 1.8em 0;
  padding: 1.4em 1.6em;
  background: var(--fritts-bg-alt);
  border-left: 4px solid var(--fritts-green);
  border-radius: 10px;
  color: #555;
}

/* リスト */
body.page:not(.home) .post_content ul li::marker,
body.single-post .post_content ul li::marker,
body.page:not(.home) .post_content ol li::marker,
body.single-post .post_content ol li::marker {
  color: var(--fritts-green);
  font-weight: 700;
}

/* テーブル */
body.page:not(.home) .post_content table,
body.single-post .post_content table {
  border-color: var(--fritts-border);
}

body.page:not(.home) .post_content table th,
body.single-post .post_content table th {
  background: var(--fritts-bg-alt);
  color: var(--fritts-green-dark);
  font-weight: 700;
}

/* 区切り線 */
body.page:not(.home) .post_content hr,
body.single-post .post_content hr {
  border: 0;
  border-top: 1px solid var(--fritts-border);
  margin: 2.5em 0;
}

/* 画像 */
body.page:not(.home) .post_content img,
body.single-post .post_content img {
  border-radius: 14px;
}

/* SWELL系ボックスの角丸と色味を統一 */
body.page:not(.home) .post_content .swell-block-capbox,
body.single-post .post_content .swell-block-capbox,
body.page:not(.home) .post_content .is-style-border,
body.single-post .post_content .is-style-border {
  border-color: var(--fritts-border) !important;
  border-radius: 14px;
}

/* パンくず・メタ情報を少し控えめに */
body.page:not(.home) .p-breadcrumb,
body.single-post .p-breadcrumb,
body.single-post .p-articleMetas {
  color: #777;
}

/* モバイル */
@media (max-width: 767px) {
  body.page:not(.home) .post_content,
  body.single-post .post_content {
    font-size: 15px;
    line-height: 1.85;
  }

  body.page:not(.home) .post_content h2,
  body.single-post .post_content h2 {
    padding-left: 16px;
    font-size: 1.45em;
  }

  body.page:not(.home) .post_content h2::before,
  body.single-post .post_content h2::before {
    width: 4px;
  }

  body.page:not(.home) .post_content h3,
  body.single-post .post_content h3 {
    font-size: 1.2em;
  }
}


/* =========================================================
   FRITTS 共通デザイン 強制適用版
   SWELL側の既存見出し装飾より優先するため詳細度を上げる
   ========================================================= */

/* 対象：固定ページ・通常投稿・カテゴリ由来の投稿など、TOP以外 */
body:not(.home) .l-mainContent .post_content,
body:not(.home) .l-mainContent .c-postContent {
  color: #333 !important;
  line-height: 1.9 !important;
}

/* 記事タイトル */
body:not(.home) .l-mainContent .c-pageTitle,
body:not(.home) .l-mainContent .c-postTitle__ttl,
body:not(.home) .l-mainContent .p-articleHead h1,
body:not(.home) .l-mainContent .post_content > h1:first-child {
  color: #222 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

/* H2 */
body:not(.home) .l-mainContent .post_content h2,
body:not(.home) .l-mainContent .c-postContent h2 {
  position: relative !important;
  display: block !important;
  margin: 2.8em 0 1.25em !important;
  padding: .72em .9em .72em 1.25em !important;
  color: #2ca8a3 !important;
  background: #f7f8f4 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body:not(.home) .l-mainContent .post_content h2::before,
body:not(.home) .l-mainContent .c-postContent h2::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 6px !important;
  background: #94B721 !important;
  border-radius: 12px 0 0 12px !important;
}

body:not(.home) .l-mainContent .post_content h2::after,
body:not(.home) .l-mainContent .c-postContent h2::after {
  content: none !important;
}

/* H3 */
body:not(.home) .l-mainContent .post_content h3,
body:not(.home) .l-mainContent .c-postContent h3 {
  margin: 2.1em 0 1em !important;
  padding: 0 0 .55em !important;
  color: #222 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 3px solid #94B721 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

body:not(.home) .l-mainContent .post_content h3::before,
body:not(.home) .l-mainContent .post_content h3::after,
body:not(.home) .l-mainContent .c-postContent h3::before,
body:not(.home) .l-mainContent .c-postContent h3::after {
  content: none !important;
}

/* H4 */
body:not(.home) .l-mainContent .post_content h4,
body:not(.home) .l-mainContent .c-postContent h4 {
  color: #6f8a18 !important;
  font-weight: 800 !important;
}

/* リンク */
body:not(.home) .l-mainContent .post_content a:not(.wp-block-button__link),
body:not(.home) .l-mainContent .c-postContent a:not(.wp-block-button__link) {
  color: #6f8a18 !important;
  text-decoration-color: rgba(148,183,33,.45) !important;
  text-underline-offset: 3px !important;
}

/* ボタン */
body:not(.home) .l-mainContent .wp-block-button__link,
body:not(.home) .l-mainContent .is-style-btn_normal a,
body:not(.home) .l-mainContent .swell-block-button__link {
  background: #94B721 !important;
  color: #fff !important;
  border-radius: 999px !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

/* 引用 */
body:not(.home) .l-mainContent .post_content blockquote,
body:not(.home) .l-mainContent .c-postContent blockquote {
  background: #f7f8f4 !important;
  border-left: 4px solid #94B721 !important;
  border-radius: 10px !important;
}

/* 表 */
body:not(.home) .l-mainContent .post_content table th,
body:not(.home) .l-mainContent .c-postContent table th {
  background: #f7f8f4 !important;
  color: #6f8a18 !important;
}

/* 画像 */
body:not(.home) .l-mainContent .post_content img,
body:not(.home) .l-mainContent .c-postContent img {
  border-radius: 14px;
}

/* 記事本文幅と余白を少しTOP寄りに */
body:not(.home) .l-mainContent .l-article,
body:not(.home) .l-mainContent .p-article {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* スマホ */
@media (max-width: 767px) {
  body:not(.home) .l-mainContent .post_content h2,
  body:not(.home) .l-mainContent .c-postContent h2 {
    font-size: 1.42em !important;
    padding-left: 1.05em !important;
  }
  body:not(.home) .l-mainContent .post_content h3,
  body:not(.home) .l-mainContent .c-postContent h3 {
    font-size: 1.18em !important;
  }
}
