@media (min-width: 1920px) {
  .main-contents {
    width: 1920px;
    margin: 0 auto;
  }
}



@media (max-width: 1000px) {
  /* 1000px以下の場合に適用するスタイルをここに記述 */
  .header-image {
    max-height: 60px;
    }
}










body {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  color: #333;
  
}

/* ヘッダータグスタート */
.header {
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  background-color: #fff; /* 背景色を白に設定 */
  height: 75px; /* ヘッダーの高さを設定 */
}

.header a {
  color: black; /* テキストの色を黒に設定 */
}

.header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 75px 0 56px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: white; /* 背景色を白に設定 */
  z-index: 1000;
  height: 75px;
  border-bottom: 2px solid #ddd; /* ボーダーを追加 */
}

.header-left {
  display: flex;
  align-items: center;
}

.header-image {
  max-height: 50px;
  width: auto;
  /* margin-right: 10px; */
  /* transform: translateY(-3px); */
}

.header-text {
  white-space: nowrap;
  font-size: 1.6rem;
  color: black;
  letter-spacing: 0.05rem;
  font-weight: 900;
}

.header-right .horizontal-list {
  list-style-type: none;
  padding: 0;
  margin: 0 0 0 0;
  display: flex;
}

.header-right .horizontal-list li {
  /* 202040910修正↓ */
  /* font-size: 22.04px;
  line-height: 38.58px;
  font-weight: 600; */
  /* margin-right: 20px; */
  /* font-size: 1.2rem; */
  /* font-weight: bold; */

    margin-right: clamp(0.625rem, -0.396rem + 1.632vw, 1.563rem);
    font-size: clamp(1rem, 0.455rem + 0.871vw, 1.5rem);
    font-weight: bold;
  
}

.header-right .horizontal-list li:last-child {
  margin-right: 0;
}

.header-right .horizontal-list a {
  color: black;
  text-decoration: none;
}

.header-right .horizontal-list a:hover {
  text-decoration: underline;
}

.header-left a {
  color: black;
  text-decoration: none;
}

.header-left a:hover {
  text-decoration: underline;
}


/* 会社概要ポップ用 */
.about-menu {
  position: relative;
}

.about-menu .submenu {
  display: none; /* 初期状態では非表示 */
  position: absolute;
  top: 100%;
  left: 50%; /* 親要素の中央を基準に */
  transform: translateX(-50%); /* 左側のズレを修正 */
  background-color: #fff;
  list-style: none;
  padding: 0; /* パディングをリセット */
  margin: 0;
  border: 1px solid #ddd;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* 影を追加 */
  z-index: 1000;
  width: 160%; /* メニューの幅を少し広げる */
  max-width: 180px; /* 最大幅を少し広げる */
}

.about-menu:hover .submenu {
  display: block; /* ホバー時に表示 */
}

.submenu li {
  padding: 15px 0; /* 上下の余白を設定 */
  margin: 0 10px; /* 左右の余白を追加してボーダーを少し切れた感じにする */
  text-align: center; /* テキストを中央揃えにする */
  border-bottom: 1px solid #ddd; /* ボーダーを追加 */
  width: calc(100% - 20px); /* ボーダーの長さを調整 */
}

.submenu li:last-child {
  border-bottom: none; /* 最後の項目にはボーダーを追加しない */
}

.submenu li a {
  display: block;
  padding: 0 10px;
  /* 左右の余白を調整 */
  margin: 0;
  /* マージンをリセット */
  text-decoration: none;
  color: #000000 !important;
  /* 文字色を黒に設定 */
  text-shadow: none !important;
  /* テキストシャドウを削除 */
  background-image: none !important;
  /* グラデーションを削除 */
  font-size: 16px;
  /* 文字サイズを18pxに設定 */
  font-weight: normal;
  width: 100%;
  white-space: nowrap;
}

.submenu li a:hover {
  background-color: #f5f5f5; /* ホバー時の背景色を設定 */
  color: #000000 !important; /* ホバー時も文字色を黒に設定 */
  text-shadow: none !important; /* テキストシャドウを削除 */
  background-image: none !important; /* グラデーションを削除 */
}



/* ナビタグ */

.nav-list h1{
  display: flex;
  align-items: center; /* 中央揃え */
  padding: 0 63px 0;  
  /* font-size: 1.2rem; 必要に応じてフォントサイズを調整 */
  font-size: clamp(10px, 2.456px + 1.754vw, 20px);
  line-height: clamp(16px, 1.667px + 3.333vw, 35px);
  font-weight: normal;
  margin:0;
}

.nav-list ol {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 5px 0;
  margin: 0;
}

.nav-list a {
  text-decoration: none;
  color:#333333;
}

.nav-list a:hover {
  text-decoration: underline;
}

.nav-list li {
  margin-right:20px;
}

.nav-list li:last-child {
  margin-right: 0;
}

/* ナビタグおわり */


/* フッタースタート */

.footer {
  background-color: black;
  color: #fff;
  padding: 40px 40px; /* フッターに左右のパディングを追加 */
}

.footer-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.footer-left,
.footer-right {
  flex: 1;
  padding: 0;
}

.footer-left {
  display: flex;
  align-items: center;
  text-align: left;
  /* font-size: clamp(1.2rem, 0.329rem + 1.393vw, 2rem);
   */
   /* font-size: 1.88rem; */
   font-size: clamp(25.28px, 21.794px + 0.348vw, 28.48px);
  padding: 0;
  line-height: 1;
  white-space: nowrap;
}

.footer-row:first-child {
padding:0;
margin:0;
}



.footer-left.footer-left-text {
  font-weight: normal;
  /* padding: 5px 0 0; */
  .footer-left-text {
    line-height: 1.8; /* 行間を調整する */
    letter-spacing: 1px; /* 文字の間隔を調整（もし必要なら） */
}

}

.footer-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}



.footer-left img{
  /* padding:30px 0 15px 0; */
  margin:24.91px 0 15px 0;
  /* max-width:clamp(350px, 262.862px + 8.705vw, 430px); */
  width:clamp(300px, 220.294px + 7.963vw, 373.1765px);
  height:auto;
}

.footer-image {
  max-width: clamp(15.625rem, 5.413rem + 16.322vw, 25rem);

}


/* .footer-right img.footer-image {
  margin-right: 10px;
  transform: translateY(-5px);
} */
/* 
.footer-right-text {
  font-size: 1.7rem;
  font-weight: bold;
} */

.footer-row:last-child {
  margin-bottom: 0;
}

/* SNSのロゴ */
/* .footer-right :nth-child(3){
padding-right: 25px;  
} */

/* .footer-right img {
  max-width: 100px; 画像の最大横幅を100pxに設定
  padding: 10px; 画像の周りにパディングを追加
} */

.footer-icon {
  max-width: clamp(65px, 32.323px + 3.264vw, 95px);
  height:auto;
  padding: 0 5px 0 5px; /* SNSアイコンに適用するパディング */

}

/* .footer-row:nth-child(2) .footer-right {
  /* padding-right: clamp(20px, -12.677px + 3.264vw, 50px); */
    /* margin: 0 210px 0 0px; */



/* 横並びリストのスタイル */
.horizontal-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.horizontal-list li {
  margin-right: 20px;
}

.horizontal-list li:last-child {
  margin-right: 0;
}

.horizontal-list a {
  color: #fff;
  text-decoration: none;
}

.horizontal-list a:hover {
  text-decoration: underline;
}

/* 1段目右のPタグの文字間隔を広くする */
.footer-right-text {
  letter-spacing: 1px;
}

/* フッターのコピーライト部分 */
.footer-bottom {
  text-align: center;
  padding-top: 10px;
}

.footer-bottom small {
  color: #fff;
}

small{
  font-size:1rem;
}

/* フッター終わり */


/* トップ移動タグ記述 */

#back-to-top {
  display: none; /* 初期状態では非表示 */
  position: fixed;
  right: 5px; /* 右側に固定 */
  z-index: 1000; /* 他の要素の上に表示 */
  cursor: pointer;
}

#back-to-top img {
  width: 50px; /* ボタンのサイズを調整 */
  height: 50px;
}

/* トップタグ記述ここまで */

/* 1000px以下 ハンバーガーメニュー */



/* ハンバーガーメニューのスタイル */
.hamburger-menu {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 20px;
  cursor: pointer;
  z-index: 1001; /* メニューより前面に表示 */
  position: relative;
}

.hamburger-menu span {
  display: block;
  height: 3px;
  background-color: black;
  border-radius: 3px;
}

@media screen and (max-width: 1000px) {
  .header-right .horizontal-list {
    display: none;
  }

  .hamburger-menu {
    display: flex;
  }

  .hamburger-menu.active + .horizontal-list {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 75px;
    right: 0;
    background-color: white;
    border: 1px solid #ddd;
    width: 100%;
    z-index: 1000; /* ハンバーガーメニューの後ろに表示 */
  }

  .header-row {
    flex-direction: row;
    align-items: center;
  }

  .header-left {
    justify-content: left;
    width: 100%;
  }

  .header-right {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }

  .header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 clamp(10px, -12.632px + 5.263vw, 40px) 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: white; /* 背景色を白に設定 */
    z-index: 1000;
    height: 75px;
    border-bottom: 2px solid #ddd; /* ボーダーを追加 */
  }


  /* ナビ余白 */
  .nav-list h1 {
    padding: 0 clamp(15px, -3.860px + 4.386vw, 40px) 0;
}



  /* フッター余白 */
  .footer{
    padding: clamp(12px, -9.123px + 4.912vw, 40px);

  }


  /* 左の要素を2段に */


  .footer-left .horizontal-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* 項目を左揃えにする */
  }

  .footer-left .horizontal-list li {
    width: 45%; /* 各リスト項目を45%の幅にする */
    margin-bottom: 10px; /* 下に余白を追加 */
  }

  /* 順番の指定 */
  .footer-left .horizontal-list li:nth-child(1) {
    order: 1;
  }

  .footer-left .horizontal-list li:nth-child(2) {
    order: 2;
  }

  .footer-left .horizontal-list li:nth-child(3) {
    order: 3;
  }

  .footer-left .horizontal-list li:nth-child(4) {
    order: 4;
  }

/* フッター左のマージン削除 */

.footer-left .horizontal-list li {
  margin:0 0 10px 0;
}

  /* フッター右画像を右上に配置 */

.footer-right {
  position: relative;
  display: flex;
  justify-content: flex-end; /* 右寄せに変更 */
  align-items: center;
}

.footer-img-wrapper {
  position: absolute;
  top: 0;
  right: 0;
}

.footer-img {
  width: 100px; /* 画像サイズを調整 */
  height: auto;
}

.footer-icon {
  position: relative;
  margin-left: 10px; /* 必要に応じて間隔を調整 */
}


.footer-left {
  font-size: clamp(16px, 8.999px + 1.628vw, 25.28px);
}


/* フッターイメージ大きさ */
.footer-image {
    max-width: clamp(180px, 127.193px + 12.281vw, 250px);
}

.footer-left img {
  max-width: clamp(200px, 86.842px + 26.316vw, 350px);
  margin:clamp(0px, -18.792px + 4.37vw, 24.91px);
}

.footer-icon {
  max-width: clamp(52.85px, 43.684px + 2.132vw, 65px);
}





/* 電話修正 */
span.custom-spacing2 {
  font-size: clamp(16px, 8.999px + 1.628vw, 25.28px);
}

}

@media (max-width: 600px) {


  .header-image {
  max-height: 40px;
  }
}



/* ハンバーガーメニュー中央寄せ */

/* メニュー全体を中央に配置 */
.hamburger-menu.active + .horizontal-list {
  display: flex;
  flex-direction: column;
  align-items: center; /* メニュー全体を中央に固定 */
  width: 100%;
}

/* 各メニューアイテムのリストを中央揃え */
.hamburger-menu.active + .horizontal-list li {
  width: 100%;
  display: flex;
  justify-content: center; /* 各メニュー項目の中央配置 */
  margin: 0;
  padding: 0;
}

/* すべてのメニューリンクのスタイルを統一 */
.hamburger-menu.active + .horizontal-list a {
  display: block;
  width: 180px; /* 幅を固定して統一 */
  text-align: left; /* 文字を左揃え */
  padding-left: 50px; /* 左の余白を統一 */
  margin: 0 auto; /* 必ず中央に配置 */
}

/* CONTACT だけがズレる問題を完全修正 */
.hamburger-menu.active + .horizontal-list li:last-child {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; /* 完全に中央寄せ */
  margin: 0 !important;
  padding: 0 !important;
}

/* CONTACT のリンクを完全に統一 */
.hamburger-menu.active + .horizontal-list li:last-child a {
  width: 180px !important; /* 幅を他と完全一致 */
  text-align: left !important; /* 強制的に左揃え */
  padding-left: 50px !important; /* 左余白を統一 */
  margin: 0 auto !important; /* 余計なズレをなくす */
}




@media (min-width: 1920px) {
  .main-content {
    width: 1920px;
    margin: 0 auto;
  }
}



