/* =========================================================
   Fluid Typography Overrides (drop-in)
   Place this block AFTER the existing style.css so it overrides earlier rules.
   It makes font sizes scale smoothly with viewport size using clamp().
   ========================================================= */

html {
  /* Base font size scales with viewport width, clamped for readability */
  font-size: clamp(14px, 1.05vw + 0.5rem, 18px);
}

/* Improve readability across devices */
body {
  line-height: 1.65;
}

/* Generic heading guards (for pages/sections using raw h1–h3) */
h1 { font-size: clamp(2.0rem, 4.5vw, 3.2rem); line-height: 1.2; }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.4rem); }
h3 { font-size: clamp(1.3rem, 2.6vw, 2.0rem); }

/* ===== Page-specific overrides from current site structure ===== */

/* Big heading block */
.head {
  font-size: clamp(2.4rem, 5.0vw, 6.0rem);
}

/* Hero copy */
.view p {
  font-size: clamp(1.6rem, 3.5vw, 3.4rem);
}

/* Panel headline currently using vw only — add caps */
.panel h2 {
  font-size: clamp(1.8rem, 3.2vw, 3.2rem);
}

/* "3つの導入メリット" */
.list-merit-wrap h2 {
  font-size: clamp(2.0rem, 5.5vw, 4.5rem);
}
.list-merit-wrap ul.list-merit li {
  font-size: clamp(1.6rem, 2.8vw, 3.0rem);
}

/* Feature points */
ul.list-point li .point .wrap .num {
  font-size: clamp(1.2rem, 1.8vw, 2.0rem);
}
ul.list-point li .point .wrap h3 {
  font-size: clamp(1.6rem, 3.5vw, 3.4rem);
}
ul.list-point li .point .wrap p {
  font-size: clamp(1.4rem, 2.6vw, 2.6rem);
}

/* Slogan blocks */
.slogan h2 {
  font-size: clamp(2.0rem, 5.5vw, 4.5rem);
}
.slogan .frame ul.list-slogan li {
  font-size: clamp(1.4rem, 2.6vw, 3.0rem);
}

/* Intro section (video + text) */
.intro .cont h2 {
  font-size: clamp(1.6rem, 3.8vw, 4.0rem);
}
.intro .cont p {
  font-size: clamp(1.4rem, 2.4vw, 2.4rem);
}

/* Who chips */
ul.who li {
  font-size: clamp(1.4rem, 2.4vw, 2.8rem);
}

/* Head-bring */
.head-bring::before {
  font-size: clamp(1.6rem, 6vw, 8rem);
}
.head-bring b {
  font-size: clamp(1.6rem, 3.4vw, 3.4rem);
}

/* Bringing lists */
.bringing ul.list-bringing li {
  font-size: clamp(1.4rem, 2.4vw, 2.8rem);
}

/* Kome note under Bringing */
.kome-bringing {
  font-size: clamp(1.2rem, 2.2vw, 2.8rem);
}

/* Spec card */
.spec .wrap h2 {
  font-size: clamp(1.2rem, 1.6vw, 2.0rem);
}
.spec .wrap p {
  font-size: clamp(1.2rem, 1.8vw, 1.8rem);
}
.spec .wrap ul.list-check li {
  font-size: clamp(1.2rem, 1.8vw, 1.8rem);
}

/* Contact button */
.contact .wrap .btn a {
  font-size: clamp(1.6rem, 3.5vw, 3.0rem);
}

/* Footer text */
footer .wrap ul.list-link li a {
  font-size: clamp(1.0rem, 1.2vw, 1.2rem);
}
footer .wrap small {
  font-size: clamp(1.0rem, 1.4vw, 1.4rem);
}
