@media (max-width: 1000px) {
  .logo img {
    width: 80px;
  }
}

@media (max-width: 767px) {
  .is-fixed {
    overflow: hidden;
  }
}

@media (max-width: 640px) {
  .sp {
    display: block;
  }
  /* .pc{display: none;} */

  /* header */
  header {
    background: url(../images/sp_header.jpg) top left / cover;
    padding-bottom: calc(1336 / 1920 * 100%);
  }

  .logo {
    display: none;
  }

  header #nav_btn {
    position: fixed;
    top: 0;
    right: 0;
    padding: 10px 20px;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
  }

  header #nav_btn img {
    width: 20px;
  }

  header .menu_btn0 {
    display: block;
  }
  header .menu_btn1 {
    display: none;
  }
  header.nav_open .menu_btn0 {
    display: none;
  }
  header.nav_open .menu_btn1 {
    display: block;
  }

  #navi {
    align-items: flex-start;
  }

  header #gnav {
    float: none;
    position: fixed;
    width: 100vw;
    height: 100vh;
    padding: 60px 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9998;
    display: none;
  }

  header #gnav ul {
    display: block;
  }

  header li {
    margin: 2rem 0;
    text-align: center;
  }

  header nav a {
    margin: 0;
    color: #fff;
  }

  .title {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: 20%;
    margin-left: -20%;
    width: 40%;
  }

  .title img {
    width: 150px;
  }

  .title p {
    font-size: 1.5rem;
  }

  /* about */
  #about p {
    text-align: start;
  }

  /* menu */
  #menu .flex {
    display: none;
  }

  #menu .thumb_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0;
  }

  #menu .thumb_menu li {
    width: 49%;
    padding-right: 0;
  }

  .thumb_menu img:hover {
    opacity: 1;
  }

  /* news */
  #news .text_block {
    width: 100%;
    padding: 1rem 0;
  }

  #news .text_block p {
    width: 60%;
  }

  /* access */
  #access .flex {
    flex-wrap: wrap;
  }

  #access .flex table {
    width: 90%;
    margin: 0 auto 1rem;
  }

  #access .map {
    width: 90%;
    margin: 0 auto;
  }

  /* contact */
  #contact {
    background: url(../images/court.jpg) center center / cover;
  }

  /* footer */
  footer .flex {
    display: none;
  }

  .copy {
    padding-top: 0;
  }

  #pagetop {
    bottom: 20px;
    right: 20px;
  }
}

@media (max-width: 425px) {
  /* access */
  #access table th {
    display: block;
    width: 100%;
    padding-left: 1rem;
  }

  #access table td {
    display: block;
    width: 100%;
  }
}

@media (max-width: 375px) {
  .title {
    margin-top: 15%;
  }
}
