@charset "utf-8";
/* CSS Document */

h1,h2,h3,h4,h5,h6,p,div,ul,li,dl,dt,dd{margin:0; padding:0; font-weight:500; }
ul,li{ list-style-type:none;}
hr{height:0px;margin:0;padding:0;border:none;}

img{ margin: 0; padding: 0; max-width:100%; vertical-align: bottom;}

html{ overflow: hidden;}
body{
	padding:0;
	margin:0;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	background-color:#BBFFEB;
	font-family: 'Noto Sans JP', sans-serif;
	}
	
a.is-hover{ display:block; transition: all 0.5s ease;}
a.is-hover img{ transition:all 0.5s ease;}
a:hover.is-hover img{ opacity: 0.5; filter: alpha(opacity=50); -moz-opacity:0.5;}
a:hover.is-hover{ opacity: 0.5; filter: alpha(opacity=50); -moz-opacity:0.5;}
	
.layout{
	/*position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-content: center;
    justify-content: center;*/
}
.anime{
  position:fixed;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  margin: auto;
}
.layout svg{
	/*transform:scale(1.02,1.02);*/
	width:1300px;
	height:1300px;
	overflow-x: hidden !important;
	/*display: block;
	    fill: #ffffffb3;*/
	fill: rgb(255 255 255 / 70%);
	}
@media only screen and (max-width: 1366px){ .layout svg{ transform:scale(0.75,0.75);} }
@media only screen and (max-width: 1024px){ .layout svg{ transform:scale(0.9,0.9);} }
@media only screen and (max-width: 600px){ .layout svg{ transform:scale(0.45,0.45);}}
ul.menu1{
	position:fixed;
	left:30px;
	top:20px;
	z-index:100;}
@media only screen and (max-width: 600px){ ul.menu1{ left:10px; top:10px;}}
ul.menu1 li{ font-size:0px; }
ul.menu1 a{ text-decoration:none; color:#000; font-size:16px; line-height:2; }
@media only screen and (max-width: 600px){ ul.menu1 a{ font-size:14px; }}

ul.menu1 a span{ font-size:15px; }
@media only screen and (max-width: 600px){ ul.menu1 a span{ font-size:13px; }}
ul.menu2{
	position:fixed;
	right:30px;
	top:24px;
	z-index:100;
	display: flex;
    align-items: center;
	}
@media only screen and (max-width: 600px){
	ul.menu2{
		/*position:absolute;*/
		right:20px;
		top:14px;
	}
}
ul.menu2 li { width: 30px; }
@media only screen and (max-width: 600px){ ul.menu2 li { width: 22px;}}
ul.menu2 li:nth-of-type(1){ margin-right:16px;}
ul.menu2 li a{}

@media only screen and (max-width: 600px){
ul.menu a{ font-size:12px; line-height:1.6; }
}
@media only screen and (max-width: 600px){
ul.menu li{ }
}

/*
.txt{
	position:absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  margin: auto;
  z-index:-10;
  }

.tabcontent{
	position:absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  margin: auto;
  z-index:10;
  }*/
  
dl.inner{ width: 100%; font-size:18px; text-align:center; line-height:2; letter-spacing:0.2em; margin: 0 auto 120px; position:relative;}
@media only screen and (max-width: 600px){ dl.inner{ font-size:11px; letter-spacing:0.1em; line-height:1.8;}}
dl.inner:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: "";
    width: 20px;
    height: 1px;
    margin-left: -10px;
    margin-bottom: -60px;
    background-color: #000000;
}
dl.inner:last-child:after{ display:none; }
dl.inner:last-child{ margin:0 auto 0px;}
/*@media only screen and (max-width: 1024px){ .tabcontent dl.inner{ font-size:18px; line-height:1.8; }}
@media only screen and (max-width: 600px){ .tabcontent dl.inner dd{ font-size:14px; line-height:1.6; letter-spacing:0.1em;}}*/
dl.inner dt{ font-size:30px; margin-bottom:20px; font-weight:600;}
@media only screen and (max-width: 1024px){ dl.inner dt{ font-size:24px;}}
@media only screen and (max-width: 600px){ dl.inner dt{ font-size:20px;}}
dl.inner dt span{ font-size:24px;}
@media only screen and (max-width: 600px){ dl.inner dt span{ font-size:18px;}}
/*.tabcontent .logo{ width:400px;}
@media only screen and (max-width: 600px){
.tabcontent .logo{ width:240px;}
}*/
.side-logo {
    position: fixed;
    right: 40px;
    top: 40px;
    z-index: 20;
}
.side-logo img{ width:100px;}
@media only screen and (max-width: 600px){
.side-logo {
    right: 20px;
    top: 20px;
}
}
@media only screen and (max-width: 600px){
	.side-logo img{ width:60px;}
}

/*
.tabcontent .inlineframe {
    position: relative;
    width: 600px;
    height: 600px;
    overflow-y: scroll;
    overflow-x: hidden;
}
@media only screen and (max-width: 600px){
.tabcontent .inlineframe {
    padding-right: 6%;
    width: 100%;
    height: 360px;
}
}
@media only screen and (max-width: 480px){
.tabcontent .inlineframe {
    height: 250px;
}
}

.scroll_bar{
   scrollbar-width: thin;
   scrollbar-color: #17585d #fff;
   -moz-border-radius:16px;
   -webkit-border-radius:16px;
	border-radius: 16px;
	display:none;

}

::-webkit-scrollbar{
   display:none;
}
@media only screen and (max-width: 600px){
	::-webkit-scrollbar{
   display:none;
}}
::-webkit-scrollbar-track{
	background:none;
    border-radius: 16px;
   -moz-border-radius:16px;
   -webkit-border-radius:16px;
}
::-webkit-scrollbar-thumb{
	background-color: #ccc;
	border-radius: 16px;
   -moz-border-radius:16px; 
   -webkit-border-radius:16px;
}*/

.box{
    display: table;
    width: 100%;
    height: 100vh;
    z-index: 20;
    position: relative;
}
@media only screen and (max-width: 600px){
	.box {
   /* display: flex;
    width: 100%;
    height: 100vh;
    z-index: 20;
    position: relative;
    justify-content: center;
    align-items: center;*/
	}
}
.box-inner {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.contents{
	width: 900px;
	height: 900px;
	background-color: #fff;
	-webkit-mask-image: url(../img/howa1.svg);
    mask-image: url(../img/howa1.svg);
	margin: 0 auto;
	overflow-y: scroll;
    overflow-x: hidden;
	-webkit-mask-repeat: no-repeat;
	scrollbar-width: none;
	mask-size: cover;
} 
@media only screen and (max-width: 1366px){
.contents{ width: 650px; height: 650px;
	position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;}
}
@media only screen and (max-width: 1024px){
.contents{ width: 800px; height: 800px;
	position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;}
}
@media only screen and (max-width: 600px){
.contents{ width: 500px; height: 500px;
	position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;}
}
.contents::-webkit-scrollbar{
  display: none;
}


.contents-inner{ transform:none;}

#about {
    /*display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    flex-direction: column;*/
}
#about dl.inner:nth-of-type(1){ padding:140px 0 0 0;}
@media only screen and (max-width: 600px){ #about dl.inner:nth-of-type(1){ padding:100px 0 0 0;}}
#about dl.inner dd.person{ display: inline-block; width:170px; margin-bottom:20px; }
@media only screen and (max-width: 600px){ #about dl.inner dd.person{ width:140px;}}


#open {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}

#menu {
    /*display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;*/
	margin-bottom: 100px;
}
#menu dl.inner:nth-of-type(1){ padding:140px 0 0 0;}
@media only screen and (max-width: 600px){ #menu dl.inner:nth-of-type(1){ padding:100px 0 0 0;} }

#first {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}
#first dl.inner dd.btn{ width:50px; display:inline-block; margin-top:20px; }

.box-bottom{
    display: flex;
	width:100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
	}

#access {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width: 600px){ #access{ height:auto;} }
@media only screen and (max-width: 600px){ #access dl.inner:nth-of-type(1){ padding:60px 0 0 0; }}

#access dl.inner dd.ic{ width:50px; margin-bottom:25px; display:inline-block;}
@media only screen and (max-width: 600px){
	#access dl.inner dd.ic{ width:25px; }
}

#sns {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}
#sns dl.inner dd.ic{ width:50px; margin-bottom:25px; display:inline-block;}
@media only screen and (max-width: 600px){
	#sns dl.inner dd.ic{ width:25px; }
}

#foot {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}
#foot dl.inner dd.img{ width:250px; margin-bottom:25px; display:inline-block;}
@media only screen and (max-width: 600px){ #foot dl.inner dd.img{ width:160px;}}
#foot dl.inner dd.copyright{ font-size:15px; letter-spacing:0.1em;}
@media only screen and (max-width: 600px){
	#foot dl.inner dd.copyright{ font-size:13px; }
}

/*-----グーグルマップ-----*/

.googlemaps{ width:100%;}
.googlemaps iframe{ width:100%; height:300px;}
@media only screen and (max-width: 600px){
	.googlemaps iframe{ height:200px;}
}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all  0.7s ease;
}

.googlemaps iframe:hover,
.googlemaps object:hover,
.googlemaps embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}

/*-----スライダー-----*/


/* スライダー全体 */
.slider{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: relative;
  /*background-image:url(img/photo1.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;*/
}
.slider:after{
    background-image: url(../img/logo.png);
    position: absolute;
    display: inline-block;
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 115px;
    z-index: 10;
	}
@media only screen and (max-width: 600px){
.slider:after{
	width: 200px;
    height: 77px;
	}
}
/* スライダー画像 */
.slider .image{
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* ①スライド画像 表示する画像を定義*/
.slider .image:nth-of-type(1){ background-image:url(../img/photo1.jpg); background-image:}
.slider .image:nth-of-type(2){ animation-delay: 5s; background-image:url(../img/photo2.jpg);}
.slider .image:nth-of-type(3){ animation-delay: 15s; background-image:url(../img/photo3.jpg);}
.slider .image:nth-of-type(4){ animation-delay: 25s; background-image:url(../img/photo4.jpg);}
.slider .image:nth-of-type(5){ animation-delay: 35s; background-image:url(../img/photo5.jpg);}

/* ②アニメーション設定 animation-durationのみ変更 */
.slider .image{
  animation-name: anime;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-duration: 10s;  /* ①で設定したanimation-delayを合計を挿入 */
}

/* アニメーション定義 */
@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.25);
  }
}

.bg_fixed{
    min-height: 100%;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 10;
}
.vegas-container:after{
    background-image: url(../img/logo.png);
    position: absolute;
    display: inline-block;
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: 115px;
    z-index: 10;
	}
	
@media only screen and (max-width: 600px){
	.vegas-container:after{
    width: 200px;
    height: 77px;
	}
}


