@charset "UTF-8";
/* Foundation -------------------------------------------------------- */
/* ================================================================
   Foundation › Settings
   Color palette / Semantic tokens / Typography / Breakpoints
================================================================ */
/* ---------------------------------------------------------------------
   1. PALETTE — “色そのもの” をニュートラルな英名＋数値で管理
   --------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   2. SEMANTIC TOKENS — “役割” で呼び出す
   --------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   3. CSS CUSTOM PROPERTIES — Run-time 切替用
   --------------------------------------------------------------------- */
:root {
  --color-brand: #07a989;
  --color-accent: #bdf6fa;
  --color-text: #000000;
  --color-text-muted: #92b4c5;
  --color-text-inverse: #ffffff;
  --bg-surface: #ffffff;
  --bg-muted: #efefef;
  --bg-overlay: rgba(0, 0, 0, 0.3);
  --btn-primary-bg: linear-gradient(112deg, #0077bc 11.6%, #00bc9c 68.76%);
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #07a989;
  --btn-secondary-text: #ffffff;
}

/* ---------------------------------------------------------------------
   4. TYPOGRAPHY
   --------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   5. LAYOUT
   --------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   6. BREAKPOINTS
   --------------------------------------------------------------------- */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 12; /* 光学サイズ */
  font-size: 0.6em; /* 親要素に合わせる */
  display: inline-block; /* サイズ確保 */
  vertical-align: middle;
  color: #ffffff;
}
.material-symbols-outlined.--contact {
  font-size: 0.8em;
  margin-bottom: 2px;
}

.c-note {
  font-size: 14px;
}
.c-note.--cta-card {
  font-size: 12px;
  display: block;
}

.l-hero__container {
  padding-top: 200px;
  width: 1220px;
  margin: 0 auto;
  position: relative;
}

.c-hero__text, .c-key-technology__text {
  position: absolute;
  z-index: 100;
}

.c-hero__subtitle {
  font-size: 64px;
  font-weight: normal;
}

.c-hero__bomb {
  position: absolute;
  z-index: 10;
  font-size: 18px;
  display: inline-block;
  font-weight: lighter;
  color: #31cec5;
  text-align: center;
  border: 1px solid #31cec5;
  border-radius: 100%;
  padding: 32px 16px;
  mix-blend-mode: hard-light;
  top: 100px;
  left: 300px;
}
.c-hero__bomb--highlight {
  font-size: 32px;
  font-weight: lighter;
  display: block;
  padding-top: 8px;
}

.c-topfeatures {
  width: 100%;
  border-radius: 40px 40px 0px 0px;
  padding: 64px;
  position: relative;
  margin-top: -64px;
  min-width: 1220px;
}
.c-topfeatures.--precipitation {
  background-color: #efefef;
}
.c-topfeatures.--keytechnology {
  background-color: #bcd6e3;
}
.c-topfeatures.--axsiazeroseries {
  background-color: #8dd2d9;
  padding-bottom: 200px;
}

.c-topfeatures__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr auto;
  grid-template-rows: max-content max-content 1fr auto;
  grid-column-gap: 24px;
  grid-row-gap: 24px;
}

.c-topfeatures__sectionheading {
  grid-area: 1/1/2/3;
}
.c-topfeatures__sectionheading.--precipitation {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.c-topfeatures__sectionheading.--precipitation.--axsiazeroseries {
  text-align: center;
}

.c-topfeatures_body {
  grid-area: 2/1/3/2;
}
.c-topfeatures_body.--precipitation {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.c-topfeatures_body .c-topfeatures__image {
  grid-area: 2/2/3/3;
}
.c-topfeatures_body .c-topfeatures__image.--precipitation {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.c-topfeatures__image.--precipitation {
  margin-top: 100px;
}

　 .c-new-design {
  position: relative;
}

.c-new-design__title {
  margin: 0 0 24px 0;
  font-size: 24px;
}

.p-cta-cards {
  position: relative;
  top: -40px;
  width: 1220px;
  margin: 0 auto;
}

.c-footer {
  background-image: url("../../src/img/footer_bg_massage.jpg");
  background-size: cover;
  background-position: center;
  height: 1222px;
}

.c-new-design__image {
  color: #ffffff;
  position: relative;
  padding: 80px 0;
}

.c-new-design__image-img {
  mix-blend-mode: hard-light;
}

.c-new-design__image-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}

a {
  color: #000000;
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
a.c-footer__link {
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
a.c-footer__link:hover {
  text-decoration: underline;
}

.c-footer__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: -webkit-max-content -webkit-max-content repeat(2, 1fr);
  grid-template-rows: max-content max-content repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  font-size: 14px;
  width: 1220px;
  margin: 0 auto;
}

.c-footer__info {
  grid-area: 1/1/3/2;
}

.c-footer__nav1 {
  grid-area: 1/2/2/3;
  padding-top: 80px;
}

.c-footer__nav2 {
  grid-area: 2/2/3/3;
  padding-top: 40px;
}

.c-footer__list {
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
}

.c-footer__item {
  margin-right: 16px;
}

.c-footer__sitemap {
  text-align: right;
  display: ruby;
}

.c-topfeatures__image-img {
  width: 544px;
  height: auto;
  mix-blend-mode: multiply;
}

.c-key-technology__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-key-technology__image.--keytechnology {
  width: 340px;
  height: auto;
}

.c-caption {
  font-weight: bold;
  text-align: center;
}

.c-microstructure__captionnote {
  font-size: 14px;
  text-align: center;
}

.c-table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

.c-table th,
.c-table td {
  border-bottom: 1px solid #ffffff;
  padding: 1em;
  border-collapse: collapse;
}

.c-table.--type1 th {
  border-bottom: 1px solid #4d9bc1;
  text-align: center;
  min-width: 4em;
}

.c-table.--type2 {
  border-collapse: collapse;
  table-layout: auto;
  width: 100%;
  min-width: 700px;
  text-align: center;
}
.c-table.--type2 th {
  padding: 1em 0.8em;
  border-right: 1px solid #fff;
  font-weight: normal;
  font-size: 14px;
}
.c-table.--type2 thead {
  background-color: #609fe0;
}
.c-table.--type2 tbody {
  border: 1px solid #d2e8f1;
  background-color: #ffffff;
}
.c-table.--type2 tbody tr {
  border-bottom: 1px solid #ccc;
}
.c-table.--type2 tbody tr:nth-child(odd) {
  background-color: #ffffff;
}
.c-table.--type2 tbody tr th {
  background-color: #bcd6e3;
}
.c-table.--type2 tbody tr td {
  border-left: 1px solid #d2e8f1;
  border-bottom: 1px solid #d2e8f1;
  padding: 0.2em;
  font-size: 14px;
}

.c-col-01 {
  width: 80px;
}

.c-col-03 {
  width: 170px;
}

.c-col-04 {
  width: 300px;
}

.c-col-05 {
  width: 260px;
}

.c-table-notion {
  font-size: 14px;
}

.c-col-th {
  text-align: center;
}

td.--emphasis {
  font-weight: bold;
  color: #e61e62;
}
td.--emphasis02 {
  color: #e61e62;
  background-color: #bdf6fa;
}

.c-btn__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 32px 0;
}

.c-herounder {
  position: relative;
  width: 100%;
  height: 656px;
  background-image: url("../../src/img/under-hero-product-zero3.jpg");
  background-size: cover;
  background-position: center;
}

.l-product-page {
  padding-top: 80px;
  background-color: #f7f7f7;
}

.p-zero3__points {
  margin: 0 0 80px;
  background-color: #f2f2f7;
  padding: 80px 64px;
  border-radius: 40px;
}

.c-point__list {
  list-style: none;
  margin: 0;
  padding: 0 32px;
}

.c-point__item {
  font-size: 24px;
  margin-bottom: 24px;
}
.c-point__item:last-child {
  margin-bottom: 0;
}

.c-point__number {
  font-family: "Alumni Sans", sans-serif;
  font-size: 40px;
  font-weight: lighter;
  color: #07a989;
  font-style: italic;
  margin-right: 16px;
}

.c-point__c-point-list__title {
  font-size: 24px;
  font-weight: bold;
  padding-right: 40px;
}
.c-point__c-point-list__title::after {
  content: "\ea50";
  display: block;
  font-family: "Material Symbols Outlined";
  height: 2px;
  margin-top: 8px;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  font-size: 1.2em; /* 親要素に合わせる */
  display: inline-block; /* サイズ確保 */
  vertical-align: middle;
  font-weight: bold;
  color: #07a989;
  position: relative;
  top: -18px;
  right: -20px;
}

.c-heading-en {
  font-family: "Alumni Sans", sans-serif;
  font-weight: 300;
  font-size: 80px;
  line-height: 46px;
  margin: 0 0 1rem;
  font-style: italic;
}

.c-heading-jp {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  margin: 0 0 1rem;
  color: #07a989;
}

.c-subtitle {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 32px;
  line-height: 1.4;
  margin: 0 0 1rem;
  text-align: right;
}
.c-subtitle.--product {
  font-weight: normal;
  text-align: right;
  display: block;
  margin-bottom: 80px;
}

.c-description {
  width: 600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: 600px;
}

.c-shapeimages__figure {
  height: 451px;
  margin-right: 100px;
  margin: 0 5px;
}

.c-shapeimages__img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 600px;
}

.c-shapeimages {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-microstructure {
  margin: 48px 0 80px;
  background-color: #f2f2f7;
  padding: 80px 64px;
  border-radius: 40px;
}

.p-microstructure__title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 48px;
}

.microstructure-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-microstructure__figure {
  margin: 0;
}

.c-microstructure__img {
  width: 557px;
  height: auto;
}
.c-microstructure__img.--note {
  width: 489px;
}

.microstructure-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px;
  margin-top: 48px;
}

.c-graph img,
.c-corrosion-images img {
  max-width: 900px;
}

.c-microstructure__img_zantei {
  max-width: 800px;
}

.c-microstructure__figure_zantei {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-title_center_zantei {
  text-align: center;
  margin-top: 40px;
}

/* Foundation -------------------------------------------------------- */
/* Base -------------------------------------------------------- */
/* Foundation -------------------------------------------------------- */
/* ================================================================
   Base › Typography — トップページの実HTMLに合わせた文字指定
================================================================ */
/* 1. 本文（共通） */
body {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #000000;
}

/* 2. メインナビゲーション */
.c-gnav__link {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #000000;
  text-decoration: none;
}

.c-gnav__link {
  border-radius: 100px;
  display: inline-block;
  padding: 16px 8px 12px;
  color: #000000;
}
.c-gnav__link.--primary {
  background-image: linear-gradient(112deg, #0077bc 11.6%, #00bc9c 68.76%);
  color: #ffffff;
  padding: 16px 24px 12px;
}

/* 3. ヒーローエリア */
.c-hero__title {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 40px;
  color: #ffffff;
  margin: 0 0 0.5em;
}

.c-hero__subtitle {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: #ffffff;
  margin: 0 0 40px 0;
  display: inline-block;
}

.c-hero__text, .c-key-technology__text {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
  margin: 0 0 1.5em;
}

/* 4. トップページ 特徴見出し 英語 */
.c-topfeatures__sectionheading {
  font-family: "Alumni Sans", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 80px;
  line-height: 46px;
  margin: 0 0 1rem;
}
.c-topfeatures__sectionheading.--precipitation {
  color: #92b4c5;
}
.c-topfeatures__sectionheading.--keytechnology {
  color: #bdf6fa;
}
.c-topfeatures__sectionheading.--axsiazeroseries {
  color: #bdf6fa;
  text-align: center;
}

.c-topfeatures__heading {
  line-height: 1.4;
  margin-bottom: 64px;
}

.c-topfeatures__subheading {
  color: #07a989;
  font-weight: bold;
}

.c-topfeatures_body.--axsiazeroseries {
  text-align: center;
}

/* 5. Precipitation-Hardening Material */
.c-precipitation__heading, .c-key-technology__heading {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.3;
  color: #000000;
  margin: 0 0 0.75em;
}

.c-precipitation__subheading {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: #92b4c5;
  margin: 0 0 1.5em;
}

/* 6. Key Technology */
/* 7. AXSIA Zero Series サブタイトル */
.c-series__subtitle {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 28px;
  color: #000000;
  margin: 0 0 1.5em;
}

/* 8. ボタン内テキスト */
.c-btn__label {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 14px;
  line-height: 28px;
}

/* 9. CTAカード */
.p-cta-card__heading {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 28px;
  margin: 0 0 0.75em;
}

.p-cta-card__lead {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 28px;
  margin: 0 0 1em;
}

.p-cta-card__note {
  font-family: "Noto Sans JP" "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 14px;
  line-height: 28px;
  color: #92b4c5;
  margin: 1em 0 0;
}

/* 10. フッター住所 / コピーライト */
.c-footer__address,
.c-footer__copyright {
  font-family: "Inter", sans-serif;
  line-height: 32px;
  color: #92b4c5;
  font-style: normal;
  color: #ffffff;
}

.c-footer__copyright {
  text-align: right;
  display: block;
  width: 1220px;
  margin: 0 auto;
}

/* Layout ------------------------------------------------------------ */
/* Foundation -------------------------------------------------------- */
.l-container {
  /* --- 幅を決める ------------------------------------------------------- */
  /* 100% から左右ガター分を引いた幅と $container-max の小さい方 　　 */
  /* → 大画面は 1220px で止まり、小画面は自動でフル幅になる          */
  inline-size: min(100% - 4rem, 1220px);
  /* --- 安全パディング（要素がビューポート端にくっつくのを防止） ------ */
  padding-inline: clamp(1rem, 4vw, 2rem);
  /* --- 横中央寄せ（論理プロパティで RTL にも対応） -------------------- */
  margin-inline: auto; /* = margin-left/right: auto; と同義 :contentReference[oaicite:1]{index=1} */
}

/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Layout: .l-header
   =================================================================== */
@layer layout {
  .l-header {
    position: relative;
    z-index: 1000;
    background-color: #ffffff;
  }
  .l-header__inner {
    position: absolute;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding-top: 24px;
    /* ← ヘッダー固有の並び・余白 */
  }
  .l-header__logo {
    /* <img> の下の隙間対策 */
    padding-left: 2rem;
    margin: 0;
    /* h1 初期余白を打ち消す */
    line-height: 0;
  }
  .l-header__logo a {
    display: block;
    width: 160px;
    height: 32px;
  }
  .l-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0px 8px 0px 32px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-right: 2rem;
    gap: 36px;
  }
}
/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Layout: .l-cards
   汎用カードラッパー（1 カラム → 2 カラム）
   =================================================================== */
.l-cards {
  display: grid;
  gap: 2rem;
}
@media (min-width: 768px) {
  .l-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Object ------------------------------------------------------------ */
/* Foundation -------------------------------------------------------- */
.c-hero {
  position: relative;
  background-position: center;
  background-size: cover;
}

.c-hero__title {
  margin-bottom: 88px;
  font-family: "Alumni Sans", sans-serif;
  font-size: 56px;
  color: #ffffff;
  font-weight: 100;
  letter-spacing: -6px;
}
.c-hero__title--highlight {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1px;
  margin-left: 16px;
}

.c-hero__subtitle {
  margin-bottom: 2rem;
  font-size: 32px;
  color: #ffffff;
  line-height: 1.4;
}

.c-hero__text {
  font-size: 1rem;
  line-height: 1.8;
  color: #ffffff;
  width: 100%;
  line-height: 2;
}

.c-hero--main {
  position: relative;
  padding: 105px 0;
  height: 800px;
}
@media (min-width: 768px) {
  .c-hero--main {
    padding: 0;
  }
}

.c-hero__media {
  position: absolute;
  display: block;
  width: 100%;
  height: 800px;
  background-size: cover;
  background-position: center;
}
.c-hero__media::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 6rem 0;
  top: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.4);
}

.c-hero__bgtext {
  font-family: "Alumni Sans Pinstripe", sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: 128px;
  color: #07a989;
  text-align: right;
  position: absolute;
  mix-blend-mode: hard-light;
  right: 0;
  z-index: 100;
  line-height: 1.2;
}

.c-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-hero {
  position: relative;
  overflow: hidden; /* はみ出しを隠して背景だけ見せる */
}

.c-hero__bg {
  position: absolute;
  top: 50%;
  left: 50%; /* 中心を起点に */
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); /* 真ん中揃え */
  -o-object-fit: cover;
     object-fit: cover; /* アスペクト比を維持しつつ要素を覆う */
}

/* Foundation -------------------------------------------------------- */
.section {
  padding: 4rem 0;
  background-color: #ffffff;
}
.section--shape {
  background: #efefef;
}
.section--mechanical {
  background: #ffffff;
}
.section--curve {
  background: #efefef;
}
.section--corrosion {
  background: #ffffff;
}

/* Foundation -------------------------------------------------------- */
.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text, #333);
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  /* 右端矢印のぶん余白を広めに */
  padding: 0.75rem 2.75rem 0.75rem 1.5rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  /* デフォルト配色（内部リンクなど） */
  background-color: linear-gradient(112deg, #0077bc 11.6%, #00bc9c 68.76%);
  border-radius: 9999px;
  transition: opacity 0.2s;
  /* > の矢印。右端に絶対配置して tap 領域を確保 */
  /* ---------- Variant -------------------------------------------------- */
}
.c-btn[target=_blank] ::after {
  font-family: "Material Symbols Outlined";
  font-weight: bold;
  content: "\e89e";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.c-btn:hover, .c-btn:focus-visible {
  opacity: 0.7;
}
.c-btn__arrow {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn.--primary {
  background-image: linear-gradient(112deg, #0077bc 11.6%, #00bc9c 68.76%);
  color: #ffffff;
}
.c-btn--mailto {
  background: linear-gradient(135deg, #c9e1ee 0%, #00c896 100%);
}

/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Component: .c-gnav
   ─ グローバルナビの水平リスト
   =================================================================== */
@layer component {
  .c-logo__img {
    width: 138px;
    height: auto;
  }
  .c-gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 8px 0;
  }
  .c-gnav__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .c-gnav__item:first-child {
    margin-left: 0;
  }
  .c-gnav__link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 0.25rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: var(--color-text, #333);
    text-decoration: none;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    margin-left: 8px;
  }
  .c-gnav__link[target=_blank] ::after {
    font-family: "Material Symbols Outlined";
    font-weight: bold;
    content: "\e89e";
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  }
  .c-gnav__link:hover, .c-gnav__link:focus-visible {
    opacity: 0.7;
  }
  .c-gnav__link--primary {
    padding: 0.5em 1.25em;
  }
  .c-gnav__link .c-gnav__icon {
    margin-left: 0.25em;
    font-size: 0.8em;
    vertical-align: middle;
  }
}
.mechanical .table-container {
  margin: 2rem 0;
  overflow-x: auto;
}

/* Foundation -------------------------------------------------------- */
.c-chart-container {
  width: 100%;
  height: 400px;
  margin: 2rem 0;
}

/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Component: .c-card
   汎用カード（背景薄色・角丸）
   =================================================================== */
.c-card {
  padding: 2rem;
  line-height: 1.7;
  color: var(--color-text, #333);
  background: var(--bg-muted, #f5f7fa);
  border-radius: 1rem;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.c-card:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.c-card__title {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
  font-family: "Alumni Sans", sans-serif;
  font-size: 1.25rem;
}

.c-card__text {
  -webkit-margin-after: 1rem;
          margin-block-end: 1rem;
  font-size: 1rem;
}

/* Foundation -------------------------------------------------------- */
.c-precipitation__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media (min-width: 768px) {
  .c-precipitation__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.c-precipitation__image {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-precipitation__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-precipitation__heading {
  margin-bottom: 0.5rem;
  font-family: "Alumni Sans", sans-serif;
  font-size: 1.5rem;
}

.c-precipitation__subheading {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  color: linear-gradient(112deg, #0077bc 11.6%, #00bc9c 68.76%);
}

.c-key-technology__heading {
  margin-bottom: 1rem;
  font-family: "Alumni Sans", sans-serif;
  font-size: 1.5rem;
}

.c-key-technology__text {
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 1.8;
  color: #000000;
}

.c-key-technology__images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}

.c-key-technology__item img {
  width: 100%;
  height: auto;
}

.c-series__subtitle {
  margin-bottom: 2rem;
  font-size: 1rem;
  color: #000000;
}

.c-series__table-wrap {
  margin-bottom: 2rem;
  overflow-x: auto;
}

.c-series__table {
  width: 100%;
  border-collapse: collapse;
}

.c-series__table th,
.c-series__table td {
  padding: 0.75rem;
  font-size: 0.875rem;
  text-align: left;
  border: 1px solid 1px solid #92b4c5;
}

.c-series__cta {
  margin-top: 2rem;
  text-align: center;
}

/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Project: .p-gnav-shell
   ─ ヘッダー専用ナビの「殻」（半透明＋角丸＋ブラー）
   =================================================================== */
.p-gnav-shell {
  border-radius: 100px;
  background: var(--white-white70, rgba(255, 255, 255, 0.7));
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

/* Foundation -------------------------------------------------------- */
/* ===================================================================
   Project: .p-cta-card
   フッター CTA 専用（半透明＋ブラー・中央揃え）
   =================================================================== */
.p-cta-card {
  overflow: hidden;
  color: var(--color-text-inverse, #fff);
  background: var(--bg-cta-card, rgba(0, 64, 128, 0.25));
  border-radius: 2rem;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

.p-cta-card__inner {
  max-inline-size: 60ch;
  padding: 3rem 2rem;
  margin: 0 auto;
  text-align: center;
}

.p-cta-card__heading {
  -webkit-margin-after: 1.5rem;
          margin-block-end: 1.5rem;
  font-family: "Alumni Sans", sans-serif;
  font-size: clamp(1.25rem, 3vw, 1.5rem);
  font-weight: normal;
}

.p-cta-card__lead {
  -webkit-margin-after: 2.5rem;
          margin-block-end: 2.5rem;
  line-height: 1.8;
  text-align: left;
  font-size: 14px;
}

.p-cta-card__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-after: 2rem;
          margin-block-end: 2rem;
  margin: 0;
}

.p-cta-card__note {
  font-size: 0.875rem;
}

.shape__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.shape__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(33.333% - 1rem);
          flex: 1 1 calc(33.333% - 1rem);
  text-align: center;
}
.shape__item img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.shape__item figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}

/* Utility ------------------------------------------------------------ */
/* -----------------------------------------------
     utility / responsive
  ------------------------------------------------ */
.text-center {
  text-align: center !important;
}

.mt-md {
  margin-top: 2rem !important;
}

.mb-md {
  margin-bottom: 2rem !important;
}/*# sourceMappingURL=main.css.map */