html,body {
width:100%;
height:100%;
margin:0;
padding:0;
}
body {
color: #333;
font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, Verdana, "ＭＳ Ｐゴシック", sans-serif;
-webkit-text-size-adjust: 100%;
}
.is-pc {
  display: block;
}
#wrapper {
display:table;
width:100%;
height:100%;
}
#container {
display:table-cell;
width:100%;
height:100%;
vertical-align:middle;
text-align:center;
}

#gHeader {
margin-bottom:24px;
padding: 0 16px;
box-sizing:border-box;
}
.siteLogo {
width: 540px;
height: auto;
aspect-ratio: 540 / 73;
margin: 0 auto;
}
.siteLogo img {
width:100%;
height:auto;
}
#contents {
max-width:800px;
margin:auto;
padding: 2px 15px 0;
box-sizing:border-box;
}
#gFooter {
margin-top:32px;
font-size:10px;
}
#gFooter .copyright {
font-size:10px;
}
p {
margin:16px 0;
font-size:16px;
line-height:1.6;
text-align:center;
}
.schedule {
margin:32px 0;
padding:16px 0 24px;
background:#0a58a8;
color:#fff;
}
.schedule dt {
margin: 0;
padding: 0 16px 12px;
border-bottom:1px solid #fff;
border-bottom:1px solid rgba(255,255,255,0.4);
font-size:20px;
font-weight:bold;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; 
}
.schedule dd {
margin: 0;
padding: 24px 16px 0;
font-size:30px;
font-weight:bold;
line-height: 1.2;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; 
}
.schedule span {
display: block;
margin-top: 8px;
font-size:13px;
font-weight:normal;
}
.button {
  margin-top: 40px;
  margin-bottom: 18px;
  text-align: center;
}
.button a {
  position: relative;
  font-size: 20px;
  min-width: 360px;
  padding: 24px 40px;
  overflow: hidden;
  color: #fff;
  background-color: #0a58a8;
  text-decoration: none;
  line-height: 1;
  overflow: hidden;
  transition: all .3s ease;
  border-radius: 2px;
  outline: none;
  appearance: none;
}
.button a:hover {
  background-color: #0c6ccf;
}
.button a:hover::before {
  width: 100%;
  height: 100%;
  opacity: 1;
}
.button a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
  margin: auto;
  content: '';
  transition: all .2s ease;
  opacity: 0;
  border-radius: 2px;
  background-color: #0c6ccf;
}
.button a > span {
  position: relative;
}

@media screen and (max-width: 768px) {
  .is-pc {
    display: none;
  }
  #gHeader {
    margin-bottom: 0;
  }
  .siteLogo {
    margin: 0 auto;
    width: 100%;
    max-width: 400px;
  }
  h2 {
    font-size: 18px;
    margin: 20px 0;
  }
  p {
    font-size: 14px;
  }
  .button a {
    padding: 20px;
    font-size: 14px;
  }
  .copyright > small {
    font-size: 10px;
  }
}
