/*********************

#safety_box01

********************/

#safety_box01 {
  position: relative;
  margin-bottom: 120px;
}

#safety_box01>div{
  display: flex;
  margin-bottom: 30px;
}

#safety_box01 div img{
  width: 47%;
  height: 360px;
  object-fit: cover;
  border-radius: 12px;
}
#safety_box01 div div {
  margin: 40px 0 0 70px;
  width: 49%;
}

#safety_box01 div h2,
#safety_box02 div h2{
  font-size: 24px;
  margin-bottom: 40px;
  color: #512701;
}

#safety_box01>img {
  display: flex;
  width: 320px;
  border-radius: 16px;
  position: relative;
  left: 30%;
}

@media screen and (max-width: 1250px) {

}

@media screen and (max-width: 1000px) {
  #safety_box01 div h2,
  #safety_box02 div h2 {
    text-align: left;
  }
  #safety_box01>img {
    width: 240px;
  }
}

@media screen and (max-width: 700px) {
  #safety_box01 {margin-bottom: 70px;}
  #safety_box01>div{display: block;}
  #safety_box01 div img{
    width: 100%;
    height: 280px;
  }
  #safety_box01 div div{
    margin: 30px 0 0 0;
    width: 100%;
  }

  #safety_box01 div h2,
  #safety_box02 div h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

/*********************

#safety_box02

********************/

#safety_box02 {
  margin-bottom: 120px;
  display: flex;
}

#safety_box02 .safety_txt{
  width: 42%;
  margin-right: 70px;
}

#safety_box02 .safety_txt p{ margin-bottom: 30px; }

#safety_box02 .safety_txt a{
  background: #ffbb45;
  display: block;
  padding: 20px 40px;
  border-radius: 40px;
  color: #512701;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.2;
  width: 56%;
  position: relative;
}

#safety_box02 .safety_txt a::after{
  content: "";
  background: url(../img/arrow.png)top right no-repeat;
  width: 12px;
  height: 10px;
  position: absolute;
  right: 20px;
  top: 43%;
  background-size: contain;
}

/*slider*/

.swiper {
  flex: 1 1 48%;
  /* 横幅を調整 (55%を基準に) */
  max-width: 600px;
  position: relative;
}

/* スライダーの画像スタイリング */
.swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 16px;
}

/*.swiper{
  width: 100%;
  height: auto;
  padding-bottom: 56.25%;
  position: relative;
}

.swiper-wrapper {
  width: 100%;
  height: 560px;
  display: flex;
}

.swiper-wrapper img{
  border-radius: 16px;
  width: 100%;
  height: auto;
  object-fit: cover;
}*/

.swiper-slide {
  color: #ffffff;
  width: 100%;
  height: auto;
  text-align: center;
  /*line-height: 300px;*/
}

.swiper-slide img {
  height: auto;
  width: 99.5%;
}
.swiper-button-prev,
.swiper-button-next{
  color: #ffbb45!important;
  top: 45%!important;
}
:root{
--swiper-navigation-size: 34px!important;
}


@media screen and (max-width: 1200px) {
  .swiper-wrapper { height: 490px; }
}

@media screen and (max-width: 1000px) {
  .swiper-wrapper { height: 490px;}
  #safety_box02 { margin-bottom: 80px; }
  .swiper-button-prev,
  .swiper-button-next {
    top: 40% !important;
  }
}
@media screen and (max-width: 850px) {
  .swiper-button-prev,
  .swiper-button-next {
    top:35% !important;
  }
}
@media screen and (max-width: 700px) {
  #safety_box02 {
    display: block;
    margin-bottom: 60px;
  }
  #safety_box02 .safety_txt{
    width: 100%;
    margin: 0 0 30px 0;
  }
  .swiper-button-prev,
  .swiper-button-next {
    top: 50% !important;
  }
}


/*********************

#safety_box03

********************/

#safety_box03>p {
  margin-bottom: 60px;
}

#safety_box03>img {
  width: 100%;
}

#safety_box03 ul{
  margin-top: 80px;
  display: flex;
  justify-content: space-between;
}

#safety_box03 ul li{
  width: 47%;
}

#safety_box03 ul img{
  width: 100%;
  border-radius: 16px;
}

#safety_box03 h3{
  font-size: 20px;
  margin: 30px 0;
  color: #512701;
  text-align: center;
}

@media screen and (max-width: 700px) {
  #safety_box03 ul{ display: block; }
  #safety_box03 ul li{
    width: 100%;
    margin-bottom: 40px;
  }
  #safety_box03 ul li:last-child{margin-bottom: 0;}
  #safety_box03 ul img{ height: 220px; }
}

/* Navigation fixes for text wrapping and spacing issues */
#header_mv ul, #header_link ul {
  margin-left: 60px !important;
  padding-left: 20px !important;
}

/* Ultra-specific targeting for dynamically loaded content */
[data-template="header_mv"] li.mv_ttl.eng,
#header_mv ul li.mv_ttl.eng,
#header_mv li.mv_ttl.eng,
li.mv_ttl.eng,
.mv_ttl.eng {
  white-space: nowrap !important;
  width: auto !important;
  min-width: 200px !important;
  max-width: none !important;
  overflow: visible !important;
  word-break: keep-all !important;
  word-wrap: normal !important;
  text-overflow: visible !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: top !important;
}

/* Ensure template container doesn't constrain width */
[data-template="header_mv"],
[data-template="header_mv"] ul {
  width: auto !important;
  min-width: 300px !important;
}

/* Additional rule to handle post-load styling */
body li.mv_ttl.eng {
  white-space: nowrap !important;
  display: inline-block !important;
  width: auto !important;
}

/* Force re-render after template load */
[data-template="header_mv"]:not(:empty) li.mv_ttl.eng {
  white-space: nowrap !important;
  width: auto !important;
  min-width: max-content !important;
}
