.lock {
    overflow:hidden;
}

.modal-content {
    position:relative;
    display:none;
    z-index:2;
    width:50%;
    margin:30px;
    padding:10px 20px;
    border:2px solid #aaa;
    background:#fff;
    font-size: 62.5%;
    color: #000;
    text-align: left;
    font-size: 1.8rem;
    font-family: "Hiragino Kaku Gothic ProN",  Meiryo,  sans-serif;
}

.modal-content p {
    margin:0;
    padding:0;
}

.modal-map-content {
    position:relative;
    display:none;
    z-index:2;
    width: 860px;
    margin:30px;
    padding:10px 20px;
    border:2px solid #aaa;
    background:#fff;
    font-size: 62.5%;
    color: #000;
    text-align: left;
    font-size: 1.8rem;
    font-family: "Hiragino Kaku Gothic ProN",  Meiryo,  sans-serif;
}

.modal-map-content p {
    margin:0;
    padding:0;
}

.modal-overlay {
    z-index:1;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba(0,0,0,0.75);
}

.modal-wrap {
    z-index:2;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    overflow:auto;
}

.modal-open {
    display: inline-block;
    width: 200px;
    padding: 20px;
    border-radius: 4px;
    background-color: #d29e04;
    color: #fff;
    text-decoration: none;
    letter-spacing: 1px;
    font-size: 1.2rem;
    margin-top: 20px;
}

.modal-open:hover {
    cursor:pointer;
    color:#f00;
}

.modal-text-open {
    color: #00f;
}

.modal-text-open:hover {
    cursor:pointer;
    color:#f00;
    text-decoration:underline;
}

.modal-close {
    color:#00f;
    text-decoration:underline;

    display: inline-block;
    width: 200px;
    padding: 10px;
    border-radius: 4px;
    background-color: #5a5aaf;
    color: #fff;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    font-size: 1.2rem;
    margin-top: 20px;
}

.modal-close:hover {
    cursor:pointer;
    color:#f00;
}

.modal-send {
    color:#00f;
    text-decoration:underline;

    display: inline-block;
    width: 200px;
    padding: 10px;
    border-radius: 4px;
    background-color: #5a5aaf;
    color: #fff;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    font-size: 1.2rem;
    margin-top: 20px;
}

.modal-send:hover {
    cursor:pointer;
    color:#f00;
}

.modal-top {
    color:#00f;
    text-decoration:underline;

    display: inline-block;
    width: 200px;
    padding: 10px;
    border-radius: 4px;
    background-color: #5a5aaf;
    color: #fff;
    text-decoration: none;
    text-align: center;
    letter-spacing: 1px;
    font-size: 1.2rem;
    margin-top: 20px;
}

.modal-top:hover {
    cursor:pointer;
    color:#f00;
}

.modal-content table {
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
  line-height: 1.5;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.modal-content table th {
  padding: 10px;
  font-weight: bold;
  vertical-align: middle;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  background: #eee;
}
.modal-content table td {
  padding: 10px;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.modal-content table caption {
  text-align: left;
}

.modal-content-base {
  display: flex;
  display: -moz-flex;
  display: -o-flex;
  display: -webkit-flex;
  display: -ms-flex;
  flex-direction: row;
  -moz-flex-direction: row;
  -o-flex-direction: row;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  justify-content: space-between;
}
.modal-content-box {
  width: 48%;
}
.modal-content-box table {
  border: 2px solid;
}
.modal-content-box table th {
  width: 100%;
  height: 4em;
  font-size: 2rem;
  background-color: #00b0f0;
  color: #000;
}
.modal-content-box table td {
  width: 100%;
  height: 5em;
  font-size: 1.5rem;
  color: #000;
  text-align: left;
  vertical-align: middle;
}
