/* ===============================
   Custom styles (2025-10 改修)
================================= */


/* =======================================================
   TOP：MVバナー配置とアニメーション（2025-10-11）
   PC：右下寄りに重ねる
   SP：取扱製品ボタンの直下に配置
========================================================= */

/* --- 基本（PC基準） --- */
.mv-banner {
  position: absolute;     /* ← ここをrelative→absoluteへ */
  bottom: 20%;
  right: -1%;
  width: 19vw;
  max-width: 400px;
  z-index: 10;
  opacity: 0;
  animation: fadeInSoft 2.5s ease-in-out 0.5s forwards;
}

/* --- 画面幅ごとの微調整 --- */

@media (max-width: 1536px) and (min-width: 1281px) {
  .mv-banner { bottom: 20%; right: -2%;  width:23vw;}
}
@media (max-width: 1280px) and (min-width: 1025px) {
  .mv-banner { bottom: 10%; right: -2%; width:23vw;}
}
@media (max-width: 1024px) and (min-width: 768px) {
  .mv-banner { bottom: 10%; right:1%; width: 35vw;}
}

/* --- スマホ（767px以下）--- */
@media (max-width: 767px){
  .mv-banner{
    position: static;              /* ← フロー内に戻す */
    display: block;
    margin: 40px auto 0;           /* ボタンのすぐ下に中央配置 */
    width: clamp(180px, 60vw, 260px);
    max-width: none;
    transform: none;
    animation: fadeInSoftMobile .9s ease-out .2s forwards;
    z-index: 20;
  }
}

/* --- 超小型スマホ（375px以下）--- */
@media (max-width: 375px){
  .mv-banner{ width: clamp(160px, 58vw, 220px);}
}

/* --- フェードインアニメーション --- */
@keyframes fadeInSoft {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(0.95); }
}
@keyframes fadeInSoftMobile {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 480px) {
#mainvisual .obj.active .obj-earth {
        bottom: 50%;
    }
#mainvisual .obj .obj-hand {
    bottom: 30%;
    right: 0;
}
}

/* --- 上部余白調整 --- 
@media (max-width: 480px) {
    #mainvisual .wrap {
        padding: 12vh 0 0;
    }
}

*/

/* -------------------------------------------------------
  Float Menu（左バナー固定表示）
  Date: 2025-10-11 (JST)
  Purpose:
    - footer.php 内の #float-menu を全ページで固定表示
    - 画面中央付近に自然配置し、上下にはみ出さないよう制御
    - 1280px未満では少し下げて、わずかにコンパクトに
    - YouTubeアイコン追加を想定（高さは変数で調整）
------------------------------------------------------- */

:root{
  --fm-h: 465px;     /* バナー全体の高さ（YouTube追加後の実測に更新） */
  --fm-gap: 20px;    /* 画面上下の最小余白 */
  --fm-offset: 15px; /* 下方向オフセット（標準時） */
  --fm-scale: 0.93;  /* 全体の縮小率（0.90〜0.95が自然） */
}

/* ==========================
   基本配置と見た目調整
========================== */
#float-menu{
  position: fixed !important;
  left: 0 !important;
  z-index: 9999 !important;

  /* 画面高さに応じて“はみ出さない”位置＋任意オフセット */
  top: calc(
    clamp(
      var(--fm-gap),
      calc(50vh - (var(--fm-h) / 2)),
      calc(100vh - var(--fm-gap) - var(--fm-h))
    ) + var(--fm-offset)
  ) !important;
}

/* バナー間の余白 */
#float-menu .float-menu-recommend { margin: 0 0 10px; }
#float-menu .float-menu-sns div.twitter {margin: 0 0 10px;}

/* ==========================
   SNSアイコン（YouTube追加）
========================== */
#float-menu .float-menu-sns .youtube a{
  display: block;
  width: 50px;
  height: 50px;
  background: rgb(76, 141, 197) url(https://3ei.cr8ive.fun/wp-content/themes/3ei/assets/images/icon-youtube.svg) no-repeat center / 25px !important;
  border: 1px solid rgb(76, 141, 197) !important;
  transition: opacity 0.25s ease;
}
#float-menu .float-menu-sns .youtube { margin-top: 6px; }
#float-menu .float-menu-sns .youtube a:hover { opacity: 0.8; }

@media (max-width: 980px) {
    #sp-gnavi nav .sns div.youtube a {
        background: rgb(76, 141, 197) url(../../assets/images/icon-youtube.svg) no-repeat center!important;
        border: solid rgb(76, 141, 197) 1px!important;
    }
}

/* ==========================
   レスポンシブ調整
========================== */

/* 幅1280px未満：少し下げ、わずかに縮小（ノートPC想定） */
@media (max-width: 1280px){
  :root{
    --fm-offset: 85px;  /* 下方向オフセット（標準時） */
    --fm-scale: 0.90;  /* ほんの少しコンパクトに */
  }
  #float-menu{
  /* 全体をほんの少し縮小（見た目の圧迫感を軽減） */
  transform: scale(var(--fm-scale));
  transform-origin: top left;
  will-change: transform;
}
}

/* 縦が低い端末：さらに縮小して見切れ予防 */
@media (max-height: 700px){
  #float-menu{ transform: scale(0.90); }
}

/* さらに縦が低い：内部スクロールを許可して全表示を担保 */
@media (max-height: 600px){
  #float-menu{
    max-height: calc(100vh - var(--fm-gap) * 2);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* ------------------------------------------------------- */



/* ========
   business
=========== */

.business-pickup{
  padding:2rem 0;
}

#page-business .business-detail .business-detail-main #business-content05 .business-content-title:before {
    content: "05";
}

.business-detail-side ul.sub-list {
  margin: 6px 0 12px 12px !important;
  padding: 0;
  list-style: none!important;
}

.business-detail-side ul.sub-list li {
  position: relative;
  padding-left: 1em; /* 丸のスペース確保 */
  margin-bottom: 6px;
  color: #FFFF;
}

.business-detail-side ul.sub-list li::before {
  content: "●";
  position: absolute;
  left: 13px;
  top: 6px;
  font-size: 0.8em;       /* 大きさ調整 */
  color: #FFFF;
  line-height: 1;
}

#page-pickup .business-pickup-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    text-align: center;
    gap: 4rem 1.25%;
}

#page-pickup .business-pickup-item {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
}


#page-pickup .business-pickup-item img{
    width: 100%;
    height: 200px;
    object-fit: contain;
}

#page-pickup  a { 
  font-size: 11px; 
  color: #0c6fb2; 
  text-decoration: underline; }

#business-content03 h3{
    font-size: 20px;
    padding: 0 0 0 12px;
    border-left: solid #0c6fb2 6px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin: 0 0 1rem;
}

@media (max-width: 768px){
#page-pickup .business-pickup-list {
    justify-content: center;
    gap: 1rem 1.25%;
}
  #page-pickup .business-pickup-item {
    width: 70%;
}
#page-pickup .business-pickup-item img{
    height: auto;
}
}

/* 共有化すると管理が楽 */
#page-pickup .business-pickup-list,
#page-retail .business-pickup-list {
  display:flex; flex-wrap:wrap; justify-content:flex-start; gap:4rem 1.25%;
}

#page-pickup .business-pickup-item,
#page-retail .business-pickup-item {
  width:30%; display:flex; flex-direction:column; align-items:center;
}

#page-pickup .business-pickup-item img,
#page-retail .business-pickup-item img {
  width:100%; height:200px; object-fit:contain;
}

#page-pickup a,
#page-retail a {
  font-size:11px; color:#0c6fb2; text-decoration:underline;
}

@media (max-width:768px){
  #page-pickup .business-pickup-list,
  #page-retail .business-pickup-list {
    justify-content:center; gap:1rem 1.25%;
  }
  #page-pickup .business-pickup-item,
  #page-retail .business-pickup-item { width:70%; }
  #page-pickup .business-pickup-item img,
  #page-retail .business-pickup-item img { height:auto; }
}


/* ========
   about
=========== */

/* ▼ このページ限定：タブレット改行 ▼ */
.page-id-12360 .tab {
  display: none;
}

@media screen and (min-width: 501px) and (max-width: 1024px) {
  .page-id-12360 .tab {
    display: inline;
  }
    .page-id-12360 br.pc {
    display: none !important;
  }
}

/* ▲ ここまで */


#page-about {
    padding: 0 0 80px;
}

/* 共通コンテナ */
.l-container{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px;
  box-sizing: border-box;
}

.page-section{
  padding:80px 0;
}

/* SP */
@media (max-width: 768px){
  .l-container{ 
    padding: 0 20px; 
  }
 .page-section{
  padding:40px 0;
 }
}


/* 共通タイトルエリア */
.section-title {
  position: relative;
  text-align: center;
  margin: 50px auto 20px;
}

/* 英語の大きな薄文字 */
.section-title .bg-text {
  position: absolute;
  top: -2%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 100px;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
  font-family: "Poppins", sans-serif !important;
}

/* 色切替 */
.section-title .bg-text.en {
  color: #dbedf7; 
}
.section-title .bg-text.white {
  color: #ffff!important;
}

/* 日本語タイトル */
.section-title h2 {
  position: relative;
  font-size: 24px;
  display: inline-block;
  z-index: 1;
  padding: 0 20px;
}

/* 下のライン */
.section-title .line {
  width: 1px;
  height: 25px;
  background: #0c6fb2;
  margin: 8px auto 0;
  position: relative;
}


/* 代表挨拶専用スタイル（index-memberを流用） */
#index-member.ceo-message {
  margin-bottom: 60px;
}

#index-member.ceo-message .text h3 {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 600;
}

#index-member.ceo-message .text p {
  line-height: 1.8;
  margin-bottom: 1.2em;
}

#index-member.ceo-message .text .ceo-name {
  margin-top: 30px;
  text-align: right;
  font-size: 16px;
}
#index-member.ceo-message .text .ceo-name strong {
  font-weight: 700;
}
#index-member.ceo-message .content:before {
    display: none;
}

@media (max-width: 1024px) {
.section-title {
  margin: 30px auto 20px;
}
.section-title .bg-text {
  font-size: 58px;
}
.section-title h2 {
  font-size: 20px;
}
}

/* 「代表挨拶」ページ上揃え */
#page-message #index-member .content .articles article {
  align-items: flex-start !important;
}

/* アクセス　リスト表記 */
.company-info ol, .company-info ul, .company-info li {
    list-style: none;
}

/* =========================
   Mission セクション
========================= */

#page-mission {
  background: #dbedf7;
}

#page-mission .section-title {
  margin-bottom: 40px;
  text-align: center;
}

#page-mission .mission-diagram {
  margin-bottom: 60px;
}
#page-mission .mission-diagram img {
  max-width: 480px;
  margin: 0 auto;
  display: block;
}

/* Mission 青枠メッセージ */
#page-mission .mission-message {
  position: relative;
  width: 75%;
  margin: 0 auto 60px;
  background: #1260aa;
  color: #fff;
  padding: 20px;
  border-radius: 10px;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  z-index: 1;
}

#page-mission .mission-message .mission-deco {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 85px;
  height: auto;
  z-index: 2;
}


/* 2カラムゾーン */
.mission-two-column {
  display: flex;
  gap: 40px; /* カラム間の余白 */
  align-items: stretch;
}

.mission-two-column .text-zone {
  flex: 0 0 60%; /* 横幅60% */
  padding-bottom: 1.5rem;   
  box-sizing: border-box;
}

.mission-two-column .text-zone p {
  margin: 0 0 1.2em;           /* 段落間の余白 */
}

.mission-two-column .image-zone {
  flex: 0 0 40%; /* 横幅40% */
  display: flex;          /* 画像を縦横中央に配置 */
  align-items: center;
  justify-content: center;

}

.mission-two-column .image-zone img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}


/* スマホ対応 */
@media (max-width: 768px) {
  .mission-two-column {
    flex-direction: column;
  }
  .mission-two-column .text-zone,
  .mission-two-column .image-zone {
    flex: 0 0 100%;
  }
  #page-mission .mission-message{
    width: 85%;
    font-size: 1.15rem;
    margin: 0 auto 30px;
  }
  #page-mission .mission-message .mission-deco {
    width: 60px;
  }
}


/* =========================
   Vision セクション
========================= */

#page-vision .vision-block{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

#page-vision .vision-block .image,
#page-vision .vision-block .text{
  flex:1 1 50%;
}

#page-vision .vision-block .text{
  padding:0 5%;
}

#page-vision .vision-block h3{
  margin-bottom: 1rem;
  font-size: 1.3rem;
}


/* 偶数段だけ左右反転（PC：テキスト→画像） */
#page-vision .inner .vision-block:nth-of-type(even){
  flex-direction: row-reverse;
}


@media (max-width: 1024px){
  #page-vision .vision-block{
    display: block;
    margin: 0 auto;
    max-width: 980px;
  }

  #page-vision .vision-block .image{
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;          /* 画像の高さ */
    overflow: hidden;
    border-radius: 6px;
    margin: 0 0 20px;
  }
  #page-vision .vision-block .image img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
  }

  #page-vision .vision-block .text{
    padding: 0 5vw;
    text-align: left;
  }
  #page-vision .vision-block .text h3{
    margin: 0 0 12px;
    line-height: 1.4;
  }
  #page-vision .vision-block .text p{
    margin: 0;  
    line-height: 1.9;
  }

  #page-vision .vision-block + .vision-block{
    margin-top: clamp(28px, 5vw, 48px);
  }

  /* 2段目だけ「画像 → テキスト」の順番にする（SP時） */
  #page-vision .vision-block:nth-of-type(2) .image{ order: 1; }
  #page-vision .vision-block:nth-of-type(2) .text { order: 2; }

  #page-vision .vision-block h3{
  font-size: 1.15rem;
}
}

@media (max-width: 675px){
  #page-vision .vision-block .text{ padding: 0 4vw; }
  #page-vision .vision-block + .vision-block{
    margin-top: clamp(20px, 4vw, 36px);
  }
}



/* =========================
   Value セクション
========================= */

/* Valueセクション全体 */
#page-value {
  background-color: #dbedf7; /* 薄いブルー */
}

/* カードを横並び（3カラム） */
#page-value .value-cards {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* カードスタイル */
#page-value .card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  flex: 1 1 calc(33.333% - 30px);
  padding: 30px 20px;
  text-align: center;
}

/* アイコン背景を丸に */
#page-value .card figure {
  background-color: #dbedf7; 
  border-radius: 50%;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}

/* アイコン画像 */
#page-value .card figure img {
  width: 50px;
  height: auto;
}

/* h3スタイル */
#page-value .card h3 {
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 600;
}

/* タブレット以下はスマホと同じ表示：1列縦並び */
@media (max-width: 1024px){
  #page-value .value-cards{
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  #page-value .card{
    flex: 0 0 auto; 
    width: 100%;
    max-width: 680px;
  }
}


/* =========================
   Identity セクション
========================= */
/* Identity セクション帯 */
#page-identity .identity-band {
  background: #dbedf7;
  border-radius: 10px;
  padding: 80px;
}

/* リードコピー（中央寄せ＋薄色） */
#page-identity .identity-lead {
  text-align: center;
  margin: 30px auto 40px;
  color: #5f6b78;
  line-height: 1.9;
}

/* 2カラム：高さ揃え */
#page-identity .identity-row {
  display: flex;
  gap: 32px;
  align-items: stretch; 
}

/* 左カラム（ロゴカード） */
#page-identity .logo-col {
  flex: 1;
}
#page-identity .logo-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.06);
  padding: 24px;
  height: 100%; 
  display: flex;
  align-items: center; 
  justify-content: center; 
}
#page-identity .logo-card img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 右カラム（テキスト） */
#page-identity .text-col {
  flex: 1.2;
  display: flex;
  flex-direction: column;
  justify-content: center; /* 中央寄せ */
}
#page-identity .text-col h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px;
  color: #25313c;
}
#page-identity .text-col p {
  margin: 0 0 12px;
  color: #3c4a56;
  line-height: 1.9;
}

/* レスポンシブ：縦並び */
@media (max-width: 1024px) {
  #page-identity .identity-band {
    padding: 20px;
 }
  #page-identity .identity-row {
    flex-direction: column;
  }
  #page-identity .logo-card {
    max-width: 680px;
    margin: 0 auto 20px;
  }
}
/* =========================
   取扱メーカー
========================= */
#page-manufacturer.page-section{
  padding: 80px 0 0;
}

/* ---- ピックアップ帯 ---- */
.mfr-pickup { margin-top: 28px; }
.mfr-pickup__hd { display:flex; align-items:center; gap:10px; margin:0 0 20px; }
.mfr-pickup__hd h3{
  margin:0;
  padding-left:12px;
  border-left:6px solid #0c6fb2;
  font-weight:600;
  font-size:16px;
  letter-spacing:.08em;
}

/* PC基準：6×2固定（13件目以降非表示） */
.mfr-pickup__list {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: start;
  grid-auto-flow: row;
}

/* 13個目以降は非表示（2段固定） */
.mfr-pickup__list > li:nth-child(n+13) {
  display: none !important;
}

/* タブレット（900px以下）は3列 */
@media (max-width: 900px) {
  .mfr-pickup__list {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* スマホ（767px以下）は2列 */
@media (max-width: 767px) {
  .mfr-pickup__list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* カード */
.mfr-pickup__item{ display:block; }
.mfr-pickup__link{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  text-decoration:none; color:inherit;
}

/* ロゴ列を安定させる */

.mfr-pickup__logo{
  margin:0; width:100%; height:80px;
  display:flex; align-items:center; justify-content:center;
}
.mfr-logo{ max-height:60px; width:auto; max-width:106px; object-fit:contain; }
.mfr-pickup__logo--text{
  font-weight:700; font-size:14px; color:#222; text-align:center; line-height:1.2;
}

/* キャプション */
.mfr-pickup__meta{ text-align:center; line-height:1.5; }
.mfr-pickup__name{ font-weight:700; font-size:14px; color:#222; }
.mfr-pickup__parts{ font-size:12px; color:#66727f; }

/* ---- 一覧ブロック ---- */
.mfr-index{ margin-top: 36px; }
.mfr-index__hd{
  display:flex; align-items:center; gap:8px; margin:0 0 16px;
}
.mfr-index__hd .bar{ width:14px; height:3px; background:#0e58a5; border-radius:2px; }
.mfr-index__hd h3{ margin:0; font-size:18px; font-weight:700; }

/* カラム：SP=2列 / PC=4列固定 */
.mfr-groups{
  display:grid;
  gap:36px 40px; 
  grid-template-columns:repeat(2,1fr);
  margin-bottom:3rem;
}
@media (min-width: 900px){
  .mfr-groups{ grid-template-columns:repeat(4,1fr) !important; }
}

/* 各カラムはプレーン（枠ナシ） */
.mfr-group{
  background:transparent; border:0; padding:0; min-height:auto;
}

/* カラム見出し：小さめ＋下線（左に短いライン） */
.mfr-group__title {
  position: relative;
  margin: 0 0 12px;
  font-weight: 700;
  font-size: 14px;
  color: #222;
  padding-bottom: 6px;
}

/* 左の短い青い線 */
.mfr-group__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 2px;
  background: #0e58a5;
  border-radius: 2px;
}

/* 全体に薄いグレーの線 */
.mfr-group__title::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #e5e9ef;
}



.mfr-group__list{ list-style:none; margin:10px 0 0; padding:0; }
.mfr-group__item{
  position:relative;
  padding-left:16px;
  line-height:1.9;
  font-size:13px;
  color:#222;
}
.mfr-group__item::before{
  content:"—";
  position:absolute;
  left:0; top:0;
  color:#7e8b99;
}
.mfr-group__item + .mfr-group__item{ margin-top:.2rem; }

.tpl-manufacturer 
#page-business.business--single .business-detail .business-detail-main #business-content04 .business-content-title:before {
  display: none;
}
.tpl-manufacturer 
#page-business.business--single .business-detail .business-detail-main .business-content {
padding: 0;
}
.tpl-manufacturer 
  #page-business.business--single .business-detail-side{ display:none; }

.tpl-manufacturer 
  #page-business.business--single .business-detail .business-detail-main{ width:100%; }

.tpl-manufacturer 
  #page-business.business--single .business-detail .business-detail-main .wrap {padding: 0 20% 0 0px;}

/* ========== 取扱メーカー用：実績ブロックのレスポンシブ ========== */
/* ベース：画像のはみ出し防止 */
.tpl-manufacturer #business-content04 .works-list .image figure img{
  width: 100%;
  height: auto;
  display: block;
}

/* タブレット（1024px～501px）：2列・全幅 */
@media (max-width:980px) and (min-width:501px){
  .tpl-manufacturer #business-content04 .works-list > ul{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    column-gap: 24px;
    row-gap: 24px;
  }
  .tpl-manufacturer #page-business.business--single 
  .business-detail .business-detail-main .wrap{
    padding: 0 20px;
  }
}

/* スマホ（500px～361px）：1列・全幅 */
@media (max-width:500px) and (min-width:361px){
  .tpl-manufacturer #business-content04 .works-list > ul{
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  .tpl-manufacturer #page-business.business--single 
  .business-detail .business-detail-main .wrap{
    padding: 0 16px;
  }
}

/* スマホ（360px以下）：1列・全幅*/
@media (max-width:360px){

  .tpl-manufacturer #business-content04 .works-list > ul{
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
  .tpl-manufacturer #page-business.business--single 
  .business-detail .business-detail-main .wrap{
    padding: 0 12px;
  }
  #page-business .business-detail .business-detail-main .business-content .works-list ul li .result dl dt {
    width: 25%;
  }
  /*
  #page-business .business-detail .business-detail-main .business-content .works-list ul li .image {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
}

#page-business .business-detail .business-detail-main .business-content .works-list ul li .image dl {
    width: 100%;
}
#page-business .business-detail .business-detail-main .business-content .works-list ul li .image figure {
    width: 100%;
}
*/  
}
/* =========================================================
   Business CTA Button（MVのスタイルを独立再現）
   ========================================================= */
.business-cta {
  margin-top: 24px;
  text-align: left; /* 必要なら center に変更可 */
}

/* ボタン本体 */
.business-btn {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  max-width: 462px;
  width: 368px;
  height: 80px;
  line-height: 80px;
  padding: 0 88px 0 28px; /* 右に丸を置く余白 */
  border-radius: 40px;
  box-shadow: 0 0 10px rgba(12,111,178,.5);
  font-size: 22px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background: #0c6fb2; /* 青背景 */
  overflow: hidden;
}

/* 色バリエーション（必要あれば追加） */
.business-btn--maker {
  background: #0c6fb2;
}

/* 右の丸アイコン */
.business-btn i {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  background: url("/wp-content/themes/3ei/assets/images/mv-btn-circle.png") no-repeat center / contain;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

/* 丸の中の矢印画像 */
.business-btn i img {
  width: 35px;
  height: auto;
  max-width: none;
  display: block;
}

/* スマホ対応 */
@media (max-width: 480px) {
  .business-btn {
    width: 100%;
    max-width: 100%;
    height: 64px;
    line-height: 64px;
    font-size: 18px;
    padding: 0 72px 0 20px;
  }
  .business-btn i {
    right: 14px;
    width: 44px;
    height: 44px;
  }
  .business-btn i img {
    width: 18px;
  }
}

#page-privacy h2 {
    font-size: 20px;
    padding: 0 0 0 12px;
    border-left: solid #0c6fb2 6px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 0 1rem;
}


