/* WordPressの制御 */
.wrap {
  width: 100%;
}
.section-mv_top {
  width: 100%;
  height: 500px;
}
.mv-background {
  background: url("../img/top-mv.jpeg");
  background-size: 130%;
  background-repeat: no-repeat;
  background-position: left;
  height: 500px;
  width: 100%;
  display: flex;
  justify-content: center; /* 横中央に */
  align-items: center; /* 縦中央に */
}
.mv-text {
  color: #000;
  text-shadow: 6px 7px 11px rgba(0, 0, 0, 0.25);
  font-family: "Noto Serif JP";
  font-size: 4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 73px; /* 182.5% */
}
.mv-text_all {
  max-width: 1140px;
  width: 100%;
  padding-left: 5%;
  box-sizing: border-box;
  text-align: left;
  display: flex;
  flex-direction: column; /* ← これで縦積みにする！ */
  align-items: flex-start; /* 左寄せ */
  gap: 20px; /* テキストと画像の間隔調整 */
}
.mv-text_all img {
  width: 345px;
  height: auto;
}
@media screen and (max-width: 1167px) {
  .mv-background {
    background-size: cover;
  }
}
@media screen and (max-width: 680px) {
  .mv-background {
    background-position: 20% 50%;
    height: 500px;
  }
  .mv-text_all {
    gap: 40px;
  }
  .mv-text {
    font-size: 3.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 60px; /* 182.5% */
  }
  .mv-text_all img {
    width: 325px;
  }
}
@media screen and (max-width: 400px) {
  .mv-background {
    background-position: 27% 50%;
    height: 500px;
  }
  .mv-text_all {
    gap: 40px;
  }
  .mv-text {
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 60px; /* 182.5% */
  }
  .mv-text_all img {
    width: 300px;
  }
}
.section-partne {
  background: url("../img/partner.jpeg");
  padding: 100px 25px;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  vertical-align: top;
  justify-content: center; /* ← 左に寄せる */
  text-align: center;
}
.section-partne p {
  padding: 40px 0px;
}
.company-logo1 {
  width: 250px;
}
.company-logo2 {
  width: 175px;
}
.company-logo3 {
  width: 150px;
}
.company-logo4 {
  width: 165px;
}
.company-logo5 {
  width: 240px;
}
.maker-logo img:hover {
  transform: scale(1.1);
  transition: transform 0.3s;
}
.maker-logo {
  display: flex;
  flex-flow: wrap;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 980px) {
  .section-partne {
    padding: 60px 25px;
  }
}
@media screen and (max-width: 480px) {
  .maker-logo {
    justify-content: space-around;
    gap: 25px;
  }
  .company-logo1 {
    width: 230px;
  }
  .company-logo2 {
    width: 140px;
  }
  .company-logo3 {
    width: 120px;
  }
  .company-logo4 {
    width: 150px;
  }
  .company-logo5 {
    width: 160px;
  }
}
.section-partne-a {
  border: 1px solid #E70012;
  padding: 13px 20px;
  color: #E70012;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
  margin-top: 40px;
}
.section-partne-a:hover {
  background: #E70012;
  color: #fff;
}
/* 3カラム部分 */
.un_topCompany {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1200px;
  margin-top: 100px;
}
.un_topCompany_item {
  position: relative;
  z-index: 2;
  background-color: #f5f5f5;
  padding: 30px 20px;
  max-width: 380px;
}
.un_topCompany_item:before {
  width: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  content: "";
  height: 300px;
  background-color: #E70012;
}
.un_topCompany_item_message {
  position: relative;
  z-index: 2;
  background-color: #f5f5f5;
  padding: 30px 20px;
  max-width: 380px;
}
.un_topCompany_item_message:before {
  width: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  content: "";
  height: 300px;
  background-color: #B60000;
}
.un_topCompany_text {
  color: #fff;
  text-align: center;
}
.un_topCompany_item p, .un_topCompany_item_message p {
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  font-weight: 700;
  padding-bottom: 30px;
}
.un_topCompany_text_message, .un_topCompany_text_company {
  color: #fff;
  text-align: center;
  padding-top: 11px;
}
.cb_link_button {
  display: flex;
  justify-content: center;
}
.un_topCompany_item h2, .un_topCompany_item_message h2 {
  font-size: 2.6rem;
}
a.button_animation_type1 {
  width: 300px;
  padding: 15px 0;
  background: #E70012;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  margin-top: 25px;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
}
a.button_animation_type1:hover {
  background: #B60000;
}
a.button_animation_type2 {
  width: 300px;
  padding: 15px 0;
  background: #B60000;
  color: #fff;
  margin-top: 25px;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
}
a.button_animation_type2:hover {
  background: #E70012;
}
@media screen and (max-width: 1180px) {
  .un_topCompany {
    gap: 50px;
    justify-content: center;
  }
}
@media screen and (max-width: 980px) {
  .un_topCompany {
    padding-top: 60px;
    margin-top: 0px;
  }
}
@media screen and (max-width: 770px) {
  .un_topCompany {
    display: block;
    max-width: 100%;
  }
  .un_topCompany_item_message, .un_topCompany_item {
    width: 100%;
    max-width: 100%;
  }
  .un_topCompany_item {
    padding: 60px 20px;
  }
  .un_topCompany_item:before, .un_topCompany_item_message:before {
    height: 50%;
  }
}
.section-news {
  background: #F5F5F5;
  padding: 100px 25px;
  margin-top: 100px;
}
.section-news-title {
  text-align: center;
}
.news-meta {
  text-align: left;
}
.flex-box {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  align-items: self-end;
  display: flex;
  justify-content: space-between;
  padding-top: 40px;
}
.news-left {
  display: grid;
  gap: 20px;
}
.news-title {
  text-align: left;
  color: #000;
  line-height: 2.8rem;
}
.section-news li {
  list-style: none; /* デフォルトの「1.」を消す */
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.section-news p {
  color: #000;
  display: flex;
  align-items: center; /* ← これが「縦方向の中央揃え」 */
  gap: 30px;
  text-align: left;
}
.entry-item-published {
  font-weight: 400;
  color: #000;
}
.section-news span {
  color: #E70012;
  font-size: 14px;
  font-weight: 400;
  border-radius: 50px;
  border: 0.5px solid #D9D9D9;
  padding: 3px 15px;
  text-align: center;
  margin-left: 20px;
}
.news-btn-div {
  text-align: center;
}
.news-btn {
  border: 1px solid #E70012;
  padding: 13px 20px;
  color: #E70012;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
  margin-top: 40px;
  text-align: center;
}
.news-btn:hover {
  background: #E70012;
  color: #fff;
}
@media screen and (max-width: 1040px) {
  .news-btn {
    width: 234px;
  }
}
@media screen and (max-width: 980px) {
  .section-news {
    padding: 60px 25px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 900px) {
  .flex-box {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    align-items: self-end;
    display: block;
    justify-content: space-between;
  }
  .section-news p {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
    text-align: left;
  }
  .section-news li {
    max-width: 500px;
  }
  .section-news p time, .section-news p span {
    display: inline-block;
    margin: 0;
  }
  .section-news p time, .section-news p span {
    grid-row: 1;
  }
  .section-news p time + span {
    margin-left: 30px;
  }
  .section-news p {
    word-break: break-word;
  }
}
.section-product {
  background: url("../img/product-background.jpeg");
  padding: 100px 0px;
  text-align: center;
  background-size: cover;
}
.section-product p {
  padding: 40px 25px 60px;
}
.section-product ul li {
  list-style: none;
}
.section-product ul {
  display: flex;
  max-width: 1000px; /* ✅ 固定幅ではなく最大幅に変更 */
  width: 100%;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 30px;
  text-align: center;
  margin: 0 auto;
  box-sizing: border-box; /* ✅ paddingを含めた幅管理 */
}
.power-transmission h4, .bearing h4, .receiving h4, .hydraulic-section h4, .tools-cutting-grinding h4, .conveyer h4, .measuring-tools h4, .gear-reducer h4 {
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
}
.power-transmission {
  background: url("../img/power-transmission.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.power-transmission:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.bearing {
  background: url("../img/bearing.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.bearing:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.receiving {
  background: url("../img/receiving.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.receiving:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.hydraulic-section {
  background: url("../img/hydraulic-section.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.hydraulic-section:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.tools-cutting-grinding {
  background: url("../img/tools-cutting-grinding.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.tools-cutting-grinding:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.conveyer {
  background: url("../img/conveyer.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.conveyer:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.measuring-tools {
  background: url("../img/measuring-tools.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.measuring-tools:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.gear-reducer {
  background: url("../img/gear-reducer.png");
  display: flex;
  width: 222px;
  height: 200px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  transition: transform 0.3s ease; /* ✅ アニメーション追加 */
}
.gear-reducer:hover {
  transform: scale(1.05); /* ✅ ホバー時に1.05倍に拡大 */
}
.section-product a.to_product {
  border: 1px solid #E70012;
  padding: 13px 20px;
  color: #E70012;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
  text-align: center;
  margin-top: 40px;
}
.section-product a.to_product:hover {
  background: #E70012;
  color: #fff;
}
@media screen and (max-width: 980px) {
  .section-product {
    padding: 60px 0;
  }
  .section-product p {
    padding: 40px 25px;
  }
}
@media screen and (max-width: 950px) {
  .section-product ul {
    justify-content: center;
    gap: 30px;
  }
}
@media screen and (max-width: 520px) {
  .power-transmission, .bearing, .receiving, .hydraulic-section, .tools-cutting-grinding, .conveyer, .measuring-tools, .gear-reducer {
    width: 180px;
    height: 170px;
  }
  .section-product ul {
    justify-content: center;
    gap: 15px;
  }
}
@media screen and (max-width: 380px) {
  .power-transmission, .bearing, .receiving, .hydraulic-section, .tools-cutting-grinding, .conveyer, .measuring-tools, .gear-reducer {
    width: 180px;
    height: 170px;
  }
  .section-product ul {
    justify-content: space-between;
    gap: 15px;
  }
}
.section-others ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.section-others ul li {
  width: 33.3333%;
  height: 34vh;
}
/* テキストを上に置く */
.section-others ul li p, .section-others ul li h4 {
  z-index: 1;
  position: relative;
  color: #fff;
}
.section-tel {
  background: #E70012;
  padding: 80px 0;
  margin-top: 80px;
  max-height: 506px;
  margin-bottom: 180px;
}
.sales-office {
  background: url("../img/sales-office.png");
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 背景のベース設定（縮小状態） */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 34vh;
  transition: background-size 0.3s ease;
}
/*ホバー時に背景画像を拡大するテクニック */
.sales-office:hover {
  background-size: 105%;
}
.health-declaration {
  background: url("../img/health-declaration.png");
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 背景のベース設定（縮小状態） */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 34vh;
  transition: background-size 0.3s ease;
}
/*ホバー時に背景画像を拡大するテクニック */
.health-declaration:hover {
  background-size: 105%;
}
.recruit {
  background: url("../img/recruit.png");
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 背景のベース設定（縮小状態） */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 34vh;
  transition: background-size 0.3s ease;
}
/*ホバー時に背景画像を拡大するテクニック */
.recruit:hover {
  background-size: 105%;
}
.section-others h4 {
  font-size: 3.2rem;
  color: #FFF;
  font-weight: 700;
  line-height: inherit;
}
.section-others p {
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6rem;
  margin-top: 5px;
}
@media screen and (max-width: 770px) {
  .section-others ul {
    display: block;
  }
  .section-others ul li {
    width: 100%;
    height: 20vh;
  }
  .section-others h4 {
    font-size: 2rem;
    line-height: 2.6rem;
  }
  .sales-office, .health-declaration, .recruit {
    height: 20vh;
    width: 100%;
  }
}
.section-tel {
  background: #E70012;
  padding: 80px 0;
  margin-top: 80px;
  margin-bottom: 180px;
}
.tel-flex {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  margin: 0 auto; /* ✅ 中央に固定 */
  width: 100%;
  padding: 0px 0px 0px 25px;
  ;
  gap: 100px;
}
.tel-flex img {
  width: 47%;
  height: 487px;
  object-fit: cover;
  flex-shrink: 0; /* ✅ 画像が潰れないように */
}
.section-tel-text h3 {
  color: #FFF;
  font-size: 4rem;
  font-weight: 700;
  line-height: normal;
}
.section-tel-text {
  /* ✅ 固定幅で左に居座らせる */
  flex-shrink: 0; /* テキストが縮まないように */
  color: #fff;
}
.section-tel-text p {
  padding: 40px 0px;
  color: #FFF;
}
.section-tel a {
  border: 1px solid #FFF;
  padding: 13px 20px;
  color: #FFF;
  transition: background-color 0.4s ease, color 0.4s ease; /* アニメ追加 */
  text-align: center;
}
.section-tel a:hover {
  background: #FFF;
  color: #E70012;
}
@media screen and (max-width: 1200px) {
  .tel-flex {
    gap: 50px;
  }
}
@media screen and (max-width:980px) {
  .section-tel-text h3 {
    font-size: 3.2rem;
    padding: 0px;
  }
}
@media screen and (max-width: 980px) {
  .tel-flex {
    display: block;
    padding-left: 0px;
  }
  .section-tel {
    padding: 60px 0px 0px;
    max-height: 100%;
    margin: 60px 0 150px;
  }
  .section-tel-text {
    text-align: center;
  }
  .tel-flex img {
    width: 100%;
    padding-top: 60px;
  }
}
@media screen and (max-width: 550px) {
  .section-tel-text h3 {
    font-size: 2.4rem;
  }
}