@charset "UTF-8";

/* ACCESSページ固有のレスポンシブ補正 */
body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-phone-label-break {
  display: none;
}

body.hpb-layoutset-02#hpb-template-03-03b-03 .access-building-break {
  display: none;
}

@media screen and (max-width: 959px) {
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    height: clamp(280px, 75vw, 450px);
    margin: 0 auto 16px;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] input,
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] select,
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] button {
    max-width: 100%;
    min-height: 44px;
    box-sizing: border-box;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] input:not([type="submit"]):not([type="button"]):not([type="reset"]),
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > form[name="form_main"] select {
    flex: 1 1 240px;
    min-width: 0;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    table-layout: fixed;
    box-sizing: border-box;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table th,
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table td {
    min-width: 0;
    padding: 6px;
    box-sizing: border-box;
    white-space: normal;
    word-break: normal;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:nth-child(3) > td:nth-child(2),
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-hours-value {
    white-space: nowrap;
    letter-spacing: normal;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:nth-child(4) > td:nth-child(2) {
    overflow-wrap: anywhere;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-phone-label {
    display: inline-block;
    white-space: nowrap;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > .access-car-heading,
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > .access-car-description {
    width: calc(100% - 24px);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
    text-align: left;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > .access-car-heading {
    clear: both;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > .access-car-heading img {
    display: block;
    float: none;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > img[src="P5100016~6-25.sai3.jpg"],
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > img[src="P5120008~3-2.sai2.jpg"],
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > img[src="P5120038~2-1.sai2.jpg"],
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > img[src="P5120078~2-4.sai2.jpg"],
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > img[src="P5120092-2.sai2.jpg"] {
    display: block;
    float: none;
    max-width: 100%;
    height: auto;
    margin: 8px auto 16px;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access img[align="right"] {
    display: block;
    float: none;
    max-width: 100%;
    height: auto;
    margin: 0 auto 16px;
  }
}

@media screen and (min-width: 401px) and (max-width: 430px) {
  body.hpb-layoutset-02#hpb-template-03-03b-03 .access-building-break {
    display: inline;
  }
}

/* 狭幅では表題行を残し、情報行だけを縦1列にする。 */
@media screen and (max-width: 400px) {
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-location-name {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: right;
    white-space: nowrap;
    letter-spacing: normal;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-nowrap-phrase {
    white-space: nowrap;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table,
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:first-child {
    display: table;
    width: 100%;
    table-layout: fixed;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:not(:first-child) {
    display: block;
    width: 100%;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:not(:first-child) > td {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 6px 8px;
    box-sizing: border-box;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:not(:first-child) > td:first-child {
    padding-bottom: 4px;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > tbody > tr:not(:first-child) > td:nth-child(2) {
    padding-top: 6px;
    padding-bottom: 8px;
  }
}

/* タブレット幅では30% / 70%の2列に統一する。 */
@media screen and (min-width: 401px) and (max-width: 959px) {
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-phone-label-break {
    display: block;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > colgroup > col.access-info-label-col {
    width: 30%;
  }

  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table > colgroup > col.access-info-value-col {
    width: 70%;
  }
}

/* PCではHTMLの既存寸法を保ち、表の外枠だけを本文幅へ含める。 */
@media screen and (min-width: 960px) {
  body.hpb-layoutset-02#hpb-template-03-03b-03 #access > table.access-info-table {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* 経路用矢印は全幅共通で画像と同じ中心線へ揃える。 */
body.hpb-layoutset-02#hpb-template-03-03b-03 #access .access-route-arrow {
  display: block;
  clear: both;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  text-align: center;
}
