/* top common */
.topTitleBox {
  margin: 0 0 10px 0;
  text-align: center;
  position: relative;
}

.topTitleBorder {
  margin-bottom: 60px;
}

.topTitleBorder:after {
  width: 70px;
  height: 2px;
  content: "";
  background: #000;
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -35px;
}

.topTitleBox p {
  font-size: 40px;
  line-height: 1em;
}

.topTitleBox h2 {
  font-size: 18px;
  line-height: 1.5em;
  color: #cb9800;
}

.topTitleWhite p {
  color: #fff;
}

.topTitleWhite h2 {
  color: #fff;
}

.topLinkBt {
  text-align: center;
}

.topLinkBt a {
  font-size: 14px;
  padding: 15px 50px;
  border: 1px solid #000;
  transition: 0.5s;
  position: relative;
}

.topLinkBt a:after {
  content: "\025b6";
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -12px;
  font-size: 12px;
  font-family: sans-seif;
}

.topLinkBt a:hover {
  background: #000;
  color: #fff;
}

.topLinkBtWhite a {
  border: 1px solid #fff;
  color: #fff;
}

.topLinkBtWhite a:hover {
  background: #fff;
  color: #000;
}


/* mainvisual */
.mainvisualBox {
  background: url(../images/top/mainvisual_pc.webp);
  background-size: cover;
  background-position: center top;
  height: 640px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.mainvisualText {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 50px auto;
  text-align: right;
}

.mainvisualText img {
  max-width: 500px;
}


/* newsbanner */
.topNewsBannerBox {
  width: 100%;
  max-width: 1024px;
  margin: 50px auto;
  /*background: #808080;*/
  border: 1px solid #808080;
  color: #000;
}

.topNewsBanner {
  padding: 20px 40px;
  box-sizing: border-box;
}

.topNewsBannerImg {
  float: left;
  position: relative;
  z-index: 1;
  width: 180px;
  margin-right: 40px;
  margin-top: 117px;
}

.topNewsBannerImg img {
  max-width: 100%;
  height: auto;
}

.topNewsBannerTitle {
  font-size: 22px;
  padding: 0 0 10px;
  margin: 0;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}

.topNewsBannerText {
  font-size: 14px;
  line-height: 1.8;
  overflow: hidden;
  letter-spacing: -0.05em;
  padding-top: 10px;
  border-top: 1px solid #808080;
}

/* trialmenu */
.trialmenuBox {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto;
}

.trialmenuSlider {
  margin: 0 auto 40px auto;
  max-width: 1200px;
  padding: 0 50px;
  box-sizing: border-box;
}

.trialmenuSlider .slick-slide {
  /*width: 600px;
  height: 400px;*/
  margin: 0 20px;
  position: relative;
  overflow: hidden;
  transition: 0.5s;
}

.trialmenuSlider .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trialmenuSlider .slick-arrow {
  width: 40px;
  height: 40px;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  z-index: 1;
  margin-top: -20px;
}

.trialmenuSlider .slick-arrow::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid #1C1C1C;
  border-width: 1px 1px 0 0;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
}

.trialmenuSlider .slick-next {
  right: 20px;
  background: #fff;;
}

.trialmenuSlider .slick-prev {
  left: 20px;
  background: #fff;
}

.trialmenuSlider .slick-next::before {
  left: 0;
}

.trialmenuSlider .slick-prev::before {
  border-width: 0 0 1px 1px;
  right: 0;
}

.trialmenuSlider .slick-slide:hover {
  opacity: 0.5;
}


/* menu */
.topmenu {
  background: #000;
  padding: 30px 0;
  margin: 30px 0 0 0;
}

.topmenuBox {
  width: 100%;
  max-width: 1024px;
  margin: 50px auto;
}

.topmenuInfo {
  color: #fff;
  text-align: center;
  font-size: 14px;
}

.topmenuList {
  margin: 40px 0;
}

.topmenuList ul {
  display: flex;
  justify-content: space-between;
}

.topmenuList li {
  width: 23%;
}

.topmenuList a {

}

.topmenuListEachImage {

}

.topmenuListEachImage img {
  width: 100%;
}

.topmenuListEachTitle {
  color: #cb9800;
  margin: 10px 0;
}

.topmenuListEachText {
  color: #fff;
  font-size: 14px;
}


/* shop */
.shop {
  background: url(../images/top/top_shop_bg_pc.webp);
  background-position: center top;
  background-size: cover;
  display: flex;
  height: 600px;
  justify-content: center;
  align-items: center;
}

.shopBox {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.8);
  padding: 30px 30px 50px 30px;
  box-sizing: border-box;
}

.shopInfo {
  text-align: center;
  font-size: 14px;
  margin: 30px 0 40px 0;
}


/* information */
.information {
  background: #808080;
  padding: 30px 0;
  margin: 0;
}

.informationBox {
  width: 100%;
  max-width: 1024px;
  margin: 50px auto;
}

.informationList {
  max-width: 800px;
  margin: 30px auto 50px auto;
}

.informationList li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  padding: 5px 20px;
  transition: 0.5s;
}

.informationList li:hover {
  opacity: 0.5;
}

.informationList a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  padding: 10px;
  line-height: 2em;
  display: block;
  border-bottom: 1px solid #fff;
}

.informationList a:first-child {
  border-top: 1px solid #fff;
}

.informationEachDate {
  margin-right: 15px;
}

.informationEachDate span {
  padding: 2px 10px;
  border: 1px solid #fff;
  margin-right: 10px;
}

.informationEachText {

}


/* footerBigBanner */
.footerBigBanner {

}

.footerBigBannerBox {
  width: 100%;
  max-width: 1024px;
  margin: 50px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}

.footerBigBannerContents {
  width: 55%;
  text-align: center;
}

.footerBigBannerContentsCopy {
  color: #cb9800;
  font-size: 22px;
  margin: 15px 0;
}

.footerBigBannerContentsCopy span {
  border-bottom: 1px solid #cb9800;
  padding: 0 10px 3px 10px;
  font-weight: bold;
}

.footerBigBannerContentsTitle {
  font-size: 28px;
  margin: 15px 0;
}

.footerBigBannerContentsText {
  font-size: 14px;
  margin: 20px 0;
}

.footerBigBannerContentsText a {
  text-decoration: underline;
}

.footerBigBannerImage {
  width: 45%;
}

.footerBigBannerImage img {
  width: 100%;
}




@media all and (max-width: 959px) { /* SP */
  /* common */
  .topTitleBox p {
    font-size: 32px;
  }

  .topTitleBox h2 {
    font-size: 16px;
  }

  .topTitleBorder:after {
    bottom: -10px;
  }

  .topTitleBorder {
    margin-bottom: 30px;
  }


  /* mainvisual */
  .mainvisualBox {
    background-image: url(../images/top/mainvisual_sp.webp);
    height: 450px;
    align-items: flex-end;
  }

  .mainvisualText {
    margin: 0 30px 100px 30px;
  }

  .mainvisualText img {
    width: 100%;
  }


  /* newsbanner */
  .topNewsBannerBox {
    width: auto;
    margin-left: 10px;
    margin-right: 10px;
  }

  .topNewsBanner {
    padding: 16px 10px 10px 10px;
  }

  .topNewsBannerImg {
    width: 110px;
    margin-right: 0;
    margin-bottom: 5px;
    margin-top: 10px;
  }

  .topNewsBannerTitle {
    font-size: 16px;
    margin-left: -8px;
    padding: 0 0 0.5rem 0.8rem;
    margin: 0 0 0.5rem;
    letter-spacing: -0.07em;
    position: relative;
  }

  .topNewsBannerTitle span {
    border-bottom: 1px solid #808080;
    display: block;
    margin-left: 30px;
    padding-bottom: 10px;
  }

  .topNewsBannerText {
    margin-bottom: 10px;
    padding-top: 0;
    border-top: 0;
    font-size: 13px;
    overflow: initial;
  }


  /* topslider */
  .trialmenuSlider {
    padding: 0 25px;
  }

  .trialmenuSlider .slick-arrow {
    width: 20px;
    height: 20px;
    margin-top: -10px;
  }

  .trialmenuSlider .slick-arrow::before {
    width: 20px;
    height: 20px;
  }


  /* menu */
  .topmenu {
    padding: 20px 0;
  }

  .topmenuInfo {
    margin-top: 20px;
  }

  .topmenuList ul {
    flex-wrap: wrap;
  }

  .topmenuList li {
    width: 48%;
    margin-bottom: 50px;
  }

  .topmenuListEachTitle {
    margin: 10px 0 5px 0;
  }



  /* shop */
  .shop {
    background-image: url(../images/top/top_shop_bg_sp.webp);
    height: 500px;
    padding-left: 20px;
    padding-right: 20px;
  }


  /* information */
  .informationEachDate {
    font-size: 12px;
  }

  .informationList a {
    padding-left: 0;
    padding-right: 0;
  }

  .informationList li {
    padding-left: 0;
    padding-right: 0;
  }



  /* footerBigBanner */
  .footerBigBannerBox {
    flex-wrap: wrap;
  }

  .footerBigBannerContents {
    width: 100%;
  }

  .footerBigBannerContentsCopy {
    font-size: 18px;
  }

  .footerBigBannerContentsTitle {
    font-size: 22px;
  }

  .footerBigBannerImage {
    width: 100%;
  }

  .footerBigBannerContentsText:last-child {
    font-size: 12px;
  }
}

@media all and (min-width: 960px) { /* PC */

}