/*  common
----------------------------------------- */
.contents-ttl {
  text-align: center;
  color: #004ca9;
  font-size: 35px;
  margin-bottom: 40px; }
  .contents-ttl .en {
    font-size: 20px;
    display: block;
    color: #333;
    padding-top: 5px; }

.contents-ttl-s {
  font-size: 30px;
  margin-bottom: 20px;
  color: #004ca9; }

* {
  box-sizing: border-box; }

body {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  width: 667px;
  margin: 0 auto;
  font-size: 20px;
  -webkit-appearance: none; }

a {
  color: #004ca9;
  text-decoration: none; }

.mb10 {
  margin-bottom: 10px; }

.mb20 {
  margin-bottom: 20px; }

.mb30 {
  margin-bottom: 30px; }

.mb40 {
  margin-bottom: 40px; }

.mb50 {
  margin-bottom: 50px; }

.mb60 {
  margin-bottom: 60px; }

.mb70 {
  margin-bottom: 70px; }

.mb80 {
  margin-bottom: 80px; }

.mb90 {
  margin-bottom: 90px; }

.mb100 {
  margin-bottom: 100px; }

.gallery {
  width: 600px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .gallery:after {
    content: "";
    display: block;
    width: 180px;
    height: 0; }
  .gallery li {
    margin-bottom: 20px;
    width: 180px;
    height: 180px;
    overflow: hidden;
    position: relative; }
    .gallery li img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: auto;
      height: 100%; }

.check-btn {
  position: fixed;
  bottom: 0;
  left: auto;
  right: auto; }

/*  header
----------------------------------------- */
#header {
  width: 667px;
  z-index: 1;
  position: fixed;
  top: 0;
  left: auto;
  right: auto;
  background: rgba(255, 255, 255, 0.8);
  border-top: 5px solid #004ca9;
  padding: 10px;
  display: flex;
  align-items: center; }
  #header .logo {
    width: 80%;
    margin-right: 20px; }
    #header .logo img {
      width: 100%; }
  #header .contact-block {
    display: flex;
    align-items: center; }
    #header .contact-block .tel {
      margin-right: 10px; }
    #header .contact-block .contact {
      margin-right: 10px; }
  #header .acMenu ul {
    display: none;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 105px;
    left: 0;
    width: 100%; }
    #header .acMenu ul li {
      padding: 10px;
      text-align: center;
      border-bottom: 1px solid #ccc;
      font-size: 20px;
      font-weight: bold; }
      #header .acMenu ul li:first-child {
        border-top: 1px solid #ccc; }
      #header .acMenu ul li a {
        color: #004ca9;
        display: block; }
        #header .acMenu ul li a .en {
          display: block;
          color: #333;
          font-size: 14px;
          font-weight: bold;
          padding-top: 5px; }

/*  footer
----------------------------------------- */
#footer {
  width: 100%;
  clear: both;
  background: url("../img/footer_bg.png") no-repeat;
  padding: 30px 0;
  margin-bottom: 80px;
  text-align: center;
  color: #fff; }
  #footer a {
    color: #fff; }
  #footer .logo {
    margin-bottom: 30px; }
  #footer .contact-block {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px; }
    #footer .contact-block .tel {
      line-height: 46px;
      vertical-align: middle;
      margin-right: 20px; }
    #footer .contact-block .contact {
      line-height: 51px; }
  #footer .address {
    line-height: 1.5em;
    margin-bottom: 30px; }
  #footer .copyright {
    font-size: 14px; }

/*  main
----------------------------------------- */
#main {
  padding-top: 110px;
  text-align: center; }

/*  mv
----------------------------------------- */
#mv {
  margin-bottom: 30px; }

#mv .twilight-wrapper {
  width: 100%;
  margin: 0 auto; }

#mv .slide-wrapper {
  position: relative; }

#mv .twilight-show {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative; }

#mv .twilight-show .twilight-box {
  position: relative;
  width: 99999px;
  opacity: 1;
  -webkit-transition-duration: 0s;
  -webkit-transition-timing-function: ease-out;
  -webkit-transition-property: -webkit-transform, opacity;
  -webkit-transform: translate3d(0px, 0px, 0px); }

#mv .twilight-show a {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none; }

#mv .twilight-show .twilight-box div {
  float: left;
  opacity: 1;
  -webkit-transition-duration: 0s;
  -webkit-transition-timing-function: ease-out;
  -webkit-transition-property: -webkit-transform, opacity;
  -webkit-transform: translate3d(0px, 0px, 0px); }

#mv .twilight-show .arrow-left, .twilight-show .arrow-right {
  position: absolute;
  z-index: 10;
  top: 250px;
  cursor: pointer; }

#mv .twilight-show .arrow-left {
  left: 20px; }

#mv .twilight-show .arrow-right {
  right: 20px; }

/*  copy
----------------------------------------- */
#copy {
  padding: 0 20px 30px;
  text-align: left; }
  #copy .access {
    text-align: center;
    margin-bottom: 30px; }
  #copy p {
    line-height: 1.5em;
    margin-bottom: 1em; }

/*  facility
----------------------------------------- */
#facility {
  padding: 40px 0;
  background: #e6eff7; }

/*  layout
----------------------------------------- */
#layout {
  padding: 40px 0; }

/*  access
----------------------------------------- */
#access .contents-ttl {
  margin-bottom: 20px; }
#access p {
  line-height: 1.8em; }

/*  location
----------------------------------------- */
#location {
  padding: 40px 0;
  background: #e6eff7; }

/*  outline
----------------------------------------- */
#outline {
  padding: 40px 0; }
  #outline dl {
    width: 600px;
    margin: 0 auto;
    text-align: left;
    line-height: 1.5em; }
  #outline dt {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#083fb6+0,427fcb+100 */
    background: #083fb6;
    /* Old browsers */
    background: -moz-linear-gradient(left, #083fb6 0%, #427fcb 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #083fb6 0%, #427fcb 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #083fb6 0%, #427fcb 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#083fb6', endColorstr='#427fcb',GradientType=1 );
    /* IE6-9 */
    color: #fff;
    padding: 10px; }
  #outline dd {
    padding: 10px; }
