@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/* --------------------------------
main
-------------------------------- */
article * {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-feature-settings: "palt";
  font-weight: 200;
}

/* --------------------------------
cover
-------------------------------- */
#cover {
  height: 50rem;
  width: 100%;
  height: auto;
  aspect-ratio: 375/500;
  position: relative;
}
#cover .sound {
  position: absolute;
  cursor: pointer;
  color: #fff;
  bottom: min(18.3333333333px, 3.3333333333vw);
  right: min(18.3333333333px, 3.3333333333vw);
  padding: min(11px, 2vw);
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  overflow: hidden;
}
#cover .sound img {
  width: min(14.6666666667px, 2.6666666667vw);
  transform: translateX(-10%);
}
#cover .sound::after {
  content: "";
  position: absolute;
  top: 15%;
  top: 0%;
  left: 50%;
  width: 1px;
  height: 100%;
  background: #000;
  transform: rotate(45deg);
}
#cover .sound.on::after {
  display: none;
}

/* --------------------------------
intro
-------------------------------- */
#intro {
  background: #222b2a url(../img/intro_bg.jpg) center top/contain no-repeat;
  padding: min(29.3333333333px, 5.3333333333vw) 0 0;
  min-height: min(1642.6666666667px, 298.6666666667vw);
  color: #fff;
  text-align: center;
}
#intro h2 {
  font-size: min(40.3333333333px, 7.3333333333vw);
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.4166666667;
  font-weight: 400;
  letter-spacing: -0.01em;
}
#intro h2 span {
  font-size: 80%;
}
#intro h3 {
  font-size: min(27.8666666667px, 5.0666666667vw);
  margin-top: min(36.6666666667px, 6.6666666667vw);
  font-size: 1.5;
  white-space: nowrap;
}
#intro figure {
  padding: min(36.6666666667px, 6.6666666667vw) min(66px, 12vw) min(58.6666666667px, 10.6666666667vw);
}
#intro p {
  font-size: min(23.4666666667px, 4.2666666667vw);
  line-height: 2.1;
}

/* --------------------------------
reserve
-------------------------------- */
#reserve {
  background: #222b2a;
  padding-bottom: min(44px, 8vw);
}
#reserve h2.free {
  text-align: center;
  font-size: min(27.8666666667px, 5.0666666667vw);
  color: #fff;
}
#reserve h2.free span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
#reserve h2.free span::before, #reserve h2.free span::after {
  margin: 0 1em;
  content: "";
  width: 1px;
  height: 1.2em;
  background: #fff;
  display: inline-block;
  transform: rotate(35deg);
}
#reserve a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: min(58.6666666667px, 10.6666666667vw);
  background: #b38e1c url(../img/arrow.svg) calc(100% - min(22px, 4vw)) center no-repeat;
  background-size: min(25.6666666667px, 4.6666666667vw) auto;
  height: min(110px, 20vw);
  font-size: min(27.8666666667px, 5.0666666667vw);
  line-height: 1.4210526316;
  text-align: center;
  margin-top: min(14.6666666667px, 2.6666666667vw);
}
#reserve p.date {
  font-family: sans-serif;
  font-size: min(19.8px, 3.6vw);
  line-height: 1.4814814815;
  color: #fff;
  margin-top: min(18.3333333333px, 3.3333333333vw);
}
#reserve p.frame {
  border: 1px solid #fff;
  color: #fff;
  font-size: min(19.8px, 3.6vw);
  font-family: sans-serif;
  font-weight: 400;
  padding: 0.6em 1.5em;
  margin-top: 1em;
}

/* --------------------------------
voice
-------------------------------- */
#voice {
  background: url(../img/voice_bg.jpg) center top/cover;
  padding-bottom: min(58.6666666667px, 10.6666666667vw);
}
#voice .block {
  text-align: center;
  margin-top: min(14.6666666667px, 2.6666666667vw);
}
#voice .block + .block {
  margin-top: min(36.6666666667px, 6.6666666667vw);
}
#voice .block h3 {
  display: inline-block;
  font-size: min(44px, 8vw);
  background: url(../img/voice_ornament.png) right bottom no-repeat;
  background-size: min(73.3333333333px, 13.3333333333vw) auto;
  padding: 0 0.8em;
}
#voice .block p {
  margin-top: min(29.3333333333px, 5.3333333333vw);
  font-size: min(20.5333333333px, 3.7333333333vw);
  color: #554640;
}
#voice .block p .l {
  font-size: min(51.3333333333px, 9.3333333333vw);
  display: inline-block;
  line-height: 1;
}
#voice .block p .m {
  font-size: min(27.8666666667px, 5.0666666667vw);
}

/* --------------------------------
organic
-------------------------------- */
#organic {
  background: #222b2a;
  color: #fff;
  padding: min(66px, 12vw) 0;
  text-align: center;
}
#organic h2 {
  font-size: min(41.0666666667px, 7.4666666667vw);
  line-height: 1.4;
}
#organic .block {
  margin-top: min(54.2666666667px, 9.8666666667vw);
}
#organic .block h3 img {
  width: min(330px, 60vw);
}
#organic .block h4 {
  font-size: min(33.7333333333px, 6.1333333333vw);
  margin-top: min(36.6666666667px, 6.6666666667vw);
  line-height: 1.4;
}
#organic .block .note {
  margin: min(14.6666666667px, 2.6666666667vw) min(44px, 8vw) min(29.3333333333px, 5.3333333333vw);
  font-size: min(17.6px, 3.2vw);
  text-align: left;
  font-family: sans-serif;
  padding: 0;
}
#organic .block .catch {
  font-size: min(62.3333333333px, 11.3333333333vw);
  line-height: 1.4;
  margin-top: min(-14.6666666667px, -2.6666666667vw);
  display: inline-block;
  position: relative;
}
#organic .block .catch span {
  display: block;
  font-size: min(35.2px, 6.4vw);
}
#organic .block .catch sup {
  position: absolute;
  font-size: min(15.4px, 2.8vw);
  right: 0;
  top: min(46.9333333333px, 8.5333333333vw);
}
#organic .block .body {
  margin: min(14.6666666667px, 2.6666666667vw) min(36.6666666667px, 6.6666666667vw);
  text-align: left;
  font-size: min(22px, 4vw);
  line-height: 1.7333333333;
}
#organic .note {
  padding: min(36.6666666667px, 6.6666666667vw) min(22px, 4vw) 0;
  font-size: min(13.2px, 2.4vw);
  text-align: left;
  font-family: sans-serif;
}

/* --------------------------------
documentary
-------------------------------- */
#documentary {
  background: #acae9d;
  padding: min(51.3333333333px, 9.3333333333vw) min(22px, 4vw);
}
#documentary p {
  margin: min(36.6666666667px, 6.6666666667vw) 0 min(22px, 4vw);
}

/* --------------------------------
item
-------------------------------- */
section.item {
  background: #f1e6d7;
  padding-bottom: min(58.6666666667px, 10.6666666667vw);
}
section.item .note {
  font-size: min(16.8666666667px, 3.0666666667vw);
  font-family: sans-serif;
}
section.item .block {
  margin-top: min(22px, 4vw);
}
section.item .block + .block {
  margin-top: min(66px, 12vw);
}

/* --------------------------------

-------------------------------- */
/* --------------------------------

-------------------------------- */
/* --------------------------------

-------------------------------- */
/*# sourceMappingURL=style.css.map */