

@media screen and (max-width: 1280px) {
  .bg_img{
    background-attachment: unset;
  }
  
}



@media screen and (max-width: 1024px) {
  .sp{
    display: block;
  }

  header .header_yokisaya .menu{
  position: absolute;
    top: 30px;

    /* ここが重要：左右を両方指定して“はみ出し防止” */
    left: max(15px, env(safe-area-inset-left));
    right: max(15px, env(safe-area-inset-right));

    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 16px;
  }

  header .header_yokisaya .menu nav{
  inline-size: max-content;
  width: auto;
  min-width: 0;
}

  header .header_yokisaya .menu nav ul{
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;

    inline-size: max-content;
    width: auto;
    height: auto;

    white-space: nowrap;
    gap: 1rem;
  }

  header .header_yokisaya .menu nav ul li{
    margin: 0; /* ← 重要：margin-leftでズレるのを潰す */
  }

  .top_img img{
    height: 40vh;
    object-fit: cover;
  }

  #top #logo{
    margin-right: 0;
  }

  .box_center{
    width: 100%;
  }

  .basyouhu_fl{
    display: block;
  }

  .map {
    width: 30%;
}

.bg_img{
  padding: 20px;
  background-attachment: unset;
  background-size: cover;
}

.basyouhu_fl{
  width: auto;
}

.basyouhu_fl .box_p{
  width: 100%;
}

.basyouhu_fl div{
  margin: auto;
}

.img_b{
  width: 100%;
}

.big-title {
  text-align: left;
}

.product_list .product_box {
  width: 22%;
}

.feature {
  column-gap: 30px;
}

.feature__media {
  grid-template-columns: 160px 160px;
}

.process-block__body {
      grid-template-columns: 1fr 311px;
}

}

@media screen and (max-width: 768px) {

  .top_img img {
    height: 55vh;
  }

  .bg_img{
    min-height: auto;
    background-size: unset;
    background-position: top;
  }

  .box{
        margin: auto;
  }

  .product_slide p{
    width: 100%;
  }

  .product_slide .bx-wrapper {
    width: 100%;
    margin: auto;
}

 .map {
    width: 100%;
}

.flex_02 .table {
  width: 100%;
  margin: 20px 0 0;
}

.feature {
  display: block;
}

.feature__media {
  display: grid;
grid-template-columns: 1fr 1fr;
        margin-bottom: 30px;
}

.process-block__body {
  display: block;
  margin-top: unset;
}
.process-block__text {
  margin-bottom: 30px;
}
.product_list {
  justify-content: space-around;
}

.product_list .product_box {
  width: 100%;
}

.main_tittle {
  top: -19px;
  p{
    font-size: 1.1rem;
  }
}

}

@media screen and (max-width: 375px) {

  .sp{
    display: block;
  }

  .sp_se_none{
    display: none;
  }

  .pc{
    display: none;
  }

  #logo a{
    font-size: 2rem;
  }


  header .header_yokisaya .menu nav ul li{
    margin-left: 0.2rem;
  }

  header .header_yokisaya .menu nav ul li a{
    font-size: 1.3rem;
  }

  .container {
        padding: 50px 0;
  }

  .top_sp{
    font-size: 1.1rem;
  }
  .bg_white{
    margin: 4rem 10px;
  }

  .bg_white_2 {
    margin: 4rem 30px;
  }

  .flex_02{
    display: block;
  }
  .sp_span{
    margin-left: 88px;
  }
  .width_img,.step_box{
    width: 90%;
  }
  .step{
    margin-bottom: 60px;
  }
  .map{
    width: 100%;
  }
  .flex_02 .table{
    width: 100%;
    margin-left: 0;
  }
  .bg_washi .box{
    margin: 0 30px;
  }
  .title-line {
    font-size: 1.2rem;
  }

  .process-block__title {
       font-size: 1.1rem;
  }


.big-title {
  font-size: 14px;
}
}
