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

/* Typography readability polish 2026-07-06 START */
:root {
  --ma-type-ink: #10233a;
  --ma-type-body: #24384c;
  --ma-type-muted: #526275;
  --ma-type-soft: #64758a;
}

body {
  color: var(--ma-type-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.smc,
.smac-home,
.post_content,
.p-entry__content,
.c-postContent,
.kmc-cf7-form {
  letter-spacing: 0 !important;
  line-break: strict;
  word-break: normal;
  word-break: auto-phrase;
  overflow-wrap: break-word;
}

.smc :where(p, li, dd),
.smac-home :where(p, li, dd),
.post_content :where(p, li, dd),
.p-entry__content :where(p, li, dd),
.c-postContent :where(p, li, dd) {
  color: var(--ma-type-body);
  font-size: 16px;
  line-height: 1.9 !important;
}

.smc-lead,
.smac-lead,
.smc-hero__lead,
.smac-hero__lead,
.smc-contact__lead,
.kmc-cf7-lead {
  color: #3b4f63 !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  font-weight: 700 !important;
}

.smc-h1,
.smc-subhero h1,
.smac-hero h1,
.smc-contact h1,
.post_content h1,
.p-entry__content h1,
.c-postContent h1 {
  line-height: 1.28 !important;
  text-wrap: balance;
  letter-spacing: 0 !important;
}

.smc-title,
.smac-title,
.smc-contact-card h2,
.post_content h2,
.p-entry__content h2,
.c-postContent h2 {
  line-height: 1.4 !important;
  text-wrap: balance;
  letter-spacing: 0 !important;
}

.smc-card h3,
.smac-card h3,
.smc-photo-card strong,
.smac-photo-card strong,
.smc-insight h3,
.smac-insight h3,
.post_content h3,
.p-entry__content h3,
.c-postContent h3 {
  line-height: 1.48 !important;
  text-wrap: balance;
  letter-spacing: 0 !important;
}

.smc-card p,
.smac-card p,
.smc-photo-card p,
.smac-photo-card p,
.smc-insight p,
.smac-insight p,
.smc-step p,
.smac-step p,
.smc-field span,
.smac-field span,
.smc-faq p,
.smac-faq p {
  color: var(--ma-type-muted) !important;
  font-size: 14px;
  line-height: 1.82 !important;
}

.smc-btn,
.smac-btn,
.smc-mobile-bar a,
.smc-contact-card__button,
.kmc-cf7-submit .wpcf7-submit {
  line-height: 1.35 !important;
  text-align: center;
  text-wrap: balance;
  white-space: normal !important;
}

.smc-nav,
.smac-nav,
.smc-topline,
.smac-topline,
.smc-footer,
.smac-footer {
  letter-spacing: 0 !important;
}

.smc-table th,
.smc-table td,
.post_content table th,
.post_content table td,
.p-entry__content table th,
.p-entry__content table td,
.c-postContent table th,
.c-postContent table td {
  line-height: 1.75 !important;
  vertical-align: top;
}

.post_content > p,
.post_content > ul,
.post_content > ol,
.p-entry__content > p,
.p-entry__content > ul,
.p-entry__content > ol,
.c-postContent > p,
.c-postContent > ul,
.c-postContent > ol {
  max-width: 46em;
  margin-right: auto;
  margin-left: auto;
}

.post_content h2,
.p-entry__content h2,
.c-postContent h2 {
  margin-top: 2.1em !important;
  margin-bottom: .85em !important;
  color: #0f2a44 !important;
}

.post_content h3,
.p-entry__content h3,
.c-postContent h3 {
  margin-top: 1.75em !important;
  margin-bottom: .65em !important;
  color: #173456 !important;
}

.kmc-cf7-label,
.kmc-cf7-field label,
.kmc-cf7-hint,
.kmc-cf7-note {
  line-height: 1.75 !important;
}

.kmc-cf7-label {
  font-size: 15px !important;
}

.kmc-cf7-hint,
.kmc-cf7-note {
  color: #475467 !important;
  font-size: 14px !important;
}

@media (max-width: 960px) {
  .smc-lead,
  .smac-lead,
  .smc-hero__lead,
  .smac-hero__lead,
  .smc-contact__lead,
  .kmc-cf7-lead {
    font-size: 16px !important;
    line-height: 1.86 !important;
  }

  .smc :where(p, li, dd),
  .smac-home :where(p, li, dd),
  .post_content :where(p, li, dd),
  .p-entry__content :where(p, li, dd),
  .c-postContent :where(p, li, dd) {
    font-size: 15.5px;
    line-height: 1.86 !important;
  }
}

@media (max-width: 640px) {
  .smc-h1,
  .smc-subhero h1,
  .smac-hero h1,
  .smc-contact h1,
  .post_content h1,
  .p-entry__content h1,
  .c-postContent h1 {
    line-height: 1.34 !important;
  }

  .smc-title,
  .smac-title,
  .smc-contact-card h2,
  .post_content h2,
  .p-entry__content h2,
  .c-postContent h2 {
    line-height: 1.42 !important;
  }

  .smc-card p,
  .smac-card p,
  .smc-photo-card p,
  .smac-photo-card p,
  .smc-insight p,
  .smac-insight p,
  .smc-step p,
  .smac-step p,
  .smc-field span,
  .smac-field span,
  .smc-faq p,
  .smac-faq p {
    font-size: 14.5px;
    line-height: 1.82 !important;
  }

  .smc-btn,
  .smac-btn,
  .smc-mobile-bar a,
  .smc-contact-card__button,
  .kmc-cf7-submit .wpcf7-submit {
    min-height: 46px;
    padding-right: 14px;
    padding-left: 14px;
  }
}
/* Typography readability polish 2026-07-06 END */
