@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
*/
/*追記*/
:root {
  --navy:          #0F2A44;
  --navy-mid:      #1A3F60;
  --navy-light:    #1E4D78;
  --gold:          #C8A96A;
  --gold-light:    #D9BF8A;
  --gold-dark:     #A8853A;
  --line-green:    #3d8f5f;
  --line-dark:     #059144;
  --white:         #FFFFFF;
  --cream:         #FAF8F2;
  --bg-dark:       #0A1F33;
  --bg-section:    #F4F1EA;
  --text-dark:     #1A1A2E;
  --text-mid:      #4A5568;
  --text-light:    #718096;
  --border:        #E2E8F0;
  --shadow-sm:     0 2px 8px rgba(0,0,0,.08);
  --shadow-md:     0 8px 24px rgba(0,0,0,.12);
  --shadow-lg:     0 16px 48px rgba(0,0,0,.18);
  --radius-sm:     6px;
  --radius-md:     12px;
  --radius-lg:     20px;
  --radius-xl:     32px;
  --font-sans:     'Noto Sans JP', sans-serif;
  --font-serif:    'Noto Serif JP', serif;
  --transition:    0.3s cubic-bezier(0.4,0,0.2,1);
  --header-h:      72px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font-sans); color:var(--text-dark); background:var(--white); line-height:1.7; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

.container { max-width:1100px; margin:0 auto; padding:0 24px; }

/* ---- BUTTONS ---- */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:100px; font-weight:700; font-size:0.95rem; transition:var(--transition); white-space:nowrap; letter-spacing:0.02em; }
.btn-sm  { padding:8px 18px; font-size:0.85rem; }
.btn-lg  { padding:16px 32px; font-size:1rem; }
.btn-xl  { padding:20px 44px; font-size:1.05rem; }
.btn-line { background:var(--line-green); color:var(--white); box-shadow:0 4px 16px rgba(61,143,95,.25); }
.btn-line:hover { background:#2e7050; transform:translateY(-2px); box-shadow:0 6px 24px rgba(61,143,95,.35); }
.btn-gold { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--white); box-shadow:0 4px 16px rgba(200,169,106,.4); }
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 6px 24px rgba(200,169,106,.5); }

/* ---- HEADER ---- */
.header { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--header-h); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(0,0,0,.06); transition:box-shadow var(--transition); }
.header.scrolled { box-shadow:var(--shadow-md); }
.header-inner { max-width:1200px; margin:0 auto; padding:0 24px; height:100%; display:flex; align-items:center; gap:28px; }
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo-icon { flex-shrink:0; }
.logo-name { display:block; font-size:0.9rem; font-weight:700; color:var(--navy); letter-spacing:0.02em; }
.logo-sub  { display:block; font-size:0.62rem; color:var(--text-light); letter-spacing:0.04em; }
.nav-links { display:flex; gap:24px; flex:1; justify-content:center; }
.nav-links a { font-size:0.875rem; font-weight:500; color:var(--text-mid); padding:4px 0; position:relative; transition:color var(--transition); }
.nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:var(--gold); transition:width var(--transition); }
.nav-links a:hover { color:var(--navy); }
.nav-links a:hover::after { width:100%; }
.header-cta { flex-shrink:0; }
.hamburger { display:none; flex-direction:column; gap:5px; padding:6px; margin-left:auto; }
.hamburger span { display:block; width:24px; height:2px; background:var(--text-dark); border-radius:2px; transition:var(--transition); }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { position:fixed; top:var(--header-h); left:0; right:0; background:var(--white); padding:24px; border-top:1px solid var(--border); box-shadow:var(--shadow-lg); display:none; z-index:999; }
.mobile-menu.open { display:block; }
.mobile-nav-link { display:block; padding:14px 0; border-bottom:1px solid var(--border); font-weight:500; color:var(--text-mid); }
.mobile-cta { margin-top:20px; width:100%; justify-content:center; }
/* トップページ ヒーロー上余白削除 */
.home #content {
    padding-top: 0 !important;
}

.home .l-mainContent {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home .l-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* ============================================================
   ヒーローエリア CSS
   a-corn industry株式会社 空間再生事業部
   ============================================================ */
/* 内部グリッド：左テキスト 55% / 右は空欄（背景画像が透けて見える） */
/* ---- HERO ---- */
.hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: 0;
}
.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 55% 45%;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  min-height: 720px;
  padding: 40px 24px;
}
.hero-content { max-width: 560px; }
.hero-photo-space {}

/* ---- Hero テキスト要素 ---- */
.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold);
  color: var(--white);
  padding: 7px 18px;
  border-radius: 100px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 24px;
  box-shadow: 0 4px 16px rgba(200,169,106,.4);
}
.hero-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#D9BF8A;
    color:#fff;
    padding:10px 22px;
    border-radius:999px;
    font-size:15px;
    font-weight:700;
}

.hero-label img{
    width:18px;
    height:18px;
    object-fit:contain;
}
.hero-content .hero-title {
  font-size: 72px;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 12px;
  font-family: var(--font-serif);
  text-shadow: 0 2px 16px rgba(0,0,0,.9), 0 1px 4px rgba(0,0,0,.8);
  white-space: nowrap;
}
.hero-title-sub {
  display: block;
  font-size: clamp(1.3rem, 2.4vw, 2.6rem);
  color: var(--gold-light);
  margin-top: 10px;
  line-height: 1.3;
  margin-bottom: 2em;
}
.hero-area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 0.95rem;
  color: var(--white);
  background: rgba(200,169,106,.50);
  border: 1.5px solid var(--gold);
  padding: 7px 18px;
  border-radius: 100px;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.hero-area i { font-size: 0.85rem; color: var(--gold); }
.hero-bottom-group { display: flex; flex-direction: column; width: fit-content; }
#home .hero-inner .hero-cta-group { margin-bottom: 32px!important; width: 100%; }
.hero-cta-group .btn { width: 100%; justify-content: center; font-size: 0.95rem; padding: 12px 24px; }

/* scroll indicator */
.hero-scroll-indicator {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.45);
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.scroll-line {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(255,255,255,.5), transparent);
  animation: scrollDrop 1.8s ease-in-out infinite;
}

@keyframes scrollDrop {
  0%,100% { transform:scaleY(0); transform-origin:top; }
  50%      { transform:scaleY(1); transform-origin:top; }
}

/* ---- LINE BANNER ---- */
.line-banner {
  background: var(--navy);
  padding: 28px 0;
}
.line-banner-inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.line-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--line-green);
  color: var(--white);
  padding: 18px 40px;
  border-radius: 100px;
  min-width: 340px;
  justify-content: center;
  font-weight: 700;
  transition: all var(--transition);
  box-shadow: 0 6px 20px rgba(6,199,85,.4);
  position: relative;
}
.line-banner-btn:hover {
  background: var(--line-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(6,199,85,.5);
}
.line-banner-btn .fa-line {
  font-size: 2rem;
  flex-shrink: 0;
}
.line-banner-btn-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.line-banner-main {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.4;
}
.line-banner-sub {
  display: block;
  font-size: 0.78rem;
  color: rgba(255,255,255,.8);
  margin-top: 2px;
}
.line-banner-chevron {
  font-size: 0.85rem;
  color: rgba(255,255,255,.8);
  flex-shrink: 0;
}
/* ========================================
共通コンテンツ幅
======================================== */

.lp-container{
  width:100%;
  max-width:1052px;
  margin-left:auto;
  margin-right:auto;
}
/* =========================
 Service Icon Box
========================= */

.service-icon-box{
  background:#F8F6F1;
  border:3px solid rgba(200,169,106,.45);
  border-radius:22px;
  padding:48px 44px;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:24px;
}

.service-icon-card{
  background:#fff;
  border-radius:18px;
  padding:38px 24px 34px;
  text-align:center;
  min-height:220px;
  box-shadow:0 4px 16px rgba(0,0,0,.03);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.service-icon-card:nth-child(1),
.service-icon-card:nth-child(2),
.service-icon-card:nth-child(3){
  grid-column:span 2;
}

.service-icon-card:nth-child(4){
  grid-column:2 / span 2;
}

.service-icon-card:nth-child(5){
  grid-column:4 / span 2;
}

.service-icon-img{
  width:58px;
  height:auto;
  display:block;
  margin:0 auto 24px;
}

.service-icon-card h3{
  font-size:18px;
  line-height:1.5;
  color:#0F2A44;
  font-weight:700;
  margin:0 0 14px;
}

.service-icon-card p{
  font-size:16px;
  line-height:1.9;
  color:#2F3B4C;
  margin:0;
}
/* ========================================
Services Section
======================================== */
/* Services 見出し：SWELL見出しスタイルを上書き */

.services-heading.is-style-section_ttl{
  font-size:32px !important;
  line-height:1.5 !important;
  text-align:center !important;
  color:#172033 !important;
  font-family: var(--font-serif) !important;
  font-weight:700 !important;
  letter-spacing:.03em;
  margin:0 0 24px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.services-heading.is-style-section_ttl::before,
.services-heading.is-style-section_ttl::after{
  display:none !important;
  content:none !important;
}
.services-text{
  max-width:820px;
  margin:0 auto 72px;
  text-align:center;
  font-size:17px;
  line-height:2;
  color:#2F3A4A;
  font-weight:500;
}
/* サービスアイコンカード内の見出し装飾解除 */
.service-icon-card h3,
.service-icon-card .wp-block-heading{
  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif !important;
  font-size:18px !important;
  line-height:1.5 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  margin:0 0 14px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  text-align:center !important;
}

.service-icon-card h3::before,
.service-icon-card h3::after,
.service-icon-card .wp-block-heading::before,
.service-icon-card .wp-block-heading::after{
  display:none !important;
  content:none !important;
}
/* ========================================
Why Hard Section
幅指定なし・デザイン調整のみ
======================================== */

.whyhard-section{
  background:#F8F5F0;
  padding-top:110px;
  padding-bottom:110px;
}

/* 見出し */
.whyhard-section .whyhard-heading,
.whyhard-section h2.whyhard-heading,
.whyhard-section .wp-block-heading.whyhard-heading{
  font-size:40px !important;
  line-height:1.65 !important;
  color:#0F2A44 !important;
  font-family:var(--font-serif) !important;
  font-weight:700 !important;
  text-align:left !important;
  margin:0 0 42px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  letter-spacing:.03em;
}

.whyhard-section .whyhard-heading::before,
.whyhard-section .whyhard-heading::after{
  display:none !important;
  content:none !important;
}

/* 画像 */
.whyhard-image img{
  width:100%;
  display:block;
  border-radius:24px;
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}

/* 右側の問いかけ */
.whyhard-points{
  border-left:3px solid #C8A96A;
  padding-left:28px;
  font-size:18px !important;
  line-height:2.1 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  margin:0 0 44px !important;
}

/* 本文 */
.whyhard-text{
  font-size:17px !important;
  line-height:2.2 !important;
  color:#2F3A4A !important;
  font-weight:500 !important;
  margin:0 0 34px !important;
  padding-left:18px;
}

/* 段落ブロック側の余白リセット */
.whyhard-section p{
  margin-top:0;
}

/* 右側：中央の説明文 */
.whyhard-middle{
  font-size:17px !important;
  line-height:2.1 !important;
  color:#3F4B5C !important;
  font-weight:500 !important;
  margin:0 0 36px !important;
  padding:0 0 28px 18px;
  border-bottom:1px solid #DDE3EA;
}
/* =========================
   Problems Section
========================= */

.problems-section{
  background:#FFFFFF;
  padding:110px 24px;
}

/* セクション見出し */
.problems-heading{
  font-size:40px !important;
  line-height:1.5 !important;
  color:#0F2A44 !important;
  text-align:center !important;
  font-family:var(--font-serif) !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  margin:0 auto 70px !important;
}

/* =========================
   Problems Cards
========================= */

.problem-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  margin:64px auto 72px;
}

.problem-card{
  background:#F8F6F1;
  border:1px solid rgba(200,169,106,.38);
  border-radius:20px;
  padding:44px 30px 40px;
  min-height:320px;
  box-sizing:border-box;
  text-align:center;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.problem-card-icon{
  margin:0 0 24px;
}

.problem-card-icon img{
  width:58px;
  height:auto;
  display:block;
}

.problem-card-title{
  font-size:18px;
  line-height:1.8;
  color:#0F2A44;
  font-weight:700;
  margin:0 0 18px;
}

.problem-card-text{
  font-size:16px;
  line-height:2;
  color:#2F3B4C;
  font-weight:500;
  margin:0;
  text-align:left;
}
/* problem-card内の見出し装飾を解除 */
.problem-card-title{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.problem-card-title::before,
.problem-card-title::after{
  display:none !important;
  content:none !important;
}
.problem-card{
  justify-content:flex-start;
  padding:52px 30px 42px;
}

.problem-card-icon{
  margin:0 0 28px;
}

.problem-card-title{
  margin:0 0 22px !important;
}

.problem-card-text{
  margin-top:0 !important;
}
/* =========================
 建築士カード
========================= */

.architect-answer-card{
  display:grid;
  grid-template-columns: 320px 1fr;
  max-width:1052px;
  margin:0 auto 120px;
  background:#fff;
  border:1px solid rgba(200,169,106,.7);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.06);
}

/* 左画像 */
.architect-answer-photo{
  height:100%;
}

.architect-answer-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* 右側 */
.architect-answer-content{
  padding:54px 60px;
}

/* ラベル */
.architect-answer-label{
  display:inline-block;
  background:#C8A96A;
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:7px 16px;
  border-radius:999px;
  margin-bottom:22px;
  letter-spacing:.05em;
}

/* タイトル */
.architect-answer-title{
  font-size:32px !important;
  line-height:1.45 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  margin:0 0 30px !important;
  border:none !important;
  padding:0 !important;
}

/* 本文 */
.architect-answer-content p{
  font-size:17px;
  line-height:2.15;
  color:#2F3B4C;
  margin:0 0 28px;
}

/* リスト */
.architect-answer-list{
  list-style:none;
  padding:0;
  margin:34px 0 34px;
}

.architect-answer-list li{
  position:relative;
  padding-left:30px;
  margin-bottom:14px;
  color:#0F2A44;
  font-size:16px;
  font-weight:700;
  line-height:1.8;
}

.architect-answer-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#C8A96A;
  font-weight:900;
}

/* ボタン */
.architect-answer-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#C8A96A;
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  padding:16px 32px;
  border-radius:999px;
  transition:.3s;
  box-shadow:0 8px 20px rgba(200,169,106,.25);
}

.architect-answer-button:hover{
  opacity:.9;
  transform:translateY(-2px);
}
/* カード全体 */
.architect-answer-card{
  grid-template-columns: 360px 1fr !important;
  align-items: stretch;
}

/* 左画像 */
.architect-answer-photo img{
  height:100% !important;
  object-fit:cover;
}

/* 右側余白 */
.architect-answer-content{
  padding:58px 64px 54px !important;
}

/* 建築士カード タイトル */
.architect-answer-title,
.architect-answer-card h3{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
}
/* 建築士カード内のH3装飾解除 */
.architect-answer-title,
.architect-answer-title.is-style-section_ttl,
.architect-answer-card h3{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.architect-answer-title::before,
.architect-answer-title::after,
.architect-answer-card h3::before,
.architect-answer-card h3::after{
  display:none !important;
  content:none !important;
}

/* リスト */
.architect-answer-list li{
  font-size:17px !important;
  line-height:1.9 !important;
}

/* ボタン */
.architect-answer-button{
  margin-top:10px;
}
.services-lead{
  max-width:780px;
  margin:0 auto 64px;
  text-align:center;
  font-size:17px;
  line-height:2;
  color:#2F3A4A;
  font-weight:500;
}

.service-image-cards{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:22px;
  border-top:1px solid #DDE3EA;
  border-bottom:1px solid #DDE3EA;
  padding:36px 0 40px;
}

.service-image-card{
  text-align:center;
  display:flex;
  flex-direction:column;
}

.service-image-card h3{
  font-family:var(--font-serif);
  font-size:24px;
  line-height:1.4;
  color:#172033;
  margin:0 0 18px;
}

.service-image-card img{
  width:100%;
  height:135px;
  object-fit:cover;
  display:block;
  margin-bottom:22px;
}

.service-image-card p{
  font-size:16px;
  line-height:2;
  color:#2F3B4C;
  text-align:left;
  margin:0 0 22px;
  min-height:10px;
}

.service-image-card a{
  display:inline-block;
  background:#0F2A44;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  padding:10px 28px;
  border-radius:4px;
  margin-top:auto;
}
.service-image-title{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:24px !important;
  line-height:1.45 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:0 0 18px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.service-image-title::before,
.service-image-title::after{
  display:none !important;
  content:none !important;
}
/* =========================
 Check Section
========================= */

.check-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:42px !important;
  line-height:1.6 !important;
  color:#0F2A44 !important;
  text-align:center !important;
  font-weight:700 !important;
  margin:0 0 64px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
}

.check-heading::before,
.check-heading::after{
  display:none !important;
  content:none !important;
}

.check-list{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:26px;
}

.check-item{
  background:#fff;
  border-radius:18px;
  padding:34px 42px;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:24px;
  align-items:start;
  box-shadow:0 8px 28px rgba(0,0,0,.05);
  border-left:4px solid #C8A96A;
}

.check-number{
  font-family:Georgia, serif;
  font-size:42px;
  line-height:1;
  color:#C8A96A;
  font-weight:700;
}

.check-content h3{
  font-size:18px;
  line-height:1.7;
  color:#0F2A44;
  font-weight:700;
  margin:0 0 10px;
}

.check-content p{
  font-size:16px;
  line-height:2;
  color:#2F3B4C;
  margin:0;
}
/* =========================
 Alert Section
========================= */

.alert-section{
  border-top:3px solid #C0392B;
  border-bottom:1px solid rgba(192,57,43,.25);
}

.alert-box{
  max-width:900px;
  margin:0 auto;
  padding:36px 24px;
  color:#5A2020;
}

.alert-title{
  display:flex;
  align-items:center;
  gap:10px;
  color:#C0392B;
  font-size:18px;
  font-weight:700;
  margin-bottom:16px;
}
/* 注意アイコン */
.alert-title::before{
  content:"⚠";
  color:#C0392B;

  font-size:18px;
  line-height:1;

  display:inline-block;
  transform:translateY(1px);
}

.alert-box p{
  font-size:16px;
  line-height:2;
  margin:0 0 8px;
}

.alert-strong{
  color:#C0392B;
  font-weight:700;
}
/* =========================
 Reason Section
========================= */

.reason-section{
  padding:110px 0 120px;
}

.reason-inner{
  text-align:center;
}

.reason-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:46px !important;
  line-height:1.5 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  margin:0 0 22px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.reason-heading::before,
.reason-heading::after{
  display:none !important;
  content:none !important;
}

.reason-lead{
  font-size:17px;
  line-height:2;
  color:#2F3B4C;
  font-weight:500;
  margin:0 auto 72px;
}

.reason-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
}

.reason-card{
  background:#fff;
  border:1px solid rgba(200,169,106,.35);
  border-radius:20px;
  padding:46px 34px 42px;
  box-shadow:0 12px 34px rgba(0,0,0,.06);
  text-align:left;
}

.reason-icon{
  width:86px;
  height:86px;
  margin:0 auto 28px;
  background:none !important;
  border-radius:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}

.reason-icon img{
  width:86px;
  height:86px;
  object-fit:contain;
  display:block;
}

.reason-card h3{
  font-size:22px;
  line-height:1.5;
  color:#0F2A44;
  font-weight:700;
  text-align:center;
  margin:0 0 22px;
}

.reason-card p{
  font-size:16px;
  line-height:2;
  color:#2F3B4C;
  margin:0;
}
.reason-card h3{
  font-size:22px !important;
  line-height:1.5 !important;
  color:#0F2A44 !important;

  font-weight:700 !important;
  text-align:center !important;

  margin:0 0 22px !important;
  padding:0 !important;

  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.reason-card h3::before,
.reason-card h3::after{
  display:none !important;
  content:none !important;
}
/* =========================
 Evidence Section
========================= */

.evidence-section{
  padding:110px 0 120px;
}

.evidence-inner{
  text-align:center;
}

.evidence-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:44px !important;
  line-height:1.55 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  margin:0 0 24px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.evidence-heading::before,
.evidence-heading::after{
  display:none !important;
  content:none !important;
}

.evidence-lead{
  font-size:17px;
  line-height:2;
  color:#2F3B4C;
  font-weight:500;
  margin:0 auto 72px;
}

.evidence-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}

.evidence-card{
  margin:0;
}

.evidence-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  box-shadow:0 14px 36px rgba(0,0,0,.08);
}
/* =========================
 Fact Section
========================= */

.fact-section{
  padding:110px 0 120px;
  background:#0F2A44;
}

.fact-inner{
  text-align:center;
}

.fact-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:44px !important;
  line-height:1.55 !important;
  color:#fff !important;
  font-weight:700 !important;
  margin:0 0 28px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.fact-heading::before,
.fact-heading::after{
  display:none !important;
  content:none !important;
}

.fact-lead{
  max-width:900px;
  margin:0 auto 72px;
  color:rgba(255,255,255,.82);
  font-size:17px;
  line-height:2;
  font-weight:500;
}

.fact-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
  margin-bottom:58px;
}

.fact-card{
  background:#fff;
  border-radius:22px;
  padding:48px 34px 42px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.fact-card-icon{
  width:86px;
  height:auto;
  margin:0 auto 30px;
  display:block;
}

.fact-card p{
  color:#0F2A44;
  font-size:18px;
  line-height:1.9;
  font-weight:700;
  text-align:left;
  margin:0;
}

.fact-note{
  border-top:1px solid rgba(255,255,255,.18);
  padding-top:34px;
  margin:0 auto;
  max-width:900px;
  color:rgba(255,255,255,.55);
  font-size:14px;
  line-height:1.9;
}
/* =========================
 Case Section
========================= */

.case-section{
  padding:110px 0 120px;
}

.case-inner{
  max-width:1180px;
  margin:0 auto;
}

.case-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:44px !important;
  line-height:1.5 !important;
  color:#1A1A2E !important;
  text-align:center;
  font-weight:700 !important;
  margin:0 0 24px !important;
}

.case-heading::before,
.case-heading::after{
  display:none !important;
}
.case-heading,
.case-inner h2.case-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:44px !important;
  line-height:1.5 !important;
  color:#1A1A2E !important;
  text-align:center !important;
  font-weight:700 !important;
  margin:0 0 24px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.case-heading::before,
.case-heading::after,
.case-inner h2.case-heading::before,
.case-inner h2.case-heading::after{
  display:none !important;
  content:none !important;
}
.case-lead{
  text-align:center;
  font-size:17px;
  line-height:2;
  color:#2F3B4C;
  margin:0 auto 70px;
}

.case-card{
  background:#fff;
  border:1px solid rgba(200,169,106,.18);
  border-radius:24px;
  padding:34px;
  margin-bottom:36px;
  box-shadow:0 10px 30px rgba(15,42,68,.06);
}

.case-label{
  display:inline-block;
  background:#0F2A44;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:8px 16px;
  border-radius:999px;
  margin-bottom:24px;
}

.case-label.second{
  background:#7A4A4A;
}

.case-images{
  display:grid;
  grid-template-columns:1fr 70px 1fr;
  gap:0;
  align-items:center;
  margin-bottom:24px;
}

.case-image-box{
  position:relative;
}

.case-image-box img{
  width:100%;
  display:block;
  border-radius:14px;
}

.case-badge{
  position:absolute;
  top:-14px;
  left:14px;
  background:#4A5568;
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:6px 10px;
  border-radius:4px;
  letter-spacing:.08em;
}

.case-badge.after{
  background:#0F2A44;
}

.case-arrow{
  text-align:center;
  font-size:40px;
  color:#C8A96A;
  font-weight:700;
}

.case-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #E6E9EF;
  border-radius:12px;
  overflow:hidden;
}

.case-info-box{
  padding:18px 20px;
  background:#FAFBFC;
}

.case-info-box:first-child{
  border-right:1px solid #E6E9EF;
}

.case-info-box small{
  display:block;
  font-size:14px;
  color:#2F3B4C;
  margin-bottom:6px;
}

.case-info-box strong{
  display:block;
  font-size:15px;
  color:#1A1A2E;
  font-weight:700;
}

.case-bottom-note{
  margin-top:60px;
  border-left:3px solid #C8A96A;
  padding-left:18px;
  color:#2F3B4C;
  line-height:2;
  font-size:15px;
  margin-bottom: 1.5em;
}
/* =========================
 Message Section
========================= */

.message-section{
  padding:110px 0 120px;
}

.message-inner{
  max-width:1052px;
  margin:0 auto;
}

.message-content{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:72px;
  align-items:center;
}

.message-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:42px !important;
  line-height:1.55 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  margin:0 0 24px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.message-heading::before,
.message-heading::after{
  display:none !important;
  content:none !important;
}

.message-line{
  width:52px;
  height:3px;
  background:#C8A96A;
  margin:0 0 36px;
}

.message-text p{
  font-size:17px;
  line-height:2.25;
  color:#2F3B4C;
  font-weight:500;
  margin:0 0 28px;
}

.message-text span{
  color:#0F2A44;
  font-weight:700;
  background:linear-gradient(transparent 65%, rgba(200,169,106,.35) 65%);
}

.message-license {
  margin-top:5px;
  background:#ffffff;
  border:2px solid rgba(200,169,106,.45);
  padding:26px 30px;
}

.message-license ul{
  list-style:none;
  margin:0;
  padding:0;
}

.message-license li{
  position:relative;
  color:#0F2A44;
  font-size:16px;
  line-height:1.9;
  font-weight:700;
  padding-left:28px;
  margin-bottom:10px;
}

.message-license li:last-child{
  margin-bottom:0;
}

.message-license li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#C8A96A;
}

.message-photo img{
  width:100%;
  display:block;
  border-radius:22px;
  box-shadow:0 18px 46px rgba(0,0,0,.12);
}
.message-reassurance{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:28px;
  color:#0F2A44;
  font-size:17px;
  line-height:1.8;
  font-weight:700;
}

.message-reassurance-icon{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  flex:none;
}
.faq-section{
  max-width:1050px;
  margin:0 auto;
}

/* 見出し */
.faq-heading{
  text-align:center;
  margin-bottom:70px;
}

.faq-label{
  display:inline-block;
  background:#EFE8D8;
  color:#C8A96A;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.1em;
  padding:8px 16px;
  border-radius:999px;
  margin-bottom:18px;
}

.faq-title,
.faq-wrap h2.faq-title{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  font-size:46px !important;
  line-height:1.4 !important;
  color:#0F2A44 !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.faq-title::before,
.faq-title::after,
.faq-wrap h2.faq-title::before,
.faq-wrap h2.faq-title::after{
  display:none !important;
  content:none !important;
}

/* FAQ */
.faq-list{
  border-top:1px solid #D8DEE8;
  margin-bottom: 2em;
}

.faq-item{
  border-bottom:1px solid #D8DEE8;
  padding:30px 0;
}

/* 質問 */
.faq-question{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding-right:40px;

  font-size:20px;
  font-weight:700;
  line-height:1.7;
  color:#0F2A44;
}

/* + 非表示 */
.faq-question::-webkit-details-marker{
  display:none;
}

/* + */
.faq-question::after{
  content:"+";
  position:absolute;
  right:0;
  top:0;

  font-size:34px;
  line-height:1;
  color:#C8A96A;
}

/* 開いた時 */
.faq-item[open] .faq-question::after{
  content:"×";
}

/* 回答 */
.faq-answer{
  margin-top:24px;

  background:#ffffff;
  border-left:4px solid #C8A96A;
  border-radius:8px;

  padding:30px 34px;
}

/* 回答文章 */
.faq-answer p{
  margin:0;

  font-size:17px;
  line-height:2.1;
  font-weight:500;

  color:#4A5568;
}
/* =========================
 CTA Section
========================= */

.cta-section{
  max-width:1052px;
  margin:0 auto;
  padding:90px 0 100px;
}

.cta-heading{
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;
  text-align:center;
  color:#ffffff !important;
  font-size:38px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
  margin:0 0 42px !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}

.cta-heading::before,
.cta-heading::after{
  display:none !important;
  content:none !important;
}

.cta-box{
  max-width:760px;
  margin:0 auto;
  background:#ffffff;
  border-radius:28px;
  padding:54px 64px 58px;
  text-align:center;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}

.cta-text{
  color:#334155;
  font-size:17px;
  line-height:2.1;
  font-weight:600;
  margin:0 0 22px;
}

.cta-button-wrap{
  margin-top:36px;
}

.cta-line-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#3D8F5F;
  color:#ffffff !important;
  min-width:420px;
  min-height:62px;
  border-radius:999px;
  font-size:17px;
  font-weight:700;
  text-decoration:none;
  padding:0 34px;
  box-shadow:0 10px 28px rgba(61,143,95,.28);
  transition:.3s;
}

.cta-line-button:hover{
  opacity:.9;
  transform:translateY(-2px);
}

.cta-button-caption{
  margin-top:12px;
  color:#64748B;
  font-size:13px;
}

.cta-points{
  margin-top:34px;
  display:grid;
  grid-template-columns:repeat(2, auto);
  justify-content:center;
  gap:16px 40px;
}

.cta-point{
  display:flex;
  align-items:center;
  gap:8px;
  color:#334155;
  font-size:15px;
  font-weight:600;
}

.cta-check{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#3D8F5F;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}
.footer-company{
  color:rgba(255,255,255,.78);
}

.footer-logo{
margin-bottom:24px;
}

.footer-logo img{
  width:230px;
  max-width:100%;
  height:auto;
  display:block;
}

.footer-logo strong{
  display:block;
  color:#fff;
  font-size:18px;
  margin-bottom:10px;
}

.footer-logo span{
  display:block;
  font-size:14px;
  line-height:1.8;
  color:rgba(255,255,255,.72);
}

.footer-info{
  list-style:none;
  padding:0;
  margin-top:18px;
}

.footer-info li{
  margin-bottom:10px;
}
footer{
  margin-top:0 !important;
}

.l-footer{
  margin-top:0 !important;
  padding-top:0 !important;
}
.cta-section{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.home .l-content{
  margin-bottom:0 !important;
}
.floating-line-btn{
  position:fixed;
  right:20px;
  bottom:100px;
  z-index:9999;

  display:flex;
  align-items:center;
  gap:10px;

  background:#3D8F5F;
  color:#fff !important;
  text-decoration:none;

  padding:16px 24px;
  border-radius:999px;

  font-size:15px;
  font-weight:700;

  box-shadow:0 10px 30px rgba(61,143,95,.35);

  transition:.3s;
}

.floating-line-btn:hover{
  transform:translateY(-2px);
  background:#347C52;
}

.line-icon{
  font-size:18px;
}
.floating-line-area{
  background:#071B2E;
}
.w-beforeFooter{
  margin:0 !important;
  padding:0 !important;
}
/* フッターメニュー */
.w-footer .widgettitle {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
}

.w-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.w-footer li {
    margin-bottom: 14px;
}

.w-footer a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    font-size: 15px;
    transition: 0.3s;
}

.w-footer a:hover {
    color: #D9BF8A;
}
/* =========================
   SWELLフッター装飾リセット
========================= */

.l-footer .widget_nav_menu .widgettitle{
  color:#fff !important;
  font-size:18px !important;
  font-weight:700 !important;
  margin:0 0 22px !important;
  padding:0 !important;
  border:none !important;
  background:none !important;
}

.l-footer .widget_nav_menu .widgettitle::before,
.l-footer .widget_nav_menu .widgettitle::after{
  display:none !important;
  content:none !important;
}

.l-footer .widget_nav_menu ul,
.l-footer .widget_nav_menu li{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  list-style:none !important;
}

.l-footer .widget_nav_menu li{
  margin-bottom:14px !important;
}

.l-footer .widget_nav_menu a{
  color:rgba(255,255,255,.75) !important;
  font-size:15px !important;
  font-weight:500 !important;
  text-decoration:none !important;
  border:none !important;
  padding:0 !important;
  background:none !important;
}

.l-footer .widget_nav_menu a::before,
.l-footer .widget_nav_menu a::after{
  display:none !important;
  content:none !important;
}

.l-footer .widget_nav_menu a:hover{
  color:#D9BF8A !important;
}
.l-footer .widgettitle{
    border-bottom:1px solid rgba(255,255,255,.15);
    padding-bottom:14px;
}
.footer-info{
    list-style:none;
    padding:0;
    margin:30px 0 0;
}
.footer-company p {
	margin-bottom : 20px;
}
.footer-info li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:8px;
    color:rgba(255,255,255,.85);
    font-size:15px;
    line-height:1.7;
}

.footer-info img{
    width:18px;
    height:18px;
    margin-top:3px;
    flex-shrink:0;
}
.sp-only{
  display:none;
}
/*資格一覧見出し*/
.l-container h3.qualification-title::before{
  display:none !important;
}
.l-container h3.qualification-title{
  font-family:"Noto Serif JP","Yu Mincho",serif !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  color:#0F2A44 !important;
  background:none !important;
  background-image:none !important;
  border:none !important;
  border-top:none !important;
  border-right:none !important;
  border-left:none !important;
  box-shadow:none !important;
  padding:0 0 10px !important;
  margin:40px 0 0 !important;
}
/* SP対応（ヒーロー） */
@media screen and (max-width: 960px){
  .hero-inner {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 48px 20px 60px;
  }
  .hero-content { max-width: 100%; }
  .hero-img {
    object-position: 65% center;
  }
}

/* タブレット・スマホ */
@media screen and (max-width:900px){
  .message-section{
    padding:80px 0 90px;
  }

  .message-content{
    grid-template-columns:1fr;
    gap:42px;
  }

  .message-photo{
    order:-1;
  }

  .message-heading{
    font-size:32px !important;
  }
  .architect-answer-card{
    grid-template-columns:280px 1fr !important;
  }

  .architect-answer-content{
    padding:42px 36px !important;
  }

  .architect-answer-title{
    font-size:32px !important;
    line-height:1.45 !important;
  }

  .architect-answer-content p{
    font-size:15px !important;
    line-height:2 !important;
  }
  .acorn-footer-grid{
    grid-template-columns:1fr;
    gap:40px;
    padding:50px 24px 40px;
  }
}

/* ============================================================
   レスポンシブ対応（スマホ）
   ============================================================ */
@media screen and (max-width: 768px){
.hero-content .hero-title {
    font-size: 56px;
}
 .line-banner-btn {
    min-width: 0;
    width: 100%;
    padding: 16px 24px;
  }

.service-icon-box{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    padding:24px 16px !important;
  }

  .service-icon-card,
  .service-icon-card:nth-child(1),
  .service-icon-card:nth-child(2),
  .service-icon-card:nth-child(3),
  .service-icon-card:nth-child(4),
  .service-icon-card:nth-child(5){
    grid-column:auto !important;
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    min-height:170px !important;
    padding:28px 14px !important;
  }

  /* 1個目だけ横長 */
  .service-icon-card:nth-child(1){
    grid-column:1 / -1 !important;
  }

  .service-icon-img{
    width:46px !important;
    margin-bottom:16px !important;
  }

  .service-icon-card p{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  .whyhard-section{
    padding-top:70px;
    padding-bottom:80px;
  }

  .whyhard-section .whyhard-heading,
  .whyhard-section h2.whyhard-heading,
  .whyhard-section .wp-block-heading.whyhard-heading{
    font-size:28px !important;
    line-height:1.65 !important;
    text-align:left !important;
    margin-bottom:28px !important;
  }
.whyhard-text,
.whyhard-middle,
  .whyhard-points{
    font-size:16px !important;
    line-height:2 !important;
    padding-left:18px;
    margin-bottom:32px !important;
  }

  .problem-cards{
    grid-template-columns:1fr;
    gap:22px;
    margin:40px auto 56px;
  }

  .problem-card{
    min-height:auto;
    padding:30px 22px !important;
  }
.problem-card .problem-card-title{
    font-size:18px !important;
    line-height:1.7 !important;
    margin:16px 0 14px !important;
  }
  .problem-card-text{
    text-align:left;
    font-size:15px !important;
    line-height:1.9 !important;
  }
  .architect-answer-card{
    display:block !important;
    grid-template-columns:1fr !important;
    margin:0 16px 70px !important;
    border-radius:20px !important;
  }

  .architect-answer-photo img{
    width:100% !important;
    height:auto !important;
    max-height:420px !important;
    object-fit:cover !important;
  }

  .architect-answer-content{
    padding:32px 22px 36px !important;
  }

  .architect-answer-title{
    line-height:1.5 !important;
  }

  .architect-answer-content p{
    font-size:15px !important;
    line-height:2 !important;
  }

  .architect-answer-list li{
    font-size:15px !important;
  }

  .architect-answer-button{
    width:100% !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .service-image-cards{
    display:grid !important;
    grid-template-columns:repeat(2, 1fr) !important;
    gap:18px 14px !important;
  }

  .service-image-card{
    background:#fff !important;
    border:1px solid rgba(200,169,106,.28) !important;
    border-radius:16px !important;
    padding:18px 14px !important;
    width:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .service-image-card:first-child{
    grid-column:1 / -1 !important;
  }

  .service-image-card img{
    width:100% !important;
    height:160px !important;
    aspect-ratio:16 / 9;
    object-fit:cover;
    border-radius:10px !important;
  }

  .service-image-title{
    font-size:22px !important;
    line-height:1.45 !important;
    text-align:center !important;
    margin:0 0 14px !important;
  }

 .service-image-card:first-child img{
    height:220px !important;
  }

  .service-image-card p{
    margin:16px 0 18px !important;
  }

  .service-image-card a{
    width:100% !important;
    margin-top:auto !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .check-section-inner{
    padding:70px 0 80px;
  }

  .check-heading{
    margin-bottom:42px !important;
  }

  .check-item{
    grid-template-columns:1fr;
    gap:12px;
    padding:28px 24px;
  }

  .check-number{
    font-size:36px;
  }
  .reason-section{
    padding:80px 0 90px;
  }

  .reason-lead{
    font-size:15px;
    margin-bottom:44px;
  }

  .reason-cards{
    grid-template-columns:1fr;
    gap:24px;
  }

  .reason-card{
    padding:34px 24px !important;
  }
  .reason-card-icon{
    width:74px !important;
    height:74px !important;
    margin-bottom:24px !important;
  }

  .reason-card h3{
    font-size:22px !important;
    margin-bottom:20px !important;
  }

  .reason-card p{
    font-size:15px !important;
    line-height:1.9 !important;
  }
  .evidence-section{
    padding:80px 0 90px;
  }

  .evidence-lead{
    font-size:15px;
    margin-bottom:44px;
  }

  .evidence-cards{
    grid-template-columns:1fr;
    gap:24px;
  }

  .fact-section{
    padding:80px 0 90px;
  }

  .fact-lead{
    font-size:15px;
    margin-bottom:44px;
  }

  .fact-cards{
    grid-template-columns:1fr;
    gap:24px;
  }

  .fact-card{
    min-height:auto;
    padding:38px 28px;
  }
  .case-section{
    padding:80px 0 90px;
  }

  .case-card{
    padding:22px 16px 18px !important;
  }

  .case-card img{
    border-radius:14px !important;
  }

  .case-card p{
    font-size:15px !important;
    line-height:1.9 !important;
  }

  .case-images{
    grid-template-columns:1fr;
    gap:24px;
  }

  .case-arrow{
    transform:rotate(90deg);
    font-size:34px;
  }

  .case-info{
    grid-template-columns:1fr;
  }

  .case-info-box:first-child{
    border-right:none;
    border-bottom:1px solid #E6E9EF;
  }

  .case-info-box{
    padding:14px 16px !important;
  }

  .case-info-box strong{
    font-size:14px !important;
  }

.case-label{
  font-size:12px;
  letter-spacing:.08em;
  padding:8px 14px;
}

  .message-text p{
    font-size:15px;
    line-height:2;
  }

  .message-license{
    padding:22px 20px;
  }

  .message-license li{
    font-size:14px;
  }

  .faq-question{
    font-size:17px;
    line-height:1.6;
    padding-right:34px;
  }

  .faq-question::after{
    font-size:28px;
  }

  .faq-answer{
    padding:22px;
  }

  .faq-answer p{
    font-size:15px;
    line-height:1.9;
  }
  .cta-section{
    padding:70px 16px 80px;
  }

  .cta-heading{
    line-height:1.6 !important;
    margin-bottom:30px !important;
  }

  .cta-box{
    padding:36px 22px 40px;
    border-radius:22px;
  }

  .cta-text{
    font-size:15px;
    line-height:2;
  }

  .cta-line-button{
    width:auto !important;
    min-width:0 !important;
    max-width:360px !important;
    min-height:58px;
    padding:0 24px !important;
    margin:0 auto !important;
    display:inline-flex !important;
    font-size:15px;
    line-height:1.5;
  }

  .cta-points{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .cta-point{
    font-size:14px;
  }

  .floating-line-btn{
    right:14px;
    bottom:18px;
    padding:14px 18px;
    font-size:14px;
  }

.floating-line-btn{
  bottom:82px !important;
}
  .sp-only{
    display:block;
  }

.architect-answer-title {
        font-size: 26px !important;
}

.services-heading.is-style-section_ttl,
.problems-heading,
.check-heading,
.reason-heading,
.evidence-heading,
.fact-heading,
.case-heading, .case-inner h2.case-heading,
.faq-title, .faq-wrap h2.faq-title,
.cta-heading{
    font-size: 28px !important;
}

body.home .wp-block-heading.is-style-section_ttl,
body.home h2.wp-block-heading.is-style-section_ttl{
    font-size:28px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
.problems-heading {
    margin: 0 auto 35px !important;
}
.services-lead {
    margin: 0 auto 14px;
}
}
@media screen and (max-width:600px){
    .hero-content .hero-title {
        font-size: 42px;
    }
.architect-answer-title {
        font-size: 24px !important;
}
.services-heading.is-style-section_ttl,
.problems-heading,
.check-heading,
.reason-heading,
.evidence-heading,
.fact-heading,
.case-heading, .case-inner h2.case-heading,
.faq-title, .faq-wrap h2.faq-title,
.cta-heading{
    font-size: 26px !important;
}
.whyhard-section .whyhard-heading, .whyhard-section h2.whyhard-heading, .whyhard-section .wp-block-heading.whyhard-heading {
        font-size: 26px !important;
}
    .message-heading {
        font-size: 26px !important;
    }
body.home h2.wp-block-heading.is-style-section_ttl{
    font-size:26px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
  .cta-points{
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:fit-content;
    margin:0 auto;
  }

  .cta-point{
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .cta-line-button{
    font-size:14px !important;
  }
.cta-button-wrap {
    margin-bottom: 30px;
}
.check-section-inner {
        padding: 10px 0 30px;
    }
.alert-box {
    padding: 16px 24px;
}
.case-lead {
    margin: 0 auto 20px;
}
    .cta-section {
        padding: 10px 16px 80px;
    }
}
@media screen and (max-width:480px){
  .hero{
    min-height:620px !important;
  }

  .hero-content{
    transform:translateY(-60px) !important;
  }

.hero-title-sub {
    font-size: clamp(1rem, 2.4vw, 2.6rem);
}
.hero-label {
    margin-bottom: 20px;
}
  .floating-line-btn{
    bottom:80px !important;
  }
.floating-line-area{
  opacity:0;
  visibility:hidden;
  transform:translateY(20px);
  transition:all .3s ease;
}

.floating-line-area.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
    .hero-content .hero-title {
        font-size: 32px;
    }
.architect-answer-title {
        font-size: 22px !important;
}
.services-heading.is-style-section_ttl,
.problems-heading,
.check-heading,
.reason-heading,
.evidence-heading,
.fact-heading,
.case-heading, .case-inner h2.case-heading,
.faq-title, .faq-wrap h2.faq-title,
.cta-heading{
    font-size: 24px !important;
}
.whyhard-section .whyhard-heading, .whyhard-section h2.whyhard-heading, .whyhard-section .wp-block-heading.whyhard-heading {
        font-size: 24px !important;
}
    .message-heading {
        font-size: 24px !important;
    }
.post_content .is-style-section_ttl{
    font-size:24px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
.post_content ul {
    padding-left: 1em;
}
.service-image-card img {
    margin-bottom: 0px;
}
.architect-answer-card {
        margin: 0 0px 10px !important;
}
.fact-card p,
.faq-question,
.check-content h3 {
    font-size: 16px;
}

.cta-section .cta-heading,
.services-text,
.services-lead,
.case-lead,
.cta-text,
.fact-lead,
.evidence-lead,
.reason-lead,
.fact-note {
    text-align: left!important;
}
}
