/* --------------------------
 * loading
-------------------------- */
#loading {opacity: 1;position: fixed;top: 0;left: 0;width: 100%; height: 100%;display: block;z-index: 9999999999;overflow: hidden;background-color: #fff;}
#loading .progress {z-index: 9;width: 100px;height:100px;line-height: 100px;text-align: center;display: block;position:absolute;top:0;left:0;width: 100%;top: 50%;margin-top: -75px;font-size: 3.6rem;transition:all 0.5s ease;color: #ccc;}
#loading .progress.current {opacity: 0;transition:all 0.5s ease;}
#loading .logo {opacity: 0;position: absolute; top: 0;left: 0;right: 0;bottom: 0;margin: auto;z-index: 99999999999;text-align: center;width: 200px;height: 100px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#loading .logo.current {opacity: 1;transition: all 1s ease;-webkit-transition:all 1s ease;}
#loading .tsubame {position: absolute;left: 50%;margin-left: -25px;top: 38%;opacity: 0;width: 50px;transform: translate(-50px,25px);z-index: 99999999999;transition: all .3s ease;-webkit-transition:all .3s ease;}
#loading .tsubame img {width: 100%;height: auto;}
#loading .tsubame.current {opacity: 1;transform: translate(0px,0px);transition:all 0.5s 0.25s ease;}
#loading.active {opacity: 0;transition: all 1s ease;-webkit-transition:all 1s ease;}
#loading.none {display: none;}
@media screen and (max-width: 767px) {
    #loading .tsubame {top: 35%;}

}


/* --------------------------
 * article
-------------------------- */
.article {width: 100%;position: relative;margin:100px 0 0;}
@media screen and (max-width: 1023px) {
    .article {margin:75px 0 0;}
}
@media screen and (max-width: 767px) {
    .article {margin: 50px 0 0px;}
}

.trigger {opacity: 0;}
.trigger.active {-webkit-animation: btmin 0.5s forwards;animation: btmin 0.5s forwards;}

/* --------------------------
 * title
-------------------------- */
.title {width: 300px;}
.title img {opacity: 0;width: 50px;margin-bottom: 35px;opacity: 0;transition:all 0.7s 0.5s ease;transform: translate(-50px,25px);}
.title h1 {margin-bottom: 50px;}
.title h1 .en {color:#000;font-weight: 400;font-size: 3rem;margin-bottom: 25px;letter-spacing: 5px;font-family: 'Prata', serif;}
.title h1 .ja {font-size: 1.4rem;font-weight: bold;letter-spacing: 4px;}
.title.center {text-align: center;margin: 0 auto;width: 400px;}
.title.center h2 {text-align: left;}
.title.wh {color: #fff;}
.title.wh .en {color: #fff;}
.title.active img {opacity: 1;transform: translate(0px,0px);}
@media screen and (max-width: 1023px) {
    .title h1 {margin-bottom: 35px;}
    .title h1 .en {font-size: 2.4rem;margin-bottom: 20px;letter-spacing: 6px;}
    .title h1 .ja {font-size: 1.3rem;letter-spacing: 2px;}
    .title h2 {margin-bottom: 25px;font-size: 1.3rem;}
    .title.center {text-align: center;margin: 0 auto 50px;width: 350px;}
}
@media screen and (max-width: 767px) {
    .title img {width: 40px;margin-bottom: 20px;}
    .title h1 {margin-bottom: 20px;}
    .title h1 .en {font-size: 2rem;margin-bottom: 15px;letter-spacing: 6px;}
    .title h1 .ja {font-size: 1.3rem;}
    .title h2 {margin-bottom: 20px;font-size: 1.3rem;letter-spacing: 0px;}
    .title.min h1 .en {font-size: 2.4rem;letter-spacing: 4px;line-height: 1.3em;}
    .title.center {text-align: center;margin: 0 auto 50px;width: 240px;}
}

/* --------------------------
 * swiper-container
-------------------------- */
@-webkit-keyframes zoomUp {0% {-webkit-transform: scale(1);transform: scale(1);} 100% {-webkit-transform: scale(1.15);transform: scale(1.15);}}
@keyframes zoomUp { 0% {-webkit-transform: scale(1);transform: scale(1);} 100% {-webkit-transform: scale(1.15);transform: scale(1.15);}}
.swiper-slide {z-index: 0;overflow: hidden;-webkit-backface-visibility: hidden;backface-visibility: hidden;}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { -webkit-animation: zoomUp 12s linear 0s;animation: zoomUp 12s linear 0s;-webkit-animation-fill-mode: both;animation-fill-mode: both;}
.slide-img {background-size: cover;background-position: center center;height:100vh;}
@media screen and (max-width: 767px) {
    .slide-img {background-position: center bottom;}
}
/* --------------------------
 * mainVisual
-------------------------- */
#mainVisual {z-index: 0;display: block; position:relative;width: 100%;height: 100vh;padding: 100px 15px 15px;}
#mainVisual .mv-inner {overflow: hidden;display: block;position:relative;width: 100%;height: 100%;background-position: center;background-repeat: no-repeat;background-size: cover;}
#mainVisual .mv-inner::before{z-index: 3;content: '';position: absolute; top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,0.5);}
#mainVisual h1 {z-index: 9;position: absolute;top: 0;right: 0;left:0;bottom:0;color: #fff;width: 100px;height: 464px;margin: auto;padding-top: 60px;}
#mainVisual .scrl {background-color:#000;height: 120px;width:120px;z-index:999;display: block;position: absolute; bottom:0px;right:50%;margin-right: -60px;}
#mainVisual .scrl a {width: 120px;height:120px;display: block;position: relative;color: #fff;}
#mainVisual .scrl a > p {z-index:19;font-size: 1rem;position:absolute;text-align: center;top: 30px;left:0px;width: 100%;line-height: 1em;letter-spacing: 3px;font-weight: 300;}
#mainVisual .scrl a > .inner {height: 60px;position: absolute;bottom: 0;left: 0;width: 100%; display: block;background-color:transparent;overflow: hidden;}
#mainVisual .scrl a > .inner .scrl {height: 100%;background-color:#FFF;position: absolute; top:0px; left: 50%;margin-left: -0.5px;width: 1px; z-index: 100;-webkit-animation: scrl 2s infinite;animation: scrl 2s infinite;}
@media screen and (max-width: 1023px) {
    #mainVisual {z-index: -9;display: block; position:relative;width: 100%;height:calc(100vh - 55px);padding: 80px 15px 15px;}
    #mainVisual h1 {z-index: 9;position: absolute;top: 0;right: 0;left:0;bottom:0;color: #fff;width: 75px;height:303px;margin: auto;padding-top: 50px;}
    #mainVisual .scrl {height: 100px;width:100px;margin-right: -50px;}
    #mainVisual .scrl a {width: 100px;height:100px;}
    #mainVisual .scrl a > p {transform: scale(0.75);top: 20px;}
    #mainVisual .scrl a > .inner {height: 45px;position: absolute;bottom: 0;left: 0;width: 100%; display: block;background-color:transparent;overflow: hidden;}
}
@media screen and (max-width: 767px) {
    #mainVisual {padding: 60px 10px 10px;height:calc(100vh - 50px);}
    #mainVisual h1 {z-index: 9;position: absolute;top: 0;right: 0;left:0;bottom:0;color: #fff;width: 60px;height:250px;margin: auto;padding-top: 0px;}

    #mainVisual .scrl {width:80px;height: 100px;margin-right: -40px;}
    #mainVisual .scrl a {width: 80px;height:100px;}
    #mainVisual .scrl a > p {transform: scale(0.75);top: 15px;}
    #mainVisual .scrl a > .inner {height: 60px;position: absolute;bottom: 0;left: 0;width: 100%; display: block;background-color:transparent;overflow: hidden;}
}
@media screen and (max-width: 360px) {
    #mainVisual h1 {z-index: 9;position: absolute;top: 0;right: 0;left:0;bottom:0;color: #fff;width: 50px;height:250px;margin: auto;}

}

#news {}
#news .container-sm {background-color: #f9f9f9;padding: 50px;}
#news .container-sm .new {font-size: 1.2rem;position: absolute;top: -15px;left: 50px;background-color: red;color: #fff;height: 30px;width: auto;padding: 0 20px;line-height: 30px;letter-spacing: 2px;text-align: center;}
#news h1 {text-align: center;font-size: 1.3rem;font-weight: bold;position: absolute; top: -10px;left: 0px;width: 100%;}
#news h1 span {font-size: 2.1rem;letter-spacing: 4px;display: block;margin-bottom: 10px;}
#news .post {display: block;}
#news .post p.date {border-bottom: 1px solid #eee;padding-bottom: 25px;text-align: center;font-size: 1.2rem;line-height: 1em;margin-bottom: 25px;font-family: 'Lato', serif;font-style: italic;font-weight: 400;letter-spacing: 2px;}
#news .post h2 {font-size: 1.8rem;font-weight: bold;margin-bottom: 15px;}
#news .post h3 {line-height: 1.8em;font-size: 1.4rem;}
@media screen and (max-width: 1023px) {
    #news h1 span {font-size:1.8rem;}
    #news .post p.date {font-size: 1.1rem;}
    #news .post h2 {font-size: 1.6rem;margin-bottom: 15px;}
    #news .post h3 {font-size: 1.3rem;}
    #news .container-sm {background-color: #f9f9f9;padding:40px;}
    #news .container-sm .new {font-size: 1rem;position: absolute;top: -15px;left: 40px;background-color: red;color: #fff;height: 30px;width: auto;padding: 0 10px;line-height: 30px;letter-spacing: 2px;text-align: center;}
}
@media screen and (max-width: 767px) {
    #news h1 span {font-size:1.8rem;}
    #news .post p.date {font-size: 1.1rem;}
    #news .post h2 {font-size: 1.5rem;}
    #news .post h3 {font-size: 1.2rem;line-height: 2em;}
}

#tel {display: none;}
@media screen and (max-width: 767px) {
    #tel {display:block;padding:50px 35px 35px;text-align: center;}
    #tel h1 {line-height: 1em;font-size: 1.4rem;font-weight:bold;color: #000;margin-bottom: 25px;}
    #tel p {font-size: 1rem;line-height: 1.8em;margin-top: 20px;}
    #tel a {font-size: 3rem;color: #000;letter-spacing: 4px;display: block;font-weight: 400;margin-bottom: 25px;}
    #tel a img {width: 25px;margin-right: 20px;position: relative;margin-top: -10px;}
}
@media screen and (max-width:360px) {
    #tel a {font-size:2.4rem;letter-spacing: 3px;}

}

#about {margin-bottom: 150px;}
#about .mainImg {background-color: #000;margin: 0 -100px 75px;overflow: hidden;position: relative;}
#about .swiper-slide {height: 600px;}
#about .swiper-slide figure {position: relative;width: 100%;height: 100%;display: block;background-position: center bottom; background-repeat: no-repeat; background-size: cover;}
#about .swiper-pagination {width: 100%;position: absolute;bottom:30px;left:0px;text-align:center;}
#about .swiper-pagination-bullet {display: inline-block;cursor: pointer;background-color: #333;margin:0 10px;padding: 0;width: 6px;height: 6px;line-height: 6px;opacity: 1;}
#about .swiper-pagination-bullet-active {opacity: 1;background-color:#FFF;}
#about .slider_prev,
#about .slider_next {z-index: 99;position: absolute;top:50%;width: 50px;height: 50px;line-height: 50px; text-align: center;font-size: 2.4rem;color: #fff;margin-top: -25px;}
#about .slider_prev {left: 25px;}
#about .slider_next {right: 25px;}
#about .item:first-child {width: 30%;}
#about .item:last-child {width: 70%;}
#about .item h1 {width: 160px;text-align: right;}
#about .item .desc {}
#about .item .desc h2 {font-weight: bold;font-size: 2.1rem;margin-bottom: 28px;margin-top: 5px;}
#about .item .desc h3 {font-size: 1.4rem;line-height: 2.4em;}
@media screen and (max-width: 1140px) {
    #about .mainImg {background-color: #000;margin: 0 -50px 75px;overflow: hidden;position: relative;}
}
@media screen and (max-width: 1023px) {
    #about {margin-bottom: 100px;}
    #about .mainImg {margin: 0 -50px 75px;}
    #about .swiper-slide {height: 400px;}
    #about .slider_prev,
    #about .slider_next {font-size: 2.1rem;}
    #about .slider_prev {left: 20px;}
    #about .slider_next {right: 20px;}
    #about .item:first-child {width: 30%;}
    #about .item:last-child {width: 70%;}
    #about .item .desc h2 {font-size: 1.6rem;margin-bottom: 20px;margin-top:0px;}
    #about .item .desc h3 {font-size: 1.3rem;line-height: 2.2em;letter-spacing: 0px;}
}
@media screen and (max-width: 767px) {
    #about {margin-bottom: 50px;padding: 0 15px;}
    #about .swiper-slide {height: 320px;}
    #about .item h1 {width:auto;text-align: center;margin-bottom: 50px;}
    #about .item:first-child {width: auto;padding: 0;margin: 0;}
    #about .item:last-child {width: 100%;padding: 0px 10px;}
}

#menu {background-color: #000;color: #fff;display: block;position: relative;padding-bottom: 100px;}
#menu .title {width: 100%;height: 860px;padding:90px 0px;background-image: url(../images/menu/main.jpg);background-position: center bottom; background-size: cover;background-repeat: no-repeat;}
#menu .slider {margin:0 25%;padding-bottom: 100px;}
#menu .swiper-slide {transform: scale(0.8);transition: transform .75s;-webkit-transition:transform .75s ease;}
#menu .swiper-slide figure {opacity: 0.3;}
#menu .swiper-slide figure p {opacity: 0;text-align: center;font-size: 1.4rem;color: #fff;margin-top: 15px;}
#menu .swiper-slide figure p span {margin-left: 20px;}
#menu .swiper-slide.swiper-slide-active {transform: scale(1);}
#menu .swiper-slide.swiper-slide-active figure {opacity: 1;}
#menu .swiper-slide.swiper-slide-active figure p {opacity: 1;}
#menu .slider {position: relative;display: block;}
#menu .slider .swiper-pagination {width: 100%;position: absolute;bottom:40px;left:0px;text-align:center;}
#menu .swiper-pagination-bullet {display: inline-block;cursor: pointer;background-color: #333;margin:0 10px;padding: 0;width: 6px;height: 6px;line-height: 6px;opacity: 1;}
#menu .swiper-pagination-bullet-active {opacity: 1;background-color:#FFF;}
#menu .slider_prev,
#menu .slider_next {z-index: 99;position: absolute;top:calc(50% - 75px);width: 50px;height: 50px;line-height: 50px; text-align: center;font-size: 3rem;color: #fff;margin-top: -25px;}
#menu .slider_prev {left: -150px;}
#menu .slider_next {right: -150px;}
#menu h2 {text-align: center;font-size: 1.4rem;margin-bottom: 30px;letter-spacing:0px;}
#menu h2 span {font-size: 2.1rem;display: block;margin-bottom: 15px;letter-spacing: 4px;}
#menu .menuList {}
#menu .menuList.mB {margin-bottom: 75px;}
#menu .menuList li {display: block;margin-bottom: 10px;position: relative;line-height: 30px;letter-spacing: 0;}
#menu .menuList li::before {z-index: 0;content: '';width: 100%;height:0;border-top: 1px dotted #666;position: absolute; top: 50%;left: 0;}
#menu .menuList li h3 {background-color: #000;display: inline-block;padding-right: 20px;position: relative;font-size: 1.4rem;}
#menu .menuList li h3 > span {color: red;margin-left: 10px;font-size: 1rem;}
#menu .menuList li > span {font-size: 1.4rem;padding-left: 20px;display: block;background-color: #000;position: absolute;top: 0;right: 0;letter-spacing: 1px;}
#menu .note {margin-top: 25px;text-align: center;}
#menu .setmenu {margin-top: 100px;margin-bottom: 50px;}
#menu .setmenu h2 {margin-bottom: 50px;}
#menu .setmenu .col-3 {}
#menu .setmenu .col-3 .item .inner {border: 1px dashed #666;padding: 50px;position: relative;height: 100%;}
#menu .setmenu .col-3 .item .inner p {line-height: 36px;display: block;padding: 0px;background-color: #fff;color: #000;font-weight: bold;width: 160px;text-align: center;border-radius: 18px;-webkit-border-radius: 18px;letter-spacing: 0;position: absolute; top: -18px;left: 50%;margin-left: -80px;}
#menu .setmenu .col-3 .item .inner h3 {text-align: center;font-size: 2.4rem;font-weight: bold;margin-bottom: 35px;}
#menu .setmenu .col-3 .item .inner h3 span {display: block;font-size: 1.0rem;margin-top: 10px;letter-spacing: 2px;font-weight: normal;}
#menu .setmenu .col-3 .item .inner .plus {display: block;width: 50px;height: 50px;line-height: 50px;text-align: center;font-size: 4rem;color: #fff;position: absolute; top: 50%;margin-top: -25px;right: -52px;}
#menu .setmenu .col-2 .item .inner {border: 1px solid #FFF;padding: 50px;position: relative;height: 100%;}
#menu .setmenu .col-2 .item .inner h3 {position: absolute; top: -25px;left: 50%;margin-left: -40px;width: 80px; height: 50px;line-height: 50px;text-align: center;display: block;padding: 0 25px;background-color: #000;font-family: 'Lato', serif;font-style: italic;font-weight: 700;text-align: center;font-size:3.2rem;font-weight: bold;margin-bottom: 35px;}
#menu .setmenu .col-2 .item .inner .price {font-family: 'Lato', serif;font-style: italic;font-weight: 400;text-align: right;font-size: 2.1rem;}
@media screen and (max-width: 1919px) {
    #menu .title {height: 800px;padding:90px 0px;}
}
@media screen and (max-width: 1599px) {
    #menu .title {height: 700px;padding:90px 0px;}
}
@media screen and (max-width: 1023px) {
    #menu .title {height: 500px;padding:70px 0px;}
    #menu .slider {margin:0 20%;padding-bottom: 100px;margin-top: -75px;}
    #menu .slider_prev,
    #menu .slider_next {font-size: 2.4rem;}
    #menu .slider_prev {left: -120px;}
    #menu .slider_next {right: -120px;}
    #menu .setmenu .col-3 .item .inner .plus {display: block;width: 50px;height: 50px;line-height: 50px;text-align: center;font-size: 4rem;color: #fff;position: absolute; top:inherit;margin-top:0px;right: 50%;margin-right: -25px;bottom:-65px;}
}
@media screen and (max-width: 767px) {
    #menu .slider {margin:0;padding-bottom: 75px;margin-top: -50px;}
    #menu .slider_prev {left: -10px;}
    #menu .slider_next {right:-10px;}
    #menu .slider_prev,
    #menu .slider_next {font-size: 1.6rem;}
    #menu .swiper-pagination-bullet {display: inline-block;cursor: pointer;background-color: #333;margin:0 5px;padding: 0;width: 5px;height: 5px;line-height: 5px;opacity: 1;}
    #menu .swiper-pagination-bullet-active {opacity: 1;background-color:#FFF;}
    #menu h2 {text-align: center;font-size: 1.3rem;margin-bottom: 30px;letter-spacing:0px;}
    #menu h2 span {font-size: 1.8rem;display: block;margin-bottom: 15px;letter-spacing: 4px;}
    #menu .setmenu {margin-top: 50px;margin-bottom: 50px;}
    #menu .setmenu h2 {margin-bottom: 25px;}
    #menu .setmenu .col-2 .item {padding: 20px 0;}
    #menu .setmenu .col-2 .item .inner {border: 1px solid #FFF;padding: 50px 30px 40px;position: relative;height: 100%;}
    #menu .setmenu .col-2 .item .inner h3 {margin-left: -25px;width: 50px;padding: 0 0px;font-weight: 700;font-size:2.4rem;}

    #menu .menuList {padding: 0 5px}
    #menu .menuList.mB {margin-bottom: 75px;}
    #menu .menuList li {display: block;margin-bottom: 10px;position: relative;line-height: 30px;letter-spacing: 0;}
    #menu .menuList li::before {z-index: 0;content: '';width: 100%;height:0;border-top: 1px dotted #666;position: absolute; top: 50%;left: 0;}
    #menu .menuList li h3 {padding-right: 10px;font-size: 1.2rem;letter-spacing: 0px;line-height: 1.4em;margin-right: 20px;}
    #menu .menuList li > span {font-size: 1.2rem;padding-left: 10px;letter-spacing: 0px;}
}


#info {margin-bottom: 0;padding-bottom: 0;}
#info .imgArea {position: relative;width: 100%;height: 100%;display: block;background-color: #000;background-image: url(../images/common/info.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;}
@media screen and (max-width: 1023px) {
    #info .item:first-child {padding-bottom: 20px;}
    #info .item:last-child {padding-bottom: 0;margin-bottom: 0;}
    #info .imgArea {width: auto;height: 300px;display: block;margin: 0 -5px 20px;background-image: url(../images/common/info_sp.jpg);}
}

#access {height: 500px;}

#footBtn {display: none;}
@media screen and (max-width: 1023px) {
#footBtn {display: block;position: fixed; bottom:0; left: 0;width: 100%;z-index: 9999;min-width: auto;}
#footBtn ul { margin-left: -1px;}
#footBtn ul li {width:20%;height: auto;float: left;border-left: 1px solid #eee;}
#footBtn ul li a {height: 70px;letter-spacing: 0px;padding: 15px 0px 0;line-height: 1em;font-weight: 400;text-align: center;background-color:#f9f9f9;display: block;font-size: 1rem;color: #000;transition: all .3s ease;-webkit-transition: all .3s ease;}
#footBtn ul li a span {text-align: center;font-weight: 400; font-size: 1rem; margin-bottom: 7px;display: block;transform: scale(0.9);}
#footBtn ul li a img {display: block; width: 22px; height: auto;margin:0px auto 10px;}
#footBtn ul li a:hover { background-color:#eee; text-decoration: none;}
}
