@charset "utf8";


* {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  ._pc{ display: none; }
}

@media screen and (min-width: 768px) {
  ._sp{ display: none; }
}

body {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background-image: url(../img/bg.png);
  background-repeat: repeat-y;
  background-size: 750px;
  background-position: top center;
}
@media screen and (max-width: 767px) {
  body {
    background-size: 100%;
  }
}

main {
  overflow-x: hidden;
  overflow-y: hidden;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

section {
  width: 100%;
  border: 0px solid;
}

picture {
  display: block;
  height: 100%;
}

.spacer80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .spacer80 {
    margin-bottom: calc(40vw/3.6);
  }
}

.spacer60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .spacer60 {
    margin-bottom: calc(30vw/3.6);
  }
}

.spacer40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .spacer40 {
    margin-bottom: calc(20vw/3.6);
  }
}

.spacer20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .spacer20 {
    margin-bottom: calc(10vw/3.6);
  }
}

.spacer10 {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .spacer10 {
    margin-bottom: calc(5vw/3.6);
  }
}

/*---------------------------
article
---------------------------*/
.article-container {
  max-width: 750px;
  width: 100%;
  height: auto;
  margin: auto;
  border: 0px solid;
}

.article {
  height: auto;
  margin: auto;
  border: 0px solid;
}

.relative {
  position: relative;
}

.w100 {
  width: 100%;
}

.w94 {
  width: 94%;
}

.w86 {
  width: 86%;
}

.w80 {
  width: 80%;
}

.w64 {
  width: 64%;
}

.w56 {
  width: 56%;
}

.mx-auto {
  margin: 0 auto;
}

.cta-container--fv {
  position: absolute;
  top: 71.6%;
  left: 0;
  right: 0;
  margin: auto;
  border: 0px solid #ff0000;
}

.cta-bg-fv {
  left: 0;
  right: 0;
  margin: auto;
  border: 0px solid #ff0000;
}

.cta-fv {
  position: absolute;
  top: 16%;
  left: 0;
  right: 0;
  height: auto;
  margin: auto;
  border: 0px solid #ff0000;
}
.cta-bg {
  left: 0;
  right: 0;
  margin: auto;
  border: 0px solid #ff0000;
}

.cta {
  position: absolute;
  top: 18%;
  left: 0;
  right: 0;
  height: auto;
  margin: auto;
  border: 0px solid #ff0000;
}
/* アコーディオンカスタム */
.accordion-item {
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .accordion-item {
    margin: 0 0 calc(8vw / 3.6);
  }
}
.izakaya {
  height: 107px;
  background-image: url('../img/label_izakaya_off.png?260203');
  background-repeat: no-repeat;
  background-size: 100%;
  background-color: #003886;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .izakaya {
    height: calc(51vw / 3.6);
    background-size: 100.1%;
  }
}
.yakinikuya {
  height: 107px;
  background-image: url('../img/label_yakinikuya_off.png?260203');
  background-repeat: no-repeat;
  background-size: 100%;
  background-color: #003886;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .yakinikuya {
    height: calc(51vw / 3.6);
    background-size: 100.1%;
  }
}
.bisutoro {
  height: 107px;
  background-image: url('../img/label_bisutoro_off.png?260203');
  background-repeat: no-repeat;
  background-size: 100%;
  background-color: #003886;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .bisutoro {
    height: calc(51vw / 3.6);
    background-size: 100.1%;
  }
}
.__toggle:checked + .__Label.izakaya {
  background-image: url('../img/label_izakaya_on.png?260203');
  border-radius: 10px 10px 0 0;
}
.__toggle:checked + .__Label.yakinikuya {
  background-image: url('../img/label_yakinikuya_on.png?260203');
  border-radius: 10px 10px 0 0;
}
.__toggle:checked + .__Label.bisutoro {
  background-image: url('../img/label_bisutoro_on.png?260203');
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 767px) {
  .__toggle:checked + .__Label.izakaya,
  .__toggle:checked + .__Label.yakinikuya,
  .__toggle:checked + .__Label.bisutoro {
    border-radius: calc(10vw / 3.6) calc(10vw / 3.6) 0 0;
  }
}
.accordion-wrap {
  width: 91.6%;
}
._clear {
  visibility: hidden;
}
/*---------------------------
アコーディオン
---------------------------*/
.__toggle {
  display: none;
}

.__Label {
  display: block;
  cursor: pointer;
}

.__Label,
.__content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.__Label {
  transition: all 0.1s ease-out;
}
.__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.1s ease-out; /* max-heightをスムーズに変化 */
}

/* 開閉時のスタイル */
.__toggle:checked + .__Label + .__content {
  max-height: 4000px; /* 最大の高さを十分に大きく設定 */
}
/*---------------------------
swiper カスタマイズ
---------------------------*/
.swiper-container {
  position: relative;
  max-width: 750px;
  width: 94%;
  margin: auto;
}

.swiper-button-prev,
.swiper-button-next {
  top: 6%;
}

.swiper-button-prev::after {
  content: "";
  position: absolute;
  left: -35px;
  width: 50px;
  height: 50px;
  background-image: url('../img/left-arrow.png');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .swiper-button-prev::after {
    left: -25px;
    width: 30px;
    height: 30px;
  }
}

.swiper-button-next::after {
  content: "";
  position: absolute;
  right: -35px;
  width: 50px;
  height: 50px;
  background-image: url('../img/right-arrow.png');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .swiper-button-next::after {
    right: -25px;
    width: 30px;
    height: 30px;
  }
}

.swiper-wrapper .swiper-slide {
  height: unset;
}

.swiper-wrapper {
  align-items: stretch;
}

.swiper-slide img {
  width: 100%;
  height: auto;
}

.swiper-pagination-bullet {
  width: calc(14vw/19.2);
  height: calc(14vw/19.2);
  margin: 0 10px!important; 
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 5px!important; 
  }  
}

/*---------------------------
floating__menu カスタマイズ
---------------------------*/
.floating__menu {
  display: none;
  opacity: 0;
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100px;
  max-width: 750px;
  width: 100%;
  padding: calc(20vw/19.2) 0px;
  height: auto;
  margin: auto;
  background-color: #496199;
  transition: bottom 0.5s, opacity 0.5s;
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  .floating__menu {
    padding: calc(10vw/3.6) 0px;
  }
}

.cta-floating {
  position: absolute;
  /* top: 30%; */
  top: 40%;
  left: 0;
  right: 0;
  height: auto;
  margin: auto;
  border: 0px solid #ff0000;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}