@charset "UTF-8";


/*ページ中段ボタン
---------------------*/
.part--attention{
	margin:10% 0 0;
}
.part--attention .btn--primary{
  font-size:3rem;
}
@media (max-width: 767px) {
  .part--attention .btn--primary {
    font-size:1.5rem;
  }
}
.part--attention.txtOnly{
  font-size:2.8rem;
}


/*バナー掲載箇所(menu)
---------------------*/
.part--menu .btn--primary{
  font-size:2.2rem;
}
@media (max-width: 767px){
  .part--menu .btn--primary{
    font-size:1.5rem;
    padding: 0.5em 1em;
  }
}
.menuContainer a:hover,
.aboutContainer a:hover{
  opacity:0.7;
}
.menuContainer .btnContainer a:hover{
  opacity:1;
}

/*共通 タイトル
---------------------*/
.sectionTitle {
  font-size: clamp(23px, 2.8vw, 31px);
    font-weight: 700;;
    text-align: center;
}

/*TOPスライダー
---------------------*/
.slide-img {
  max-width: 750px;
  margin: 0 10px;
  outline: none;
}
.slider-behavior {
  display: block;
  width: 100%;
  height: 85px;
  position: relative;
}
.slick-dots {
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
}
.slick-dots li {
  margin: 0 9px;
}
.slick-dots li button:before{
  font-size: 25px;
}
.slick-arrow{
  position: absolute;
    width: 37px;
    margin: auto;
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
}
.prev-arrow {
  left: calc(50% - 350px);
}
.next-arrow {
  right: calc(50% - 350px);
}
.slick-dotted.slick-slider{
  margin-bottom:0;
}
@media (max-width: 767px) {
  .slide-img {
    margin: 0;
  }
  .slider-behavior {
    height: 40px;
  }
  .slick-dots{
    top: 5px;
  }
  .slick-dots li{
    margin: 0 5px;
  }
  .slick-dots li button:before{
    font-size: 20px;
  }
  .slick-arrow{
    width:20px;
    height: 20px;
  }
  .prev-arrow {
    left: 5%;
  }
  .next-arrow {
    right: 5%;
  }
}


/*---------------*/
/*TOP動画エリア
-----------------*/
.part--movie{
margin-bottom:2rem;
position: relative;
}
@media screen and (max-width:768px){
.part--movie{
  margin-bottom:1.5rem;
}
}
.part--movie > .movie_wrapper{
  background-image: url(../img/movie_bg.webp?202409);
  background-size: cover;
  /* max-width: 1280px; */
  margin: auto;
  position: relative;
  background-position: center;
  text-align: center;
  max-height: 72rem;
  overflow-x: hidden;
}
.part--movie > .movie_wrapper > .top_movie{
height: calc(100vh - 100px);
height: calc(100svh - 100px);
max-height: 720px;
max-width: 720px;
width: 100%;
vertical-align: top;
z-index: 1;
position: relative;
}
.part--movie > .movie_wrapper > .mute{
position:absolute;
right:2%;
top:2%;
z-index: 1;
}
@media screen and (max-width:768px){
.part--movie > .movie_wrapper{
  background-image: none;
}
.part--movie > .movie_wrapper > .top_movie{
  /* height: calc(100vh - 60px);
  height: calc(100svh - 60px); */
  height: auto;
  }
.part--movie > .movie_wrapper > .mute{
  width: 5rem;
  }
}

/* japanfair背景 */
.part--movie > .movie_wrapper > .logo,
.part--movie > .movie_wrapper > .pattern1,
.part--movie > .movie_wrapper > .pattern2,
.part--movie > .movie_wrapper > .pattern3{
  display: block;
  position: absolute;
}
.part--movie > .movie_wrapper > .logo {
  top: 42px;
  left: 16%;
  transform: translateX(-50%);
  width: 27.78%;
  width: min(27.78%, 448px);
}
.part--movie > .movie_wrapper > .pattern1 {
  bottom: 40px;
  left: 7%;
  transform: translateX(-50%);
  width: min(31.11%, 591px);
}
.part--movie > .movie_wrapper > .pattern2 {
  top: 135px;
  right: 7%;
  transform: translateX(50%);
  width: min(31.11%, 591px);
}
.part--movie > .movie_wrapper > .pattern3 {
  bottom: 0;
  right: 9%;
  transform: translateX(50%);
  width: min(31.11%, 591px);
}
@media (max-width: 1200px){
  .part--movie > .movie_wrapper > .logo,
  .part--movie > .movie_wrapper > .pattern1,
  .part--movie > .movie_wrapper > .pattern2,
  .part--movie > .movie_wrapper > .pattern3{
    display: none;
  }
}


/*---------------*/
/*TOPメインカルーセル
-----------------*/
.part--mainslide{
  margin-top:2rem;
}
@media screen and (max-width:768px){
  .part--mainslide{
    margin-top:1.5rem;
  }
}
/*---------------*/
/*TOP緊急お知らせエリア
-----------------*/
.part--systemTicker{
  /* margin-top:-2rem; */
  margin-left:auto;
  margin-right:auto;
  max-width: 1310px;
}
.part--systemTicker .systemTicker_title{
  width: 100%;
}
/*---------------*/
/*現在地・都道府県から探す
-----------------*/
.searchshopContainer {
  margin-top:1.5rem;
  flex-wrap: nowrap !important;
}
a.searchshop_item:hover{
  opacity: .7;
} 
.part--search--shop {
  padding-top:1.5rem;
  padding-bottom: 2rem;
}
.searchshop_item{
  color:#AC000C;
  background-color: #fff;
  border:2px solid;
  border-radius: 14px;
  width:163px;
  flex-basis: 163px;
  padding: 1.5rem 1.5rem 1.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-flow: column;
}
.searchshop_item.first{
  margin-right:3.2rem;
}
.search_txt{
  position: relative;
  margin-top:1rem;
  margin-left: -.7rem;
}
.search_txt::after{
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #AC000C;
  position: absolute;
  top: 50%;
  margin-top: -.4rem;
  margin-left:.5rem;
}
@media (max-width: 767px){
  .searchshop_item img{
    max-width:55px;
  }
  .searchshop_item.first{
    margin-right:1.5rem;
  }
  .searchshop_item{
    padding: 1.5rem;
  }
}
@media (min-width: 768px){
  .searchshopContainer {
    margin-top:2rem;
  }
  .part--search--shop {
    padding-top:2.5rem;
    padding-bottom: 3.5rem;
  }
  .searchshop_item{
    max-width:406px;
    flex-basis: 406px;
    flex-flow: wrap;
  }
  .search_txt{
    font-size:2.4rem;
    margin-left: clamp(0.5rem, 25.32vw + -18.37rem, 3rem);
    margin-top:0;
    font-size: clamp(2rem, 5.06vw + -1.87rem, 2.4rem);
  }
  .search_txt::after{
    border-width: 9px 0 9px 13px;
    margin-top: -.9rem;
    margin-left:1rem;
  }
  .first .search_txt{
    margin-left: clamp(3rem, 25.32vw + -16.37rem, 5rem);
  }
}
@media (max-width: 320px){
  .searchshop_item.first {
    margin-right: 1rem;
  }
  .searchshop_item{
    width: 145px;
    flex-basis: 145px;
  }
}

/*---------------*/
/*食べ放題コースメニュー
-----------------*/
.searchcourseContainer{
  align-items: flex-start;
}
.part--search--course{
  padding:4rem 0;
}
.searchcourse_detail{
  position:relative;
  padding:1rem .5rem;
  font-size:1.8rem;
}

.searchcourse_detail:before{/*丸部分 */
  display: block;
    content: "";
    position: absolute;
    left: 100%;
    bottom: 50%;
    transform: translate(-50%, 50%);
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    background: inherit;
}
.searchcourse_detail:after{/*「after要素」で三角 */
  display: block;
  content: "";
  position: absolute;
  left: 101%;
  bottom: 50%;
  transform: translate(-50%, 50%);
  -webkit-transform: translate(-50%, 50%);
  -ms-transform: translate(-50%, 50%);
  width: 0;
  height: 0;
  border-left: 5px solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.searchcourse_name{
  z-index: 1;
}
.searchcourse_price{
  font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
}
.searchcourse_price span:nth-child(2){
  font-size: 1.2rem;
}
.searchcourse_price span:last-child{
  font-size: 1.1rem;
}
.searchcourse_item > a:hover{
  opacity: .7;
}
.searchcourse_item{
  border: 1px solid #646464;
  background-color: #fff;
  border-radius: 6px;
  line-height: 1.3;
  width:100%;
}
.searchcourse_item .searchcourse_detail{
  width:47%;
}
.searchcourse_item .searchcourse_btn{
  width:15%;
  margin-left: 2.5%;
}
.searchcourse_item img{
  width:35%;
}
.searchcourse_item.__course1 > a{
  color:#53181D;
}
.searchcourse_item.__course1 .searchcourse_detail{
  background-color: #FFF3DE;
}
.searchcourse_item.__course2 > a{
  color:#821923;
}
.searchcourse_item.__course2 .searchcourse_detail{
  background-color: #821923;
  color:#fff;
}
.searchcourse_item.__course3 > a{
  color:#0D023C;
}
.searchcourse_item.__course3 .searchcourse_detail{
  background-color: #0D023C;
  color:#fff;
}
@media (min-width: 768px){
  .part--search--course{
    padding:6rem 0;
  }
  .searchcourse_detail{
    padding:4rem .5rem;
    font-size:2.8rem;
  }
  .searchcourse_detail:before{
    left: 50%;
    top:auto;
    bottom: 3%;
    width: 44px;
    height: 44px;
  }
  .searchcourse_item{
    width:calc((100% - 20px) / 3);
    max-width:332px;
    border-radius: 10px;
  }
  .searchcourse_item .searchcourse_detail,
  .searchcourse_item img,
  .searchcourse_item .searchcourse_btn{
    width:100%;
  }
  .searchcourse_item .searchcourse_btn{
    margin-left:0;
  }
  
  .searchcourse_price span:nth-child(2){
    font-size: 2rem;
  }
  .searchcourse_price span:last-child{
    font-size: 1.4rem;
  }
  .searchcourse_btn{
    font-size: 1.8rem;
    margin:3rem 0 2rem;
  }
  .searchcourse_detail:after{
    left: 50%;
    bottom: -6%;
    margin-top: -5px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid;
  }
}
@media (max-width: 767px){
  .searchcourse_item > a{
    display: flex;
  }
  .searchcourse_item + .searchcourse_item{
    margin-top:1.5rem;
  }
  .searchcourse_item > a > *{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-flow: column;
  }
  .searchcourse_item > img{
    -ms-flex-item-align: start;
	  align-self: flex-start;
  }
}
/*共通 バナー2カラムエリア
-----------------*/
.topCards{
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.topCard_item{
  max-width: 520px;
   width: 49%;
   margin-bottom:7rem;
}
.topCards.-cpn_md > .topCard_item{
  margin-bottom:3rem;
}
.topCard_ttl{
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  margin-bottom: 4%;
  font-weight:500;
  text-align: center;
}
.topCard_text{
  padding-left:1rem;
  padding-right:1rem;
  font-size: clamp(1.5rem, 2.8vw, 1.6rem);
}
@media (max-width: 767px) {
  .topCards {
    display:block;
  }
  .topCard_item {
    width: 100%;
    margin-bottom:4rem;
    margin-left: auto;
    margin-right: auto;
  }
  .topCards.-cpn_md > .topCard_item{
    margin-bottom:1rem;
  }
}

/*メニューエリア
-----------------*/
.part--menu{
  padding-bottom:7rem;
}
@media (max-width: 767px){
  .part--menu{
    padding-bottom:5rem;
  }
}
.part--menu .menu-inner{
  display:flex;
  justify-content: space-between;
  text-align:center;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .part--menu .menu-inner {
    display:block;
  }
}
.part--menu .menuTtl{
	  font-size: clamp(2rem, 2.8vw, 2.8rem);
    margin-bottom: 4%;
    font-weight:500;
}

.part--menu .menuContainer {
   max-width: 520px;
   width: 49%;
   margin-bottom:7rem;
}
@media (max-width: 767px) {
  .part--menu .menuContainer {
    width: 100%;
    margin-bottom:4rem;
    margin-left: auto;
    margin-right: auto;
  }
}



/*キャンペーンエリア
-----------------*/
.part--cpn{
  padding-top:7rem;
}
.part--cpnMd{
  padding-top:7rem;
  padding-bottom:4rem;
}
.part--cpn .sectionTitle::after,
.part--cpnMd .sectionTitle::after,
.part--news .sectionTitle::after{
  content: "";
    display: block;
    background-color: #707070;
    width: 9rem;
    height: 2px;
    border-radius: 10px;
    margin: 1.8rem auto 4rem;
}
.topCards.-cpn_md{
  padding-top:1rem;
}
@media (max-width: 767px){
  .part--cpn,
  .part--cpnMd{
    padding-top:3.5rem;
  }
  .part--cpn .sectionTitle::after,
  .part--news .sectionTitle::after{
  margin-top:1.4rem;
  }
  .topCards.-cpn_md{
    padding-top:0;
  }
}

/*お知らせエリア
-----------------*/
#page--home .part--news {
  padding-top: 2rem;
  padding-bottom: 7rem;
}
@media (max-width: 767px) {
  #page--home .part--news {
    padding: 3.3rem 0 6rem;
  }
}

#page--home .part--news .newsContainer .item__data {
  border-bottom: solid 1px #141414;
  padding: 18px 0 25px;
}
@media (max-width: 767px) {
  #page--home .part--news .newsContainer .item__data {
    padding: 12px 0;
  }
}

#page--home .part--news .newsContainer .item__data .item__pubdate {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  color: #646464;
  /* padding-top: 5px; */
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  #page--home .part--news .newsContainer .item__data .item__pubdate {
    margin-bottom: 0;
  }
}
#page--home .part--news .newsContainer .item__data .item__title .newsContainer__item{
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
}

#page--home .part--news .newsContainer .item__data a:hover{
  color:#AC000C;
}