/* ========================================
   1. Google Fonts, Modern Reset & Variables
======================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@400;700&display=swap');

:root { 
    --nidec-green: #00a651;
    --nidec-green-light: #d6eedf; 
    --dark-bg: #1a1a1a; 
    --text-main: #333;
}
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, h5, p, ul, li { margin: 0; padding: 0; list-style: none; }
body { font-family: 'Roboto', 'Noto Sans JP', 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif; color: var(--text-main); line-height: 1.6; padding-top: 80px; background-color: #fff; overflow-x: hidden; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
.forSP { display: none; }
.forPC { display: inline-block; }
.container { max-width: 1000px; margin: 0 auto; padding: 0; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-green { color: var(--nidec-green); }
.text-small { font-size: 12px; }
.section-padding { padding: 40px 0; }
.section_tilt_r { clip-path: polygon(0 100px, 100% 0, 100% calc(100% - 100px), 0 100%); }
.section_tilt_r2 { clip-path: polygon(0 100px, 100% 0, 100% 100%, 0 100%); }
.gradation { background-image: linear-gradient(180deg, #00662f, #12bc5f); }

/* =========================================
   2. レイアウトパーツ（ヘッダー・ナビ）
========================================= */
header { position: fixed; top: 0; left: 0; width: 100%; height: 80px; background-color: #000; display: flex; justify-content: space-between; align-items: center; z-index: 1000; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); }
header .logo { margin-left: 15px; width: 140px; font-size: 0; }
.header-actions { display: flex; height: 100%; }
.btn-header { display: flex; align-items: center; justify-content: center; padding: 0 20px; text-decoration: none; font-weight: bold; font-size: 14px; transition: opacity 0.3s; }
.btn-header:hover { opacity: 0.8; }
.btn-contact { background-color: #fff; color: var(--nidec-green); }
.btn-document { background-color: var(--nidec-green); color: #fff; }
.btn-contact .btn-icon { width: 25px; height: 25px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/icon_inquiry.svg) center left no-repeat; background-size: 20px auto; }
.btn-document .btn-icon { width: 25px; height: 25px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/icon_download.svg) center left no-repeat; background-size: 20px auto; }

/* 右側追従ナビゲーション */
.side-nav { position: fixed; top: 50%; right: 0; transform: translateY(-50%); z-index: 900; display: flex; flex-direction: column; box-shadow: -2px 0 5px rgba(0,0,0,0.1); }
.side-nav a { display: block; width: 120px; padding: 15px 0; text-align: center; text-decoration: none; font-weight: bold; font-size: 14px; background-color: var(--nidec-green-light); color: var(--nidec-green); border-bottom: 1px solid #fff; transition: all 0.3s ease; }
.side-nav a:last-child { border-bottom: none; }
.side-nav a:hover, .side-nav a.active { background-color: var(--nidec-green); color: #fff; }

/* 3カラムグリッド共通 */
.grid-3 { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 40px; }
.grid-3 .item { flex: 1 1 calc(33.333% - 30px); text-align: center; }
.grid-3 .item .img-placeholder { width: 100%; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; }

/* =========================================
   3. 各セクションのデザイン
========================================= */
/* ヒーローセクション */
.hero { background: linear-gradient(135deg, #0b3d5b, #001a33); color: #fff; position: relative; }
.hero h2 { font-size: 2.5rem; margin-bottom: 20px; line-height: 1.4; }
.hero p { font-size: 1.2rem; font-weight: bold; }
.hero-container { position: relative; }
.hero-container .text { position: absolute; margin: 10vw 0 0 6vw; z-index: 100; }
.hero-container .interop-logo { margin-bottom: 25px; }
.hero-container picture img { width: 100%; }
.hero-container .date { border: 1px solid #fff; padding: 12px 15px; margin-top: 30px; display: inline-block; background-color: rgb(0,0,0, 0.3); font-size: 1.5rem;  font-weight: bold; }
.hero-container .date span { font-size: 1.1rem; }
h2.section-title { font-size: 1.8rem; margin-bottom: 20px; line-height: 1.5; }

/* 課題・強みセクション */
#issue { padding: 120px 0 100px 0; margin-top: -100px; background-color: #fff; }
#issue h3 { margin-top: 0; font-size: 22px; }
#issue h3 + p { margin-bottom: 15px; }
#issue .item h3 { margin-top: -25px; }

#strength { padding: 120px 0 180px 0; background-color: #f5f5f5; }
#strength h3 { font-size: 22px; }
#strength h3 + p { margin-bottom: 15px; }

/* 製品ラインナップセクション */
#lineup { padding: 120px 0 150px 0; margin-top: -100px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/bg_lineup.webp) center center no-repeat; background-size: cover; }
#lineup h2.section-title { color: var(--nidec-green); font-size: 2rem; margin-bottom: 40px; }
.product-card { border: 8px solid #059148; padding: 40px; margin-bottom: 30px; background-color: rgba(255, 255, 255, 0.75); }
.product-card dl { display: table; margin: 0 auto 15px auto; }
.product-card dl dt { vertical-align: middle; display: inline-block; padding: 12px 10px; background-color: #00a850; transform: skewX(-12deg); }
.product-card dl dt span { display: inline-block; background: var(--nidec-green); color: #fff; font-weight: bold; padding: 15px 10px; font-size: 18px; transform: skewX(12deg); line-height: 1; }
.product-card dl dd { display: table-cell; text-align: center; vertical-align: middle; padding-left: 20px; }
.product-card dl dd p { font-size: 18px; font-weight: bold; color: var(--nidec-green); }
.product-card h3 { color: var(--nidec-green); padding-bottom: 10px; font-size: 36px; text-align: center; line-height: 1.3; }
.product-card h5 { color: #fff; background: var(--nidec-green); display: inline-block; padding: 3px 10px 4px 10px; border-radius: 5px; margin: 0 0 10px 30px; }
.product-card ul { margin-left: 30px; }
.product-card ul li { margin-bottom: 3px; }
.product-name { margin-bottom: 25px; color: var(--nidec-green); font-size: 34px; text-align: center; }

.product-item { flex: 1; min-width: 200px; flex-direction: column; }
.product-flex { display: flex; gap: 40px; flex-wrap: wrap; margin-top: 30px; align-items: stretch;}
.product-flex.triple .product-item { display: flex; }
.product-flex .product-item .inner { border: 8px solid #059148; padding: 25px; margin-bottom: 30px; background-color: rgba(255, 255, 255, 0.75); display: flex; flex-direction: column; flex-grow: 1; }
.product-flex .product-item .inner h4 { text-align: center; color: var(--nidec-green); font-size: 26px; line-height: 1.2; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #059148; }
.product-flex .product-item .inner h4 span { font-size: 18px; }
.product-flex .product-item .inner h5 { margin-bottom: 15px; }
.product-flex .product-item .inner ul { flex-grow: 1; }
.product-item ul li { padding-left: 0.5em; text-indent: -0.5em; }
.product-flex .product-item h5 span { color: #fff; background: var(--nidec-green); padding: 3px 10px 4px 10px; border-radius: 5px; }
.product-item .img-placeholder { width: 100%; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; }

.product-card .product-flex { border-top: 1px solid #059148; padding-top: 20px;  }

.btn { text-align: center; margin-top: 30px; }
.btn a { transition: opacity 0.3s; }
.btn a:hover { opacity: 0.8; }

/* Coming Soon */
.coming-soon { background-color: #354650; color: #fff; text-align: center; padding: 120px 0 140px; margin-top: -100px; }
.coming-soon .message { transform: rotate(-4.25deg); }
.coming-soon .message p { display: inline-block; padding: 12px 10px; transform: skewX(-12deg); background-image: linear-gradient(to right, #5d6b73 50%, transparent 50%); background-size: 200% 100%; background-position: right bottom; transition: background-position 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.4s; }
.coming-soon .message p span { display: inline-block; color: #fff; font-weight: 600; padding: 0px 20px; font-size: 40px; transform: skewX(12deg); line-height: 1; }
.coming-soon .message h2 { display: inline-block; padding: 0 10px; font-size: 75px; line-height: 1; background-image: linear-gradient(transparent 60%, #5d6b73 60%); background-repeat: no-repeat; background-size: 0% 100%; background-position: left bottom; transition: background-size 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.7s; }
.fade-in-up.is-inview .message p { background-position: left bottom; }
.fade-in-up.is-inview .message h2 { background-size: 100% 100%; }

/* イベント情報（ブース案内）セクション */
#booth { background-color: var(--nidec-green); color: #fff; padding: 180px 0 50px 0; margin-top: -100px; }
#booth .logo { text-align: center; margin-bottom: 20px; }
#booth .section-title { text-align: center; }
#booth .section-title + p { line-height: 2; }
.event-box { background-color: #fff; margin-top: 30px; padding-bottom: 30px; }
.event-box h3 { text-align: center; background-color: #005325; color: #fff; padding: 10px; }
.event-box .detail { margin: 30px; line-height: 2; color: #333; }
.event-box .shownet { margin: 0 30px; padding: 50px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/bg_shownet.webp) center center no-repeat; background-size: cover; color: #fff; text-align: center; }
.event-box .shownet h4 { display: inline-block; padding: 12px 10px; transform: skewX(-12deg); line-height: 1.0; background-color: transparent; background-image: linear-gradient(to right, rgba(255,255,255,0.85) 50%, transparent 50%); background-size: 200% 100%; background-position: right bottom; transition: background-position 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.6s; }
.event-box .shownet h4 span { display: inline-block; color: #fff; font-weight: 600; padding: 0px 15px; font-size: 20px; color: #009345; transform: skewX(12deg); line-height: 1.0; }
.event-box .shownet h5 { margin: 20px 0 15px; padding: 0 30px; display: inline-block; font-size: 36px; }
.event-box .shownet h5 span { background-image: linear-gradient(transparent 50%, rgb(13, 119, 62) 50%); background-repeat: no-repeat; background-size: 0% 100%; background-position: left bottom; transition: background-size 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.event-box .shownet h5 span:first-child { transition-delay: 0.9s; }
.event-box .shownet h5 span:last-child { transition-delay: 1.1s; }
.event-box .shownet h5 + p { line-height: 2; }
.event-box .shownet + h4 { margin: 20px 40px 15px 30px; color: #b03027; }
.event-box .shownet + h4 + p { margin: 0 30px; color: #333; }
.fade-in-up.is-inview .shownet h4 { background-position: left bottom; }
.fade-in-up.is-inview .shownet h5 span { background-size: 100% 100%; }

/* =========================================
   4. コピーライト（最下部フッター）
========================================= */
.site-footer { background-color: #000; color: #fff; text-align: center; padding: 20px; font-size: 16px; font-weight: bold; }


/* =========================================
   6. レスポンシブ対応
========================================= */
@media (max-width: 1024px) {
    .hero h2 { font-size: 2.1rem; margin-bottom: 15px; }
    .hero p { font-size: 1rem; }
    .hero-container .text { margin: 8vw 0 0 5vw; }
    .product-card h3 { font-size: 28px; }
    .product-name { font-size: 28px; }
    .coming-soon .message h2 { font-size: 90px; }
}

@media (max-width: 768px) {
   body { padding-top: 14vw; }
   .forSP { display: block; }
   .forPC { display: none; }
   .side-nav { display: none; }

   header { height: 14vw;  }
   header .logo { margin-left: 15px; width: 20vw; font-size: 0; }
   .btn-header { padding: 0 15px; text-decoration: none; font-weight: bold; font-size: 2.5vw; transition: opacity 0.3s; }


   #issue { padding: 15vw 5.5vw 3.5vw 5.5vw; }
   #strength { padding: 15vw 5.5vw 30vw 5.5vw; }
   #issue h2,
   #strength h2 { font-size: 5.5vw; }
   #issue h2 + p,
   #strength h2 + p { text-align: left; font-size: 3.4vw; }

   .grid-3 { display: block; }
   .grid-3 .item { display: flex; justify-content: space-between; margin-bottom: 6vw; align-items: center;}
   .grid-3 .item .img-placeholder { width: 40%; display: block; }
   .grid-3 .item .img-placeholder img { width: 250px; }
   .grid-3 .item .detail { width: 60%; text-align: left; padding-left: 5.5vw; }
   .grid-3 .item .detail h3 { margin-bottom: 5px; font-size: 4.4vw!important; }
   .grid-3 .item .detail h3 + p { font-size: 2.6vw; margin-bottom: 10px!important; }
   .grid-3 .item .detail h3 + p + p { font-size: 3.4vw; }
   .product-flex { flex-direction: column; }
   .product-item .product-name { padding-top: 3vw; }
   .product-item.border { border-top: 1px solid var(--color-main); margin-top: 7vw; }
    .hero-container { position: relative; }
    .hero-container .text { position: absolute; margin: 6.5vw 0 0 5vw; z-index: 100; }
    .hero-container .text p img { height: 40px; margin-bottom: 15px; }
    .hero-container { position: relative; }
    .hero-container picture img { width: 100%; }
    .hero-container .interop-logo { margin-bottom: 0px; }
    .hero-container .date { position: absolute; top: 75vw; font-size: 3.4vw; padding: 8px 12px; font-weight: bold; }
    .hero-container .date span { font-size: 2.4vw; }
    .hero h2 { font-size: 5.25vw; margin-bottom: 15px; line-height: 1.4; }
    .hero p { font-size: 3.4vw; font-weight: normal; line-height: 1.8; width: 50%; }
    .hero-container picture.kv { margin-top: 20px; }
    h2.section-title { font-size: 1.5rem; }

   .section_tilt_r { clip-path: polygon(0 0, 100% 30px, 100% 100%, 0 calc(100% - 30px));}
   .section_tilt_r2 { clip-path: polygon(0 0, 100% 30px, 100% 100%, 0 100%); }

   /*
   .section_tilt_r2 { clip-path: polygon(0 100px, 100% 0, 100% 100%, 0 100%); }
   */
   /* 製品ラインナップセクション */
   #lineup { padding: 15vw 5.5vw; margin-top: -100px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/bg_lineup.webp) center center no-repeat; background-size: cover; }
   #lineup h2.section-title { font-size: 5.5vw; margin-bottom: 20px; }

   .product-card { padding: 20px; }
   .product-card dl dt { padding: 8px 5px; }
   .product-card dl dt span { font-size: 3.4vw; padding: 10px 5px; }
   .product-card dl dd p { font-size: 3.4vw; }
   .product-card dl + p  { font-size: 3.4vw; text-align: left; }
   .product-card h3 { font-size: 5.5vw; }
   .product-flex  { margin-top: 0; gap: 0!important; }
   .product-item h4 { font-size: 6vw; }
   .product-item h5 { font-size: 3.4vw; margin: 0 0 15px 0;  }
   .product-item ul { margin: 0; }
   .product-item li { font-size: 3.4vw; }




   .coming-soon { padding: 15vw 0 30vw 0; margin-top: -10vw; overflow: hidden; }
   .coming-soon .message { transform: rotate(4.25deg); }
   .coming-soon .message p span { font-size: 5vw; padding: 0 10px; }
   .coming-soon .message h2 { font-size: 7vw; }

   #booth { padding: 20vw 5.5vw 1vw 5.5vw!important;}
   #booth .logo { text-align: center; margin-bottom: 25px; }
   #booth .logo img { width: 50vw; }
   #booth .section-title { text-align: center; font-size: 5.5vw;}
   #booth .section-title + p { line-height: 2; font-size: 3.4vw; }
   #booth .container { margin-bottom: 0; padding-bottom: 0; }

   .event-box { margin-bottom: 6vw; background-color: #fff; margin-top: 20px; padding-bottom: 25px; }
   .event-box h3 { text-align: center; background-color: #005325; color: #fff; padding: 10px; font-size: 4.4vw; }
   .event-box .detail { margin: 4.4vw; line-height: 2; color: #333; font-size: 3.4vw; }
   .event-box .shownet { margin: 0 4.4vw; padding: 50px; background: url(/files/user/www-nidec-com/jp/interop-tokyo2026/assets/img/bg_shownet.webp) center center no-repeat; background-size: cover; color: #fff; text-align: center; }
   .event-box .shownet h4 { display: inline-block; padding: 12px 10px; transform: skewX(-12deg); line-height: 1.0; background-color: transparent; background-image: linear-gradient(to right, rgba(255,255,255,0.85) 50%, transparent 50%); background-size: 200% 100%; background-position: right bottom; transition: background-position 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.6s; }
   .event-box .shownet h4 span { display: inline-block; color: #fff; font-weight: 600; padding: 0px 15px; font-size: 4.4vwpx; color: #009345; transform: skewX(12deg); line-height: 1.0; }
   .event-box .shownet h5 { margin: 20px 0 15px; padding: 0 30px; display: inline-block; font-size: 5.5vw; }
   .event-box .shownet h5 span { background-image: linear-gradient(transparent 50%, rgb(13, 119, 62) 50%); background-repeat: no-repeat; background-size: 0% 100%; background-position: left bottom; transition: background-size 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
   .event-box .shownet h5 span:first-child { transition-delay: 0.9s; }
   .event-box .shownet h5 span:last-child { transition-delay: 1.1s; }
   .event-box .shownet h5 + p { line-height: 2; font-size: 3.4vw; text-align: left; }
   .event-box .shownet + h4 { margin: 20px 4.4vw 10px 4.4vw; color: #b03027; }
   .event-box .shownet + h4 + p { margin: 0 4.4vw; color: #333; font-size: 3.4vw; }
   .fade-in-up.is-inview .shownet h4 { background-position: left bottom; }
   .fade-in-up.is-inview .shownet h5 span { background-size: 100% 100%; }


    .event-box .shownet { padding: 30px 15px; }
    .event-box .shownet h4 span { font-size: 14px; padding: 0 10px; }
    .event-box .shownet h5 { font-size: 20px; padding: 0; line-height: 1.6; }
    .event-box .shownet h5 span { display: inline; }

    .site-footer { padding-bottom: 15px; font-size: 12px; }
}

/* =========================================
   7. アニメーション（Inview / KV）
========================================= */
.fade-in-up { opacity: 0; transform: translateY(40px); transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.fade-in-up.is-inview { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.kv-anim { opacity: 0; animation: kvFadeInUp 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards; }
.kv-anim.delay-200 { animation-delay: 0.2s; }

@keyframes kvFadeInUp {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
    .delay-100 { transition-delay: 0.05s; }
    .delay-200 { transition-delay: 0.1s; }
    .delay-300 { transition-delay: 0.15s; }
    .kv-anim.delay-200 { animation-delay: 0.1s; }
}
:root {
  /* Colors */
  --color-main: #00a040;
  /* ▼ Fluid Typography (文字サイズ自動伸縮スケール) ▼ */
  --fz-4xl:  clamp(32px, 5vw, 60px); /* ヒーロー、特大見出し */
  --fz-3xl:  clamp(30px, 4.4vw, 50px); /* ヒーロー、特大見出し */
  --fz-2xl:  clamp(26px, 4vw, 40px); /* セクション大見出し */
  --fz-xl:   clamp(22px, 3vw, 32px); /* 中見出し、ニュースH1 */
  --fz-lg:   clamp(18px, 2vw, 24px); /* 小見出し、強調 */
  --fz-md:   clamp(16px, 1.5vw, 18px); /* リード文、大きめテキスト */
  --fz-base: clamp(15px, 1.5vw, 16px); /* 標準本文 */
}

/* ========================================
   3. Layout & Common Components
   ======================================== */
.l-section { position: relative; padding: 60px 0; }
@media screen and (max-width: 768px) {
  .l-section { padding: 60px 0; }
}

/* ▼ 内枠（横幅と左右の余白） ▼ */
.l-inner { position: relative; z-index: 2; max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.l-inner--narrow { max-width: 1000px; }

/* Company */
.p-company { padding: 100px 0; }
.p-company__logo { margin-bottom: 40px; text-align: center; }
.p-company__logo img { width: 300px; height: auto; margin: 0 auto; }
.p-company__text { margin-bottom: 60px; font-size: var(--fz-md); font-weight: bold; line-height: 2; text-align: left; letter-spacing: 0.08em; }
.p-company__stats { display: flex; justify-content: space-between; gap: 30px; }
.p-company__stat-item { display: flex; flex: 1; flex-direction: column; justify-content: center; align-items: center; padding: 20px; border-radius: 50%; background-color: #f9f9f9; text-align: center; aspect-ratio: 1 / 1; }
.p-company__stat-icon { display: flex; justify-content: center; align-items: center; height: 110px; margin-bottom: 10px; }
.p-company__stat-icon img { width: auto; max-height: 100%; }
.p-company__stat-title { color: var(--color-main); font-size: var(--fz-md); font-weight: bold; }
.p-company__stat-number { margin: 0 0 5px 0; color: var(--color-main); font-size: var(--fz-xl); font-weight: bold; line-height: 1; }
.p-company__stat-number span { font-size: var(--fz-lg); }
.p-company__stat-number .js-count-up { font-size: var(--fz-3xl); }
.p-company__stat-suffix { margin: 0; color: var(--color-main); font-size: var(--fz-lg); font-weight: bold; }

/* ========================================
   11. Media Query (Mobile Settings)
   ======================================== */
@media screen and (max-width: 768px) {
  .p-company { padding: 60px 0; }
  .p-company__logo { margin-bottom: 30px; }
  .p-company__logo img { width: 50vw!important; }
  .p-company__text { margin-bottom: 30px; text-align: left; line-height: 1.7;font-size: var(--fz-base); letter-spacing: 0.1em; }
  .p-company__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; justify-items: center; }

  .p-company__stat-item { aspect-ratio: 1 / 1; width: 95%; padding: 15px 0; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
  .p-company__stat-item:nth-child(3) { grid-column: 1 / 3; width: 50%; margin: 0 auto; }
  .p-company__stat-icon { height: 50%; margin-bottom: 10px; }
  .p-company__stat-title { font-size: 11px; line-height: 1.1; margin-bottom: 8px; max-width: 90%; }
  .p-company__stat-number { font-size: 12px; margin-bottom: 0; }
  .p-company__stat-number span { font-size: var(--fz-lg); letter-spacing: -0.01em; }
  .p-company__stat-number .js-count-up { font-size: 28px; }
  .p-company__stat-suffix { margin-top: 5px; font-size: 12px; line-height: 1; }
}
/* ========================================
   iPhone SE（第1世代）など374px以下の極小画面向け調整
   ======================================== */
@media screen and (max-width: 374px) {
  /* Gridアイテムがコンテンツ幅に合わせて押し広げられるのを防ぐ */
  .p-company__stat-item {
    min-width: 0; 
  }
  
  /* 円の中にテキストが収まるよう、固定値で少し縮小 */
  .p-company__stat-title {
    font-size: 10px;
    letter-spacing: normal;
  }
  
  /* 桁数の多い数字のはみ出しを防ぐ */
  .p-company__stat-number .js-count-up {
    font-size: 20px; 
  }
  
  /* 単位（人、ヵ国、億台）のサイズ調整 */
  .p-company__stat-number span {
    font-size: 12px; 
  }
}