@charset "UTF-8";
.articleCard {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 20px rgba(7, 0, 2, 0.1);
          box-shadow: 0 0 20px rgba(7, 0, 2, 0.1);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .articleCard {
    padding: 20px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard {
    padding: calc(20 / 750 * 100vw);
  }
}

.articleCard__head .photo {
  overflow: hidden;
}

.articleCard__head .photo__image {
  -webkit-transition: -webkit-transform .8s ease-in-out;
  transition: -webkit-transform .8s ease-in-out;
  transition: transform .8s ease-in-out;
  transition: transform .8s ease-in-out, -webkit-transform .8s ease-in-out;
}

.articleCard__ttl {
  color: var(--var-color);
  font-weight: 700;
  text-align: center;
  line-height: 1.8;
}

.articleCard__ttl:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.articleCard__ttl:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.articleCard__ttl:before, .articleCard__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .articleCard__ttl {
    font-size: 16px;
    letter-spacing: .06em;
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard__ttl {
    font-size: calc(22 / 750 * 100vw);
    letter-spacing: 0;
    margin-top: calc(40 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .articleCard__ttl .only-thumb-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .articleCard__ttl .only-thumb-sp {
    display: none;
  }
}

.articleCard__date {
  color: #000000;
  display: block;
  font-family: "Cormorant Infant", serif;
  font-weight: 700;
  letter-spacing: .1em;
  margin-top: auto;
  line-height: 1.8;
}

.articleCard__date:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.articleCard__date:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.articleCard__date:before, .articleCard__date:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .articleCard__date {
    font-size: 16px;
    padding-top: 28px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard__date {
    font-size: calc(22 / 750 * 100vw);
    padding-top: calc(26 / 750 * 100vw);
  }
}

.articleCard__label {
  background-color: var(--var-bgColor);
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .articleCard__label {
    height: 184px;
    padding: 22px 5px 5px 5px;
    width: 47px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard__label {
    height: calc(204 / 750 * 100vw);
    padding: calc(22 / 750 * 100vw) calc(5 / 750 * 100vw) calc(5 / 750 * 100vw) calc(5 / 750 * 100vw);
    width: calc(57 / 750 * 100vw);
  }
}

.articleCard__label .inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.articleCard__label .t {
  color: #000000;
  display: inline-block;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  text-orientation: upright;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.articleCard__label .t .b {
  display: inline-block;
  text-orientation: upright;
  -webkit-transform: translate(20%, -50%);
          transform: translate(20%, -50%);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.articleCard__label .t .bracket-start,
.articleCard__label .t .bracket-end {
  display: inline-block;
  line-height: 1;
  margin-top: -.5em;
  text-align: center;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  vertical-align: middle;
}

.articleCard__label .t .bracket-end {
  margin: 0 0 0 -.5em;
}

.articleCard__label .t .quotation-start,
.articleCard__label .t .quotation-end {
  display: inline-block;
  line-height: 1;
  margin-bottom: -.5em;
  margin-left: -1em;
  text-align: left;
  vertical-align: middle;
}

.articleCard__label .t .quotation-end {
  display: inline-block;
  line-height: 1;
  margin-bottom: -.2em;
  margin-left: 0;
  margin-top: .2em;
  text-align: left;
  vertical-align: middle;
}

.articleCard__label .t .num {
  display: inline-block;
  letter-spacing: 0;
  text-combine-upright: all;
}

.articleCard__label .t .meter {
  display: inline-block;
  text-combine-upright: all;
}

@media screen and (min-width: 768px) {
  .articleCard__label .t .and {
    padding-bottom: 6px;
  }
}

@media screen and (min-width: 768px) {
  .articleCard__label .t .secondLine {
    margin-top: calc(100 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleCard__label .t {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard__label .t {
    font-size: calc(26 / 750 * 100vw);
  }
}

.articleCard__label .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  color: var(--var-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .01em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .articleCard__label .num {
    font-size: 20px;
    height: 37px;
    width: 37px;
  }
}

@media screen and (max-width: 768px) {
  .articleCard__label .num {
    font-size: calc(22 / 750 * 100vw);
    height: calc(47 / 750 * 100vw);
    width: calc(47 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleCard:hover .articleCard__head .photo__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@media (hover: hover) and (pointer: fine) {
  .articleCard:hover .articleCard__head .photo__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.articleCard__statusLabel {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 3;
}

.articleCard .newIcon {
  background-color: #ac452e;
  color: #ffffff;
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  font-size: 20px;
  font-weight: bold;
  padding: 6px 18px 7px;
}

@media screen and (max-width: 768px) {
  .articleCard[data-num='01'] .articleCard__ttl, .articleCard[data-num='03'] .articleCard__ttl, .articleCard[data-num='04'] .articleCard__ttl {
    letter-spacing: -.02em;
    margin: calc(40 / 750 * 100vw) -2px 0;
  }
}

@media screen and (max-width: 768px) {
  .articleCard[data-num='08'] .articleCard__ttl {
    letter-spacing: -.02em;
    margin: calc(40 / 750 * 100vw) -4px 0;
  }
}

@media screen and (max-width: 768px) {
  .articleCard[data-num='08'] .articleCard__ttl, .articleCard[data-num='09'] .articleCard__ttl {
    letter-spacing: -.02em;
    margin: calc(40 / 750 * 100vw) -4px 0;
  }
}

@media screen and (max-width: 768px) {
  .articleCard[data-num='11'] .articleCard__ttl {
    letter-spacing: -.02em;
    margin: calc(40 / 750 * 100vw) -2px 0;
  }
}

.articleDetail {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .articleDetail {
    padding: 130px 0 120px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail {
    padding: calc(145 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.articleDetail__label {
  background-color: var(--var-bgColor);
  left: 0;
  position: absolute;
  top: 0;
}

@media screen and (min-width: 768px) {
  .articleDetail__label {
    height: 254px;
    padding: 72px 5px 5px 5px;
    width: 57px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__label {
    height: calc(254 / 750 * 100vw);
    padding: calc(72 / 750 * 100vw) calc(5 / 750 * 100vw) calc(5 / 750 * 100vw) calc(5 / 750 * 100vw);
    width: calc(57 / 750 * 100vw);
  }
}

.articleDetail__label .inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.articleDetail__label .t {
  display: inline-block;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  text-orientation: upright;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.articleDetail__label .t .b {
  display: inline-block;
  text-orientation: upright;
  -webkit-transform: translate(20%, -50%);
          transform: translate(20%, -50%);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.articleDetail__label .t .bracket-start,
.articleDetail__label .t .bracket-end {
  display: inline-block;
  line-height: 1;
  margin-top: -.5em;
  text-align: center;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  vertical-align: middle;
}

.articleDetail__label .t .bracket-end {
  margin: 0 0 0 -.5em;
}

.articleDetail__label .t .quotation-start,
.articleDetail__label .t .quotation-end {
  display: inline-block;
  line-height: 1;
  margin-bottom: -.5em;
  margin-left: -1em;
  text-align: left;
  vertical-align: middle;
}

.articleDetail__label .t .quotation-end {
  display: inline-block;
  line-height: 1;
  margin-bottom: -.2em;
  margin-left: 0;
  margin-top: .2em;
  text-align: left;
  vertical-align: middle;
}

.articleDetail__label .t .num {
  display: inline-block;
  letter-spacing: 0;
  text-combine-upright: all;
}

.articleDetail__label .t .meter {
  display: inline-block;
  text-combine-upright: all;
}

@media screen and (min-width: 768px) {
  .articleDetail__label .t .and {
    padding-bottom: 6px;
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__label .t .secondLine {
    margin-top: calc(100 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__label .t {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__label .t {
    font-size: calc(26 / 750 * 100vw);
  }
}

.articleDetail__label .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  color: var(--var-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .01em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .articleDetail__label .num {
    font-size: 22px;
    height: 47px;
    width: 47px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__label .num {
    font-size: calc(22 / 750 * 100vw);
    height: calc(47 / 750 * 100vw);
    width: calc(47 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__head {
    padding-left: 106px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__head {
    padding-left: calc(66 / 750 * 100vw);
  }
}

.articleDetail__ttl {
  color: var(--var-color);
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.8;
}

.articleDetail__ttl:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.articleDetail__ttl:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.articleDetail__ttl:before, .articleDetail__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .articleDetail__ttl {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__ttl {
    font-size: calc(40 / 750 * 100vw);
  }
}

.articleDetail__ttl .only-thumb,
.articleDetail__ttl .only-thumb-pc,
.articleDetail__ttl .only-thumb-sp {
  display: none;
}

.articleDetail__date {
  display: block;
  font-family: "Cormorant Infant", serif;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.8;
}

.articleDetail__date:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.articleDetail__date:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.articleDetail__date:before, .articleDetail__date:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .articleDetail__date {
    font-size: 20px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__date {
    font-size: calc(20 / 750 * 100vw);
    margin-top: calc(30 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__visual {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__visual {
    margin-top: calc(70 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__visual .photo {
    margin-left: calc(-40 / 750 * 100vw);
    margin-right: calc(-40 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__visual .photo + .txt {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__visual .photo + .txt {
    margin-top: calc(42 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__cont {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__cont {
    margin-top: calc(136 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__slider {
    margin-left: calc(-40 / 750 * 100vw);
    margin-right: calc(-40 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__slider .swiper-wrapper {
    gap: 42px;
  }
}

@media screen and (min-width: 768px) {
  .articleDetail__slider .swiper-slide {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: calc((100% - 84px) / 3);
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__slider .swiper-slide {
    width: calc(500 / 750 * 100vw);
  }
}

.articleDetail__slider .swiper-slide .photo__capIn .icon {
  -ms-flex-item-align: center;
      align-self: center;
  aspect-ratio: 1 / 1;
  display: inline-block;
  margin-left: 2px;
  margin-top: 3px;
  width: 10px;
}

.articleDetail__slider .swiper-slide .photo__capIn .icon .svgIcon {
  stroke: currentColor;
}

.articleDetail__slider .swiper-slide .photo__capIn .link {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .articleDetail__slider .swiper-slide:nth-child(4) .photo__capIn {
    width: 216px;
  }
}

.articleDetail__slider .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 7px;
}

.articleDetail__slider .swiper-pagination {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: auto;
  margin-top: calc(45 / 750 * 100vw);
  position: relative;
}

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

.articleDetail__slider .swiper-pagination-bullet {
  background-color: #cccccc;
  height: 7px;
  opacity: 1;
  width: 7px;
}

.articleDetail__slider .swiper-pagination-bullet-active {
  height: 10px;
  width: 10px;
}

@media screen and (min-width: 768px) {
  .articleDetail__slider + .shopInfo {
    margin-top: 54px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail__slider + .shopInfo {
    margin-top: calc(80 / 750 * 100vw);
  }
}

.articleDetail__slider + .shopInfo .txt .icon {
  -ms-flex-item-align: center;
      align-self: center;
  aspect-ratio: 1 / 1;
  display: inline-block;
  margin-left: 2px;
  margin-top: 3px;
  width: 10px;
}

.articleDetail__slider + .shopInfo .txt .icon .svgIcon {
  stroke: currentColor;
}

.articleDetail__sliderCap {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .articleDetail__sliderCap {
    padding: 0 6px;
  }
}

* + .articleDetail__sliderCap {
  margin-top: 12px;
}

.articleDetail--enjoy06 .shopInfo {
  position: relative;
}

.articleDetail--enjoy06 .shopInfo:after {
  aspect-ratio: 143 / 121;
  background: url("../imgs/icon-enjoy-06-01.png") no-repeat center/cover;
  content: '';
  position: absolute;
}

@media screen and (min-width: 768px) {
  .articleDetail--enjoy06 .shopInfo:after {
    right: 240px;
    top: -10px;
    width: 143px;
  }
}

@media screen and (max-width: 768px) {
  .articleDetail--enjoy06 .shopInfo:after {
    bottom: -48px;
    right: 0;
    width: 100px;
  }
}

.articleDetail--learn03 .articleDetail__slider .swiper-slide:first-child .photo__capIn {
  padding-left: 10px;
}

.articleGallery {
  display: grid;
}

@media screen and (min-width: 768px) {
  .articleGallery {
    gap: 80px 78px;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .articleGallery {
    gap: 20px 10px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 -16px;
  }
}

.articleGallery__item .modalFigure {
  height: 100%;
}

.articleGallery__item .modalFigure__cont {
  height: 100%;
}

@media screen and (max-width: 768px) {
  .articleGallery__item--full {
    grid-column: auto / span 2;
  }
}

.articleGallery + .caption {
  text-align: end;
}

@media screen and (min-width: 768px) {
  .articleGallery + .caption {
    margin-top: 50px;
  }
}

@media screen and (max-width: 768px) {
  .articleGallery + .caption {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.mainVisual {
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 768px) {
  .mainVisual {
    padding-top: 64px;
  }
}

.mainVisual:before, .mainVisual:after {
  content: '';
  display: block;
  height: 110%;
  left: -8%;
  mix-blend-mode: multiply;
  opacity: .7;
  pointer-events: none;
  position: absolute;
  top: -10%;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  width: 110%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .mainVisual:before, .mainVisual:after {
    background: url("../imgs/pc/bg-mv@1.5x.png") top left no-repeat;
    background-size: cover;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual:before, .mainVisual:after {
    background: url("../imgs/sp/bg-mv.png") top left no-repeat;
    background-size: cover;
  }
}

.mainVisual:before {
  -webkit-animation: leafBlow01 4s ease-in-out infinite alternate;
          animation: leafBlow01 4s ease-in-out infinite alternate;
}

.mainVisual:after {
  -webkit-animation: leafBlow01 6s ease-in-out infinite alternate;
          animation: leafBlow01 6s ease-in-out infinite alternate;
  opacity: .4;
}

.mainVisual:has(.mainVisual__btn.is-stop):before, .mainVisual:has(.mainVisual__btn.is-stop):after {
  -webkit-animation: none;
          animation: none;
}

.mainVisual__body {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .mainVisual__body {
    max-width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__body {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100vw;
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__body {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__body {
    margin-top: 40px;
  }
}

.mainVisual__ttl {
  -webkit-filter: blur(10px) brightness(1.5);
          filter: blur(10px) brightness(1.5);
  opacity: 0;
  -webkit-transition: 1.6s ease 1.3s;
  transition: 1.6s ease 1.3s;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: filter, opacity;
  transition-property: filter, opacity, -webkit-filter;
}

@media screen and (min-width: 768px) {
  .mainVisual__ttl {
    width: 675px;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__controller {
    padding: 64px 0 0 56px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__controller {
    padding: 40px 0 0 32px;
  }
}

.mainVisual__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: none;
  border: none;
  color: #b0aca2;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10;
}

.mainVisual__btn .playIcon {
  display: none;
}

.mainVisual__btn .playIcon .svgIcon {
  aspect-ratio: 6 / 8;
}

.mainVisual__btn .pauseIcon,
.mainVisual__btn .playIcon {
  height: 32px;
}

.mainVisual__btn .pauseIcon .svgIcon,
.mainVisual__btn .playIcon .svgIcon {
  height: 100%;
  width: auto;
}

.mainVisual__btn.is-stop .pauseIcon {
  display: none;
}

.mainVisual__btn.is-stop .playIcon {
  display: block;
}

.mainVisual.is-loaded .mainVisual__ttl {
  -webkit-filter: blur(0) brightness(1);
          filter: blur(0) brightness(1);
  opacity: 1;
}

.mainVisual.is-loaded .mainSlider {
  -webkit-filter: blur(0) brightness(1);
          filter: blur(0) brightness(1);
  opacity: 1;
}

.mainVisual.is-loaded .mainSlider__card .photo {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.mainVisual.is-loaded .mainSlider__card .photo__image {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mainSlider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-filter: blur(20px) brightness(1.5);
          filter: blur(20px) brightness(1.5);
  opacity: 0;
  position: relative;
  -webkit-transition: 1.6s ease;
  transition: 1.6s ease;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .mainSlider {
    aspect-ratio: 3002 / 558;
    width: 200vw;
  }
}

@media screen and (max-width: 768px) {
  .mainSlider {
    height: 288px;
    width: 1415px;
  }
}

.mainSlider__card {
  height: 100%;
  position: relative;
  will-change: transform;
}

@media screen and (min-width: 768px) {
  .mainSlider__card {
    width: calc(1501 / 1501 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card {
    width: 707px;
  }
}

.mainSlider__card .photo {
  -webkit-box-shadow: 0 0 40px rgba(7, 0, 2, 0.4);
          box-shadow: 0 0 40px rgba(7, 0, 2, 0.4);
  -webkit-clip-path: polygon(10% 10%, 90% 10%, 90% 90%, 10% 90%);
          clip-path: polygon(10% 10%, 90% 10%, 90% 90%, 10% 90%);
  position: absolute;
  -webkit-transition: -webkit-clip-path 2s ease;
  transition: -webkit-clip-path 2s ease;
  transition: clip-path 2s ease;
  transition: clip-path 2s ease, -webkit-clip-path 2s ease;
  will-change: transform;
}

.mainSlider__card .photo .photo__image {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 2.4s ease;
  transition: -webkit-transform 2.4s ease;
  transition: transform 2.4s ease;
  transition: transform 2.4s ease, -webkit-transform 2.4s ease;
}

@media screen and (min-width: 768px) {
  .mainSlider__card .photo:nth-child(1) {
    left: calc(100 / 1501 * 100%);
    top: calc(175 / 558 * 100%);
    width: calc(378 / 1501 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card .photo:nth-child(1) {
    left: calc(17 / 707 * 100%);
    top: calc(53 / 288 * 100%);
    width: calc(227 / 707 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .mainSlider__card .photo:nth-child(2) {
    left: calc(578 / 1501 * 100%);
    top: calc(270 / 558 * 100%);
    width: calc(156 / 1501 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card .photo:nth-child(2) {
    left: calc(284 / 707 * 100%);
    top: calc(113 / 288 * 100%);
    width: calc(94 / 707 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .mainSlider__card .photo:nth-child(3) {
    left: calc(792 / 1501 * 100%);
    top: calc(90 / 558 * 100%);
    width: calc(156 / 1501 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card .photo:nth-child(3) {
    left: calc(353 / 707 * 100%);
    top: calc(9 / 288 * 100%);
    width: calc(94 / 707 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .mainSlider__card .photo:nth-child(4) {
    bottom: 0;
    left: calc(834 / 1501 * 100%);
    width: calc(340 / 1501 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card .photo:nth-child(4) {
    bottom: calc(10 / 288 * 100%);
    left: calc(417 / 707 * 100%);
    width: calc(204 / 707 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .mainSlider__card .photo:nth-child(5) {
    right: 0;
    top: calc(228 / 558 * 100%);
    width: calc(220 / 1501 * 100%);
  }
}

@media screen and (max-width: 768px) {
  .mainSlider__card .photo:nth-child(5) {
    right: calc(20 / 707 * 100%);
    top: calc(26 / 288 * 100%);
    width: calc(132 / 707 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .mapBtnArea {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .mapBtnArea {
    margin-top: 60px;
  }
}

.mapBtnArea .generalBtn {
  margin: 0 auto;
}

.newsBlock {
  background-color: #ffffff;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .newsBlock {
    padding: 60px 30px 50px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock {
    padding: calc(64 / 750 * 100vw) calc(40 / 750 * 100vw);
  }
}

.newsBlock__ttl .en {
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  line-height: 1.25;
}

.newsBlock__ttl .en:before {
  content: '';
  margin-top: calc((1 - 1.25) * .5em);
}

.newsBlock__ttl .en:after {
  margin-bottom: calc((1 - 1.25) * .5em);
}

.newsBlock__ttl .en:before, .newsBlock__ttl .en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .newsBlock__ttl .en {
    font-size: 40px;
    letter-spacing: .1em;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__ttl .en {
    font-size: calc(50 / 750 * 100vw);
    letter-spacing: .15em;
  }
}

@media screen and (min-width: 768px) {
  .newsBlock__ttl .en + .jp {
    margin-left: 20px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__ttl .en + .jp {
    margin-left: calc(34 / 750 * 100vw);
  }
}

.newsBlock__ttl .jp {
  display: inline-block;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.8;
}

.newsBlock__ttl .jp:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.newsBlock__ttl .jp:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.newsBlock__ttl .jp:before, .newsBlock__ttl .jp:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .newsBlock__ttl .jp {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__ttl .jp {
    font-size: calc(22 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .newsBlock__head + .newsBlock__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__head + .newsBlock__cont {
    margin-top: calc(62 / 750 * 100vw);
  }
}

.newsBlock__list {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .newsBlock__list {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__list {
    padding-bottom: calc(26 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .newsBlock__list:not(:first-child) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__list:not(:first-child) {
    margin-top: calc(32 / 750 * 100vw);
  }
}

.newsBlock__list:after {
  background-color: rgba(51, 51, 51, 0.1);
  bottom: 0;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.newsBlock__date {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.5;
}

.newsBlock__date:before {
  content: '';
  margin-top: calc((1 - 1.5) * .5em);
}

.newsBlock__date:after {
  margin-bottom: calc((1 - 1.5) * .5em);
}

.newsBlock__date:before, .newsBlock__date:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .newsBlock__date {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__date {
    font-size: calc(22 / 750 * 100vw);
  }
}

.newsBlock__data {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: .1em;
  line-height: 1.8;
}

.newsBlock__data:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.newsBlock__data:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.newsBlock__data:before, .newsBlock__data:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .newsBlock__data {
    font-size: 14px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .newsBlock__data {
    font-size: calc(22 / 750 * 100vw);
    margin-top: calc(30 / 750 * 100vw);
  }
}

.shopInfo__head {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .shopInfo__head {
    gap: 18px;
  }
}

@media screen and (max-width: 768px) {
  .shopInfo__head {
    gap: 18px 14px;
  }
}

.shopInfo__name {
  letter-spacing: .1em;
  line-height: 1.8;
}

.shopInfo__name:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.shopInfo__name:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.shopInfo__name:before, .shopInfo__name:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .shopInfo__name {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .shopInfo__name {
    font-size: calc(40/ 750 * 100vw);
    width: 100%;
  }
}

.shopInfo__cat {
  letter-spacing: .1em;
  line-height: 1.8;
}

.shopInfo__cat:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.shopInfo__cat:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.shopInfo__cat:before, .shopInfo__cat:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .shopInfo__cat {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .shopInfo__cat {
    font-size: calc(24 / 750 * 100vw);
  }
}

.shopInfo__cap {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: .1em;
  line-height: 1.8;
}

.shopInfo__cap:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.shopInfo__cap:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.shopInfo__cap:before, .shopInfo__cap:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .shopInfo__cap {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .shopInfo__cap {
    font-size: calc(20 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .shopInfo__head + .shopInfo__cont {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .shopInfo__head + .shopInfo__cont {
    margin-top: calc(62 / 750 * 100vw);
  }
}

.shopInfo__cont .link {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.zineModal {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Shippori Mincho", serif;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  font-size: 14px;
  height: 100vh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .1em;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  text-align: left;
  top: 0;
  -webkit-transition: opacity .9s;
  transition: opacity .9s;
  width: 100vw;
  z-index: 99999;
}

@media screen and (max-width: 768px) {
  .zineModal {
    padding-bottom: 60px;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .zineModal {
    padding-bottom: 0;
  }
}

.zineModal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.zineModal__cont {
  margin: auto;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .zineModal__cont {
    width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .zineModal__cont {
    width: calc(670 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .zineModal__cont {
    width: calc(600 / 750 * 100vw);
  }
}

.zineModal__inner {
  background-color: #ffffff;
  overflow-y: auto;
  position: relative;
  z-index: 9;
}

@media screen and (min-width: 768px) {
  .zineModal__inner {
    max-height: calc(100vh - 200px);
    padding: 0 60px;
  }
}

@media screen and (max-width: 768px) {
  .zineModal__inner {
    max-height: calc(100vh - 160px);
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .zineModal__inner {
    max-height: -webkit-fit-content;
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .zineModal__inner {
    width: 100%;
  }
}

.zineModal__inner::-webkit-scrollbar {
  display: none;
}

@media screen and (min-width: 768px) {
  .zineModal__inner--map {
    padding: 60px;
  }
}

@media screen and (min-width: 768px) {
  .zineModal__inner .zoomFigure + .generalBtn {
    margin: 30px auto 0;
  }
}

.zineModal__close {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(153, 153, 153, 0.9);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .zineModal__close {
    height: 56px;
    right: 0;
    width: 56px;
  }
}

@media screen and (max-width: 768px) {
  .zineModal__close {
    height: calc(80 / 750 * 100vw);
    right: 0;
    width: calc(80 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .zineModal__close {
    bottom: 100%;
  }
}

.zineModal__close .inner {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .zineModal__close .inner {
    height: 17px;
    width: 17px;
  }
}

@media screen and (max-width: 768px) {
  .zineModal__close .inner {
    height: calc(23 / 750 * 100vw);
    width: calc(23 / 750 * 100vw);
  }
}

.zineModal__close .inner:before, .zineModal__close .inner:after {
  background-color: #ffffff;
  content: '';
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .zineModal__close .inner:before, .zineModal__close .inner:after {
    height: 1px;
  }
}

.zineModal__close .inner:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.zineModal__close .inner:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.zineModal__close--bottom {
  bottom: 0;
  top: auto;
}

@media screen and (max-width: 768px) {
  .zineModal__close--map {
    left: 0;
    right: auto;
  }
}

.zineModal.is-visible {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (min-width: 768px) {
  .zineModal--long .zineModal__cont {
    height: 100%;
    max-height: calc(100% - 160px);
  }
}

@media screen and (max-width: 768px) {
  .zineModal--long .zineModal__cont {
    height: calc(100% - (160 / 750 * 100vw));
  }
}

.zineModal--long .zineModal__inner {
  height: 100%;
}

.zineModal.is-active .zineModal__cont {
  width: 1200px;
}

@media only screen and (max-width: 1200px) {
  .zineModal .movieFrame {
    height: calc(708.75vw / 1200 * 100);
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .zineModal .movieFrame {
    height: 169px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .zineModal .movieFrame--pcPlayer {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .musashino-article {
    padding: 190px 0 200px;
  }
}

@media screen and (max-width: 768px) {
  .musashino-article {
    padding: calc(134 / 750 * 100vw) 0 calc(200 / 750 * 100vw);
  }
}

@media print {
  .header,
  .cvBnr,
  .main,
  .contentArea,
  .bottomArea,
  .entryArea,
  .pageDirection,
  .footer {
    display: none;
  }
  /* 印刷時の画像表示設定 */
  img {
    height: auto !important;
    max-width: 100% !important;
    page-break-inside: avoid !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  /* モーダル全体を印刷用に調整 */
  .generalModal {
    background: transparent !important;
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
  }
  .generalModal__bg {
    display: none !important;
  }
  .generalModal__cont {
    height: auto !important;
    margin: 0 !important;
    position: static !important;
    width: 100% !important;
  }
  .generalModal__inner {
    background: transparent !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
  }
  .generalModal__close {
    display: none !important;
  }
  .generalModal .generalBtn {
    display: none !important;
  }
  /* ズーム図の表示設定 */
  .zoomFigure {
    display: block !important;
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .zoomFigure__wrap {
    display: block !important;
  }
  .zoomFigure__cont {
    display: block !important;
    position: static !important;
  }
  .zoomFigure__inner {
    display: block !important;
  }
  .zoomFigure__controller {
    display: none !important;
  }
  .photo {
    display: block !important;
  }
  .photo__image {
    display: block !important;
    height: auto !important;
    width: 100% !important;
  }
}
