@charset "UTF-8";
/* 共通スタイル */
html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

@media print, screen and (min-width: 768px) {
  html {
    font-size: 71.875%;
  }
}

@media print, screen and (min-width: 1400px) {
  html {
    font-size: 81. 75%;
  }
}

body {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  overflow-x: hidden;
  height: 100%;
  width: 100%;
}

#container {
  position: relative;
}

.cover {
  position: relative;
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
}

.inside {
  position: relative;
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner {
  position: relative;
  width: 95%;
  max-width: 1024px;
  margin: 0 auto;
}

p {
  line-height: 1.8;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

/* ボタン */
.btn {
  width: 95%;
  max-width: 600px;
  margin: 0 auto;
}

.btn a {
  display: block;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
  padding: 10px 0;
  transition: .2s;
}

.btn a::after {
  content: "→";
  margin-left: 10px;
}

.btn a:hover {
  background-color: #fff;
  color: #000;
}

.btn a:active {
  color: #000;
  background-color: #fff;
}

.btn-black a {
  color: #000;
  border-color: #000;
}

.btn-black a:hover {
  color: #fff;
  background-color: #000;
}

.btn-black a:active {
  color: #fff;
  background-color: #000;
}

@media print, screen and (min-width: 1024px) {
  .btn a {
    padding: 20px 0;
  }
}

/* 改行 */
.only-upper600 {
  display: none;
}

.only-upper768 {
  display: none;
}

@media print, screen and (min-width: 600px) {
  .only-upper600 {
    display: block;
  }
}

@media print, screen and (min-width: 768px) {
  .only-upper768 {
    display: block;
  }
}

/* ===================================== */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ common ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ===================================== */

/* ---------- header ---------- */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.pc-header-menu {
  position: relative;
  display: none;
}

/* sp-menu */
.sp-header-menu {
}

.sp-header-logo {
  width: 50%;
  max-width: 150px;
  margin: 10px 0 0 5%;
}

.sp-menu-trigger {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background-color: #CD2313;
  z-index: 9999;
}

.sp-menu-trigger span:not(:last-child) {
  position: relative;
  display: block;
  width: 40px;
  height: 3px;
  background-color: #fff;
  border-radius: 9999px;
  margin: 10px auto 0;
}

.sp-menu-trigger span:last-child::after {
  content: "MENU";
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
}

.sp-menu-trigger.active span:first-child {
  transform: rotate(25deg);
  position: relative;
  top: 6.5px;
  transition: .5s;
}

.sp-menu-trigger.active span:nth-child(2) {
  transform: rotate(-25deg);
  position: relative;
  top: -6.5px;
  transition: .5s;
}

.sp-menu-trigger.active span:last-child::after {
  content: "CLOSE";
}

/* overlay */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  opacity: 0;
  transform: translateX(100%);
  z-index: 100;
}

.overlay.active {
  animation: menu-in .5s forwards;
}

@keyframes menu-in {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.overlay-header-nav {
  height: calc(100vh - 60px);
  text-align: center;
  padding: 10vh 0 0;
}

.overlay-header-nav li {
  height: 10vh;
}

.overlay-header-nav li a {
  color: #333;
  font-size: 1.8rem;
  font-weight: bold;
}

.overlay-bottom {
  display: flex;
  height: 60px;
  text-align: center;
}

.overlay-contact {
  width: 50%;
  background-color: #CD2313;
}

.overlay-contact a {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin: 10px 0 0 20px;
}

.overlay-contact a::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(../img/icon-tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
}

.overlay-contact a span {
  font-size: 1.2rem;
}

.overlay-ritokara-link {
  width: 50%;
  background-color: #E21E79;
}

.overlay-ritokara-link a {
  position: relative;
  display: inline-block;
}

.overlay-ritokara-link a::before {
  content: "";
  width: 20px;
  height: 30px;
  background-image: url(../img/icon-mic.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 35%;
  left: 0;
}

.overlay-ritokara-link a img {
  width: 80px;
  margin: 15px 0 0 20px;
}
/* ---------- header ---------- */

/* ---------- footer ---------- */
#footer {}

.footer-info-field {
  background-color: #000;
  padding-top: 40px;
}

.footer-info-bg {
  width: 60%;
  max-width: 300px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
}

.footer-info {
  margin: 20px 0 0 0;
  padding: 20px 0;
}

.footer-info-flex {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 95%;
  margin: 0 auto;
}

.footer-info-ritokiya {
  width: 50%;
  border-right: 1px solid #fff;
}

.footer-info-ritokara {
  width: 50%;
}

.footer-info-logo {
  width: 80%;
  max-width: 250px;
  margin: 0 auto;
}

.footer-info-contact {
  text-align: center;
  margin: 10px 0 0 0;
}

.footer-info-contact a {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 0.6;
  margin-left: 20px;
}

.footer-info-contact a::before {
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(../img/icon-tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
}

.footer-info-contact a span {
  display: block;
  font-size: 1.2rem;
  text-align: left;
}

.footer-info-location {
  width: 95%;
  text-align: center;
  margin: 20px auto 0;
}

.footer-info-location address {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 20px 0 0 0;
}

.footer-info-location p {
  position: relative;
  display: inline-block;
  width: 300px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  padding: 0 0 0 20px;
  margin: 10px 0 0 0;
}

.footer-info-location p::before {
  content: "";
  width: 25px;
  height: 25px;
  background-image: url(../img/icon-train.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.footer-info-location iframe {
  width: 100%;
  height: 250px;
  margin: 10px 0 0 0;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 95%;
  max-width: 1200px;
  margin: 40px auto 0;
}

.footer-nav ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 0;
}

.footer-nav ul li {
  width: 50%;
}

.footer-nav ul li a {
  display: block;
  color: #000;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}

.footer-nav ul li a:hover {
  color: #CD2313;
  text-decoration: underline;
}

.footer-nav ul li a:active {
  color: #CD2313;
}

.footer-ritokara-link {
  width: 240px;
  background-color: #E21E79;
  margin: 20px auto 0;
}

.footer-ritokara-link a {
  position: relative;
  display: block;
  padding: 10px 0;
}

.footer-ritokara-link a::before {
  content: "";
  width: 30px;
  height: 40px;
  background-image: url(../img/icon-mic.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 55px;
  transform: translateY(-50%);
}

.footer-ritokara-link a img {
  display: block;
  width: 100px;
  margin: 0 0 0 80px;
}

.copyright {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 20px;
}
/* ---------- footer ---------- */

/* ---------- ノンストップスライダー設定 ---------- */
#linearSlider .swiper-wrapper {
  transition-timing-function: linear;
}
/* ---------- ノンストップスライダー設定 ---------- */

/* ===================================== */
/* ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ common ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ */
/* ===================================== */



/* ==================================== */
/* ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ contents ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ */
/* ==================================== */

/* ---------- 下層ページ背景色 ---------- */
#menu main,
#drink main,
#party main,
#information main,
#map main,
#recruit main,
#news main {
  position: relative;
}

#menu main::before,
#drink main::before,
#party main::before,
#information main::before,
#map main::before,
#recruit main::before,
#news main::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #1A1A1A;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -100;
}

/* -------------------------------- */
/* ---------- page-top ----------*/
/* -------------------------------- */
.page-top {
  position: relative;
  width: 100%;
  height: 240px;
  background-size: cover;
  background-repeat: no-repeat;
}

#menu .page-top {
  background-image: url(../img/menu/menu-main.jpg);
  background-position: 45% center;
}

#drink .page-top {
  background-image: url(../img/drink/drink-main.jpg);
  background-position: 45% center;
}

#party .page-top {
  background-image: url(../img/party/party-main.jpg);
  background-position: 45% center;
}

#information .page-top {
  background-image: url(../img/information/information-main.jpg);
  background-position: 25% center;
}

#map .page-top {
  background-image: url(../img/map/map-main.png);
  background-position: center;
}

#recruit .page-top {
  background-image: url(../img/recruit/recruit-main.jpg);
  background-position: center;
}

#news .page-top {
  background-image: url(../img/news/news-main.jpg);
  background-position: center;
}

#page404 .page-top {
  background-image: url(../img/page404-main.jpg);
  background-position: center;
}

@media print, screen and (min-width: 768px) {
  #drink .page-top {
    background-position: 30% top;
  }
  #party .page-top {
    background-position: 30% top;
  }
}

.page-title {
  position: absolute;
  top: 50%;
  width: 100%;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .page-top {
    height: 400px;
  }

  .page-title {
    font-size: 3.6rem;
  }
}

/* -------------------------- */
/* ---------- top ---------- */
/* -------------------------- */
#tokuten{
  background-color: #1A1A1A;
  padding: 60px 0;
}

#tokuten p{
  color: #FFFF33;
  font-weight: bold;
  font-size: 1.8rem;
  margin: 20px 0;
}

#tokuten figure{
  text-align: center;
}

.top-mv-field {
  position: relative;
  width: 100%;
  min-height: 300px;
}

.top-mv-slide-img {
  position: relative;
}

.top-mv-slide-img img {
  width: 100%;
  min-height: 300px;
  object-fit: cover;
}

.top-mv-catch {
  width: 50%;
  min-width: 150px;
  max-width: 280px;
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
}

.top-mv-catch img {
  object-fit: contain;
}

.top-news {
  width: 100%;
  background-color: #000;
  padding: 20px 0;
}

.top-news .cover {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.top-news h2 {
  width: 100%;
}

.top-news h2 span {
  display: block;
  width: 240px;
  color: #F1E321;
  font-weight: bold;
  text-align: center;
  border: 1px solid #F1E321;
  border-radius: 9999px;
  padding: 10px 0;
  margin: 0 auto;
}

.top-news dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  margin: 20px 0 0 0;
}

.top-news dl dt.label {
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 5px 20px;
}

.top-news dl dt.label.ritokiya {
  background-color: #CD2313;
}

.top-news dl dt.label.ritokara {
  background-color: #0071B1;
}

.top-news dl dd {
  width: 100%;
  margin: 10px 0 0 0;
}

.top-news dl dd a {
  display: flex;
  gap: 10px;
  color: #fff;
  font-weight: bold;
}

.to-news-page {
  width: 100%;
  max-width: 400px;
  background-color: #F1E321;
  margin: 20px auto 0;
}

.to-news-page a {
  display: block;
  color: #000;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
}

.to-news-page a::after {
  content: "→";
  margin-left: 10px;
}

.top-welcome {
  position: relative;
  padding: 0 0 20px 0;
}

.top-welcome::before,
.top-welcome::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.top-welcome::before {
  background-image: url(../img/top/welcome-img.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -100;
}

.top-welcome::after {
  background-color: #00000040;
  z-index: -10;
}

.top-welcome-img {
  width: 110%;
}

.top-welcome-img img {
  width: 100%;
  min-height: 80px;
  transform: translateX(-6%);
}

.top-welcome-message {
  width: 95%;
  margin: 0 auto;
}

.top-welcome-message h1 {
  color: #fff;
  font-size: 2.0rem;
  font-weight: bold;
  font-family: serif;
  text-align: center;
}

.top-welcome-message h1 p {
  position: relative;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
}

.top-welcome-message h1 p::after {
  content: "";
  width: 100px;
  height: 30px;
  background-image: url(../img/top/otsukare.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 10px;
  left: 110%;
}

.top-welcome-message h1 span {
  color: #CD2313;
  font-size: 2.2rem;
}

.top-welcome-text {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 20px 0 0 0;
}

section.top-selected {
  width: 100%;
  height: 100%;
  background-color: #000;
}

.top-selected-title {
  position: relative;
  width: 40%;
  max-width: 350px;
  margin: 0 auto;
}

.top-selected-title::before,
.top-selected-title::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #F1E321;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.top-selected-title::before {
  right: 115%;
}

.top-selected-title::after {
  left: 115%;
}

.top-selected-title img {}


.top-selected-food,
.top-selected-drink {
  padding: 40px 0;
}

.top-selected-food-list-area {
  margin: 40px 0;
}

.top-selected-food-list {
  display: flex;
  flex-wrap: wrap;
}

.top-selected-food-list li {
  position: relative;
  width: 100%;
  padding: 20px 2.5% 200px;
}

.top-selected-food-list .list01,
.top-selected-food-list .list03 {
  background: linear-gradient(to bottom, #DA8A00,#FFDA00 50%, #DA8A00 100%);
}

.top-selected-food-list .list02,
.top-selected-food-list .list04 {
  color: #fff;
  background: linear-gradient(to bottom, #000,#333 50%, #000 100%);
}

.top-selected-food-list .list02::after {
  content: "";
  width: 200px;
  height: 100px;
  background-image: url(../img/top/top-selected-food-catch01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
  position: absolute;
  left: 40%;
  bottom: 110px;
  z-index: 100;
}

.top-selected-food-list .list04::after {
  content: "";
  width: 180px;
  height: 80px;
  background-image: url(../img/top/top-selected-food-catch02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 10%;
  bottom: 120px;
  z-index: 100;
}

.top-selected-food-list h3 {
  text-align: center;
}

.top-selected-food-list p {
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 20px;
}

.top-selected-food-list-img {
  position: relative;
  width: 100%;
  max-width: 350px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.top-selected-drink {
  background-image: url(./../img/top/top-selected-drink-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  padding-bottom: 60px;
}

.top-selected-drink-text {
  margin: 40px auto;
}

.top-selected-drink-text h3 {
  color: #fff;
  font-size: 2.0rem;
  font-weight: bold;
  font-family: serif;
  text-align: center;
}

.top-selected-drink-text h3 span {
  color: #CD2313;
  font-size: 3.0rem;
}

.top-selected-drink-text p {
  color: #fff;
  margin: 20px 0 0 0;
}

.top-selected-drink-img {
  display: none;
}

.top-party {
  display: flex;
  flex-wrap: wrap;
  padding: 40px 0;
}

.top-party-info {
  width: 95%;
  margin: 0 auto;
}

.top-party-title {
  width: 50%;
  max-width: 200px;
  margin: 0 auto;
}

.top-party-price {
  margin: 40px 0 0 0;
}

.top-party-price p {
  font-family: serif;
  font-size:  6vw;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}

.top-party-price p span {
  font-size: 8vw;
}

.top-party-text {
  margin: 20px 0;
}

.sp-top-party-img {
  display: flex;
  width: 100vw;
  margin: 20px calc(50% - 50vw) 0;
}

.top-party-img {
  display: none;
}
/* -------------------------- */
/* ---------- top ---------- */
/* -------------------------- */

/* ---------------------------- */
/* ---------- menu ---------- */
/* ---------------------------- */
.menu-catch-field {
  margin: 40px 0 0 0;
}

.menu-catch {}

.menu-catch h2 {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
}

.menu-catch h2 img {
  width: 100%;
}

.menu-catch p {
  color: #fff;
  font-weight: bold;
  margin: 20px 0 0 0;
}

.menu-catch-img {
  display: flex;
  justify-content: space-between;
  margin: 10px 0 0 0;
}

.menu-catch-img img {
  width: 48%;
}

.menu-field {
  margin: 40px 0 0 0;
}

.menu-field:last-of-type {
  padding-bottom: 40px;
}

.menu-field#yakitori {
  scroll-margin-top: 75px;
}

.menu-type {
  width: 100%;
  height: 200px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 40px;
}

.menu-type.type01 {
  background-image: url(../img/menu/menu-img01_02.jpg);
}

.menu-type.type02 {
  background-image: url(../img/menu/menu-img02_02.jpg);
}

.menu-type.type03 {
  background-image: url(../img/menu/menu-img03_02.jpg);
}

.menu-type.type04 {
  background-image: url(../img/menu/menu-img04_02.jpg);
}

.menu-type.type05 {
  background-image: url(../img/menu/menu-img05_02.jpg);
}

.menu-type.type06 {
  background-image: url(../img/menu/menu-img06_02.jpg);
}

.menu-type.type07 {
  background-image: url(../img/menu/menu-img07_02.jpg);
}

.menu-type.type08 {
  background-image: url(../img/menu/menu-img08_02.jpg);
}

.menu-type.type09 {
  background-image: url(../img/menu/menu-img09_02.jpg);
}

.menu-type.type10 {
  background-image: url(../img/menu/menu-img10_02.jpg);
}

.menu-type.type11 {
  background-image: url(../img/menu/menu-img11_02.jpg);
}

.menu-type.type12 {
  background-image: url(../img/menu/menu-img12_02.jpg);
}

.menu-type.type13 {
  background-image: url(../img/menu/menu-img13_02.jpg);
}

.menu-type.type14 {
  background-image: url(../img/menu/menu-img14_02.jpg);
}

.menu-type.type15 {
  background-image: url(../img/menu/menu-img15_02.jpg);
}

.menu-type h3 {
  width: 20%;
  min-width: 100px;
  max-width: 120px;
}

.menu-field:nth-of-type(odd) .menu-type h3 {
  margin-left: auto;
}

.menu-list-area {
  width: 95%;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.menu-list {
  width: 100%;
  margin: 0 auto;
}

.menu-list dl {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8;
}

.menu-list dl dt {
  width: 65%;
  font-weight: bold;
}

.menu-list dl dd:nth-of-type(1) {
  width: 35%;
  font-weight: bold;
  text-align: right;
}

.menu-list dl dd:nth-of-type(2) {
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  padding-left: 10px;
}

.menu-img {
  display: none;
}
/* ---------- menu ---------- */
/* ---------------------------- */

/* ---------------------------- */
/* ---------- drink ---------- */
/* ---------------------------- */
.drink-catch-field {
  margin: 40px 0 0 0;
}

.drink-catch {}

.drink-catch h2 {
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
}

.drink-catch h2 img {
  width: 100%;
}

.drink-catch p {
  color: #fff;
  font-weight: bold;
  margin: 20px 0 0 0;
}

.drink-catch-img {
  display: flex;
  justify-content: space-between;
  margin: 10px 0 0 0;
}

.drink-catch-img img {
  width: 48%;
}

.drink-field {
  margin: 40px 0 0 0;
}

.drink-field:last-of-type {
  padding-bottom: 40px;
}

.drink-field#beer {
  scroll-margin-top: 75px;
}

.drink-type {
  width: 100%;
  height: 200px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 40px;
}

.drink-type.type01 {
  background-image: url(../img/drink/drink-img01_02.jpg);
}

.drink-type.type02 {
  background-image: url(../img/drink/drink-img02_02.jpg);
}

.drink-type.type03 {
  background-image: url(../img/drink/drink-img03_02.jpg);
}

.drink-type.type04 {
  background-image: url(../img/drink/drink-img04_02.jpg);
}

.drink-type.type05 {
  background-image: url(../img/drink/drink-img05_02.jpg);
}

.drink-type.type06 {
  background-image: url(../img/drink/drink-img06_02.jpg);
}

.drink-type.type07 {
  background-image: url(../img/drink/drink-img07_02.jpg);
}

.drink-type.type08 {
  background-image: url(../img/drink/drink-img08_02.jpg);
}

.drink-type.type09 {
  background-image: url(../img/drink/drink-img09_02.jpg);
}

.drink-type.type10 {
  background-image: url(../img/drink/drink-img10_02.jpg);
}

.drink-type.type11 {
  background-image: url(../img/drink/drink-img11_02.jpg);
}

.drink-type.type12 {
  background-image: url(../img/drink/drink-img12_02.jpg);
}

.drink-type h3 {
  width: 20%;
  min-width: 100px;
  max-width: 120px;
}

.drink-field:nth-of-type(odd) .drink-type h3 {
  margin-left: auto;
}

.drink-list-area {
  width: 95%;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.drink-list {
  width: 100%;
  margin: 0 auto;
}

.drink-list p {
  width: 100%;
  max-width: 400px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
}

.drink-list dl {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8;
}

.drink-list dl dt {
  width: calc(100% - 140px);
  font-weight: bold;
}

.drink-list dl dt.nowrap {
  white-space: nowrap;
}

.drink-list dl dd:nth-of-type(1) {
  width: 140px;
  font-weight: bold;
  text-align: right;
}

.drink-list dl dd:nth-of-type(2) {
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  padding-left: 10px;
}

.drink-list dl dd.nowrap {
  white-space: nowrap;
  text-align: right;
}

.drink-img {
  display: none;
}

.drink-field:nth-of-type(9) .drink-list dl:nth-of-type(1) dd {
  width: 100%;
  padding-right: 10px;
}

.drink-field#beer .drink-list:first-of-type {
  font-family: 'Potta One', 'Mochiy Pop P One', cursive, 'Nanum Myeongjo', 'Noto Serif JP', sans-serif, serif;
}

.drink-field#beer .drink-list:first-of-type dl dt {
  width: 100%;
  font-size: 6.0rem;
  text-align: center;
  line-height: 5rem;
}

.drink-field#beer .drink-list:first-of-type dl dt span {
  display: block;
  font-size: 1.8rem;
}

.drink-field#beer .drink-list:first-of-type dl dd {
  width: 100%;
  font-size: 1.8rem;
  text-align: center;
}

.drink-field#beer .drink-list:first-of-type dl dd span {
  color: #CD2313;
  font-size: 3.6rem;
  text-shadow: 2px 2px 3px #fff;
}

.drink-field#beer .drink-img {
  display: block;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 40px;
}

.drink-field#beer .drink-img img {
  height: 100%;
}

.drink-field#beer .drink-img:last-of-type {
  display: none;
}

.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(1) dd,
.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(2) dd,
.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(3) dd,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(2) dd,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(3) dd,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(5) dd,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(6) dd {
  position: relative;
}

.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(1) dd::before,
.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(2) dd::before,
.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(3) dd::before,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(2) dd::before,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(3) dd::before,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(5) dd::before,
.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(6) dd::before {
  position: absolute;
  right: 75%;
}

.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(1) dd::before {
  content: "（小）";
}

.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(2) dd::before {
  content: "（大）";
}

.drink-field:nth-of-type(3) .drink-list dl:nth-of-type(3) dd::before {
  content: "（300ml）";
}

.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(2) dd::before {
  content: "（S）";
}

.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(3) dd:nth-of-type(1):before {
  content: "（W）";
}

.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(5) dd::before {
  content: "（S）";
}

.drink-field:nth-of-type(4) .drink-list dl:nth-of-type(6) dd:nth-of-type(1):before {
  content: "（W）";
}
/* ---------------------------- */
/* ---------- drink ---------- */
/* ---------------------------- */

/* ---------------------------- */
/* ---------- party ---------- */
/* ---------------------------- */
.party-catch-field {
  margin: 40px 0 0 0;
}

.party-catch {}

.party-catch h2 {
  width: 80%;
  max-width: 300px;
  margin: 0 auto;
}

.party-catch h2 img {
  width: 100%;
}

.party-field {
  margin: 40px 0 0 0;
}

.party-course-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.party-course-list ul li {
  width: 100%;
}

.party-course-list ul li:not(:first-of-type) {
  margin-top: 20px;
}

.party-course {
  position: relative;
  width: 100%;
  height: 240px;
  background-size: cover;
  background-position: center;
}

.party-course.course01 {
  background-image: url(../img/party/party-img01.jpg);
}

.party-course.course02 {
  background-image: url(../img/party/party-img02.jpg);
}

.party-course.course03 {
  background-image: url(../img/party/party-img03.jpg);
}

.party-course.course04 {
  background-image: url(../img/party/party-img04.jpg);
}

.party-course h3 {
  width: 90%;
  max-width: 300px;
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
}

.party-course h3 picture img {
  display: block;
  margin: 0 auto;
}

.party-course p {
  width: 100%;
  color: #FFFF33;
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  position: absolute;
  bottom: 18%;
}

.party-attention {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 40px;
}

.party-attention ul {
  width: 100%;
  margin: 20px 0 0 0;
}

.party-attention ul li {
  position: relative;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.8;
  padding: 0 0 0 20px;
}

.party-attention ul li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
}

.party-attention ul:nth-of-type(2) li {
  color: #FFFF33;
  font-size: 1.6rem;
}

.party-attention ul:nth-of-type(2) li:last-of-type::before {
  display: none;
}

.party-attention ul li a {
  display: block;
  position: relative;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  margin-left: 20px;
}

.party-attention ul li a::before {
  content: "";
  width: 30px;
  height: 40px;
  background-image: url(../img/icon-tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -35px;
  transform: translateY(-50%);
}

.party-attention ul li a span {
  font-size: 1.4rem;
  margin-bottom: -10px;
}

.party-advantage-field {
  margin: 100px 0 0;
  padding-bottom: 40px;
  scroll-margin-top: 60px;
}

.party-advantage {}

.party-advantage h2 {
  position: relative;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding-left: 2.5%;
}

/* .party-advantage h2::before {
  content: "";
  width: 100%;
  height: 60%;
  background-color: #000;
  border-radius: 9999px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
} */

.party-advantage p {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 20px 0 0 0;
}

.party-advantage ul {
  margin: 20px 0 0 0;
}

.party-advantage ul li {
  position: relative;
  color: #FFFF33;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  padding-left: 20px;
}

.party-advantage ul li::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0; 
}

.party-menu{
  color: #fff;
  padding: 20px;
}

.party-menu dl{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 10px;
}

.party-menu dl dt{
  font-weight: bold;
  width: 30%;

}

.party-menu dl dd{
  font-size: 1.4rem;
  text-align: left;
  line-height: 1.6;
  width: 70%;
}

.party-menu p{
  color: #FFFF33;
}

/* ---------------------------- */
/* ---------- party ---------- */
/* ---------------------------- */

/* ------------------------------------ */
/* ---------- information ---------- */
/* ------------------------------------ */
.information-field {
  padding-bottom: 40px;
}

.information-message {
  position: relative;
  padding: 40px 0;
}

.information-message::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../img/information/information-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10;
}

.information-message::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #00000040;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.information-message h2 {
  width: 80%;
  max-width: 250px;
  margin: 0 auto;
}

.information-message p {
  color: #fff;
  font-weight: bold;
  letter-spacing: -0.01rem;
  margin: 40px 0;
}

.information-inside-img img {
  display: block;
  margin: 0 auto;
}

.information-table-field {
  padding-bottom: 40px;
  margin-bottom: 40px;
}

.information-table-list {
  margin: 40px 0 0 0;
}

.information-table-list dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 0 0;
}

.information-table-list dl dt {
  width: 100%;
  color: #fff;
  font-weight: bold;
  line-height: 1.5
}

.information-table-list dl dt img {
  margin-bottom: 10px;
}

.information-table-list dl dd {
  width: 100%;
  margin: 10px 0 0 0;
}
/* ------------------------------------ */
/* ---------- information ---------- */
/* ------------------------------------ */

/* ==================================== */
/* ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ contents ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ */
/* ==================================== */

/* -------------------------- */
/* ---------- 404 ---------- */
/* -------------------------- */
.error-message {
  margin: 40px 0;
}

.error-message h3 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

.error-message p {
  margin: 40px 0 0 0;
  font-weight: bold;
  text-align: center;
}

.error-btn-area {
  margin: 40px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 20px;
}

.error-btn-area .btn {
  width: 100%;
}

@media print, screen and (min-width: 600px) {
  .error-message {
    margin: 80px 0;
  }

  .error-btn-area .btn {
    width: 40%;
  }
}
/* -------------------------- */
/* ---------- 404 ---------- */
/* -------------------------- */