.modal-open{
 margin: 10px;
 text-align:center;
 }
.modal-open a{
 display: inline-block;
 padding: 5px;
 text-decoration: underline;
}

/*** 以下モーダル用CSS ***/
.modal{
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 }
.modal:not(:target) {
 opacity: 0;
 visibility: hidden;
 transition: opacity 0.5s, visibility 0.5s;
 }
 .modal:target{
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
 }
 .modal .overlay{
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #000;
  opacity: 0.7;
  top: 0;
  left: 0;
 }
 .modal-wrapper{
  width: 100%;
  max-width: 650px;
  min-width: 300px;
  height: 100%;
  max-height: 550px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
 }
 .modal-contents{
  overflow: auto;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: relative;
 }
 .modal-content{
   margin: 25px;
 }
 .modal-content h2, .modal-content h3{
  margin:10px 0px;
  }
 .modal-close{
  position: absolute;
  top: 10px;
  right: 10px;
  text-decoration: none;
 }
 .modal-close-under{
   display:block;
   margin:20px;
   text-align:center;
 }