@charset "UTF-8";
.subUSP {
  position: relative;
  z-index: 3
}
@media screen and (min-width:768px) {
  .subUSP {
    padding: 6.5rem 2rem 6.3rem
  }
}
@media screen and (max-width:768px) {
  .subUSP {
    padding: 7.2rem 3.2rem
  }
}
@media screen and (min-width:768px) {
  .subUSP__pic {
    margin: 0 auto;
    width: 95rem
  }
}
.infobox {
  align-items: center;
  background: #ffffff80;
  border: 1px solid #2b883a;
  display: flex;
  flex-direction: column;
  justify-content: center
}
@media screen and (min-width:768px) {
  .infobox {
    margin-inline: auto;
    padding: 4rem 0 5.6rem;
    width: 88.6rem
  }
}
@media screen and (max-width:768px) {
  .infobox {
    margin-left: calc(-50vw + 50% + 1.5rem);
    padding: 4rem 0;
    width: calc(100vw - 3rem)
  }
  .infobox__badge {
    width: 28.6rem
  }
}
.infobox__badge .image {
  margin-left: auto;
  margin-right: auto
}
@media screen and (min-width:768px) {
  .infobox__badge .image {
    width: 28.6rem
  }
}
.infobox__badge .captionCont {
  gap: 1rem;
  margin-top: 1rem
}
@media screen and (max-width:768px) {
  .infobox__badge .captionCont {
    margin-left: auto;
    margin-right: auto
  }
}
.infobox__badge .captionCont .caption {
  text-align: start
}
.infobox__cont {
  display: flex
}
@media screen and (min-width:768px) {
  .infobox__cont {
    gap: 2rem;
    margin-top: 4.8rem
  }
}
@media screen and (max-width:768px) {
  .infobox__cont {
    flex-direction: column-reverse;
    gap: 3rem;
    margin-top: 2.4rem
  }
  .infobox__cont + .infobox__cont {
    margin-top: 3.2rem
  }
}
.infobox__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center
}
@media screen and (min-width:768px) {
  .infobox__inner {
    min-width: 32.6rem
  }
}
.infobox__heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  justify-content: center
}
.infobox__heading .head {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center
}
.infobox__heading .head:before {
  content: "";
  margin-top: -.25em
}
.infobox__heading .head:after {
  margin-bottom: -.25em
}
.infobox__heading .head:after, .infobox__heading .head:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
.infobox__heading .text {
  font-size: 1.6rem;
  letter-spacing: .02em;
  line-height: 1.5;
  margin-top: 2rem;
  text-align: center
}
.infobox__heading .text:before {
  content: "";
  margin-top: -.25em
}
.infobox__heading .text:after {
  margin-bottom: -.25em
}
.infobox__heading .text:after, .infobox__heading .text:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
.infobox__heading .caption {
  font-family: yakuhanjp, Noto Sans JP, Hiragino Sans, Hiragino Kaku Gothic ProN, meiryo, sans-serif;
  font-size: 1rem;
  letter-spacing: .02em;
  margin-top: 1.4rem;
  text-align: center
}
.infobox__heading .notice {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 2rem;
  text-align: center
}
.infobox__heading .notice:before {
  content: "";
  margin-top: -.25em
}
.infobox__heading .notice:after {
  margin-bottom: -.25em
}
.infobox__heading .notice:after, .infobox__heading .notice:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
.infobox__heading .notice .small {
  display: block;
  font-size: 1.2rem;
  margin-top: .5rem
}
.infobox__heading--reserve .head {
  color: #c9a063
}
.infobox__heading--request .head {
  color: #2b883a
}
.infobox__text {
  color: #c03;
  font-size: 1.6rem;
  letter-spacing: .02em;
  line-height: 1.5;
  margin-bottom: 1.6rem
}
.infobox__price, .infobox__text {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  text-align: center
}
.infobox__price {
  margin-bottom: 2.4rem
}
.infobox__price .main {
  font-size: 1.8rem;
  line-height: 1
}
.infobox__price .main .num {
  color: #2b883a;
  font-family: EB Garamond, serif;
  font-size: 3.2rem;
  line-height: 1
}
.infobox__price .main .small {
  font-size: 1.2rem
}
.infobox__price .loan {
  font-size: 1.8rem;
  line-height: 1;
  margin-top: .5rem
}
.infobox__price .loan .num {
  color: #2b883a;
  font-family: EB Garamond, serif;
  font-size: 2.8rem;
  line-height: 1
}
.infobox__price .loan .small {
  font-size: 1.2rem
}
.infobox__holiday {
  border: 1px solid;
  color: #940000;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  font-size: 1.6rem;
  line-height: 1;
  margin-top: 2.4rem;
  padding: 1.6rem .8rem;
  width: 100%
}
.infobox .button {
  font-size: 1.4rem;
  margin-top: 2.4rem;
  width: 26.6rem
}
.infobox__img {
  display: block;
  max-width: 32.6rem
}
.infoSect {
  position: relative;
  text-align: center;
  z-index: 1
}
@media screen and (min-width:768px) {
  .infoSect {
    padding: 5.2rem 0 8rem
  }
}
@media screen and (max-width:768px) {
  .infoSect {
    padding: 3.5rem 3.2rem
  }
}
.infoSect__logo {
  width: 20rem
}
@media screen and (min-width:768px) {
  .infoSect__logo + .infoSect__catch {
    margin-top: 6.4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__logo + .infoSect__catch {
    margin-top: 3.2rem
  }
}
.infoSect__catch {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 1.5
}
.infoSect__catch:before {
  content: "";
  margin-top: -.25em
}
.infoSect__catch:after {
  margin-bottom: -.25em
}
.infoSect__catch:after, .infoSect__catch:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .infoSect__catch {
    font-size: 3.4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__catch {
    font-size: 2.7rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__catch .small {
    font-size: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__catch .small {
    font-size: 2rem
  }
}
.infoSect__catch .num {
  color: #2b883a;
  font-family: EB Garamond, serif;
  font-size: 6.4rem;
  line-height: .7
}
@media screen and (min-width:768px) {
  .infoSect__catch + .infoSect__ttl {
    margin-top: 8rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__catch + .infoSect__ttl {
    margin-top: 6.4rem
  }
}
.infoSect__ttl {
  color: #2b883a;
  font-family: EB Garamond, serif;
  line-height: .8;
  padding-bottom: 2rem;
  position: relative
}
@media screen and (min-width:768px) {
  .infoSect__ttl {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__ttl {
    font-size: 1.4rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__ttl + .infoSect__heading {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__ttl + .infoSect__heading {
    margin-top: 3.2rem
  }
}
.infoSect__heading {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 1.5
}
.infoSect__heading:before {
  content: "";
  margin-top: -.25em
}
.infoSect__heading:after {
  margin-bottom: -.25em
}
.infoSect__heading:after, .infoSect__heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .infoSect__heading {
    font-size: 3.4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__heading {
    font-size: 2.7rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__heading + .infoSect__txt {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__heading + .infoSect__txt {
    margin-top: 3.2rem
  }
}
.infoSect__heading .break {
  display: inline-block
}
@media screen and (min-width:768px) {
  .infoSect__heading .break {
    margin-top: 2.2rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__heading .break {
    margin-top: 1.8rem
  }
}
.infoSect__heading .break-sp {
  display: inline-block
}
@media screen and (max-width:768px) {
  .infoSect__heading .break-sp {
    margin-top: 1.8rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__heading .small {
    font-size: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__heading .small {
    font-size: 2rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__heading .mid {
    font-size: 2.8rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__heading .mid, .infoSect__heading .mid-sp {
    font-size: 2.2rem
  }
}
.infoSect__txt {
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 1.75
}
.infoSect__txt:before {
  content: "";
  margin-top: -.375em
}
.infoSect__txt:after {
  margin-bottom: -.375em
}
.infoSect__txt:after, .infoSect__txt:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .infoSect__txt {
    font-size: 1.8rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__txt {
    font-size: 1.4rem;
    letter-spacing: .02em
  }
}
@media screen and (min-width:768px) {
  .infoSect__txt + .buttonWrap {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__txt + .buttonWrap {
    margin-top: 3.2rem
  }
}
@media screen and (min-width:768px) {
  .buttonWrap + .infoSect__txt {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .buttonWrap + .infoSect__txt {
    margin-top: 3.2rem
  }
}
.infoSect__holiday {
  color: #c60000;
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 1.75
}
.infoSect__holiday:before {
  content: "";
  margin-top: -.375em
}
.infoSect__holiday:after {
  margin-bottom: -.375em
}
.infoSect__holiday:after, .infoSect__holiday:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .infoSect__holiday {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    margin-top: 2rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__holiday {
    font-size: 1.4rem;
    letter-spacing: .02em;
    margin-bottom: 2rem;
    margin-top: 2rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__txt + .infoSect__holiday {
    margin-top: 2rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__txt + .infoSect__holiday {
    margin-top: 1.2rem
  }
}
@media screen and (min-width:768px) {
  .infoSect__holiday + .buttonWrap {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__holiday + .buttonWrap {
    margin-top: 3.2rem
  }
}
.infoSect__caption {
  letter-spacing: .06em;
  margin: 3.2rem auto 0;
  text-align: left
}
@media screen and (min-width:768px) {
  .infoSect__caption {
    width: 32.4rem
  }
  .infoSect__caption + .buttonWrap {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .infoSect__caption + .buttonWrap {
    margin-top: 3.2rem
  }
}
.infoSect__bg {
  background-color: #fff;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}
.infoSect .buttonWrap {
  display: flex;
  justify-content: center
}
@media screen and (min-width:768px) {
  .infoSect .buttonWrap {
    gap: 3rem
  }
}
@media screen and (max-width:768px) {
  .infoSect .buttonWrap {
    flex-direction: column;
    gap: 2rem
  }
}
.mainVisual {
  clip-path: inset(0);
  overflow: hidden;
  position: relative;
  z-index: 1
}
@media screen and (min-width:768px) {
  .mainVisual {
    height: 100vh
  }
}
@media screen and (max-width:768px) {
  .mainVisual {
    height: 100vw
  }
}
.mainVisual__videoWrapper {
  backface-visibility: hidden;
  left: 0;
  position: fixed;
  top: 0;
  transform: translateZ(0);
  width: 100%;
  will-change: transform;
  z-index: 2
}
@media screen and (min-width:768px) {
  .mainVisual__videoWrapper {
    height: 100vh
  }
}
@media screen and (max-width:768px) {
  .mainVisual__videoWrapper {
    height: calc(100% - var(--header-height, 8rem));
    top: var(--header-height, 8rem)
  }
}
.mainVisual__video {
  height: 100vh;
  object-fit: cover;
  object-position: center center;
  width: 100%
}
@media screen and (max-width:768px) {
  .mainVisual__video {
    height: 100vw
  }
}
.mainVisual__heading {
  color: #fff;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity .4s ease, filter .4s ease;
  white-space: nowrap;
  will-change: opacity, filter;
  z-index: 2
}
@media screen and (min-width:768px) {
  .mainVisual__heading {
    font-size: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .mainVisual__heading {
    font-size: 2.2rem
  }
}
.mainVisual .caption {
  bottom: 0;
  color: #fff;
  padding: 1rem;
  position: absolute;
  right: 0;
  z-index: 2
}
.mainVisual__video--hidden {
  visibility: hidden
}
.voiceCard {
  background: #fff;
  box-shadow: 0 0 10px #00000040;
  display: flex;
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif
}
@media screen and (min-width:768px) {
  .voiceCard {
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding: 4rem;
    width: 120rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard {
    flex-direction: column;
    gap: 2.4rem;
    padding: 4rem 2.5rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__head {
    width: 34rem
  }
}
.voiceCard__head .heading {
  font-weight: 700;
  line-height: 1.5
}
.voiceCard__head .heading:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__head .heading:after {
  margin-bottom: -.25em
}
.voiceCard__head .heading:after, .voiceCard__head .heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__head .heading {
    font-size: 2rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__head .heading {
    font-size: 1.6rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__head .heading + .txt {
    margin-top: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__head .heading + .txt {
    margin-top: 2.4rem
  }
}
.voiceCard__head .txt {
  line-height: 1.5
}
.voiceCard__head .txt:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__head .txt:after {
  margin-bottom: -.25em
}
.voiceCard__head .txt:after, .voiceCard__head .txt:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__head .txt {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__head .txt {
    font-size: 1.3rem
  }
}
.voiceCard__box {
  align-items: center;
  display: flex;
  justify-content: space-between
}
@media screen and (min-width:768px) {
  .voiceCard__box {
    gap: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__box {
    gap: 2.7rem
  }
}
.voiceCard__box .txt {
  color: #2b883a;
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  font-weight: 700;
  letter-spacing: .01rem
}
@media screen and (min-width:768px) {
  .voiceCard__box .txt {
    font-size: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__box .txt {
    font-size: 2.2rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__box + .txt {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__box + .txt {
    margin-top: 2rem
  }
}
.voiceCard__num {
  align-items: center;
  border-radius: 1000rem;
  color: #fff;
  display: flex;
  flex-shrink: 0;
  font-family: EB Garamond, serif;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  z-index: 2
}
@media screen and (min-width:768px) {
  .voiceCard__num {
    font-size: 5.4rem;
    height: 8rem;
    width: 8rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__num {
    font-size: 4rem;
    height: 5.6rem;
    width: 5.6rem
  }
}
.voiceCard__num:before {
  background-color: #478643;
  height: 100%;
  width: 100%;
  z-index: -1
}
.voiceCard__num:after, .voiceCard__num:before {
  border-radius: 1000rem;
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%)
}
.voiceCard__num:after {
  background-color: #8eb58c;
  z-index: -2
}
@media screen and (min-width:768px) {
  .voiceCard__num:after {
    height: 10rem;
    width: 10rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__num:after {
    height: 7.6rem;
    width: 7.6rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__img {
    width: 34rem
  }
}
.voiceCard__img .photo {
  width: 100%
}
.voiceCard__cont {
  border-top: .1rem solid #2b883a
}
@media screen and (min-width:768px) {
  .voiceCard__cont {
    padding-top: 4rem;
    width: 34rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__cont {
    padding-top: 2.4rem
  }
}
.voiceCard__icon {
  flex-shrink: 0
}
@media screen and (min-width:768px) {
  .voiceCard__icon {
    height: 3rem;
    width: 2.3rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__icon {
    height: 3rem;
    width: 2.3rem
  }
}
.voiceCard__icon svg {
  height: 100%;
  width: 100%
}
.voiceCard__thumbsUp {
  align-items: center;
  display: flex
}
@media screen and (min-width:768px) {
  .voiceCard__thumbsUp {
    gap: 1.2rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__thumbsUp {
    gap: 1.2rem
  }
}
.voiceCard__thumbsUp .heading {
  font-weight: 700;
  letter-spacing: .01rem;
  line-height: 1.5
}
.voiceCard__thumbsUp .heading:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__thumbsUp .heading:after {
  margin-bottom: -.25em
}
.voiceCard__thumbsUp .heading:after, .voiceCard__thumbsUp .heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__thumbsUp .heading {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__thumbsUp .heading {
    font-size: 1.4rem
  }
}
.voiceCard__thumbsUp .heading + .age {
  margin-top: .4rem
}
.voiceCard__thumbsUp .age {
  font-weight: 500;
  line-height: 1.5
}
.voiceCard__thumbsUp .age:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__thumbsUp .age:after {
  margin-bottom: -.25em
}
.voiceCard__thumbsUp .age:after, .voiceCard__thumbsUp .age:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__thumbsUp .age {
    font-size: 1.2rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__thumbsUp .age {
    font-size: 1rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__thumbsUp + .voiceCard__txt {
    margin-top: 2.8rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__thumbsUp + .voiceCard__txt {
    margin-top: 2.8rem
  }
}
.voiceCard__txt {
  line-height: 1.5
}
.voiceCard__txt:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__txt:after {
  margin-bottom: -.25em
}
.voiceCard__txt:after, .voiceCard__txt:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__txt {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__txt {
    font-size: 1.3rem
  }
}
.voiceCard__link {
  align-items: center;
  border: .1rem solid #2b883a;
  border-radius: 3.2rem;
  display: flex;
  justify-content: center;
  position: relative;
  transition: all .3s ease;
  width: 100%
}
@media screen and (min-width:768px) {
  .voiceCard__link {
    height: 4.8rem;
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__link {
    height: 4.8rem;
    margin-top: 2.4rem
  }
}
@media screen and (min-width:768px) {
  .voiceCard__link:hover {
    background-color: #2b883a
  }
  .voiceCard__link:hover .inner {
    color: #fff
  }
  .voiceCard__link:hover .arrow circle {
    fill: #fff
  }
  .voiceCard__link:hover .arrow path {
    stroke: #2b883a
  }
}
@media (hover:hover) and (pointer:fine) {
  .voiceCard__link:hover {
    background-color: #2b883a
  }
  .voiceCard__link:hover .inner {
    color: #fff
  }
  .voiceCard__link:hover .arrow circle {
    fill: #fff
  }
  .voiceCard__link:hover .arrow path {
    stroke: #2b883a
  }
}
.voiceCard__link .inner {
  color: #2b883a;
  font-weight: 700;
  line-height: 1.5;
  transition: all .3s ease
}
.voiceCard__link .inner:before {
  content: "";
  margin-top: -.25em
}
.voiceCard__link .inner:after {
  margin-bottom: -.25em
}
.voiceCard__link .inner:after, .voiceCard__link .inner:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceCard__link .inner {
    font-size: 1.4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard__link .inner {
    font-size: 1.4rem
  }
}
.voiceCard__link .arrow {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  height: 2.8rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s ease;
  width: 2.8rem
}
.voiceCard__link .arrow svg {
  height: 100%;
  transition: all .3s ease;
  width: 100%
}
.voiceCard__link .arrow svg circle, .voiceCard__link .arrow svg path {
  transition: all .3s ease
}
@media screen and (min-width:768px) {
  .voiceCard + .voiceCard {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .voiceCard + .voiceCard {
    margin-top: 3.2rem
  }
}
.voiceSect {
  overflow: visible
}
@media screen and (min-width:768px) {
  .voiceSect {
    margin: auto;
    max-width: 100%;
    padding-bottom: 8.4rem;
    width: 100%
  }
}
@media screen and (max-width:768px) {
  .voiceSect {
    margin-top: 3rem;
    padding-bottom: 2.4rem
  }
}
.voiceSect__head {
  background-color: #2b883a;
  color: #fff;
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  text-align: center
}
@media screen and (min-width:768px) {
  .voiceSect__head {
    margin: 0 auto;
    max-width: 120rem;
    padding: 3rem 0
  }
}
@media screen and (max-width:768px) {
  .voiceSect__head {
    padding: 4rem 0
  }
}
.voiceSect__head .heading {
  font-weight: 700;
  line-height: 1.3;
  text-align: center
}
.voiceSect__head .heading:before {
  content: "";
  margin-top: -.15em
}
.voiceSect__head .heading:after {
  margin-bottom: -.15em
}
.voiceSect__head .heading:after, .voiceSect__head .heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceSect__head .heading {
    font-size: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .voiceSect__head .heading {
    font-size: 3rem;
    padding: 0 1.8rem
  }
}
@media screen and (min-width:768px) {
  .voiceSect__head .heading + .txt {
    margin-top: 2rem
  }
}
@media screen and (max-width:768px) {
  .voiceSect__head .heading + .txt {
    margin-top: 2rem
  }
}
.voiceSect__head .txt {
  line-height: 1.3
}
.voiceSect__head .txt:before {
  content: "";
  margin-top: -.15em
}
.voiceSect__head .txt:after {
  margin-bottom: -.15em
}
.voiceSect__head .txt:after, .voiceSect__head .txt:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .voiceSect__head .txt {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .voiceSect__head .txt {
    font-size: 2rem;
    padding: 0 3.8rem
  }
}
.voiceSect__slider {
  position: relative
}
@media screen and (min-width:768px) {
  .voiceSect__slider {
    margin-top: 4rem;
    overflow: visible;
    padding-bottom: 1.5rem
  }
}
@media screen and (max-width:768px) {
  .voiceSect__slider {
    margin-top: 3.2rem;
    overflow: hidden;
    padding: 1.5rem 0
  }
}
@media screen and (min-width:768px) {
  .voiceSwiper {
    overflow: visible !important
  }
}
@media screen and (max-width:768px) {
  .voiceSwiper {
    overflow: hidden !important;
    padding: 0 2rem
  }
}
.voiceSwiper .swiper-wrapper {
  align-items: stretch
}
@media screen and (min-width:768px) {
  .voiceSwiper .swiper-wrapper {
    overflow: visible !important
  }
}
.voiceSwiper .swiper-slide {
  height: auto;
  padding: 1.5rem 0;
  width: auto
}
@media screen and (min-width:768px) {
  .voiceSwiper .swiper-slide {
    max-width: 120rem;
    overflow: visible !important
  }
}
@media screen and (max-width:768px) {
  .voiceSwiper .swiper-slide {
    max-width: calc(100vw - 6rem);
    width: calc(100vw - 6rem)
  }
}
.voiceSwiper .voiceCard {
  height: 100%;
  margin: 0
}
.voiceSwiper .voiceCard + .voiceCard {
  margin-top: 0
}
.voiceSwiper__next, .voiceSwiper__prev {
  align-items: center;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .3s ease;
  z-index: 10
}
@media screen and (min-width:768px) {
  .voiceSwiper__next, .voiceSwiper__prev {
    height: 7.4rem;
    width: 4.2rem
  }
}
@media screen and (max-width:768px) {
  .voiceSwiper__next, .voiceSwiper__prev {
    height: 7.2rem;
    width: 4.2rem
  }
}
.voiceSwiper__next svg, .voiceSwiper__prev svg {
  height: 100%;
  width: 100%
}
@media screen and (min-width:768px) {
  .voiceSwiper__next:hover, .voiceSwiper__prev:hover {
    opacity: .8
  }
}
@media (hover:hover) and (pointer:fine) {
  .voiceSwiper__next:hover, .voiceSwiper__prev:hover {
    opacity: .8
  }
}
.voiceSwiper__next.swiper-button-disabled, .voiceSwiper__prev.swiper-button-disabled {
  cursor: not-allowed;
  opacity: .3
}
@media screen and (min-width:768px) {
  .voiceSwiper__prev {
    left: 6.5rem
  }
}
@media screen and (max-width:768px) {
  .voiceSwiper__prev {
    left: 0
  }
}
@media screen and (min-width:768px) {
  .voiceSwiper__next {
    right: 6.5rem
  }
}
@media screen and (max-width:768px) {
  .voiceSwiper__next {
    right: 0
  }
}
@media screen and (min-width:768px) {
  .dataSect {
    margin: 0 auto;
    max-width: 120rem;
    padding: 0 0 8rem;
    width: 100%
  }
}
@media screen and (max-width:768px) {
  .dataSect {
    padding: 4rem 3.2rem
  }
}
.dataSect__head {
  background-color: #2b883a;
  color: #fff;
  font-family: yakuhanmp, Shippori Mincho, YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  text-align: center
}
@media screen and (min-width:768px) {
  .dataSect__head {
    margin-inline: auto;
    max-width: 88.6rem;
    padding: 2rem 0
  }
}
@media screen and (max-width:768px) {
  .dataSect__head {
    padding: 1.6rem 0
  }
}
.dataSect__head .heading {
  line-height: 1.5;
  text-align: center
}
.dataSect__head .heading:before {
  content: "";
  margin-top: -.25em
}
.dataSect__head .heading:after {
  margin-bottom: -.25em
}
.dataSect__head .heading:after, .dataSect__head .heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .dataSect__head .heading {
    font-size: 1.8rem
  }
}
@media screen and (max-width:768px) {
  .dataSect__head .heading {
    font-size: 1.4rem
  }
}
@media screen and (min-width:768px) {
  .dataSect__body {
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .dataSect__body {
    margin-top: 3rem
  }
}
.dataSect__body picture {
  display: block;
  margin: 0 auto
}
@media screen and (min-width:768px) {
  .dataSect__body picture {
    max-width: 88.6rem
  }
}
.dataSect__body picture img {
  height: auto;
  width: 100%
}
.conceptSect {
  color: #fff;
  padding-top: 16rem;
  position: relative;
  text-align: center;
  z-index: 1
}
.conceptSect:before {
  background-color: #375928;
  content: "";
  z-index: -2
}
.conceptSect:before, .conceptSect__bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}
.conceptSect__bg {
  z-index: -1
}
.conceptSect__ttl {
  display: block;
  margin: 0 auto
}
@media screen and (max-width:768px) {
  .conceptSect__ttl {
    width: 3.2rem
  }
}
.conceptSect__heading {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 1.5
}
.conceptSect__heading:before {
  content: "";
  margin-top: -.25em
}
.conceptSect__heading:after {
  margin-bottom: -.25em
}
.conceptSect__heading:after, .conceptSect__heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .conceptSect__heading {
    font-size: 3.6rem;
    margin-top: 12rem
  }
}
@media screen and (max-width:768px) {
  .conceptSect__heading {
    font-size: 2.4rem;
    margin-top: 8rem
  }
}
.conceptSect__txt {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  letter-spacing: .02em
}
@media screen and (min-width:768px) {
  .conceptSect__txt {
    font-size: 1.6rem;
    line-height: 2.8;
    margin-top: 5.6rem
  }
  .conceptSect__txt:before {
    content: "";
    margin-top: -.9em
  }
  .conceptSect__txt:after {
    margin-bottom: -.9em
  }
  .conceptSect__txt:after, .conceptSect__txt:before {
    content: "";
    display: block;
    height: 0;
    width: 0
  }
}
@media screen and (max-width:768px) {
  .conceptSect__txt {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 4rem
  }
  .conceptSect__txt:before {
    content: "";
    margin-top: -.5em
  }
  .conceptSect__txt:after {
    margin-bottom: -.5em
  }
  .conceptSect__txt:after, .conceptSect__txt:before {
    content: "";
    display: block;
    height: 0;
    width: 0
  }
}
.conceptSect__summary {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  line-height: 2
}
.conceptSect__summary:before {
  content: "";
  margin-top: -.5em
}
.conceptSect__summary:after {
  margin-bottom: -.5em
}
.conceptSect__summary:after, .conceptSect__summary:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .conceptSect__summary {
    font-size: 3.6rem;
    margin-top: 8rem
  }
}
@media screen and (max-width:768px) {
  .conceptSect__summary {
    font-size: 2.4rem;
    margin-top: 5.6rem
  }
}
@media screen and (min-width:768px) {
  .conceptSect__perth {
    margin-top: 12rem
  }
}
@media screen and (max-width:768px) {
  .conceptSect__perth {
    margin-top: 8rem
  }
}
.locationSect {
  display: flex;
  justify-content: flex-start;
  position: relative
}
@media screen and (min-width:768px) {
  .locationSect {
    align-items: flex-end;
    gap: 15.7rem;
    padding: 20rem 0
  }
}
@media screen and (max-width:768px) {
  .locationSect {
    flex-direction: column;
    gap: 4rem;
    padding: 12rem 0 10.4rem
  }
  .locationSect__visual {
    position: relative
  }
}
@media screen and (min-width:768px) {
  .locationSect__visual .parallaxPhoto--main {
    width: 69.2rem
  }
}
@media screen and (max-width:768px) {
  .locationSect__visual .parallaxPhoto--main {
    width: 35.8rem
  }
}
.locationSect__visual .parallaxPhoto--sub {
  position: absolute;
  right: 0
}
@media screen and (min-width:768px) {
  .locationSect__visual .parallaxPhoto--sub {
    top: 20rem;
    width: 37.8rem
  }
}
@media screen and (max-width:768px) {
  .locationSect__visual .parallaxPhoto--sub {
    top: calc(100% - 8.5rem);
    width: 11.9rem
  }
}
@media screen and (min-width:768px) {
  .locationSect__visual .parallaxPhoto--sub2 {
    margin-left: 43.3rem;
    margin-top: -26.7rem;
    width: 34.3rem
  }
}
@media screen and (max-width:768px) {
  .locationSect__visual .parallaxPhoto--sub2 {
    left: 0;
    position: absolute;
    top: calc(100% - 12.4rem);
    width: 14.8rem
  }
}
.locationSect .caption + .button, .locationSect .text + .button {
  margin-left: auto;
  margin-top: 2rem
}
.locationSect .subFeature__txt + .button {
  margin-left: auto;
  margin-top: 4rem
}
.videoModal {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity .3s ease, visibility .3s ease;
  visibility: hidden;
  width: 100%;
  z-index: 10000
}
.videoModal[aria-hidden=false] {
  opacity: 1;
  visibility: visible
}
.videoModal__overlay {
  backdrop-filter: blur(2px);
  background-color: #000c;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1
}
.videoModal__content {
  background-color: transparent;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 2
}
.videoModal__close {
  align-items: center;
  background: none;
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: .8rem;
  position: absolute;
  right: 2rem;
  top: 2rem;
  transition: background-color .2s ease;
  z-index: 2
}
.videoModal__close:hover {
  background-color: #ffffff1a
}
.videoModal__close:focus {
  outline: 2px solid #fff;
  outline-offset: 2px
}
@media screen and (min-width:768px) {
  .videoModal__close {
    right: 4rem;
    top: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .videoModal__close {
    right: 2rem;
    top: 1.6rem
  }
}
.videoModal__close svg {
  height: 2.4rem;
  width: 2.4rem
}
.videoModal__body {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  padding: 2rem
}
@media screen and (min-width:768px) {
  .videoModal__body {
    padding: 4rem
  }
}
@media screen and (max-width:768px) {
  .videoModal__body {
    padding: 1rem
  }
}
.videoModal__videoWrapper {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 2rem;
  width: 100%
}
@media screen and (min-width:768px) {
  .videoModal__videoWrapper {
    max-height: 67.5rem;
    max-width: 120rem;
    padding: 4rem
  }
}
@media screen and (max-width:768px) {
  .videoModal__videoWrapper {
    max-height: calc(100vh - 12rem);
    max-width: calc(100vw - 4rem);
    padding: 1rem
  }
}
.videoModal__video {
  aspect-ratio: 16/9;
  border: none;
  border-radius: .8rem;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: 100%
}
body:has(.videoModal[aria-hidden=false]) {
  overflow: hidden
}
@media screen and (min-width:768px) {
  .bannerSect {
    padding-bottom: 12rem
  }
}
@media screen and (max-width:768px) {
  .bannerSect {
    padding-bottom: 8rem
  }
}
.galleryBanner {
  background: #fff;
  /*border: 2px solid #375928;*/
	border-top: 1px solid #375928;
	border-bottom: 1px solid #375928;
  display: block;
  text-decoration: none;
  transition: opacity .2s ease
}
@media screen and (min-width:768px) {
  .galleryBanner {
    margin-inline: auto;
    max-width: 88.6rem;
    padding: 8rem 10rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner {
    padding: 5.6rem 0
  }
}
@media screen and (min-width:768px) {
  .galleryBanner:hover {
    opacity: .8
  }
}
@media (hover:hover) and (pointer:fine) {
  .galleryBanner:hover {
    opacity: .8
  }
}
@media screen and (min-width:768px) {
  .galleryBanner + * {
    margin-top: 8rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner + * {
    margin-top: 6.4rem
  }
}
.galleryBanner__head {
  margin-inline: auto
}
@media screen and (min-width:768px) {
  .galleryBanner__head + * {
    margin-top: 5.6rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__head + * {
    margin-top: 4rem
  }
}
.galleryBanner__heading {
  color: #212121;
  font-family: EB Garamond, serif;
  font-weight: 400;
  line-height: 1;
  text-align: center
}
.galleryBanner__heading:before {
  content: "";
  margin-top: 0
}
.galleryBanner__heading:after {
  margin-bottom: 0
}
.galleryBanner__heading:after, .galleryBanner__heading:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .galleryBanner__heading {
    font-size: 4rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__heading {
    font-size: 3.2rem
  }
}
@media screen and (min-width:768px) {
  .galleryBanner__heading + * {
    margin-top: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__heading + * {
    margin-top: 1.6rem
  }
}
.galleryBanner__desc {
  color: #212121;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  font-weight: 400;
  line-height: 1;
  text-align: center
}
.galleryBanner__desc:before {
  content: "";
  margin-top: 0
}
.galleryBanner__desc:after {
  margin-bottom: 0
}
.galleryBanner__desc:after, .galleryBanner__desc:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .galleryBanner__desc {
    font-size: 1.4rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__desc {
    font-size: 1.2rem
  }
}
.galleryBanner__photo {
  width: 100%
}
@media screen and (min-width:768px) {
  .galleryBanner__photo + * {
    margin-top: 5.6rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__photo + * {
    margin-top: 4rem
  }
}
.galleryBanner__image {
  margin-inline: auto
}
@media screen and (min-width:768px) {
  .galleryBanner__image {
    max-width: 50rem
  }
}
@media screen and (max-width:768px) {
  .galleryBanner__image {
    max-width: 32.6rem
  }
}
.movieBanner {
  align-items: center;
  background: linear-gradient(71deg, #f6ddb0, #fff6e4 18%, #fff 30%, #f8e7c3 75%, #f5d7a6 85%, #fff);
  /*border: 2px solid #940000;*/
  display: flex;
  flex-direction: column;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  font-feature-settings: "palt"on;
  text-align: center
}
@media screen and (min-width:768px) {
  .movieBanner {
    gap: 6.4rem;
    margin-inline: auto;
    padding: 8rem 0;
    width: 88.6rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner {
    gap: 3.2rem;
    padding: 4rem 0;
    width: 100%
  }
}
.movieBanner__head {
  display: flex;
  flex-direction: column
}
@media screen and (min-width:768px) {
  .movieBanner__head {
    gap: 3.2rem;
    width: calc(100% - 16rem)
  }
}
@media screen and (max-width:768px) {
  .movieBanner__head {
    gap: 2.4rem;
    width: calc(100% - 5.2rem)
  }
}
.movieBanner__heading {
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.5
}
@media screen and (min-width:768px) {
  .movieBanner__heading {
    font-size: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__heading {
    font-size: 2.4rem
  }
}
.movieBanner__desc {
  letter-spacing: .04em;
  line-height: 2
}
@media screen and (min-width:768px) {
  .movieBanner__desc {
    font-size: 1.6rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__desc {
    font-size: 1.4rem
  }
}
.movieBanner__desc:before {
  background: #940000;
  content: "";
  display: block;
  height: 1px;
  width: 100%
}
@media screen and (min-width:768px) {
  .movieBanner__desc:before {
    margin-bottom: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__desc:before {
    margin-bottom: 2.4rem
  }
}
.movieBanner__cont {
  display: flex;
  gap: 4rem
}
@media screen and (min-width:768px) {
  .movieBanner__cont {
    justify-content: center
  }
}
@media screen and (max-width:768px) {
  .movieBanner__cont {
    align-items: center;
    flex-direction: column;
    width: calc(100% - 5.2rem)
  }
}
.movieBanner__item {
  align-items: center;
  display: flex;
  flex-direction: column
}
@media screen and (min-width:768px) {
  .movieBanner__item {
    gap: 2rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__item {
    gap: 1.2rem
  }
}
.movieBanner__thumb {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  position: relative;
  transition: transform .2s ease
}
.movieBanner__thumb:hover {
  transform: scale(1.02)
}
.movieBanner__thumb:focus {
  outline: 2px solid #940000;
  outline-offset: 4px
}
@media screen and (min-width:768px) {
  .movieBanner__thumb {
    width: 36rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__thumb {
    width: 100%
  }
}
.movieBanner__thumbIcon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1
}
@media screen and (min-width:768px) {
  .movieBanner__thumbIcon {
    width: 8rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__thumbIcon {
    width: 6.4rem
  }
}
.movieBanner .photo {
  filter: brightness(.8)
}
.movieBanner__ttl {
  display: flex;
  font-weight: 500;
  justify-content: space-between;
  width: 100%
}
@media screen and (min-width:768px) {
  .movieBanner__ttl .name, .movieBanner__ttl .version {
    font-size: 2rem
  }
}
@media screen and (max-width:768px) {
  .movieBanner__ttl .name, .movieBanner__ttl .version {
    font-size: 1.8rem
  }
}
.accessSect {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  position: relative
}
.accessSect:before {
  background: #a19575;
  content: "";
  height: 100%;
  left: 0;
  opacity: .1;
  position: absolute;
  top: 0;
  width: calc(100% - 3.2rem)
}
@media screen and (min-width:768px) {
  .accessSect {
    align-items: center;
    gap: 8rem;
    margin-right: 12rem;
    padding: 16rem 0
  }
}
@media screen and (max-width:768px) {
  .accessSect {
    flex-direction: column;
    gap: 4rem;
    padding: 12rem 0 10.4rem
  }
}
.accessSect .stationGallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}
@media screen and (min-width:768px) {
  .accessSect .stationGallery {
    width: 69.2rem
  }
}
@media screen and (max-width:768px) {
  .accessSect .stationGallery {
    align-self: end;
    width: 35.8rem
  }
}
.accessSect .stationGallery__item {
  position: relative
}
.accessSect .stationGallery__ttl {
  color: #fff;
  font-family: EB Garamond, serif;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 10
}
@media screen and (min-width:768px) {
  .accessSect .stationGallery__ttl {
    font-size: 3.2rem
  }
}
@media screen and (max-width:768px) {
  .accessSect .stationGallery__ttl {
    font-size: 1.6rem
  }
}
.accessSect .caption + .button, .accessSect .text + .button {
  margin-left: auto;
  margin-top: 2rem
}
.accessSect .subFeature__txt + .button {
  margin-left: auto;
  margin-top: 4rem
}
.subFeature {
  margin: 0 auto;
  text-align: left;
  z-index: 1
}
@media screen and (min-width:768px) {
  .subFeature {
    margin-top: 8rem;
    width: 37rem
  }
}
@media screen and (max-width:768px) {
  .subFeature {
    margin-top: 4rem;
    width: 27rem
  }
}
.subFeature__txt {
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif;
  font-weight: 500;
  line-height: 1.5;
  text-align: left
}
.subFeature__txt:before {
  content: "";
  margin-top: -.25em
}
.subFeature__txt:after {
  margin-bottom: -.25em
}
.subFeature__txt:after, .subFeature__txt:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}
@media screen and (min-width:768px) {
  .subFeature__txt {
    font-size: 2rem
  }
}
@media screen and (max-width:768px) {
  .subFeature__txt {
    font-size: 1.6rem
  }
}
@media screen and (min-width:768px) {
  .heading + .subFeature__txt {
    margin-top: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .heading + .subFeature__txt {
    margin-top: 2rem
  }
}
@media screen and (min-width:768px) {
  .subFeature__txt .small {
    font-size: 1.2rem
  }
}
@media screen and (max-width:768px) {
  .subFeature__txt .small {
    font-size: 1rem
  }
}
.subFeature__txt + .caption {
  margin-top: 2.4rem
}
.subFeature .caption, .subFeature .heading {
  text-align: left
}
.carousel {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%
}
.carousel__track {
  animation: carousel 30s linear infinite;
  display: flex;
  height: 100%;
  width: 300%
}
.carousel__slide {
  flex-shrink: 0;
  height: 100%;
  width: 100%
}
@keyframes carousel {
  0% {
    transform: translate(0)
  }
  to {
    transform: translate(-66.666%)
  }
}
.roomplanSect {
  position: relative
}
@media screen and (min-width:768px) {
  .roomplanSect {
    align-items: flex-end;
    gap: 15.7rem;
    padding: 16rem 0
  }
}
@media screen and (max-width:768px) {
  .roomplanSect {
    flex-direction: column;
    gap: 4rem;
    padding: 10.4rem 0 12rem
  }
  .roomplanSect__visual {
    position: relative
  }
}
.roomplanSect .subFeature {
  margin: 0 auto
}
@media screen and (min-width:768px) {
  .roomplanSect .subFeature {
    margin-top: 8rem;
    width: fit-content
  }
}
@media screen and (max-width:768px) {
  .roomplanSect .subFeature {
    margin-top: 4rem
  }
}
.roomplanSect .subFeature .caption, .roomplanSect .subFeature .heading, .roomplanSect .subFeature__txt {
  text-align: center
}
.roomplanSect .subFeature .caption {
  color: #212121;
  font-family: yakuhanmp, "Noto Serif JP", YuMincho, 游明朝体, Yu Mincho, ヒラギノ明朝 ProN W3, Hiragino Mincho ProN, HG明朝E, ＭＳ Ｐ明朝, MS PMincho, ＭＳ 明朝, serif
}
@media screen and (min-width:768px) {
  .roomplanSect .subFeature .caption {
    font-size: 1.4rem
  }
}
@media screen and (max-width:768px) {
  .roomplanSect .subFeature .caption {
    font-size: 1.2rem
  }
}
.roomplanSect .caption + .viewMore {
  display: flex;
  justify-content: center;
  margin-top: 2rem
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea {
    background-color: transparent
  }
}
.roomplanSect__planArea .planArea:after, .roomplanSect__planArea .planArea:before {
  display: none
}
@media screen and (min-width:768px) {
  .roomplanSect__planArea .planArea .featureList {
    margin-top: 2.4rem
  }
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .featureList {
    display: none
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg {
    display: grid;
    gap: 0 1rem;
    grid-template: "ttl img"1fr "txt txt"1fr/auto 6.4rem;
    left: unset;
    padding: 0;
    place-content: center;
    position: absolute;
    right: 0;
    width: 15.9rem
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg:before {
    display: none
  }
}
@media screen and (max-width:768px) and (max-width:768px) {
  .roomplanSect__planArea .planArea .featureList__item--hasImg .featureList__ttl {
    font-size: 1.4rem;
    margin-bottom: auto;
    margin-top: auto
  }
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .featureList__item--hasImg .txt {
    margin-top: 1.6rem
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg .txt br {
    display: none
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg .image {
    width: 6.4rem
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg:nth-child(3) {
    bottom: 12rem;
    right: 0
  }
  .roomplanSect__planArea .planArea .featureList__item--hasImg:nth-child(4) {
    bottom: -5rem;
    right: 0
  }
}
.roomplanSect__planArea .planArea .planInfo {
  padding: 0
}
@media screen and (min-width:768px) {
  .roomplanSect__planArea .planArea .planInfo {
    justify-content: center;
    margin-top: 4rem
  }
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .planInfo {
    margin-top: 5.2rem
  }
  .roomplanSect__planArea .planArea .planInfo__head .legendGroup {
    display: none
  }
}
@media screen and (min-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__head .legendGroup {
    display: none
  }
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__head + .planInfo__body {
    margin-top: 2.4rem
  }
}
@media screen and (min-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__body {
    padding-bottom: 8rem
  }
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__body {
    overflow: hidden;
    padding-bottom: 3.2rem
  }
}
.roomplanSect__planArea .planArea .planInfo__body .planInfo__container {
  justify-content: center
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__body .planInfo__container {
    width: 100%
  }
}
.roomplanSect__planArea .planArea .planInfo__body .planInfo__inner {
  display: none
}
@media screen and (max-width:768px) {
  .roomplanSect__planArea .planArea .planInfo__body .planInfo__scrollIcon {
    display: none
  }
}
.roomplanSect__planArea + .button {
  margin: 4rem auto 0
}
.fixedBG {
  height: 100vh;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -1
}
.fixedBG img, .fixedBG picture {
  height: 100%;
  width: 100%
}
.fixedBG img {
  object-fit: cover
}
:root {
  --header-height: 8rem
}
@media (max-width:767px) {
  :root {
    --header-height: 6.4rem
  }
}
.floatBnr {
  position: fixed;
  right: 0;
  transition: opacity .5s ease;
  z-index: 100
}
@media screen and (min-width:768px) {
  .floatBnr {
    bottom: 30px;
    right: 20px;
    width: 40rem
  }
}
@media screen and (max-width:768px) {
  .floatBnr {
    bottom: 5rem;
    right: 0;
    width: 34rem
  }
}
.floatBnr.is-hidden {
  opacity: 0;
  pointer-events: none
}
@media screen and (max-width:768px) {
  .floatBnr--pcOnly {
    bottom: unset;
    left: unset;
    margin: 0 auto;
    position: relative;
    right: unset;
    top: unset
  }
}
.floatBnr--pcOnly .floatBnr___btn {
  display: none
}
.floatBnr__btn {
  cursor: pointer;
  height: 2.4rem;
  position: absolute;
  right: 0;
  top: 0;
  width: 2.4rem;
  z-index: 2
}
.floatBnr__inner, .floatBnr__inner .photo {
  width: 100%
}
