/* 見出しの定義 */

.technology-details {
  margin-left: 3px;
  margin-right: 3px;
}
.technology-details h2 {
  font-weight: bold !important;
}

.technology-details h1,
.technology-details h2,
.technology-details h3,
.technology-details h4,
.technology-details h5{
  width: min(100%, var(--md-content-width, 61rem));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Layout tweaks for MkDocs Material wrapper */
.md-sidebar--primary {
  display: none;
}

.md-main {
  background-color: #000000;
  color: #ffffff;
}

.md-main__inner.md-grid {
  margin-top: 0 !important;
}

.md-content {
  max-width: none;
  padding: 0;
}

.md-content__inner > h1:first-child {
  display: none;
}
.md-content__inner {
  margin: 0;
  padding: 0;
}

/* キービジュアルを背景にタイトルとトライアルボタン */

.title-background {
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 子要素を左に揃える (これを維持) */
  justify-content: flex-end; 
  text-align: left;
  padding-left: max(10px, calc((100vw - var(--md-content-width, 61rem)) / 2));
  padding-right: max(10px, calc((100vw - var(--md-content-width, 61rem)) / 2));
  font-size: 28pt;
  font-weight: 700;
  letter-spacing: 1px;
  aspect-ratio: 5054 / 1999;
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* === background === */
  background-image: url("../figures/title-keyvisual.jpeg");
  background-size: cover;
  background-position: center;

  /* === spacing === */
  padding-top: clamp(40px, 8vw, 96px);
  padding-bottom: clamp(40px, 8vw, 96px);

  box-sizing: border-box;
}

.title-background .title-content {
  max-width: 600px;
  width: 100%;
  margin: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(12px, 2vw, 16px);
  border-radius: 0px;
  box-sizing: border-box;
  border: none;
  background: transparent;
  padding: 0;
}

.title-title {
  font-size: clamp(18pt, 4vw, 24pt);
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: bold;
  color: #ffffff;
}

.title-background .title-content p {
  margin: 0;
  font-size: clamp(10pt, 2.4vw, 12pt);
  line-height: 1.6;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
  box-sizing: border-box;
}

.title-background .demo-app-button {
  position: static;
  margin: clamp(16px, 4vw, 24px) 0 0 0;
  flex: 0 1 auto;
  width: min(100%, 600px);
  max-width: 100%;
  height: clamp(44px, 6vw, 50px);
  font-size: clamp(12pt, 3vw, 16pt);
  padding: 0 clamp(12px, 4vw, 24px);
  box-sizing: border-box;
  align-self: stretch;
  margin-top: 12px;
}


@media all and (max-width: 640px) {
  .title-background {
    padding: 10px 10px 30px 10px;
    font-size: 22pt;
    gap: 16px;
    width: 100%;
    min-height: 380px;
    background-size: cover;
    background-position: center;
  }

  .title-background .title-content {
    gap: 12px;
    padding: 20px 24px;
    max-width: 100%;
    width: 100%;
  }

    /*
  .title-background .demo-app-button {
    width: 100%;
    max-width: 100%;
  
    height: clamp(44px, 12vw, 52px);
    font-size: clamp(12pt, 4vw, 16pt);
    align-self: stretch;
    margin-top: 12px; /* 直上感。8〜16pxで調整 */
  }
   */

  .one-image-and-text .demo-app-button {
    width: 100%;
    max-width: 100%;
  }
}

/* Background block styles */
.text-black-gray,
.text-gray {
  padding: 10px;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

.text-black-gray {
  background-color: #404040;
  color: #ffffff;
}

.text-gray {
  background-color: #e8e8e8;
  color: #000000;
}

.text-black-gray > :first-child,
.text-gray > :first-child {
  margin-top: 0;
}

/* Background blue styles */
.text-dark-blue,
.text-sky-blue {
  padding: 10px;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
}

.text-dark-blue {
  background-color: #153d64;
  color: #ffffff;
}

.text-sky-blue {
  background-color: #4d93d9;
  color: #ffffff;
}

.text-dark-blue > :first-child,
.text-sky-blue > :first-child {
  margin-top: 0;
}

/* ACB概要のGrid Card */
.grid.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px auto;
  width: min(100%, var(--md-content-width, 61rem));
  box-sizing: border-box;
}

.grid.cards .card {
  background-color: #ffffff;
  color: #000000;
  padding: 20px;
  font-size: 14pt;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

@media all and (max-width: 992px) {
  .grid.cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media all and (max-width: 640px) {
  .grid.cards {
    grid-template-columns: 1fr;
  }
}

/* "トライアルボタン"+説明 の部分 */
.one-image-and-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: min(100%, var(--md-content-width, 61rem));
  margin: 0 auto;
  box-sizing: border-box;
}

.one-image-and-text-text {
  font-size: 13pt;
  color: #ffffff;
  background-color: #153d64;
  padding: 10px 20px 10px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  max-width: calc(100% - clamp(280px, 36vw, 600px) - 24px);
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  font-weight: normal;
}

.one-image-and-text .demo-app-button {
  flex: 0 1 clamp(280px, 36vw, 600px);
  width: clamp(280px, 36vw, 600px);
  max-width: 100%;
  height: clamp(44px, 6vw, 50px);
  font-size: clamp(12pt, 3vw, 16pt);
  padding: 0 clamp(12px, 4vw, 24px);
  box-sizing: border-box;
  align-self: stretch;
}

@media all and (max-width: 768px) {
  .one-image-and-text {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
  }
  .one-image-and-text-text {
    max-width: 100%;
    width: 100%;
  }
  .inquiry-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    font-size: 12pt;
    height: auto;
    padding: 10px 0;
  }
  .demo-app-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    font-size: 16pt;
    height: auto;
    padding: 10px 0;
  }
}

/* Free Trialボタン */
.demo-app-button {
  border-radius: 2px;
  display: flex;
  font-weight: 700;
  background: #ffff00;
  color: #000000 !important;
  cursor: pointer;
  border: 1px solid #000000;
  width: 100%; max-width: 600px;
  height: 50px;
  font-size: 16pt;
  justify-content: center;
  align-items: center;
  text-align: center;
  &:is(:focus, :hover) {
    background: #edcf5b;
  }
}

/* お問合せボタン */
.inquiry-button {
  border-radius: 12px;
  display: flex;
  font-weight: 700;
  background: #215F9A;
  color: #ffffff !important;
  cursor: pointer;
  border: px2rem(2px) solid currentcolor;
  border-radius: px2rem(2px);
  width: 400px;
  height: 50px;
  justify-content: center;
  align-items: center;
  text-align: center;
  &:is(:focus, :hover) {
    background: #5482d4;
  }
}


/*
.title-icon-and-title-container {
  color: white;
  background: black;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  display: grid;
  grid-template-columns: 100px 1fr;
}

.title-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
}

.title-subtitle {
  font-size: 14pt;
  background: #f2f2f2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
}
*/

.hero-message {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(40px, 6vw, 80px) auto clamp(24px, 4vw, 40px);
  text-align: left;
}

.hero-message h1 {
  font-size: clamp(36px, 6vw, 64px);
  line-height: 1.1;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 16px 0;
  text-align: center;
}

.hero-subtitle {
  font-size: clamp(16px, 2.4vw, 22px);
  line-height: 1.5;
  color: #cccccc;
  margin: 0;
}


/* Video + message layout under hero */

.hero-video-with-text {
  display: flex;
  gap: clamp(24px, 4vw, 40px);
  margin-top: clamp(24px, 4vw, 40px);
  align-items: center;
}

.hero-video {
  flex: 0 0 55%;
  margin-top: 0;              /* 既存のmargin-topを打ち消す */
  justify-content: flex-start; /* 念のため */
}

.hero-video-text {
  flex: 1 1 auto;
  color: #ffffff;
  font-size: clamp(14px, 2vw, 18px);
  line-height: 1.6;
}

.hero-video-text p {
  margin: 0 0 16px 0;
}

.hero-video-text p:last-child {
  margin-bottom: 0;
}

@media all and (max-width: 768px) {
  .hero-video-with-text {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-video {
    flex: none;
    width: 100%;
  }
}

/* Small subcopy next to section titles */

.section-subcopy {
  font-size: 0.5em;
  font-weight: 400;
  margin-left: 12px;
  color: #bbbbbb;
  white-space: nowrap;
}

/* Our Solutions comparison table */

.solutions-compare {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(20px, 4vw, 40px) auto;
  display: grid;
  grid-template-columns: 1fr 64px 1fr;
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
}

.solutions-col-title {
  font-weight: 700;
  font-size: clamp(14px, 2vw, 18px);
  margin-bottom: 12px;
  text-align: center;
}

.solutions-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.solutions-item {
  padding: 12px 14px;
  border-radius: 8px;
  text-align: center;
  font-weight: 600;
  line-height: 1.25;
}

.solutions-left .solutions-item {
  background: #2b2b2b;
  color: #ffffff;
}

.solutions-right .solutions-item {
  background: #6f2dbd;
  color: #ffffff;
}

.solutions-arrow {
  width: 0;
  height: 0;
  border-top: 36px solid transparent;
  border-bottom: 36px solid transparent;
  border-left: 52px solid #bfbfbf;
  justify-self: center;
  opacity: 0.95;
}

/* Mobile: stack */
@media all and (max-width: 768px) {
  .solutions-compare {
    grid-template-columns: 1fr;
  }
  .solutions-arrow {
    border-top: 22px solid #bfbfbf;
    border-left: 22px solid transparent;
    border-right: 22px solid transparent;
    border-bottom: 0;
    width: 0;
    height: 0;
    margin: 6px auto;
  }
}

/* Technology comparison (Traditional vs Amalgamation) */

.tech-compare {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(32px, 6vw, 64px) auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 48px);
}

.tech-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tech-text {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 1.6;
  color: #ffffff;
}

.tech-text strong {
  display: block;
  font-size: clamp(16px, 2.4vw, 22px);
  margin-bottom: 8px;
}

.tech-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* subtle contrast */
.tech-traditional .tech-text {
  color: #cccccc;
}

.tech-amalgamation .tech-text strong {
  color: #bb86fc; /* ブランド紫 */
}

/* Mobile: stack */
@media all and (max-width: 768px) {
  .tech-compare {
    grid-template-columns: 1fr;
  }
}

/* White container for technology comparison */

.tech-compare-wrapper {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(32px, 6vw, 64px) 0;
  background: transparent;
  box-shadow: none;
}

.tech-compare-wrapper .tech-text {
  color: #ffffff;
}

.tech-compare-wrapper .tech-traditional .tech-text {
  color: #ffffff;
}

.tech-compare-wrapper .tech-amalgamation .tech-text strong {
  color: #6f2dbd; /* 紫は残す */
}

/* Deployment steps (Cloud -> On-Prem) */

.deployment-steps {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(32px, 6vw, 64px) auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Force all deployment steps to be right-arrow shaped */

.deployment-step {
  position: relative;
  padding: 24px 28px 24px 36px; /* 左だけ少し増やして「一文字インデント」 */
  color: #ffffff;

  /* 太めの矢印（先端を大きく） */
  clip-path: polygon(
    0 0,
    calc(100% - 64px) 0,
    100% 50%,
    calc(100% - 64px) 100%,
    0 100%
  );
}


.step-title {
  font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  margin-bottom: 8px;
  margin-left: 4px;   /* 一文字分ずらす */
}

.step-text {
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.4;
  opacity: 0.95;
  margin-left: 4px;   /* タイトルと揃える */
}

/* Color variants */
.step-dark {
  background: #6f2dbd;
}

.step-mid {
  background: #9b5de5;
}

.step-light {
  background: #cdb4f6;
  color: #000000;
}

/* Mobile: stack vertically */
@media all and (max-width: 768px) {
  .deployment-steps {
    grid-template-columns: 1fr;
  }

  .deployment-step {
    clip-path: none;
    margin-right: 0;
    border-radius: 8px;
  }

  .deployment-step:not(:last-child) {
    margin-bottom: 12px;
  }
}

/* Key Features section */

.key-features {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(40px, 6vw, 72px) auto;
  color: #ffffff;
}

.key-features-title {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 800;
  margin-bottom: 24px;
}

.key-features-list {
  counter-reset: feature;
  list-style: none;
  padding: 0;
  margin: 0;
}

.key-features-list > li {
  counter-increment: feature;
  margin-bottom: 28px;
}

.key-features-list > li::marker {
  display: none;
}

.key-features-list > li > strong {
  display: block;
  font-size: clamp(15px, 2.4vw, 20px);
  font-weight: 700;
  margin-bottom: 10px;
}

.key-features-list ul {
  list-style: disc;
  padding-left: 22px;
  margin: 0;
}

.key-features-list ul li {
  margin-bottom: 8px;
  line-height: 1.5;
  color: #dddddd;
}

.key-features-list ul li strong {
  color: #ffffff;
}
/* Numbering for Key Features */

.key-features-list > li {
  position: relative;
  padding-left: 2.2em;
}

.key-features-list > li::before {
  content: counter(feature) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-size: clamp(16px, 2.6vw, 22px);
  font-weight: 800;
  color: #ffffff; 
}

/* Use Cases section (same style family as Key Features) */

.use-cases {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(40px, 6vw, 72px) auto;
  color: #ffffff;
}

.use-cases-title {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 800;
  margin-bottom: 12px;
}

.use-cases-lead {
  color: #dddddd;
  font-size: clamp(14px, 2.2vw, 18px);
  line-height: 1.6;
  margin-bottom: 22px;
}

.use-cases-list {
  list-style: disc;
  padding-left: 22px;
  margin: 0;
}

.use-cases-list > li {
  margin-bottom: 26px;
}

.use-cases-list > li > strong {
  display: block;
  font-size: clamp(15px, 2.4vw, 20px);
  font-weight: 700;
  margin-bottom: 10px;
  color: #ffffff;
}

.use-cases-list ul {
  list-style: disc;
  padding-left: 22px;
  margin: 0;
}

.use-cases-list ul li {
  margin-bottom: 10px;
  line-height: 1.55;
  color: #dddddd;
}

.use-cases-value {
  color: #ffffff;
}

.use-cases-value strong {
  color: #ffffff;
}
/* Case Studies grid */

.case-studies {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(40px, 6vw, 72px) auto;
  color: #ffffff;
}

.case-studies-title {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 800;
  margin-bottom: 10px;
}

.case-studies-lead {
  font-size: clamp(13px, 2vw, 16px);
  line-height: 1.6;
  color: #dddddd;
  margin-bottom: 22px;
}

.case-studies-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(18px, 3vw, 28px);
}

.case-card {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  align-items: center;
}

.case-image {
  width: 88px;
  height: 72px;
  background: #4a4a4a;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.case-title {
  font-weight: 800;
  font-size: clamp(14px, 2.2vw, 16px);
  margin-bottom: 6px;
}

.case-text {
  color: #dddddd;
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.45;
}

/* Mobile */
@media all and (max-width: 768px) {
  .case-studies-grid {
    grid-template-columns: 1fr;
  }
  .case-card {
    grid-template-columns: 96px 1fr;
  }
}

/* Materials */

.materials {
  width: min(100%, var(--md-content-width, 61rem));
  margin: clamp(40px, 6vw, 72px) auto;
  color: #ffffff;
}

.materials-title {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 800;
  margin-bottom: 14px;
}

.materials-list {
  margin: 0;
  padding-left: 22px; /* 番号のインデント */
  color: #dddddd;
  font-size: clamp(13px, 2vw, 16px);
  line-height: 1.7;
}

.materials-list li {
  margin-bottom: 6px;
}

/* Hero catch inside key visual */

.title-background .hero-catch {
  max-width: var(--md-content-width, 61rem);
  margin: clamp(16px, 3vw, 32px) auto;
  text-align: center;
  color: #ffffff;
}

.title-background .hero-catch h1 {
  margin: 0 0 8px 0;
}

.title-background .hero-catch .hero-subtitle {
  margin: 0;
  font-size: clamp(14px, 2.2vw, 18px);
}

/* Yellow hero catch copy on Key Visual */

.title-background .hero-catch h1 {
  color: #ffff00; /* 黄色 */
}

.title-background .hero-catch .hero-subtitle {
  color: #ffff00; /* 黄色 */
}

/* Center hero catch text inside Key Visual */

.title-background .hero-catch {
  text-align: center;
}

.title-background {
  display: flex;
  flex-direction: column;
}

.title-background .title-content {
  text-align: left;
}

/* Hero catch inside Key Visual */
.title-background .hero-catch {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.title-background .hero-catch h1,
.title-background .hero-catch .hero-subtitle {
  white-space: nowrap;
}

/* Our Technology description text */

/* Emphasize "No AI experts needed..." */

.our-solutions-tagline {
  margin: 8px 0 24px 0;
  font-size: clamp(15px, 2vw, 20px);
  font-weight: 700;
  color: #ffffff;
}

/* Our Technology images – slightly smaller */

.tech-compare-wrapper img {
  max-width: 85%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Get Started CTA heading */

.tech-compare-cta .cta-title {
  font-size: clamp(28px, 4vw, 36px); /* Our Solutions と同等 */
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
}

.tech-compare-cta .cta-subtitle {
  font-size: clamp(16px, 2.2vw, 20px);
  color: #ffffff;
}

/* Center section heading + subtitle in dark blue area */

.text-dark-blue h2,
.text-dark-blue .our-solutions-tagline {
  text-align: left;
  width: min(100%, var(--md-content-width, 61rem));
  margin-left: auto;
  margin-right: auto;
}

.title-background .title-content {
  background: rgba(0, 0, 0, 0.45);  /* 透ける黒 */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0; 
}

/* Hero: glass box and CTA button same width (LEFT aligned) */
.title-background .title-content,
.title-background .demo-app-button {
  width: min(100%, 700px);
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/* ===== Hero: align glass box and CTA button edges ===== */
.title-background .title-content,
.title-background .demo-app-button {
  width: min(100%, 700px);
  box-sizing: border-box;
}

/* Match inner padding visually (glass box vs button) */
.title-background .title-content {
  padding: clamp(16px, 3vw, 20px) clamp(12px, 4vw, 24px);
}

/* Do NOT stretch hero button */
.title-background .demo-app-button {
  align-self: flex-start; /* stretch を殺す */
}

/* === Hero: unify layout container === */

/* ボタンを包む p をレイアウト用ボックスにする */
.title-background > p {
  width: min(100%, 900px);
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/* 中のボタンは親に100%追従 */
.title-background > p .demo-app-button {
  width: 100%;
  margin: 0;
}

.title-background .wdyd {
  font-size: 1.4em; /* ほんの少し大きく（15%増） */
  font-weight: 700;  /* 既に太字なら不要だけど、念のため */
}
/* Text under hero Contact button */
.title-background .contact-subtext {
  margin-top: 8px;        /* ボタンとの間隔 */
  font-size: 12pt;        /* 控えめサイズ */
  color: #ffffff;         /* 白文字 */
  line-height: 1.4;
}

/* Contact button + text block */
.title-background .contact-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 左揃え（今のデザインに合わせる） */
}

/* Text under hero Contact button */
.title-background .contact-subtext {
  margin-top: 6px;     /* ← ここが「すぐ下」を作る */
  font-size: 12pt;
  color: #ffffff;
  line-height: 1.4;
}

/* ===== Hero catch copy ===== */

/* 英語キャッチ（大きく・主役） */
.title-background .wdyd-en {
  font-size: clamp(28px, 6vw, 42px);
  font-weight: 800;
  line-height: 1.15;
  display: block;
}

/* 日本語説明（元のサイズ感を維持） */
.title-background .wdyd-ja {
  font-size: clamp(10pt, 2.4vw, 12pt); /* 既存 p と同等 */
  font-weight: 400;
  line-height: 1.6;
  display: block;
}


/* ===== Materials links: white + underline ===== */

.materials a {
  color: #ffffff;            /* 白文字 */
  text-decoration: underline; /* 常に下線 */
}

.materials a:hover {
  color: #ffffff;            /* ホバーしても青くならない */
}

.title-background .wdyd-ja {
  font-size: clamp(10pt, 2.4vw, 12pt);
  font-weight: 400;
  line-height: 1.6;
  display: block;
  white-space: nowrap;   /* ← これを追加 */
}

.title-background .title-content {
  max-width: none !important;
}