/*------------------------------
--------------------------------
 アクセス
--------------------------------
------------------------------*/
.access_box h2 {
  text-align: center;
  margin-bottom: 38px;
}

.access_txt_wrapper {
  margin: 46px auto;
}

.access_img_wrapper {
  display: flex;
  max-width: 100%
}

.access_img_wrapper img {
  max-width: 100%;
  vertical-align: middle;
}

.access_txt_wrapper {
  border-collapse: collapse;
  background: var(--White);
}

.access_txt_wrapper,
.access_txt_wrapper tr {
  width: 100%;
  height: 60px;
}

.access_txt_wrapper th,
.access_txt_wrapper td {
  border: 1px solid var(--frame-line);
}

.access_txt_wrapper th {
  color: var(--white);
  background: var(--midashi-brown);
  font-size: 2.0rem;
  font-style: normal;
  font-weight: 600;
  line-height: 3.0rem;
  letter-spacing: 0.4px;
  width: 19.5%;
  white-space: nowrap;
}

.access_txt_wrapper td {
  color: var(--body);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.32px;
  padding-left: 22px;
  width: 80%;
}

.access_gmap {
  position: relative;
  margin-top: -20px;
  height: 670px;
}

.access_gmap_hidden {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 70px;
  background-image: url(../img/bg_white_pattern.jpg);
  background-repeat: repeat;
  border-bottom: 1px solid var(--frame-line);
}

.access_gmap iframe {
  position: relative;
  z-index: 1;
  border: none;
  border-bottom: 1px solid var(--frame-line);
}

.access_bekkan_box {
  display: flex;
  align-items: center;
  border: 1px solid var(--logo);
  padding: 45px 49px;
  gap: 32px;
  background: rgba(255, 255, 255, 0.90);
  background-position: left top, right top, left bottom, right bottom;
  background-repeat: no-repeat;
}

.access_bekkan_txt_wrapper {
  width: 54%;
  color: var(--body);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.32px;
}

.access_bekkan_txt_wrapper h3 {
  color: var(--body);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.32px;
}

.access_bekkan_txt_wrapper h3 {
  padding-bottom: 24px;
}

span.access_bekkan {
  color: var(--midashi_Brown, var(--h2_misashi_Simple, #62403B));
  font-size: 2.0rem;
  font-style: normal;
  font-weight: 600;
  line-height: 3.0rem;
  letter-spacing: 0.4px;
}

.access_bekkan_txt_wrapper P {
  padding: 0;
  margin-bottom: 0;
}

.access_bekkan_img_wrapper {
  width: 42.5%;
}

.access_bekkan_img_wrapper img {
  width: 100%;
  height: 294px;
}

@media screen and (max-width: 960px) {
  .access_bekkan_img_wrapper img {
    width: 100%;
    height: auto;
  }

  .access_gmap {
    height: 470px;
  }

}

/* SP */
@media screen and (max-width: 650px) {
  .access .container {
    width: 79%;
    margin: 0 auto;
  }

  .access .l_page_content_wrap {
    padding-top: 44px;
  }

  .access_wrap {
    padding: 0;
  }

  .access h2 img {
    width: 100%;
  }

  .access_box h2 {
    margin-bottom: 18px;
  }

  .access_box:first-child h2 {
    margin-bottom: 13px;
  }

  .access_img_wrapper img {
    width: 100%;
    height: 100%;
    vertical-align: baseline;
  }

  .access_box {
    margin: 48px auto;
  }

  .access_img_wrapper {
    flex-wrap: wrap;
    margin-bottom: 13px;
  }

  .access_map {
    width: 100%;
    height: 300px;
  }

  .access_txt_wrapper {
    margin: 16px auto;
  }

  .access_txt_wrapper th,
  .access_txt_wrapper td {
    display: block;
    width: 100%;
    height: 49px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: none;
  }

  .access_txt_wrapper tr:last-child td {
    border-bottom: 1px solid var(--frame-line);
  }

  .access_txt_wrapper th {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing: 0.32px;
  }

  .access_wrap {
    position: relative;
    z-index: 10;
  }

  .access_gmap {
    height: 370px;
    margin-top: -70px;
  }

  .access_bekkan_txt_wrapper,
  .access_bekkan_img_wrapper {
    width: 100%;
  }

  .access_bekkan_txt_wrapper {
    padding-top: 0;
  }

  .access_bekkan_txt_wrapper h3 {
    padding-bottom: 16px;
  }

  .access_bekkan_box {
    flex-wrap: wrap;
    padding: 21px 24px;
    gap: 16px;
  }

  .access_bekkan_img_wrapper img {
    height: auto;
    max-width: 100%;
    width: 100%;
    display: flex;
    margin: 0 auto;
  }

}

@media screen and (max-width: 375px) {
  .access_map {
    height: 180px;
  }

  .access_gmap {
    height: 250px;
  }

  .access_bekkan_img_wrapper img {
    height: 188px;
  }
}