#top_page.ipad #masthead {
  position: fixed;
}
@media screen and (max-width: 1100px) {
  #top_page #banner .pager_box {
  }
}
@media screen and (max-width: 800px) {
  #top_page.ipad #product div.content {
    padding-top: 30%;
  }
  #top_page.ipad #product div.content #popup_init {
    top: 20%;
  }
  #top_page.ipad #popup_box div.popup_window .btn {
    width: 90%;
  }
  #top_page.ipad #popup_box_2 div.popup_window img.man {
    right: -20px;
  }
  #top_page.ipad #company div.content {
    padding-top: 20%;
  }
  #top_page.ipad #message div.content {
    padding-top: 25%;
  }
  #top_page.ipad #footer_contact .content {
    padding-top: 20%;
  }
  #company_page #sdgs {
    margin-bottom: 100px;
    margin-top: -70px;
    padding-top: 143px;
  }
}

@media screen and (max-width: 750px) {
  body {
    font-size: 16px;
    line-height: 25px;
  }
  p {
    font-size: 16px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .brsp {
    display: inline;
  }
  .brpc {
    display: none;
  }

  /*****************************/
  /**********  header **********/
  /*****************************/
  #top_page #masthead {
    padding-top: 20px;
    position: fixed;
  }

  #masthead div.content {
    width: 98%;
  }

  #masthead div.content ul {
    width: 100%;
    float: none;
  }
  #masthead div.content ul li a {
    font-size: 10px;
    letter-spacing: 0;
  }
  #masthead div.content .logo {
    float: none;
    margin-bottom: 15px;
    padding-left: 4%;
    width: 50%;
  }
  #common_banner {
    padding-top: 170px;
  }

  /*****************************/
  /**********  popup     *******/
  /*****************************/
  .popup_window {
    width: 88%;
    left: 5%;
    padding: 1%;
    max-width: none;
    top: 22%;
  }
  #popup_box div.popup_window img.man {
    width: 135px;
    top: -125px;
    left: -10px;
  }
  #popup_box div.popup_window div.details {
    width: 100%;
    float: none;
    max-width: none;
  }
  #popup_box div.popup_window table tr td:nth-of-type(2) input {
    width: 90%;
  }
  #popup_box div.popup_window .btn {
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 90%;
  }
  #popup_box_2 div.popup_window img.man {
    width: 85px;
    top: -150px;
    left: 5px;
  }
  #popup_box_2 div.popup_window img.message {
    width: 95%;
    margin-top: 20px;
  }
  #popup_box_2 div.popup_window .btn {
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 20px;
    width: 90%;
  }

  /*****************************/
  /**********  top    **********/
  /*****************************/
  #top_page #banner {
    background: none;
  }
  #top_page #banner .video_box {
    z-index: -10;
  }
  @media (min-aspect-ratio: 16/9) {
    #top_page #banner .bg_video {
      height: 320%;
      top: -110%;
    }
  }

  @media (max-aspect-ratio: 16/9) {
    #top_page #banner .bg_video {
      width: 320%;
      left: -110%;
      object-fit: cover;
    }
  }

  #top_page #banner div.content {
    padding-top: 60%;
  }

  #top_page #banner div.content h2 {
    width: 90%;
  }
  #top_page #product div.content {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  #top_page.mobile #product div.content {
    padding-bottom: 70px;
  }
  #top_page #product div.content #popup_init {
    position: static;
    width: 100%;
    margin-left: 40%;
    margin-top: 30px;
    display: block;
  }
  #top_page #product div.content h2 {
    width: 90%;
  }
  #top_page #product div.content ul {
    padding-top: 30px;
  }
  #top_page #product div.content ul li {
    width: 100%;
    margin-bottom: 20px;
  }
  #top_page #product div.content p.desc {
    padding-bottom: 20px;
  }
  #top_page #company div.content {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  #top_page.mobile #company div.content {
    padding-bottom: 70px;
  }
  #top_page #company div.content h2 {
    width: 90%;
  }
  #top_page #company div.content ul {
    padding-top: 30px;
  }
  #top_page #company div.content ul li {
    margin-bottom: 30px;
  }
  #top_page #company div.content ul li img.photo {
    display: block;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 20px;
  }
  #top_page #company div.content ul li div.details {
    width: 100%;
    margin-left: 0px;
  }
  #top_page #company div.content ul li div.details h3 {
    text-align: center;
  }
  #top_page #message div.content {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  #top_page.mobile #message div.content {
    padding-bottom: 100px;
  }
  #top_page #message div.content h2 {
    width: 90%;
  }
  #top_page #message div.content div.message_box {
    padding-bottom: 10%;
    margin-top: 30px;
    background: none;
    width: 100%;
    float: none;
  }
  #top_page #message div.content div.message_box div.message_content {
    width: 93%;
    margin-right: 0px;
  }
  #top_page #message div.content div.message_box div.message_content::before {
    width: 25px;
  }
  #top_page #message div.content div.message_box div.message_content::after {
    width: 25px;
  }
  #top_page #message div.content div.message_box div.message_content .name {
    top: 0px;
    width: 100%;
    margin-top: 5px;
  }
  #footer_contact div.content {
    padding-top: 50px;
  }
  #top_page #footer_contact div.content {
    padding-top: 150px;
  }
  #footer_contact div.content h2 {
    width: 90%;
    margin-bottom: 30px;
  }

  footer div.content {
    width: 98%;
  }

  footer div.content ul li {
    width: 20%;
  }

  footer div.content ul li a {
    font-size: 10px;
    letter-spacing: 0;
  }

  /*****************************/
  /*********** company *********/
  /*****************************/
  #company_page #profile div.content table tbody tr td.ttl {
    padding-left: 0px;
    width: 25%;
  }
  #company_page #history div.content table tbody tr td.ttl {
    padding-left: 0px;
    width: 35%;
  }
  #company_page #access div.content {
    padding-bottom: 35px;
  }
  #company_page #access div.content h2 {
    margin-bottom: 20px;
  }
  #company_page #access div.content div.map_box {
    padding-bottom: 100%;
  }
  #company_page #message div.content {
    padding-top: 50px;
    padding-bottom: 100px;
  }
  #company_page #message div.content h2 {
    padding-bottom: 30px;
  }
  #company_page #message div.content div.box img.photo {
    float: none;
    width: 100%;
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
  }
  #company_page #message div.content div.box div.text_side {
    float: none;
    width: 100%;
  }
  #company_page #message div.content div.box div.text_side h3 {
    width: 100%;
    margin-bottom: 20px;
    font-size: 5.5vw;
  }
  #company_page #message div.content .name {
    margin-right: 0px;
  }

  .company_image {
    position: relative;
  }
  .company_image img {
    position: relative;
    width: 70%;
    margin-top: 30px;
  }

  /*****************************/
  /*********** product *********/
  /*****************************/
  #pickup div.content ul li .photo_box {
    width: 100%;
    margin-bottom: 30px;
  }
  #pickup div.content ul li div.details {
    width: 100%;
  }
  #point div.content div.point_item {
    margin-top: 20px;
  }
  #point div.content div.point_item h3 {
    margin-bottom: 20px;
  }
  #point div.content div.point_item:nth-of-type(2) {
    margin-top: 30px;
  }

  /*****************************/
  /*********** contact *********/
  /*****************************/
  #contact_page table tr td:nth-of-type(1) {
    display: block;
    width: 86%;
    border-right: none;
    text-align: left;
    line-height: 30px;
    padding-bottom: 0;
  }
  #contact_page table tr td:nth-of-type(2) {
    display: block;
    width: 86%;
    padding-bottom: 20px;
    padding-right: 2%;
  }
  #contact_page table tr td:nth-of-type(2) input {
    width: 100%;
  }
  #contact_page table tr td:nth-of-type(2) textarea {
    width: 100%;
  }
  #contact_thanks_page #thanks {
    padding-bottom: 100px;
  }
  #contact_thanks_page #thanks h2 {
    padding-top: 100px;
  }
  #contact_thanks_page #thanks p.desc {
    margin-bottom: 30px;
  }
  #contact_thanks_page #thanks p.desc br {
    display: none;
  }

  /*****************************/
  /*********** footer **********/
  /*****************************/

  footer p.copy {
    font-size: 10px;
  }
}

@media screen and (max-width: 374px) {
  #masthead div.content ul li a {
    font-size: 10px;
  }
}

/* add 202407XX */

.sp-only {
  display: none;
}

@media screen and (max-width: 750px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
  .menu-child {
    display: none;
  }
  .grid-2 {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .grid-2 picture {
    text-align: center;
  }
}
