/* ======================
   会社概要ページ
====================== */
html,body {
  font-family: 'Noto Serif JP',"Hiragino Kaku Gothic ProN","Zen Kaku Gothic New","Zen Old Mincho","Hiragino Mincho ProN", "MS PMincho",'Noto Sans JP' ,sans-serif;
    margin: 0;
    padding: 0;
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    line-height: 1;
    letter-spacing: 0.1vw;
    font-feature-settings: "palt";
  }
  
  .header {
    position: relative;
    background-color: #2a2291;
  }
  
  .header__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 83vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0.5vw;
    padding-bottom: 0.5vw;
  }
  
  .header__logo {
    position: relative;
    width: 9vw;
  }
  
  .header__logo img {
    width: 100%;
  }

 
  
  /* ページタイトル */
  .company-hero {
    text-align: center;
    padding: 4rem 1rem 2rem;
  }
  
  .company-hero h1 {
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    margin: 0;
  }
  
  .company-hero .en {
    color: #b59b5b;
    font-size: 0.95rem;
    margin: 0.4rem 0 1rem;
  }
  
  .company-hero .divider {
    width: 20px;
    height: 36px;
    margin: 0 auto;
    border-left: 1px solid #d8c9a0;
  }
  
  /* テーブル */
  .company-table-wrap {
    max-width: 900px;
    margin: 0 auto 3rem;
    padding: 0 1.2rem;
  }
  
  .company-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #ede7da;
  }
  
  .company-table th,
  .company-table td {
    padding: 1rem 1rem;
    border-bottom: 1px solid #f0e8d8;
    vertical-align: top;
  }
  
  .company-table th {
    width: 25%;
    background: #f8f3e6;
    color: #444;
    font-weight: 600;
  }
  
  .company-table a {
    color: #333;
    text-decoration: none;
  }

  /* はみ出し防止（ボーダー込みで100%収める） */
  .company-table,
  .company-table * {
    box-sizing: border-box;
  }

  /* 念のための横スクロール抑止 */
  .company-table-wrap {
    overflow-x: hidden;
  }

  
  /* Googleマップリンク */
  /* .map-link {
    text-align: right;
    margin-top: 0.6rem;
  }
  .map-link a {
    color: #8f7a42;
    font-size: 0.9rem;
    text-decoration: underline;
  } */
  
  /* 戻るボタン */
  .company-back {
    text-align: center;
    margin: 3rem 0 2rem 0;
  }
  
  .back-btn {
    display: inline-block;
    border: 2px solid #111;
    background: transparent;
    color: #111;
    font-size: 1rem;
    padding: 0.8rem 2.4rem;
    border-radius: 50px;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  
  .back-btn:hover {
    background: #111;
    color: #fff;
    transform: translateY(-2px);
  }
  


/*========================================
  header
========================================*/
@media screen and (max-width: 1280px) {
    .header__inner {
      width: 95vw;
      padding-top: 1vw;
      padding-bottom: 1vw;
    }
    
    .header__logo {
      width: 17vw;
    }
  }


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

/* 1280px 以下：余白・文字サイズを少しだけ圧縮 */
@media (max-width: 1280px) {
    /* .header { padding: 1rem 0; } */
    /* .header__logo img { width: 150px; } */
    .company-hero { padding: 3.2rem 1rem 1.6rem; }
    .company-hero h1 { font-size: 1.7rem; }
    .company-table-wrap { max-width: 920px; }
    .company-table th { width: 30%; }  /* 見出し幅を少し広げて折返し軽減 */
  }
  
/* 1024px 以下：セル内余白調整とフォント微縮小 */
@media (max-width: 1024px) {
  /* .header__logo img { width: 140px; } */
  .company-table th, .company-table td { padding: .9rem .9rem; font-size: .95rem; }
  .map-link { text-align: left; margin-top: 1rem; }
}
  
/* ========== スマホ・タブレット（820px以下） ========== */
@media (max-width: 820px) {
  .company-table {
    width: 100%;
    border: 1px solid #ede7da;
    border-collapse: collapse;
    table-layout: fixed;
  }

  /* 各行を「1ブロック扱い」にして区切り線を下だけ */
  .company-table tr {
    display: block;
    border-bottom: 1px solid #f0e8d8;  /* ペア間の区切り線 */
    margin-bottom: 0.3rem;
  }

  .company-table th,
  .company-table td {
    display: block;
    width: 100%;
    padding: 1rem 1rem;
    text-align: center;
    border: none;                       /* ペア内の線は削除 */
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.85;
  }

  /* 見出し：茶系、背景白、上余白少し */
  .company-table th {
    background: #fff;
    color: #8f7a42;
    font-weight: 700;
    margin-bottom: 0.3rem;
  }

  /* 内容：黒文字、背景白 */
  .company-table td {
    background: #fff;
    color: #333;
    padding-top: 0.4rem;
  }

  /* 最後の行の下線だけ削除 */
  .company-table tr:last-child {
    border-bottom: none;
  }
}

/* ========== スマホ（640px以下） ========== */
@media (max-width: 640px) {
  .company-table th,
  .company-table td {
    display: block;
    width: 100%;
    padding: 0.9rem 1rem;
    text-align: center;
  }

  .company-table th {
    background: #fff;
    color: #8f7a42;
    font-weight: 700;
    border: none;              /* ペア内線なし */
  }

  .company-table td {
    background: #fff;
    color: #333;
    border: none;
  }

  .company-table tr {
    border-bottom: 1px solid #f0e8d8;
  }

  .company-table tr:last-child {
    border-bottom: none;
  }
}




  
/* 480px 以下：ロゴ/見出しさらに縮小、余白最小化 */
@media (max-width: 480px) {
  /* .header__logo img { width: 128px; } */
  .company-hero h1 { font-size: 1.55rem; }
  .company-hero .en { font-size: .9rem; }
  .company-table-wrap { padding: 0 .8rem; }
  /*.back-btn { width: 100%; max-width: 440px; }*/
}
