@charset "utf-8";
/* CSS Document */

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* Reset
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
margin: 0;
padding: 0;
}
br {
font-size: 0px;
line-height: 0px;
margin: 0px;
padding: 0px;
height: 0px;
width: 0px;
}
fieldset,img { border: 0 }
address,caption,cite,code,dfn,em,th,var {
font-style: normal;
font-weight: normal;
}
ol,ul { list-style: none }
caption,th { text-align: left }
h1,h2,h3,h4,h5,h6 {
font-size: 100%;
font-weight: normal;
}
q:before,q:after {
content:'';
}
abbr,acronym { border: 0 }
a {
color: #37bc9b;
outline: none;
text-decoration: none;
}
span {
color: #B5D518;
font-size: 16px;
font-weight: bold;
}
.clearfix:before, .clearfix:after {
content: " ";
display: table;
}
.clearfix:after { clear: both }
body {
background: #000;
box-sizing: content-box;
color: #fff;
font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック", "MS P Gothic",Verdana,Arial, Helvetica, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 14px;
line-height: 200%;
letter-spacing: 0.1em;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
.fl { float: left }
.ac { text-align: center }
.bdb { border-bottom: 1px solid #eee }
.mt00 { margin-top: 0!important }
.mt25 { margin-top: 25px!important }
.mt50 { margin-top: 50px!important }
.pb100 { padding-bottom: 100px!important }
.pt05 { padding-top: 5px }
.pt15 { padding-top: 15px }
.pt100 { padding-top: 100px!important }

/* Media
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.container {
margin: 0 auto;
padding: 0 20px;
}
@media (min-width: 1200px) {
.container {
padding: 0;
width: 1170px;
}
}

/* Header
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
header {
box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
box-sizing: border-box;
padding: 10px;
position: absolute;
left: 0;
opacity: 0.9;
top: 0;
width: 100%;
z-index: 12;
}
header .container { padding: 0 }
header .logo {
float: left;
max-height: 50px;
text-align: right;
}
header .logo img { max-height: 50px!important }
@media (min-width: 1200px) {
header {
box-sizing: content-box;
height: 62px;
padding: 8px;
}
header .container { padding: 0 20px }
header .logo {
height: 62px;
max-height: 62px;
text-align: left;
width: auto;
}
header .logo img { max-height: 62px!important }
}
.aco {
float: right;
width: 30px;
}
@media (min-width: 1200px) {
.aco,
.aco a {
display: none;
}
}
.aco a {
position: relative;
display: block;
height: 24px;
-webkit-transition: all .4s;
transition: all .4s;
box-sizing: border-box;
}
.aco span {
position: absolute;
display: inline-block;
left: 0;
width: 100%;
height: 4px;
background-color: #37bc9b;
border-radius: 2px;
-webkit-transition: all .4s;
transition: all .4s;
box-sizing: border-box;
}
.aco span:nth-of-type(1) {
top: 0;
}
.aco span:nth-of-type(2) {
top: 10px;
}
.aco span:nth-of-type(3) {
bottom: 0;
}
.aco span:nth-of-type(2)::after {
position: absolute;
top: 0;
left: 0;
content: '';
width: 100%;
height: 4px;
background-color: #37bc9b;
border-radius: 2px;
-webkit-transition: all .4s;
transition: all .4s;
}
.aco .active span:nth-of-type(2) {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.aco .active span:nth-of-type(2)::after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.aco .active span:nth-of-type(1) {
-webkit-transform: translateY(20px) scale(0);
-ms-transform: translateY(20px) scale(0);
transform: translateY(20px) scale(0);
}
.aco .active span:nth-of-type(3) {
-webkit-transform: translateY(-20px) scale(0);
-ms-transform: translateY(-20px) scale(0);
transform: translateY(-20px) scale(0);
}

/* GlobalNavi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#gNavi {
display: none;
}
#gNavi li {
float: left;
text-align: center;
width: 25%;
}
#gNavi li a {
color: #fff;
font-size: 13px;
}
@media (min-width: 1200px) {
#gNavi {
display: block;
float: right;
padding: 18px 16px;
}
#gNavi li {
float: left;
padding: 0 14px;
text-align: left;
width: auto;
}
}

/* Contents
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.topH3 {
font-size: 150%;
}
#video {
width: 100%;
}
.smokeBg {
padding: 50px 0;
position: relative;
}
.smokeLeft01, .smokeRight01,
.smokeLeft02, .smokeRight02 {
position: absolute;
top: -55px;
z-index: -2;
}
.smokeLeft01, .smokeLeft02 { left: -100px }
.smokeRight01, .smokeRight02 { right: -100px }

.smokeLeft01 img,
.smokeRight01 img { max-height: 555px }
.smokeLeft02 img,
.smokeRight02 img { max-height: 555px }
.kemuriH3 {
color: #333;
font-size: 250%;
line-height: normal;
}
.topText {
color: #333;
line-height: 300%;
margin-top: 25px;
}
.newsBg {
background-color: #fff;
color: #333;
padding: 50px 0;
position: relative;
z-index: -1;
}
.listInstagramWrap {
position: relative;
z-index: 1;
}
.listInstagram li {
float: left;
margin: 0 10px;
width: 270px;
}
.listInstagram li .date {
margin-top: 10px;
}
.listInstagram li a .img {
background-size: cover;
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
height: 270px;
width: 270px;
}
.more {
background-color: #9e00f8;
border: 1px solid #9e00f8;
border-radius: 5em;
display: inline-block;
margin-top: 25px;
}
.more a {
color: #fff;
display: block;
font-size: 150%;
padding: 10px 75px;
}
.more a:hover {
}

/* System
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.systemBg {
background: url(../img/bg_top_mv02.jpg) no-repeat 0% 50%;
background-size: cover;
padding: 50px 0;
}
.systemText00 {
font-size: 200%;
margin-bottom: 15px;
}
.systemText01 {
font-size: 150%;
line-height: normal;
margin-bottom: 15px;
}
.systemText02 {
}
.systemText03 {
border: 7px solid #fff;
display: inline-block;
font-size: 300%;
margin: 25px 0;
padding: 45px 0;
width: 375px;
}
.galleryBg {
background-color: #000;
padding-top: 50px;
}
.galleryWrap {
padding: 50px 0;
}
.galleryWrap li {
float: left;
margin: 5px;
}
.galleryWrap li img {
height: 177px;
object-fit: cover!important;
width: 100%;
}
.swiper-slide {
height: 350px!important;
}
.swiper-container .swiper-slide img {
object-fit: cover!important;
width: 100%;
}
#map {
margin-top: 25px;
height: 300px;
width: 100%;
}
.contactBg {
background: url(../img/bg_top_contact.jpg) no-repeat 0% 50%;
background-size: cover;
padding-top: 50px;
}
@media (max-width: 768px) {
.smokeBg,
.newsBg { overflow: hidden }
.smokeLeft01 {
top: 75px;
left: -250px;
}
.smokeRight01 {
top: 75px;
right: -250px;
}
.smokeLeft02 {
top: 0;
left: -150px;
}
.smokeRight02 {
top: 0;
right: -150px;
}
.listInstagram li,
.listInstagram li a .img {
margin: 0;
width: 100%;
}
.listInstagram li .body {
margin-bottom: 25px;
}
.systemText03 {
font-size: 250%;
padding: 45px;
width: auto!important;
}
.galleryWrap .fl {
float: left;
width: 50%;
}
.galleryWrap .fr {
float: right;
width: 50%;
}
.galleryWrap li img {
height: auto;
}
}
@media (min-width: 1200px) {
.swiper-container {
margin: 0 auto;
width: 1170px!important;
}
.swiper-slide {
height: 500px!important;
}
.listInstagram {
margin: 0 auto;
width: 870px;
}
.galleryWrap li {
width: 175px;
}
.galleryWrap li img {
height: 175px;
object-fit: cover!important;
width: 175px;
}
.mapBg {
margin: 0 auto;
width: 1170px;
}
#map {
height: 450px;
width: 1170px;
}
}
.commonLink {
border: 2px solid #47793f;
border-radius: 0.25em;
display: inline-block;
margin-top: 50px;
}
.commonLink a {
color: #47793f;
display: block;
font-size: 16px;
font-weight: bold;
padding: 12px 30px;
}
.commonLink a:hover {
background-color: #47793f;
color: #fff;
}
.fadein {
opacity : 0;
transform : translate(0, 50px);
transition:all 0.5s;
display:block;
text-align:center;
}
.fadein.scrollin {
opacity : 1;
transform : translate(0, 0);
}

/* Footer
++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
footer {
margin-top: 50px;
padding: 15px 0 50px;
text-align: center;
}
.sns {
margin: 50px auto 0;
width: 225px;
}
.sns li {
float: left;
margin: 0 5px;
}