/* body */

* , *::before , *::after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

a {
	text-decoration: none;
}

hr {
    width: 80%;
    margin: 0 auto;
    border-color: rgb(0, 80, 140, 0.5);
}

/* header */
.hamburger {
    display : none;
    position: fixed;
    z-index : 10000;
    right : 13px;
    top   : 12px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  .hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 5px ;
    left    : 6px;
    background : #555;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
    top: 10px;
  }
  .hamburger span:nth-child(2) {
    top: 20px;
  }
  .hamburger span:nth-child(3) {
    top: 30px;
  }
  
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top : 16px;
    left: 6px;
    background :#555;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 16px;
    background :#555;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
  }
  
  nav.globalMenuSp {
    position: fixed;
    z-index : 5000;
    top  : 0;
    left : 0;
    text-align: center;
    width: 100%;
    height: 100vh;
    transform: translateX(-100%);
	background-color: rgba(255,255,255,0.7);
    background-blend-mode: lighten;
    background-image: url(img/mizu.jpg);
    background-size: cover;
  }

  @keyframes slide {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

  nav.globalMenuSp.active {
      animation: slide .5s forwards;
  }

  
  nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  nav.globalMenuSp ul li {
    width: 100%;
    transition: .4s all;
  }
  
  nav.globalMenuSp ul li a {
    display: block;
    color: #555;
    padding: 5% 0;
    font-size: 50px;
    font-family: 'Tangerine', cursive !important;
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
    opacity: 100;
  }

/* bg-slider */
  .bg-slider {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
}

.logo {
	display: none;
}

.logo img {
	position: fixed;
	width: 200px;
	top: 10px;
	left: 10px;
	z-index: 100;
}

br {
  display: block;
  content: "";
  padding: 2rem 0;
}

section {
  margin: 20% 0;
}

.info-title {
  width: 40%;
  min-width: 550px;
  padding: 20px;
  padding-left: 5%;
  border-bottom: 5px solid rgb(0, 80, 140, 0.5);
  font-size: 3rem;
}

.info-container {
  position: relative;
  height: 1600px;
  margin: 10% 0;
}

.catch-copy {
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 750px;
  background-color: rgba(255,255,255,0.7);
  background-blend-mode: lighten;
  background-image: url("img/mizu.jpg");
  background-size: cover;
}

.center-box {
  position: relative;
  width: 100%;
  height: 750px;
}

.center-box p {
  position: absolute;
  top: 50%;
  left: 40%;
  transform: translate(-50%, -50%);
  color: rgb(0, 80, 140, 0.7);
  font-size: 3rem;
  line-height: 80px;
  text-shadow: 2px 2px 1px rgba(128, 128, 128, 0.2);
  white-space: nowrap;
}

.indent {
  margin-left: 40%;
}

.info-title__en {
  position: absolute;
  top: -3%;
  right: 10%;
  color: rgba(0, 80, 140, 0.2);
  font-size: 5rem;
  text-shadow: 7px 7px 1px rgba(128, 128, 128, 0.1);
  font-family: 'Playball', cursive;
}

.info-container img {
  position: absolute;
  top: 40%;
  right: 0;
  width: 40%;
  min-width: 620px;
}

.info-text {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 5%;
  font-size: 2rem;
  line-height: 2em;
}

.info-text__en {
  padding: 5%;
  background-color: rgb(128, 128, 128, 0.1);
  color: rgb(0, 0, 0, 0.5);
  font-size: 2rem;
  line-height: 2em;
}

.photo-container {
  display: flex;
  flex-wrap: wrap;
  padding: 10% 0;
  border-top: 5px solid rgb(0, 80, 140, 0.5);
  border-bottom: 5px solid rgb(0, 80, 140, 0.5);
  background-color: rgb(224, 255, 255, 0.2);
}

.photo-container img {
  width: 50%;
}

.system-title {
  width: 40%;
  min-width: 550px;
  margin-left: auto;
  padding: 20px;
  padding-right: 5%;
  border-bottom: 5px solid rgb(0, 80, 140, 0.5);
  font-size: 3rem;
  text-align: right;
}


.system-title__en {
  margin: 40px 5%;
  color: rgba(0, 80, 140, 0.2);
  font-size: 5rem;
  font-family: 'Playball', cursive;
  text-shadow: 7px 7px 1px rgba(128, 128, 128, 0.1);
  display:inline-block;
}

.system-container {
  position: relative;
  height: 1800px;
}

.menu {
  position: absolute;
  top: 10%;
  left: 0;
  width: 80%;
  height: 1200px;
  background-color: rgba(255,255,255,0.7);
  background-blend-mode: lighten;
  background-image: url(img/mizu.jpg);
  background-size: cover;
  font-size: 2rem;
  line-height: 50px;
}

.menu p {
  margin: 80px 50px;
  text-decoration: underline;
}

.menu li {
  margin: 50px;
}

.menu-br {
  display: block;
  content: "";
  padding: 0.5rem 0;
}

.plan {
  position: absolute;
  top: 8%;
  right: 25%;
  color: rgb(0, 139, 139, 0.8);
  font-size: 3rem;
  font-family: cursive;
  white-space: nowrap;
}

.system-container img {
  position: absolute;
  top: 60%;
  right: 0;
  width: 60%;
  min-width: 850px;
  max-width: 1000px;
}

.reserve {
  text-align: center;
}

.reserve a {
  padding: 25px 50px;
  border: 1px solid rgb(128, 128, 128, 0.5);
  color: rgb(0, 80, 140);
  font-size: 2rem;
  text-decoration: none;
}

.reserve a::after {
  content: "→";
  padding-left: 10px;
}

.reserve a:hover {
  border: 1px solid rgb(0, 139, 139);
  background-color: rgb(0, 80, 140);
  color: #fff;
  transition: .4s;
}

.heading {
  max-width: 1200px;
  margin: 10% auto;
  padding-bottom: 40px;
  border-bottom: 3px solid rgb(0, 80, 140, 0.5);
  font-size: 5rem;
  text-align: center;
}

/* 仮 */
.sec-vr {
  margin: 25% 0;
}

.screen {
  width: 100%;
  max-width: 1200px;
  height: 700px;
  margin: 5% auto;
}

.access {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

.detail {
  width: 50%;
  margin-right: 5%;
  padding: 50px;
  padding-bottom: 7%;
  border: 3px solid rgb(0, 80, 140, 0.5);
  background-color: rgb(224, 255, 255, 0.2);
  font-size: 1.5rem;
  line-height: 50px;
}

.access-br {
  padding: 1rem 0;
}

.map {
  width: 50%;
}

iframe {
  width: 100%;
  height: 500px;
}

.reserve2 {
  margin-top: 50px;
  text-align: center;
}

.reserve2 a {
  padding: 25px 50px;
  border: 1px solid rgb(128, 128, 128, 0.5);
  color: rgb(0, 80, 140);
  font-size: 1.5rem;
  text-decoration: none;
}

.reserve2 a::after {
  content: "→";
  padding-left: 10px;
}

.reserve2 a:hover {
  border: 1px solid rgb(0, 139, 139);
  background-color: rgb(0, 80, 140);
  color: #fff;
  transition: .4s;
}

.contact {
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
}

.wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wrapper label {
  width: 25%;
  font-size: 1.5rem;
  line-height: 40px;
}

input {
  width: 75%;
  margin: 20px 0;
  padding: 10px;
  border: 1px solid rgb(128, 128, 128, 0.5);
  font-size: 1.5rem;
}

textarea {
  width: 75%;
  height: 320px;
  margin: 20px 0;
  padding: 10px;
  border: 1px solid rgb(128, 128, 128, 0.5);
  font-size: 1.5rem;
}

.submit {
  margin: 10% 0;
  text-align: center;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit {
    width: 100%;
    padding: 20px;
    background-color: rgb(0, 80, 140);
    color: #fff;
    cursor: pointer;
}

footer {
  height: 100px;
  background-color: rgb(0, 80, 140, 0.2);
  font-size: 2rem;
  line-height: 100px;
  text-align: center;
}

.page-top {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: fixed;
  z-index: 99;
  right: 5%;
  bottom: 5%;
  width: 85px;
  height: 85px;
  background: #fafbfc;
  color: rgb(0, 80, 140);
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  box-shadow: 1px 1px 5px gray;
  cursor: pointer;
  opacity: .7;
}

.page-top:hover {
  transition: 0.2s;
  background-color: rgb(0, 80, 140);
  color: #fff;
}

div#page-top a {
    color: rgb(0, 80, 140);
}

div#page-top a:hover {
    color: #fff;
}

@media screen and (max-width:1000px) {

  .logo img {
	position: fixed;
    top: 10px;
    left: 10px;
    width: 150px;
  }

  .catch-copy {
    width: 80%;
  }
  .center-box p {
    font-size: 2.4rem;
  }

  .system-container {
    height: 1200px;
  }

  .menu {
    height: 700px;
    font-size: 1rem;
    line-height: 25px;
  }

  .plan {
    font-size: 2rem;
  }

  .system-container img {
    min-width: 650px;
  }

  .access {
    align-items: center;
    flex-direction: column-reverse;
  }

  .detail {
    width: 86%;
    margin-top: 10%;
    margin-right: 0;
  }

  .map {
    width: 100%;
  }
}

@media screen and (max-width:680px) {

  br {
    padding: 0;
  }

  .info-title {
    width: 85%;
    min-width: auto;
    font-size: 1.5rem;
  }

  .catch-copy {
    top: 10%;
    width: 100%;
    height: 300px;
  }

  .center-box {
    height: 300px;
  }

  .center-box p {
    top: 35%;
    left: 45%;
    font-size: 26px;
    font-weight: bold;
    color: #555;
  }

  .indent {
    margin-left: 25%;
  }

  .info-title__en {
    top: -3%;
    right: 5%;
    font-size: 3rem;
  }

  .info-container {
    height: 750px;
  }

  .info-container img {
    top: 35%;
    width: 70%;
    min-width: 320px;
  }

  .info-text {
    bottom: 0;
    font-size: 1rem;
  }

  .info-text__en {
    font-size: 1rem;
  }

  .photo-container {
    border-top: 3px solid rgb(0, 80, 140, 0.5);
    border-bottom: 3px solid rgb(0, 80, 140, 0.5);
    background-color: rgb(224, 255, 255, 0.2);
  }
   .system-title {
    width: 85%;
    min-width: auto;
    font-size: 1.5rem;
  }
   .system-title__en {
    font-size: 3rem;
  }

  .system-container {
    height: 900px;
  }

  .menu {
    top: 5%;
    width: 100%;
    height: 750px;
    font-size: 1rem;
    line-height: 25px;
  }

  .menu p {
    margin: 40px 20px;
  }
  
  .menu li {
    margin: 30px 20px;
    margin-left: 40px;
  }

  .plan {
    top: 3%;
    left: 5%;
    font-size: 1.5rem;
  }

  .system-container img {
    top: 68%;
    width: 70%;
    min-width: 320px;
  }

  .reserve a {
    padding: 20px 40px;
    font-size: 1.2rem;
  }
  
  .reserve a::after {
    content: "→";
    padding-left: 10px;
  }

  .heading {
    padding-bottom: 20px;
    border-bottom: 2px solid rgb(0, 80, 140, 0.5);
    font-size: 2rem;
    text-align: center;
  }

  /* 仮 */
  .sec-vr {
    margin: 40% 0;
  }

  .screen {
    height: 300px;
  }

  .detail {
    margin: 10% 5%;
    padding: 7%;
    padding-bottom: 10%;
    font-size: 1rem;
  }

  .access-br {
    padding: 0.5rem 0;
  }

  iframe {
    height: 320px;
  }

  .reserve2 {
    margin-top: 20px;
  }

  .reserve2 a {
    padding: 20px 40px;
    font-size: 1rem;
  }
  
  .reserve2 a::after {
    content: "→";
    padding-left: 10px;
  }

  .wrapper {
    flex-direction: column;
  }

  .wrapper label {
    width: 100%;
    font-size: 1.2rem;
    line-height: 40px;
  }
  
  input {
    width: 100%;
    margin: 10px 0 20px;
    padding: 10px;

    font-size: 1.2rem;
  }
  
  textarea {
    width: 100%;
    height: 320px;
    margin: 10px 0 20px;
    padding: 10px;
    font-size: 1.2rem;
  }

  footer {
    height: 70px;
    font-size: 1rem;
    line-height: 70px;
  }

  .page-top {
    width: 50px;
    height: 50px;
    font-size: 1rem;
  }

}
/*ギャラリー*/
.gallery_box{
	width: 800px;
	height: 800px;
	position: relative;
	margin: 0 auto;
}
@media screen and (max-width:764px) {
	.gallery_box{width: 100%;}
}
.gallery_box img{
	width: 200px;
}
.gallery_img01{
	width: 200px;
	position: absolute;
	top:30px;
	left:300px;
}
.gallery_img01 img{
	transition: 1s all;
}
.gallery_img01 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img02{
	width: 200px;
	position: absolute;
	top:120px;
	left:100px;
}
.gallery_img02 img{
	transition: 1s all;
}
.gallery_img02 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img03{
	width: 200px;
	position: absolute;
	top:315px;
	left:0px;
}
.gallery_img03 img{
	transition: 1s all;
}
.gallery_img03 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img04{
	width: 200px;
	position: absolute;
	top:510px;
	left:100px;
}
.gallery_img04 img{
	transition: 1s all;
}
.gallery_img04 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img05{
	width: 200px;
	position: absolute;
	top:600px;
	left:300px;
}
.gallery_img05 img{
	transition: 1s all;
}
.gallery_img05 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img06{
	width: 200px;
	position: absolute;
	top:510px;
	left:500px;
}
.gallery_img06 img{
	transition: 1s all;
}
.gallery_img06 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img07{
	width: 200px;
	position: absolute;
	top:315px;
	left:595px;
}
.gallery_img07 img{
	transition: 1s all;
}
.gallery_img07 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
.gallery_img08{
	width: 200px;
	position: absolute;
	top:120px;
	left:500px;
}
.gallery_img08 img{
	transition: 1s all;
}
.gallery_img08 img:hover{
	transform:scale(1.2,1.2);
	transition: 1s all;
}
@media screen and (max-width:764px){
	.gallery_img01{position: static; margin: 0 auto;}
	.gallery_img02{position: static; margin: 0 auto;}
	.gallery_img03{position: static; margin: 0 auto;}
	.gallery_img04{position: static; margin: 0 auto;}
	.gallery_img05{position: static; margin: 0 auto;}
	.gallery_img06{position: static; margin: 0 auto;}
	.gallery_img07{position: static; margin: 0 auto;}
	.gallery_img08{position: static; margin: 0 auto;}
	.gallery_p{display: none!important;}
	.gallery_img01 img{width:150px!important;}
	.gallery_img02 img{width:150px!important;}
	.gallery_img03 img{width:150px!important;}
	.gallery_img04 img{width:150px!important;}
	.gallery_img05 img{width:150px!important;}
	.gallery_img06 img{width:150px!important;}
	.gallery_img07 img{width:150px!important;}
	.gallery_img08 img{width:150px!important;}

    .gallery_box div {
        display: flex;
        justify-content: space-around;
        width: 100%;
    }
}
/*モーダルウィンドウ*/

/*モーダルここまで*/
.gallery_p{
	font-size: 50px;
	position: absolute;
	top:390px;
	left: 320px;
}
.gallery_box div{
	display:flex;
	justify-content:space-around;
}
/*h3フェードイン*/

@keyframes anime01 {
	0% {
		opacity: 0;
		transform: translateX(50px);
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}

.animation {
	opacity: 0;
}

.info-title__en.active {
	animation:anime01 5s forwards;
}

@keyframes anime02 {
	0% {
		opacity: 0;
		transform: translateX(0);
	}
	100% {
		opacity: 1;
		transform: translateX(50px);
	}
}

.system-title__en.active {
	animation:anime02 5s forwards;
}

nav.globalMenuSp.active {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

a.hambmenu_anchor {
    font-size: 1.5rem;
}