/*@charset "UTF-8";*/
.event-content {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media (max-width: 769px) {
  .event-content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.event-content a:hover {
  opacity: 0.8;
  transition: opacity 0.3s ease-out;
}

/* --------------------------------------------------------------------
content-title
-------------------------------------------------------------------- */
.content-title {
  margin-top: 20px;
  margin-bottom: 30px;
}

.content-title h2 {
  font-size: 2rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
  letter-spacing: 0.1rem;
}

.content-title h2 em {
  font-size: 16px;
  font-weight: 400;
  font-family: "Noto Serif JP", serif !important;
  font-style: unset;
  vertical-align: top;
}

.content-title h3 {
  font-size: 1.8rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
}

.content-title h4 {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
}

.content-title p {
  text-align: center;
  /* letter-spacing: 0.05em;
  line-height: 1.8; */
}

@media (max-width: 768.98px) {
  .content-title {
    margin-top: 10px;
    margin-bottom: 15px;
  }

  .content-title h2 {
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
  }

  .content-title h3 {
    font-size: 1.4rem;
  }

  .content-title h4 {
    font-size: 1.1rem;
  }
}

/* 斜体の場合、文字を小さくする */
.content-title p em {
  font-style: normal;
  font-size: 0.875em;
}

/* 取り消し線の場合、改行する */
@media (max-width: 768.98px) {
  .content-title p s::before {
    content: "\A";
    /* 改行を追加 */
    white-space: pre;
    /* 改行を有効にする */
    text-decoration: unset;
  }
}

.content-title p s {
  text-decoration: unset;
}

/* content-title.sub 左寄せ線ありデザイン
-------------------------------------------------------------------- */
.content-title.sub>.row>.col-12 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 15px;
  text-align: left;
  letter-spacing: 0.1em;
}

/* 追加 */
.content-title.sub>.row>.col-12>p {
  order: 3;
  width: 100%;
  text-align: left;
}

@media (max-width: 768px) {
  .content-title.sub>.row>.col-12 {
    margin-bottom: 15px;
  }

  .content-title.sub>.row>.col-12>p {
    order: 3;
    width: 100%;
    text-align: left;
  }
}

.content-title.sub>.row>.col-12::after {
  content: "";
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 1px;
  background: #E2E2E2;
}

.content-title.sub h4 {
  margin-bottom: 0;
}

.content-title.sub p {
  /* font-size: 1.2rem; */
  font-family: "Noto Serif JP", serif !important;
}

@media (max-width: 768px) {
  .content-title.sub p {
    font-size: 0.8125rem;
  }
}

/* --------------------------------------------------------------------
content-text
-------------------------------------------------------------------- */
.content-text {
  padding-top: 60px;
  padding-bottom: 60px;
  margin: 0 auto;
  max-width: 720px;
}

@media (max-width: 768.98px) {
  .content-text {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.content-text p {
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
  letter-spacing: 0.1rem;
  padding-top: 15px;
}

@media (max-width: 768.98px) {
  .content-text p {
    /* text-align: left; */
  }
}

/* 斜体の場合、文字を小さくする */
.content-text p em {
  font-style: normal;
  font-size: 0.875em;
}

.textbox p em {
  font-style: normal;
  font-size: 0.875em;
}

/* 取り消し線の場合、改行する */
@media (min-width: 769px) {
  .content-text p s::before {
    content: "\A";
    /* 改行を追加 */
    white-space: pre;
    /* 改行を有効にする */
    text-decoration: unset;
  }
}

.content-text p s {
  text-decoration: unset;
}

/* --------------------------------------------------------------------
products
-------------------------------------------------------------------- */
.products {
  margin-top: 40px;
  /* margin-bottom: 40px; */
}

@media (max-width: 768.98px) {
  .products {
    margin-top: 0;
  }
}

/* --------------------------------------------------------------------
more
-------------------------------------------------------------------- */
.more .title-richtext-buttons .content .button p {
  margin-top: 0;
  margin-bottom: 0;
}

.more .title-richtext-buttons .content .button p a {
  padding: 0.75rem 0.75rem;
}

@media (max-width: 768.98px) {
  .more {
    display: flex;
    flex-wrap: nowrap;
  }

  .more>.col-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 10px;
    padding-left: 10px;
  }

  .more .title-richtext-buttons .button p a {
    font-size: inherit;
  }
}

/* --------------------------------------------------------------------
product-tile-pd
-------------------------------------------------------------------- */
@media (max-width: 768.98px) {
  .product-tile-pd .col-12 {
    padding-left: 5px;
    padding-right: 5px;
  }
}

/* productTile.css */
@media (min-width: 769px) {
  .product-tile-pd .product-tile-body {
    padding: 0.625em 0.5em;
  }
}

@media (max-width: 768.98px) {
  .product-tile-pd .product-tile-body {
    font-size: 0.75em;
    padding: 0.5125em 0.5em;
  }
}

/* --------------------------------------------------------------------
line
-------------------------------------------------------------------- */
.line {
  /* border-top: 1px solid #ccc;
  width: calc(100% - 30px); */
}

/* --------------------------------------------------------------------
other common
-------------------------------------------------------------------- */
.limit-container {
  padding-right: 0;
  padding-left: 0;
}

/* global.css */
.experience-component .mx-n2 {
  margin-left: unset !important;
  margin-right: unset !important;
}

/* titleAndRichtextAndButtons.css */
@media (min-width: 544px) {
  .title-and-richtext-and-buttons-component-container .content {
    padding-top: 0;
  }
}

.title-and-richtext-and-buttons-component-container .content .button p a {
  color: #fff !important;
  width: 100%;
  background-color: #2c2c2c;
  padding: 1rem;
  max-width: 500px;
}

@media (max-width: 768.98px) {
  .title-and-richtext-and-buttons-component-container .content .button p a {
    font-size: 1.0em;
  }
}

/* mainBannerWithTextPosition.css */
.mainbanner-with-text-position-container .image-heading-text {
  line-height: 1.7;
}

/* carousel.css */
@media (min-width: 769px) {
  .carousel.indicators-md {
    padding-bottom: 2.375rem;
  }
}

@media (min-width: 544px) and (max-width: 768.98px) {
  .carousel.indicators-sm {
    padding-bottom: 2.375rem;
  }
}

@media (max-width: 543.98px) {
  .carousel.indicators-xs {
    padding-bottom: 2.375rem;
  }
}

/* --------------------------------------------------------------------
fullscreen-banner
-------------------------------------------------------------------- */
.fullscreen-banner .main-banner-with-text-position {
  display: none;
}

.fullscreen-banner .main-banner-with-text-position>.row {
  margin-right: 0;
  margin-left: 0;
}

.fullscreen-banner .main-banner-with-text-position>.row>.col-12 {
  padding-right: 0;
  padding-left: 0;
}

/* リンク無効化 */
.fullscreen-banner .main-banner-with-text-position a {
  pointer-events: none;
}

/* ボタン非表示 */
.fullscreen-banner .main-banner-with-text-position .mainbanner-sub-text {
  display: none;
}

/* mainImage padding 削除 */
.fullscreen-banner>.row:first-child>.col-12:first-child {
  padding-right: 0;
  padding-left: 0;
}

/* catchCopy
-------------------------------------------------------------------- */
/* 中央寄せ */
.fullscreen-banner .main-banner-with-text-position .image-heading-container {
  /* position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
}

/* 左寄せ */
.fullscreen-banner .main-banner-with-text-position .image-heading-container {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.fullscreen-banner .main-banner-with-text-position h1 {
  font-size: 2.0rem;
  font-family: Noto Serif, Noto Serif Japanese !important;
  letter-spacing: 4px;
  line-height: 1.4;
  color: #fff;
}

.fullscreen-banner .main-banner-with-text-position h2 {
  font-size: 1.4rem;
  font-family: Noto Serif, Noto Serif Japanese !important;
  letter-spacing: 4px;
  line-height: 1.4;
  color: #fff;
}

.fullscreen-banner .main-banner-with-text-position h4 {
  font-size: 1.2rem;
  color: #fff;
  text-align: left;
}

.fullscreen-banner .main-banner-with-text-position .image-heading-text {
  text-shadow: 0px 0px 10px #3d3d3d;
}

@media (max-width: 768.98px) {
  .storepage .fullscreen-banner {
    margin-bottom: 0;
  }

  .fullscreen-banner .main-banner-with-text-position .image-heading-text .title {
    margin-right: 0;
  }

  /* 中央寄せ */
  .fullscreen-banner .main-banner-with-text-position .image-heading-container {
    /* position: absolute;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%); */
  }

  /* 左寄せ */
  .fullscreen-banner .main-banner-with-text-position .image-heading-container {
    position: absolute;
    top: 20% !important;
    left: 10% !important;
    transform: translateY(-50%);
  }
}

/* movie
-------------------------------------------------------------------- */
.fullscreen-banner .movie {
  /* display: none; */
}

.fullscreen-banner .movie .video-container {
  position: relative;
}

.fullscreen-banner .movie .hidden {
  display: none;
}

.fullscreen-banner .movie .hidden {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.fullscreen-banner .movie .logo-overlay {
  position: absolute;
  top: 50px;
  left: 50px;
  width: 150px;
  /* ロゴの幅 */
}

@media (max-width: 768.98px) {
  .fullscreen-banner .movie .logo-overlay {
    top: 25px;
    left: 25px;
    width: 9.57em
      /* ロゴの幅 */
  }
}

.fullscreen-banner .movie video {
  width: 100%;
  height: auto;
  object-fit: cover;
  /* 動画をコンテナにフィットさせ、トリミングする */
}

@media (max-width: 768.98px) {
  .fullscreen-banner .movie video {
    width: 100%;
    height: 100vw;
    /* 幅と高さを正方形にする */
    object-fit: cover;
    /* 動画がコンテナ内でカバーされるようにする */
    object-position: 55% center;
    /* 中心点を右にずらす */
  }
}


/* --------------------------------------------------------------------
main-text
-------------------------------------------------------------------- */
.main-text {}

.main-text .textbox {
  margin: 0 auto;
  max-width: 720px;
}

.main-text .content-title.textbox {
  margin-bottom: 20px;
}

.main-text .content-title.textbox h1 {
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
  letter-spacing: 0.1em;
}

@media (max-width: 768.98px) {
  .main-text .content-title.textbox h1 {
    /* font-size: 1.6rem; */
    font-size: 1.4rem;
  }

  .main-text .content-title.textbox h1:first-child {
    /* font-size: 1.2rem; */
  }
}

.main-text .textbox p {
  font-family: "Noto Serif JP", serif !important;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2.0em;
}

@media (max-width: 768.98px) {
  .main-text .textbox p {
    letter-spacing: 0.025em;
  }
}

/* 斜体の場合、文字を小さくする */
.main-text p em {
  font-style: normal;
  font-size: 0.875em;
}

/* 取り消し線の場合、改行する ここから */
@media (min-width: 769px) {
  .main-text p s::before {
    content: "\A";
    /* 改行を追加 */
    white-space: pre;
    /* 改行を有効にする */
    text-decoration: unset;
  }
}

.main-text p s {
  text-decoration: unset;
}
/* 取り消し線の場合、改行する ここまで */

/* --------------------------------------------------------------------
products-carousel
-------------------------------------------------------------------- */
.products-carousel .carousel-control-prev {
  left: 0;
}

.products-carousel .carousel-control-next {
  right: 0;
}

.products-carousel .carousel-inner {
  width: 100%;
  margin-right: unset;
  margin-left: unset;
}

@media (max-width: 768.98px) {
  .products-carousel .carousel-inner {
    /* width: 120%; */
  }
}

.products-carousel .carousel-inner .carousel-item {
  /* padding-right: 5px;
  padding-left: 5px;
  height: 100% !important; */
}


/* --------------------------------------------------------------------
beer-le
-------------------------------------------------------------------- */
.beer-le .products {
  margin-bottom: 40px;
}

.beer-le .products.nove {
  margin-bottom: 0;
}

@media (min-width: 544px) {
  .beer-le .products>.row {
    justify-content: center;
  }

  .beer-le .products>.row>.region:nth-child(1),
  .beer-le .products>.row>.region:nth-child(2) {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

}

.beer-le .products>.row>.region:nth-child(3),
.beer-le .products>.row>.region:nth-child(4) {
  display: none;
}

/* --------------------------------------------------------------------
ice-crack
-------------------------------------------------------------------- */
@media (min-width: 544px) {
  .ice-crack .products>.row {
    justify-content: center;
  }

  .ice-crack .products>.row>.region:nth-child(1),
  .ice-crack .products>.row>.region:nth-child(2) {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }

}

.ice-crack .products>.row>.region:nth-child(3),
.ice-crack .products>.row>.region:nth-child(4) {
  display: none;
}

/* --------------------------------------------------------------------
craftsman
-------------------------------------------------------------------- */
.craftsman .content-title {
  margin-top: 0;
  margin-bottom: 20px;
}

@media (min-width: 769px) {
  .craftsman .content-title.pc-display {
    display: block;
  }

  .craftsman .content-title.sp-display {
    display: none;
  }
}

.craftsman .content-title h3 {
  font-size: 2.2rem;
  text-align: left;
}

.craftsman .mx-n2 {
  position: relative;
}

.craftsman .mx-n2>.region:nth-child(1) {
  z-index: 1;
}

.craftsman .mx-n2>.region:nth-child(2) {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 55%;
  flex: 0 0 55%;
  max-width: 55%;
}

.craftsman .textbox {
  background-color: #fff;
  padding: 2.0rem 2.0rem 2.0rem 4.0rem;
}

.craftsman .textbox p strong {
  font-size: 1.8rem;
}

@media (max-width: 991.98px) {
  .craftsman .mx-n2>.region:nth-child(2) {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 60%;
    flex: 0 0 60%;
    max-width: 60%;
  }

  .craftsman .textbox .text-center {
    text-align: left !important;
  }
}

@media (max-width: 768.98px) {
  .craftsman .content-title.pc-display {
    display: none;
  }

  .craftsman .content-title.sp-display {
    display: block;
    margin-bottom: -20px;
  }

  .craftsman .content-title.sp-display>.row>.col-12 {
    padding-right: 0;
  }

  .craftsman .content-title h3 {
    text-align: right;
  }

  .craftsman .mx-n2 {
    flex-direction: column-reverse;
  }

  .craftsman .mx-n2>.region:nth-child(1) {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 85%;
    flex: 0 0 85%;
    max-width: 85%;
    margin-top: -30px;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
  }

  .craftsman .mx-n2>.region:nth-child(2) {
    position: static;
    z-index: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 95%;
    flex: 0 0 95%;
    max-width: 95%;
    padding-right: 0;
    padding-left: 0;
  }

  .craftsman .textbox {
    padding: 1.0rem 1.5rem 2.0rem 1.5rem;
  }

  .craftsman .textbox .text-center {
    text-align: left !important;
  }

  .craftsman .textbox p {
    font-size: 0.8125rem;
  }
}


/* ---------------------------------------------------------------------------------------------------
以下、非表示
--------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------
menu
-------------------------------------------------------------------- */
.menu {
  /* display: none; */
}

@media (max-width: 768.98px) {
  .menu {
    /* padding-top: 0; */
  }
}

.menu .page-anchor .menu-wrap {
  display: flex;
  /* justify-content: space-between; */
  justify-content: space-evenly;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
  gap: 15px;
}

.menu .page-anchor ul.menu-wrap li.menu-item {
  /* background-color: #d0b67d; */
  background-color: #C7B994;
  width: calc(80% / 4);
  margin-bottom: 10px;
  text-align: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  /* line-height: 1.5; */
}

.menu .page-anchor ul.menu-wrap li.menu-item:nth-child(4) {
  /* display: none; */
}

.menu .page-anchor ul.menu-wrap li.menu-item.single-line a {
  padding: 10px 0 40px;
}


.menu .page-anchor ul.menu-wrap li.menu-item a {
  display: block;
  padding: 10px 0 25px;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
}

@media (max-width: 768.98px) {
  .menu .page-anchor ul.menu-wrap li.menu-item {
    /* width: calc(96.75% / 2); */
    width: calc(90% / 2);
  }

  .menu .page-anchor ul.menu-wrap li.menu-item.single-line a {
    padding: 10px 0 20px;
  }

  .menu .page-anchor ul.menu-wrap li.menu-item a {
    /* font-size: 0.825em; */
  }
}

.menu .page-anchor ul.menu-wrap li.menu-item a.arrow {
  position: relative;
  vertical-align: middle;
  text-decoration: none !important;
  color: #fff !important;
}

.menu .page-anchor ul.menu-wrap li.menu-item a.arrow::before,
.menu .page-anchor ul.menu-wrap li.menu-item a.arrow::after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  margin: auto;
  vertical-align: middle;
  content: "";
}

.menu .page-anchor ul.menu-wrap li.menu-item a.arrow::after {
  -webkit-transform: translateX(-50%) rotate(135deg);
  transform: translateX(-50%) rotate(135deg);
  bottom: 8px;
  left: 50%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 8px;
  height: 8px;
}

/* シンプルデザイン
-------------------------------------------------------------------- */
.menu .page-anchor ul.menu-wrap li.menu-item {
  background: none;
  width: calc(80% / 4);
}

@media (max-width: 768.98px) {
  .menu .page-anchor ul.menu-wrap li.menu-item {
    width: calc(93.75% / 2);
  }
}

/* border-color */
.menu .page-anchor ul.menu-wrap li.menu-item {
  border-bottom: 1px solid #ccc;
}

.menu .page-anchor ul.menu-wrap li.menu-item:hover {
  border-bottom: 1px solid #2c2f33;
}

/* triangle-color */
.menu .page-anchor ul.menu-wrap li.menu-item a.arrow::after {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.menu .page-anchor ul.menu-wrap li.menu-item:hover a.arrow::after {
  border-top: 1px solid #2c2f33;
  border-right: 1px solid #2c2f33;
}

/* font-color */
.menu .page-anchor ul.menu-wrap li.menu-item a.arrow {
  color: #a0a0a0 !important;
}

.menu .page-anchor ul.menu-wrap li.menu-item:hover a.arrow {
  color: #212529 !important;
}

.menu .page-anchor ul.menu-wrap li.menu-item a.arrow:hover {
  opacity: 1;
}

/* --------------------------------------------------------------------
budget
-------------------------------------------------------------------- */
.budget {
  display: none;
}

.budget .mobile-3r-2c>.row>.region {
  margin-bottom: 0;
}

.budget .title-richtext-buttons .content .button p {
  margin-top: 0;
}

.budget .title-richtext-buttons .content .button p a {
  border: none;
  /* background-color: #d0b67d !important; */
  /* background-color: #C7B994 !important; */
  background-color: #fff !important;
  -webkit-box-shadow: 0 1px 3px rgba(49, 49, 49, 0.3);
  box-shadow: 0 1px 3px rgba(49, 49, 49, 0.3);
  color: #212529 !important;
}

@media (max-width: 768.98px) {
  .budget .title-richtext-buttons .content {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/* --------------------------------------------------------------------
topics
-------------------------------------------------------------------- */
.topics {
  display: none;
}

@media (max-width: 543.98px) {
  .topics .mobile-2r-2c .col-6 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.topics .image-with-text figcaption .ITC-text-underneath {
  padding-right: 0;
  padding-left: 0;
  padding-top: 5px;
}

@media (max-width: 543.98px) {
  .topics .image-with-text figcaption .ITC-text-underneath p {
    font-size: 0.875em;
  }
}

/* --------------------------------------------------------------------
category
-------------------------------------------------------------------- */
.category {
  display: none;
}

.category .cat>.row>.col-12 {
  padding-right: 5px;
  padding-left: 5px;
}

.category .cat .image-heading-container {
  top: unset !important;
  bottom: 0;
}

@media (min-width: 769px) {
  .category .cat .image-heading-container {
    width: 100%;
  }
}

.category .cat .mainbanner-sub-text {
  margin-top: 0;
}

@media (max-width: 543.98px) {
  .category .cat .mainbanner-sub-text {
    margin-top: 1rem;
    text-align: right !important;
    margin-right: -15px;
  }
}

.category .cat .mainbanner-sub-text a.link-large.btn.btn-dark {
  width: inherit;
  padding: 0.5rem;
  color: #212529 !important;
  /* font-weight: 600; */
}

@media (max-width: 768.98px) {
  .category .cat .mainbanner-sub-text a.link-large.btn.btn-dark {
    font-size: 12px;
  }
}