@charset "UTF-8";

img,
video,
iframe {
  max-width: 100%;
}

img,
video {
  height: auto;
}

.gm-style img {
  max-width: none;
}

.app-panel,
.app-panel-body,
.app-surface,
.card,
.card-body,
.table-responsive {
  box-sizing: border-box;
  max-width: 100%;
}

.table {
  width: 100%;
}

@media screen and (max-width: 1199.98px) {
  .container,
  #detail .container {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 991.98px) {
  .container {
    padding-right: 12px;
    padding-left: 12px;
  }

  .container > header,
  .container > footer {
    padding-right: 12px;
    padding-left: 12px;
  }

  #pub-detail #shinrin-info,
  #pub-detail #other-info {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 20px;
  }

  #pub-detail #infos,
  #pub-detail #map-area,
  #pub-detail #photo,
  #pub-detail #sozaiList,
  #pub-detail #compInfo {
    grid-row: auto;
    grid-column: 1;
  }

  #pub-detail #gmap {
    height: 320px;
  }

  #pub-detail #sozaiList .app-panel table.table {
    width: 503px;
  }

  body#condFrm .output-card .submitBtn {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767.98px) {
  .container > header {
    min-height: 0;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .container > header > .row {
    min-height: 0;
    row-gap: 4px;
  }

  #p-ti {
    font-size: 2.4rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  #mem-name {
    font-size: 1.2rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .container > header + article.row {
    min-height: 0;
    line-height: 1.5;
    row-gap: 2px;
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .topic-path {
    align-items: flex-start;
    line-height: 1.5;
  }

  .app-panel-body,
  .app-surface,
  .card-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .app-panel-body > table,
  .app-surface > table,
  .card-body > table,
  .app-panel-body > .table,
  .app-surface > .table,
  .card-body > .table {
    min-width: 640px;
  }

  #pub-detail #sozaiList .app-panel table.table {
    min-width: 503px;
  }

  body#reg #detail table {
    min-width: 1120px;
  }

  #detail table {
    min-width: 900px;
  }

  #detail .modal-dialog {
    width: auto;
    max-width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
  }

  .form-inline,
  .navbar-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 8px 12px;
  }

  .form-inline .form-group,
  .navbar-form .form-group {
    display: block;
    min-width: 0;
    flex: 1 1 180px;
    margin-bottom: 8px;
  }

  .form-inline .radio,
  .form-inline .checkbox,
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: block;
    margin-bottom: 8px;
  }

  .form-inline .form-control,
  .navbar-form .form-control {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .form-inline .input-group,
  .navbar-form .input-group {
    display: flex;
    width: 100%;
    max-width: 100%;
  }

  .form-inline .input-group,
  .navbar-form .input-group {
    flex-wrap: nowrap;
  }

  .form-inline .input-group > .form-control,
  .navbar-form .input-group > .form-control {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
  }

  .control-label,
  .col-form-label,
  .form-label {
    margin-bottom: 4px;
  }

  #pub-detail #photo {
    grid-template-columns: 22px minmax(0, 1fr) 22px;
    column-gap: 4px;
  }
}

@media screen and (max-width: 575.98px) {
  .container {
    padding-right: 8px;
    padding-left: 8px;
  }

  .container > header,
  .container > footer {
    padding-right: 8px;
    padding-left: 8px;
  }

  #p-ti {
    font-size: 2.1rem;
  }

  .container > header > .row > [class^="col-"],
  .container > header > .row > [class*=" col-"],
  .container > header + article.row > [class^="col-"],
  .container > header + article.row > [class*=" col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    text-align: left !important;
  }

  .mem-header-public-link,
  .mem-header-logout-link {
    display: inline-block;
    margin-right: 8px;
    margin-left: 0;
  }

  .form-inline .form-group,
  .navbar-form .form-group,
  .form-inline .btn,
  .navbar-form .btn {
    width: 100%;
  }

  .app-panel-body,
  .app-surface {
    padding: 12px;
  }

  #pub-detail #gmap {
    height: 280px;
  }
}
