@charset 'UTF-8';

/* #topimg
--------------------------------------------------*/
#topimg{
  width:100%;
  height: 100vh;
  min-height: 500px;
  overflow:hidden;
  margin:0 auto;
  position: relative;
}

@media screen and (max-width: 1450px) {
.topimg {
  height: 90vh;
  min-height: 400px;
}
}

@media screen and (max-width: 1280px) {
.topimg {
  height: 80vh;
}
}

@media screen and (max-width: 1000px) {
.topimg {
  min-height: initial;
  height: 450px;
}
}

@media screen and (max-width: 600px) {
.topimg {
  height: 300px;
}
}

@media screen and (max-width: 400px) {
.topimg {
  height: 250px;
}
}

.topimg #block {
  width:100%;
  height: 100%;
  position: relative;
  background-image: url(../images/bg_topimg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}


.bx-wrapper {
  height: 100%;
  width: 100%;
  min-height: 500px;
  margin: 0px auto;
  position: relative;
  z-index:0;
  overflow:hidden;
}


@media screen and (max-width: 1450px) {
.bx-wrapper {
  height: 90vh;
  min-height: 400px;
}
}

@media screen and (max-width: 1280px) {
.bx-wrapper {
  height: 80vh;
}
}

@media screen and (max-width: 1000px) {
.bx-wrapper {
  min-height: initial;
  height: 450px;
}
}

@media screen and (max-width: 600px) {
.bx-wrapper {
  height: 300px;
}
}

@media screen and (max-width: 400px) {
.bx-wrapper {
  height: 250px;
}
}

.bx-wrapper #dot {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(000, 000, 000, 1), rgba(000, 000, 000, 0));
  opacity: 0.7;
}

.bx-wrapper #dot2 {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(000, 000, 000, 1), rgba(000, 000, 000, 0));
  opacity: 0.2;
}

#slider01 li{
  position: relative;
  height: 100vh;
}

@media screen and (max-width: 1450px) {
#slider01 li{
  height: 90vh;
}
}

@media screen and (max-width: 1280px) {
#slider01 li{
  height: 80vh;
}
}

@media screen and (max-width: 1000px) {
#slider01 li{
  height: 450px;
}
}

@media screen and (max-width: 600px) {
#slider01 li{
  height: 300px;
}
}

@media screen and (max-width: 400px) {
#slider01 li{
  height: 250px;
}
}

#slider01 li #video_sd {
  width: 100%;
  height: 100%;
  position: relative;
}

.video_row {
  width: 100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0%;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

#vdo {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1580px) {
#vdo {
  width: 120%;
  margin:0 0 0 -10%;
}
}

@media screen and (max-width: 1450px) {
#vdo {
  width: 140%;
  margin:0 0 0 -20%;
}
}

@media screen and (max-width: 768px) {
#vdo {
  width: 180%;
  margin:0 0 0 -40%;
}
}

@media screen and (max-width: 400px) {
#vdo {
  width: 140%;
  margin:0 0 0 -20%;
}
}

.bx-wrapper img {
  width: 100%;
  height:auto;
  display: block;
  position: relative;
  z-index:0;
}

@media screen and (max-width: 810px) {
.bx-wrapper img {
  width: 140%;
  margin:0 0 0 -20%;
  height:auto;
}
}

#sl_row {
  width: 50%;
  height:auto;
  position: absolute;
  top: 0;
  left: 25%;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 810px) {
#sl_row {
  width: 100%;
  left: 0;
  padding:0 10%;
  box-sizing: border-box;
}
}

#top_row {
  width: 100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding:30px;
}

@media screen and (max-width: 568px) {
#top_row {
  padding:20px 30px 0;
}
}

.top-logo {
  height:476px;
  width:144px;
  margin:0 auto;
  background-image: url(../images/slide01-tx.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  animation: fadeIn 7s forwards;
}

@media screen and (max-width: 1280px) {
.top-logo {
  height:350px;
  width:106px;
}
}

@media screen and (max-width: 810px) {
.top-logo {
  height:280px;
  width:85px;
}
}

@media screen and (max-width: 600px) {
.top-logo {
  height:250px;
  width:76px;
}
}

@media screen and (max-width: 400px) {
.top-logo {
  height:180px;
  width:54px;
}
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.top-logo img {
  width: 100%;
  height: auto;
}

.scroll {
 font-family: Alata,sans-serif;
 font-size:0.9em;
 letter-spacing:.05em;
 text-transform: uppercase;
}

.sld-text {
  color: #fff;
  position: relative;
  z-index: 1;
  width:100%;
  margin:0;
  padding-top:5%;
}

.sld-text .stx01{
  letter-spacing:.3em;
  font-weight:500;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size:1.6em;
  margin-bottom:15px;
  line-height:1.6;
  text-shadow:1px 1px 1px #000;
}

@media screen and (max-width: 810px) {
.sld-text .stx01{
  margin-bottom:10px;
  line-height:1.5;
  letter-spacing:.2em;
}
}

@media screen and (max-width: 568px) {
.sld-text .stx01{
  font-size:1.2em;
  line-height:1.4;
  margin-bottom:5px;
  letter-spacing:.15em;
}
}

.sld-text .stx02{
  margin-bottom:10px;
  letter-spacing:.05em;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight:400;
  line-height:2;
  text-shadow:1px 1px 1px #000;
}

@media screen and (max-width: 568px) {
.sld-text .stx02{
  font-size:14px;
  display:none;
}
}

.stx-buttons{
  margin-top:15px;
  font-family: Roboto,sans-serif;
  letter-spacing:0.2em;
  text-transform: uppercase;
  font-size:12px;
  font-weight:400;
  line-height:1;
  display:inline-block;
}

@media screen and (max-width: 810px) {
.stx-buttons{
  text-align: center;
}
}

.stx-button{border:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.stx-button.c-button--ghost{display:block;padding:15px 50px;border:1px solid #fff;color:#fff;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition-duration:0.2s;-o-transition-duration:0.2s;-webkit-transition-duration:0.2s;transition-duration:0.2s}
.stx-buttons a{text-decoration:none;}
.stx-buttons a:hover{text-decoration:none;display:inline-table;background-color:#fff;color:#222;text-shadow:0 0 0 #FFF;}

@media screen and (max-width: 568px) {
.stx-button.c-button--ghost{
  padding:10px 40px;
}
}

/*THEME */

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(../images/bx_loader.gif) center center no-repeat #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .9em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  z-index:50;
  position: absolute;
  bottom: 3%;
}

@media screen and (max-width: 568px) {
.bx-wrapper .bx-pager {
  display:none;
}
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  text-indent: -9999px;
  display: block;
  width: 5px;
  height: 5px;
  margin: 0 8px;
  outline: 0;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  border:0.2em solid #FFF;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #FFF;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
  width:30px;
  height:30px;
  left: 20px;
  background: url(../images/top/arrowL_off.webp) no-repeat;
  background-size:cover;
}

.bx-wrapper .bx-next {
  width:30px;
  height:30px;
  right: 20px;
  background: url(../images/top/arrowR_off.webp) no-repeat;
  background-size:cover;
}

.bx-wrapper .bx-prev:hover {
  opacity: 0.7;
}

.bx-wrapper .bx-next:hover {
  opacity: 0.7;
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms;
}


@media only screen and (max-width: 568px)  {
.bx-wrapper .bx-prev {
  left: 10px;
}
.bx-wrapper .bx-next {
  right: 10px;
}
}

.bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  outline: 0;
  width:30px;
  height:30px;
  text-indent: -9999px;
  z-index: 9999;
}

.bx-controls-direction a:hover {
  width:30px;
  height:30px;
  text-indent: -9999px;
  z-index: 9999;
}

/* site_info
--------------------------------------------------*/
.site_info{
 width:100%;
 padding:4% 0;
 position:relative;
 background :#FFF;
 margin:0;
}

@media screen and (max-width: 568px) {
.site_info{
  padding:5% 0 0;
}
}

#bg_info{
  width: 15%;
  max-width:324px;
  position: absolute;
  left: 0;
  top: 0%;
  z-index:0;
}

@media screen and (max-width: 568px) {
#bg_info{
  width: 18%;
}
}

#bg_info img {
  width:100%;
  height:auto;
}

.infoL{
  width:50%;
  padding-right:5%;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
}

@media screen and (max-width: 1000px) {
.infoL{
  width:100%;
  padding:0 5%;
  display: block;
}
}

.infoL h2{
  font-size:2em;
  font-family: 'Noto Serif JP', serif;
  font-weight:400;
  letter-spacing:0.2em;
  color:#000;
  line-height:1.6;
  margin-bottom:2%;
}

@media screen and (max-width: 1000px) {
.infoL h2{
  text-align: center;
}
}

@media screen and (max-width: 568px) {
.infoL h2{
  font-size:1.5em;
}
}

.infoL h2 span{
  font-size:0.8em;
  letter-spacing:0.1em;
}


.infoL .catch{
  line-height:2;
  padding:1%;
  color:#595959;
  letter-spacing:0.05em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-size:1.1em;
  font-weight:400;
}

@media screen and (max-width: 568px) {
.infoL .catch{
  font-size:1em;
  line-height:1.8;
}
}

.info_ph{
  width:50%;
  display: inline-block;
  vertical-align:middle;
}

@media screen and (max-width: 1000px) {
.info_ph{
  width:100%;
  padding:3% 0;
  display: block;
}
}

@media screen and (max-width: 568px) {
.info_ph{
  padding:5% 0 0;
}
}

.info_ph img{
  width:100%;
  height:auto;
}

/* .sub-info
-------------------------------------------------- */
.sub-info{
  width:100%;
  padding:4% 0 4.5%;
  background :#F2F2F2;

}

@media screen and (max-width: 568px) {
.sub-info{
  padding:5% 0 5%;
}
}

.memory{
  width:100%;
  padding:0 5%;
  text-align: center;
  box-sizing: border-box;
}

.m_ttl{
  font-size:2em;
  font-family: 'Noto Serif JP', serif;
  font-weight:400;
  letter-spacing:0.1em;
  color:#000;
  line-height:1.6;
  margin-bottom:1.5%;
}

@media screen and (max-width: 568px) {
.m_ttl{
  font-size:1.5em;
}
}

.m_txt{
  line-height:2;
  color:#595959;
  letter-spacing:0.05em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-size:1.1em;
  font-weight:400;
}

@media screen and (max-width: 568px) {
.m_txt{
  font-size:1em;
  line-height:1.8;
  text-align: left;
}
}

/* .tour_slider
-------------------------------------------------- */
.tour_slider{margin:2% 0 0;width:100%;position: relative;}
.tour_slider:after,.buttons::after{clear:both;content:"";display:table;}


@media screen and (max-width: 568px) {
.tour_slider{
  margin:5% 0 3%;
}
}

.tour_slider .sl {
  padding:0 3px;
  margin:0;
}

.tour_slider .item {
  width: 100%;
}

.tour_slider .item img{
  width:100%;
  height:auto;
}

.tour_slider .slider {
  margin:0;
}

.up_wave {
    background-image: url(../images/up_wavet.png);
    top: 0;
    right: 0%;
    width: 100%;
    height: 35px;
    background-repeat: repeat-x;
    background-size: 100% auto;
    background-position: center bottom;
    position: absolute;
    z-index: 1;
}

@media screen and (max-width: 1350px) {
.up_wave {
    height: 25px;
}
}

@media screen and (max-width: 810px) {
.up_wave {
  height: 15px;
}
}

@media screen and (max-width: 568px) {
.up_wave {
  height: 8px;
}
}

.bt_wave {
    background-image: url(../images/bt_wavet.png);
    bottom: -1px;
    left: 0%;
    width: 100%;
    height: 35px;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center top;
    position: absolute;
    z-index: 2;
}

@media screen and (max-width: 1350px) {
.bt_wave {
    height: 25px;
}
}

@media screen and (max-width: 800px) {
.bt_wave {
  height: 15px;
}
}

@media screen and (max-width: 568px) {
.bt_wave {
  height: 8px;
}
}

/* .btn-box
-------------------------------------------------- */
.btn-box{
  width:100%;
  padding:3% 0 0;
  text-align: center;
}

.btn-box li{
  width:225px;
  display: inline-block;
  vertical-align:middle;
  margin:0 10px;
  letter-spacing:0.05em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-size:1.1em;
}

@media screen and (max-width: 568px) {
.btn-box li{
  width:210px;
  font-size:1em;
  margin:5px 0;
}
}

.btn-box .fa{
  margin-right:5px;
}

.clas-button{border:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.clas-button.c-button--ghost{display:block;padding:10px 0px;border:1px solid #192B4F;color:#FFF;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition-duration:0.2s;-o-transition-duration:0.2s;-webkit-transition-duration:0.2s;transition-duration:0.2s}
.clas-button.c-button--ghost:hover{border:1px solid #192B4F;}
.clas-buttons a{text-decoration:none;background-color:#192B4F;}
.clas-buttons a:hover{text-decoration:none;display:block;background-color:#FFF;color:#192B4F;}


/* .food-info
-------------------------------------------------- */
.food-info{
  padding:1% 0;
  width:100%;
  background-image: url(../images/bg_food.jpg);
  background-position: top 15% center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: block;
  height: 75vh;
  min-height: 550px;
}

@media screen and (max-width: 568px) {
.food-info{
  height: 60vh;
  min-height: 400px;
  background-position: top 5% center;
}
}

.food-ttl{
  width:15%;
  max-width:385px;
  margin:0 auto;
  position: absolute;
  top:3%;
  left:50%;
  z-index:2;
  margin-left:-32%;
}

@media screen and (max-width: 1580px) {
.food-ttl{
  width:18%;
}
}

@media screen and (max-width: 1000px) {
.food-ttl{
  width:25%;
  margin-left:-12%;
}
}

@media screen and (max-width: 810px) {
.food-ttl{
  width:40%;
  margin-left:-20%;
}
}

.food-ttl img{
  width:100%;
  height:auto;
}

#food_row {
  width: 100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../images/raster.png);
  box-sizing: border-box;
  padding:5% 2% 0;
  z-index:1;
}

@media screen and (max-width: 568px) {
#food_row {
  padding:20% 30px 0;
}
}

#food_row p{
  font-size:1.2em;
  line-height:2;
  color:#FFF;
  text-align: center;
  font-weight:normal;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight:500;
  text-shadow:2px 2px 2px #000;
}

@media screen and (max-width: 568px) {
#food_row p{
  font-size:1.1em;
}
}

.food-btn{
  width:100%;
  padding:3% 0 0;
  text-align: center;
}

.food-btn li{
  width:235px;
  display: inline-block;
  vertical-align:middle;
  margin:0 10px;
  letter-spacing:0.05em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-size:1.1em;
}

@media screen and (max-width: 568px) {
food-btn li{
  width:210px;
  font-size:1em;
}
}

.food-btn .fa{
  margin-right:5px;
}

.food-button{border:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.food-button.c-button--ghost{display:block;padding:10px 0px;color:#192B4F;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition-duration:0.2s;-o-transition-duration:0.2s;-webkit-transition-duration:0.2s;transition-duration:0.2s}
.food-button.c-button--ghost:hover{}
.food-buttons a{text-decoration:none;background-color:#FFF;}
.food-buttons a:hover{text-decoration:none;display:block;background-color:#192B4F;color:#FFF;}

/* .topics
================================================== */
.topics{
  width: 100%;
  margin:0 auto 0;
  padding:4% 0 2%;
  box-sizing: border-box;
}

/* insta
--------------------------------------- */
.insta {
  text-align: center;
  width:55%;
  display:inline-block;
  vertical-align:top;
  box-sizing: border-box;
  padding:0 5% 0 0;
}

@media screen and (max-width:810px) {
.insta {
  width: 100%;
  padding:0 5%;
  display:block;
}
}

@media screen and (max-width:568px) {
.insta {
  padding:3% 0 0;
}
}

.insta .insta_top{
  padding:0;
}

.insta .insta_top img{
  width:100%;
  max-width:120px;
  height:auto;
  margin:0 auto 25px;
}

@media screen and (max-width: 568px) {
.insta .insta_top img{
  margin:5px auto 15px;
}
}


.insta_bt{
  margin:25px auto 0;
  font-size:14px;
}

@media screen and (max-width:810px) {
.insta_bt{
  margin:15px auto;
}
}

.insta_bt a{color:#FFF;text-decoration:none;background-color:#666;padding:10px 20px;}
.insta_bt a:hover{color:#FFF;text-decoration:none;background-color:#333;}

.pager{font-size:13px;padding:0;list-style:none;text-align:center;margin:4% auto;}
.pager:before,.pager:after{display:table;content:"";}
.pager:after{clear:both;}
.pager li{display:inline;}
.pager a{color:#192B4F;display:inline-block;padding:10px 25px 7px;background-color:#fff;border:1px solid #192B4F;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}
.pager a:hover{text-decoration:none;background-color:#192B4F;color:#FFF;border:1px solid #192B4F;}
.pager .disabled a,.pager .disabled a:hover{color:#999999;background-color:#fff;cursor:default;color:#333;}
.pager .fa{margin-right:5px;}

/* topicsR
--------------------------------------- */
.topicsR{
  width:45%;
  display:inline-block;
  vertical-align:top;
  box-sizing: border-box;
  padding:0 0 0 3%;
}

@media screen and (max-width:810px) {
.topicsR{
  width: 100%;
  padding:0 5%;
  display:block;
  clear:both;
  margin-top:30px;
}
}

@media screen and (max-width:568px) {
.topicsR{
 padding:0 2% 3%;
}
}

.topicsR .news_box{
    width: 100%;
    margin:0 auto 3%;
}

@media screen and (max-width:568px) {
.topicsR .news_box{
  padding:0 5%;
  box-sizing: border-box;
}
}

.news_box .news_ttl{
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  margin-bottom:20px;
  text-align: center;
}

.news_box .news_ttl span{
  font-size:1.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight:400;
  letter-spacing:0.1em;
  margin-right:10px;
}

.topicsR .news_box dl {
  width:100%;
  padding:8px 5px 8px;
  box-sizing: border-box;
  border-bottom: dotted 1px #ccc;
  margin-bottom:5px;
}

@media screen and (max-width:568px) {
.topicsR .news_box dl {
  padding:3px 0px;
}
}

.topicsR .news_box dt {
  padding:0 2px 2px;
  font-size:12px;
  vertical-align:bottom;
}

.topicsR .news_box dt p{
  display:inline-block;
}

.topicsR .news_box .days{
  font-size:14px;
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  padding-top:2px;
  line-height:1.2;
}

.topicsR .news_box dt .new{
  animation: newAnime 1s infinite alternate;
}

@keyframes newAnime{
   0% { background-color:#192B4F; }
 100% { background-color:#B40808; }
}

.topicsR .news_box dt .new{
  margin: 0 0 5px 10px;
  display:inline-block;
  padding: 4px 5px 2px;
  color:#FFF;
  -webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;
  line-height:1.1;
  font-size:0.9em;
}

.topicsR .news_box dd {
  padding:1px 2px;
  font-size:14px;
  line-height:1.4;
}

.topicsR .news_box dd a {
  color: #192B4F;
  text-decoration: underline;
}

.topicsR .news_box dd a:hover {
  color: #192B4F;
  text-decoration: none;
}

.topicsR .nsttl{
  line-height:1.6;
  letter-spacing:0.02em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-size:1.2em;
}

.topicsR .nstx{
  margin:10px 0 5px;
  font-size:13px;
  line-height:1.6;
  color:#595959;
}

.kinsi_box{
  margin:5% auto 0;
  width:100%;
  text-align:center;
}

.kinsi_box .kinsi_ttl{
  line-height:1.6;
  letter-spacing:0.02em;
  font-family: 'Zen Kaku Gothic New', serif;
  font-weight:500;
  font-size:1.2em;
  color:#C21F24;
  margin:1% 0;
}

@media screen and (max-width:568px) {
.kinsi_box .kinsi_ttl{
  font-size:1.05em;
}
}

.kinsi_box li{
  box-sizing:border-box;
  padding:2%;
  width:33%;
  vertical-align:top;
  display:inline-block;
  text-align:center;
  font-family: 'Zen Kaku Gothic New', serif;
  font-weight:400;
  line-height:1.4;
}

@media screen and (max-width:568px) {
.kinsi_box li{
  box-sizing:border-box;
  padding:2% 0.5%;
  font-size:0.95em;
}
}

.kinsi_box li img{
  margin:0 auto 5px;
  width:90%;
  max-width:100px;
  height:auto;
}
