@charset "utf-8";
.common__container, .common__container--small {
  box-sizing: content-box;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .common__container, .common__container--small {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.common__container--small {
  max-width: 840px;
}

[v-cloak] {
  display: none;
}

body::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  body::before {
    background-image: url(/alcohol/rtd/hyoketsu/ice-magic/images/pc/20250725/index-bg.jpg);
  }
}
@media screen and (max-width: 768px) {
  body::before {
    background-image: url(/alcohol/rtd/hyoketsu/ice-magic/images/sp/20250725/index-bg.jpg);
  }
}
body.fixed {
  overflow: hidden;
  touch-action: none;
}
@media screen and (min-width: 769px) {
  body.fixed {
    padding-right: 15px;
  }
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.str-main {
  overflow-y: hidden;
}

.common {
  position: relative;
}
.common__contents {
  width: 100%;
}
.common__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.common__container--small {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .common__container--small {
    width: 89.3333333333vw;
  }
}
.common .innerlink-target {
  position: absolute;
  width: 1px;
  height: 200px;
  top: -200px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .common .innerlink-target {
    height: 150px;
    top: -150px;
  }
}
.common picture {
  display: block;
}
.common img {
  display: block;
}
@media screen and (max-width: 768px) {
  .common img {
    width: 100%;
  }
}
.common__container--white {
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .common__container--white {
    padding-top: 50px;
  }
}

a {
  transition: opacity 0.3s;
}
a:hover {
  text-decoration: none;
  cursor: pointer;
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

.mod-link-text {
  /* /assets/css/common.cssから移植 */
  vertical-align: top;
  color: #333;
  position: relative;
  display: inline-block;
  margin-bottom: 0px;
  padding-left: 22px;
}

.mod-link-text::before {
  background-image: url(/assets/images/icon-arrow-02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 14px;
  height: 14px;
  content: "";
  transition: transform 0.2s ease-in-out;
}

@media screen and (min-width: 769px) {
  .mod-link-text {
    padding-left: 24px;
  }
  .mod-link-text::before {
    top: 3px;
    width: 16px;
    height: 16px;
  }
  .mod-link-text:active::before,
  .mod-link-text:focus::before,
  .mod-link-text:hover::before {
    transform: translate3d(4px, 0, 0);
  }
}
/**
 * ----------------------------------------
 * Vue.js animation
 * ----------------------------------------
 */
.fade-enter-active {
  transition: opacity 1s;
}
.fade-leave-active {
  transition: opacity 1s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

.js-modal {
  position: relative;
}
.js-modal__bg {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  z-index: 9001;
}
.js-modal__trigger {
  transition: opacity 0.3s;
  position: relative;
  z-index: 100;
}
.js-modal__trigger:hover {
  opacity: 0.7;
  cursor: pointer;
}
.js-modal__close {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 10px;
}
.js-modal__close img {
  width: 20px;
  height: 20px;
}
.js-modal__target {
  position: fixed;
  max-width: 80vw;
  max-height: 90vh;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9002;
  overflow: hidden;
}
.js-modal__target-enter-active {
  transition: all 0.5s ease-in-out;
}
.js-modal__target-leave-active {
  transition: all 0.5s ease-in-out;
}
.js-modal__target-enter, .js-modal__target-leave-to {
  opacity: 0;
}

:root {
  --fade-translate-x: 0px;
  --fade-translate-y: 0px;
  --fade-duration: 500ms;
}

/* 表示方向 */
.up {
  --fade-translate-x: 0px;
  --fade-translate-y: 50px;
}

.down {
  --fade-translate-x: 0px;
  --fade-translate-y: -50px;
}

.fromLeft {
  --fade-translate-x: -50px;
  --fade-translate-y: 0px;
}

.fromRight {
  --fade-translate-x: 50px;
  --fade-translate-y: 0px;
}

.jsFade {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transition-delay: 0ms;
  transform: translate(var(--fade-translate-x), var(--fade-translate-y));
}
.jsFade.speed--100 {
  transition-delay: 100ms;
}
.jsFade.speed--200 {
  transition-delay: 200ms;
}
.jsFade.speed--300 {
  transition-delay: 300ms;
}
.jsFade.speed--400 {
  transition-delay: 400ms;
}
.jsFade.speed--500 {
  transition-delay: 500ms;
}
.jsFade.speed--600 {
  transition-delay: 600ms;
}
.jsFade.speed--700 {
  transition-delay: 700ms;
}
.jsFade.speed--800 {
  transition-delay: 800ms;
}
.jsFade.speed--900 {
  transition-delay: 900ms;
}
.jsFade.speed--1000 {
  transition-delay: 1000ms;
}
.jsFade.speed--1100 {
  transition-delay: 1100ms;
}
.jsFade.speed--1200 {
  transition-delay: 1200ms;
}
.jsFade.speed--1300 {
  transition-delay: 1300ms;
}
.jsFade.speed--1400 {
  transition-delay: 1400ms;
}
.jsFade.speed--1500 {
  transition-delay: 1500ms;
}
.jsFade.speed--1600 {
  transition-delay: 1600ms;
}
.jsFade.speed--1700 {
  transition-delay: 1700ms;
}
.jsFade.speed--1800 {
  transition-delay: 1800ms;
}
.jsFade.speed--1900 {
  transition-delay: 1900ms;
}
.jsFade.speed--2000 {
  transition-delay: 2000ms;
}
.jsFade.speed--2100 {
  transition-delay: 2100ms;
}
.jsFade.speed--2200 {
  transition-delay: 2200ms;
}
.jsFade.speed--2300 {
  transition-delay: 2300ms;
}
.jsFade.speed--2400 {
  transition-delay: 2400ms;
}
.jsFade.speed--2500 {
  transition-delay: 2500ms;
}
.jsFade.speed--2600 {
  transition-delay: 2600ms;
}
.jsFade.speed--2700 {
  transition-delay: 2700ms;
}
.jsFade.speed--2800 {
  transition-delay: 2800ms;
}
.jsFade.speed--2900 {
  transition-delay: 2900ms;
}
.jsFade.speed--3000 {
  transition-delay: 3000ms;
}
.jsFade.delay--100 {
  transition-delay: 100ms;
}
.jsFade.delay--200 {
  transition-delay: 200ms;
}
.jsFade.delay--300 {
  transition-delay: 300ms;
}
.jsFade.delay--400 {
  transition-delay: 400ms;
}
.jsFade.delay--500 {
  transition-delay: 500ms;
}
.jsFade.delay--600 {
  transition-delay: 600ms;
}
.jsFade.delay--700 {
  transition-delay: 700ms;
}
.jsFade.delay--800 {
  transition-delay: 800ms;
}
.jsFade.delay--900 {
  transition-delay: 900ms;
}
.jsFade.delay--1000 {
  transition-delay: 1000ms;
}
.jsFade.delay--1100 {
  transition-delay: 1100ms;
}
.jsFade.delay--1200 {
  transition-delay: 1200ms;
}
.jsFade.delay--1300 {
  transition-delay: 1300ms;
}
.jsFade.delay--1400 {
  transition-delay: 1400ms;
}
.jsFade.delay--1500 {
  transition-delay: 1500ms;
}
.jsFade.delay--1600 {
  transition-delay: 1600ms;
}
.jsFade.delay--1700 {
  transition-delay: 1700ms;
}
.jsFade.delay--1800 {
  transition-delay: 1800ms;
}
.jsFade.delay--1900 {
  transition-delay: 1900ms;
}
.jsFade.delay--2000 {
  transition-delay: 2000ms;
}
.jsFade.delay--2100 {
  transition-delay: 2100ms;
}
.jsFade.delay--2200 {
  transition-delay: 2200ms;
}
.jsFade.delay--2300 {
  transition-delay: 2300ms;
}
.jsFade.delay--2400 {
  transition-delay: 2400ms;
}
.jsFade.delay--2500 {
  transition-delay: 2500ms;
}
.jsFade.delay--2600 {
  transition-delay: 2600ms;
}
.jsFade.delay--2700 {
  transition-delay: 2700ms;
}
.jsFade.delay--2800 {
  transition-delay: 2800ms;
}
.jsFade.delay--2900 {
  transition-delay: 2900ms;
}
.jsFade.delay--3000 {
  transition-delay: 3000ms;
}

.jsScrollIn {
  opacity: 1;
  transform: translate(0, 0);
}

main .mv {
  position: relative;
  z-index: 1;
  background: url(../images/pc/20250725/index-bg-mv.jpg) no-repeat center top;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main .mv {
    background: url(../images/sp/20250725/index-bg-mv.jpg) no-repeat center top;
    background-size: cover;
  }
}
main .mv::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background-color: #ffffff;
  content: "";
}
@media screen and (max-width: 1200px) {
  main .mv::after {
    height: 12.2807017544%;
  }
}
@media screen and (max-width: 768px) {
  main .mv::after {
    display: none;
  }
}
main .mv__inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}
main .info {
  background-color: #ffffff;
}
main .info a {
  color: #ff0000;
}
main .info a:hover {
  text-decoration: underline;
}
main .info__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 100px 60px 100px;
}
@media screen and (max-width: 768px) {
  main .info__container {
    padding: 25px 25px 30px 25px;
  }
}
main .info .common__container {
  display: block;
}
main .info__title {
  color: #ff0000;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main .info__title {
    font-size: 18px;
  }
}
main .info__lead {
  margin-top: 1em;
  color: #ff0000;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  main .info__lead {
    font-size: 14px;
  }
}
main .info__list {
  margin-top: 1em;
}
main .info__item {
  position: relative;
  padding-left: 20px;
  color: #ff0000;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  main .info__item {
    padding-left: 18px;
    font-size: 14px;
  }
}
main .info__item::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #ff0000;
  content: "";
}
@media screen and (max-width: 768px) {
  main .info__item::before {
    width: 12px;
    height: 12px;
  }
}
main .info__item span {
  font-weight: 700;
}
main .schedule {
  margin-top: -1px;
  background: url(../images/pc/20250916/index-bg-schedule.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main .schedule {
    background: url(../images/sp/20250916/index-bg-schedule.jpg) no-repeat center top;
    background-size: cover;
  }
}
main .schedule__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 0 220px 0;
}
@media screen and (max-width: 1200px) {
  main .schedule__inner {
    padding: 7.5% 0 18.3333333333% 0;
  }
}
@media screen and (max-width: 768px) {
  main .schedule__inner {
    padding: 18.6666666667vw 0 45.8666666667vw 0;
  }
}
main .schedule__close {
  width: 56.6666666667%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .schedule__close {
    width: 75.2%;
  }
}
main .about {
  background: url(../images/pc/20250725/index-bg-about.png) no-repeat center top;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main .about {
    background: url(../images/sp/20250725/index-bg-about.png) no-repeat center top;
    background-size: 100%;
  }
}
main .about__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 185px 0 100px 0;
}
@media screen and (max-width: 1200px) {
  main .about__inner {
    padding: 15.4166666667vw 0 8.3333333333vw 0;
  }
}
@media screen and (max-width: 768px) {
  main .about__inner {
    padding: 38.6666666667vw 0 14.6666666667vw 0;
  }
}
main .about__title {
  position: absolute;
  top: -168px;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  main .about__title {
    top: -14vw;
  }
}
@media screen and (max-width: 768px) {
  main .about__title {
    top: -37.8666666667vw;
    left: 0;
  }
}
main .about__copy {
  width: 77.5%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .about__copy {
    width: 94%;
  }
}
main .about__movie {
  position: relative;
  margin-top: 5.8333333333%;
}
@media screen and (max-width: 768px) {
  main .about__movie {
    margin-top: 16vw;
  }
}
main .about__movie--btn {
  position: relative;
  z-index: 2;
  width: 27.4166666667%;
  margin: 0 auto;
  box-shadow: 0 4px 20px rgba(13, 66, 123, 0.4);
  cursor: pointer;
  transition: opacity 0.2s;
}
@media screen and (max-width: 768px) {
  main .about__movie--btn {
    position: absolute;
    top: 14.3250688705%;
    left: 50%;
    width: 63.4666666667%;
    transform: translateX(-50%);
  }
}
main .about__movie--btn:hover {
  opacity: 0.8;
  transition: opacity 0.2s;
}
main .about__movie--btn::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: url(../images/pc/20250725/index-icon-about-movie.png) no-repeat center center;
  background-size: 100%;
  box-shadow: 0 4px 20px rgba(13, 66, 123, 0.4);
  content: "";
  transform: translate(50%, -50%);
}
@media screen and (max-width: 1200px) {
  main .about__movie--btn::after {
    width: 5.1666666667vw;
    height: 5.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  main .about__movie--btn::after {
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
}
main .about__movie--text {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  main .about__movie--text {
    position: static;
    transform: translate(0, 0);
  }
}
main .detail {
  background: url(../images/pc/20250725/index-bg-detail.jpg) no-repeat center center #ffffff;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main .detail {
    background: url(../images/sp/20250725/index-bg-detail.jpg) no-repeat center center #ffffff;
    background-size: cover;
  }
}
main .detail__inner {
  overflow: hidden;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 90px 0 100px 0;
}
@media screen and (max-width: 1200px) {
  main .detail__inner {
    padding: 7.5vw 0 8.3333333333vw 0;
  }
}
@media screen and (max-width: 768px) {
  main .detail__inner {
    padding: 13.3333333333vw 0 16vw 0;
  }
}
main .detail__title {
  width: 61%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .detail__title {
    width: 84.9333333333%;
  }
}
main .detail__point {
  width: 100%;
  margin: 3.3333333333% auto 0 auto;
  background: url(../images/pc/20250725/index-bg-detail-point.png) no-repeat center top;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  main .detail__point {
    margin-top: 8vw;
    background: url(../images/sp/20250725/index-bg-detail-point.png) no-repeat center top;
    background-size: 100%;
  }
}
main .detail__contents {
  position: relative;
  width: 66.6666666667%;
  margin: 2.5% auto 0 auto;
  border: 2px solid #00b1ec;
}
@media screen and (max-width: 768px) {
  main .detail__contents {
    width: 89.6%;
    margin-top: 6.9333333333vw;
    border: 0.5333333333vw solid #059cde;
  }
}
main .detail__contents::before, main .detail__contents::after {
  display: block;
  position: absolute;
  content: "";
}
main .detail__contents::before {
  top: 120px;
  right: -136px;
  width: 199px;
  height: 134px;
  background: url(../images/pc/20250725/index-img-detail-contents-decoration-01.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 1200px) {
  main .detail__contents::before {
    top: 10vw;
    right: -11.3333333333vw;
    width: 16.5833333333vw;
    height: 11.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  main .detail__contents::before {
    top: 0.8vw;
    right: -5.0666666667vw;
    width: 23.8666666667vw;
    height: 115.2vw;
    background: url(../images/sp/20250725/index-img-detail-contents-decoration-01.png) no-repeat center center;
    background-size: 100%;
  }
}
main .detail__contents::after {
  top: 460px;
  left: -178px;
  width: 197px;
  height: 133px;
  background: url(../images/pc/20250725/index-img-detail-contents-decoration-02.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 1200px) {
  main .detail__contents::after {
    top: 38.3333333333vw;
    left: -14.8333333333vw;
    width: 16.4166666667vw;
    height: 11.0833333333vw;
  }
}
@media screen and (max-width: 768px) {
  main .detail__contents::after {
    top: 189.2vw;
    left: -5.8666666667vw;
    width: 16.8vw;
    height: 11.4666666667vw;
    background: url(../images/sp/20250725/index-img-detail-contents-decoration-02.png) no-repeat center center;
    background-size: 100%;
  }
}
main .detail__contents--list {
  padding: 7.1608040201% 0 3.7688442211% 0;
}
@media screen and (max-width: 768px) {
  main .detail__contents--list {
    padding: 10.1333333333vw 0 7.7333333333vw 0;
  }
}
main .detail__contents--item + .detail__contents--item {
  margin-top: 3.7688442211%;
}
@media screen and (max-width: 768px) {
  main .detail__contents--item + .detail__contents--item {
    margin-top: 8vw;
  }
}
main .detail__contents--item > dl dt, main .detail__contents--item > dl dd {
  width: 100%;
}
main .detail__contents--item > dl dd {
  margin-top: 2.5125628141%;
}
@media screen and (max-width: 768px) {
  main .detail__contents--item > dl dd {
    margin-top: 3.4666666667vw;
  }
}
main .detail__contents--note {
  position: relative;
  width: 100%;
}
main .detail__contents--note::before {
  display: block;
  position: absolute;
  right: 20px;
  bottom: 57px;
  width: 346px;
  height: 276px;
  background: url(../images/pc/20250725/index-img-detail-contents.png) no-repeat center center;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 1200px) {
  main .detail__contents--note::before {
    right: 1.6666666667vw;
    bottom: 4.75vw;
    width: 28.8333333333vw;
    height: 23vw;
  }
}
@media screen and (max-width: 768px) {
  main .detail__contents--note::before {
    position: relative;
    right: auto;
    bottom: auto;
    width: 74.1333333333vw;
    height: 54.1333333333vw;
    margin: 0 0 -4.9333333333vw 6.4vw;
    background: url(../images/sp/20250725/index-img-detail-contents.png) no-repeat center center;
    background-size: 100%;
  }
}
main .access {
  background: url(../images/pc/20250725/index-bg-access.png) no-repeat center top, url(../images/pc/20250725/index-bg-mountain.png) no-repeat center bottom;
  background-size: cover, 2000px;
}
@media screen and (max-width: 1200px) {
  main .access {
    background-size: cover, 166.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  main .access {
    background: url(../images/sp/20250725/index-bg-access.png) no-repeat center top, url(../images/sp/20250725/index-bg-mountain.png) no-repeat center bottom;
    background-size: 100%, 100%;
  }
}
main .access__inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 100px 0 140px 0;
}
@media screen and (max-width: 1200px) {
  main .access__inner {
    padding: 8.3333333333vw 0 11.6666666667vw 0;
  }
}
@media screen and (max-width: 768px) {
  main .access__inner {
    padding: 16vw 0 32vw 0;
  }
}
main .access__title {
  width: 23.1666666667%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .access__title {
    width: 51.2%;
  }
}
main .access__contents {
  width: 66.6666666667%;
  margin: 5% auto 0 auto;
  padding: 1.5%;
  border: 2px solid #ffffff;
}
@media screen and (max-width: 768px) {
  main .access__contents {
    width: 89.3333333333%;
    margin-top: 9.3333333333vw;
    padding: 1.8666666667vw;
    border: 0.5333333333vw solid #ffffff;
  }
}
main .access__contents--map {
  width: 100%;
  height: 570px;
}
@media screen and (max-width: 1200px) {
  main .access__contents--map {
    height: 47.5vw;
  }
}
@media screen and (max-width: 768px) {
  main .access__contents--map {
    height: 62.6666666667vw;
  }
}
main .access__contents--map iframe {
  width: 100%;
  height: 100%;
}
main .access__contents--place {
  width: 65.2631578947%;
  margin: 3.9473684211% auto 0 auto;
}
@media screen and (max-width: 768px) {
  main .access__contents--place {
    margin-top: 8vw;
  }
}
main .access__contents--list {
  margin-top: 5.2631578947%;
  padding: 6.5789473684% 0 7.8947368421% 0;
  background-color: rgba(255, 255, 255, 0.54);
}
@media screen and (max-width: 768px) {
  main .access__contents--list {
    margin-top: 9.3333333333vw;
    padding: 10.6666666667vw 0;
  }
}
main .access__contents--item + .access__contents--item {
  margin-top: 5.2631578947%;
}
@media screen and (max-width: 768px) {
  main .access__contents--item + .access__contents--item {
    margin-top: 7.7333333333vw;
  }
}
main .access__contents--item > dl dt, main .access__contents--item > dl dd {
  width: 100%;
}
main .access__contents--item > dl dd {
  margin-top: 2.6315789474%;
}
@media screen and (max-width: 768px) {
  main .access__contents--item > dl dd {
    margin-top: 3.2vw;
  }
}
main .access__contents--item > dl dd .access__contents--btn {
  display: block;
  width: 36.8421052632%;
  margin: 0 0 0 8.0263157895%;
}
@media screen and (max-width: 768px) {
  main .access__contents--item > dl dd .access__contents--btn {
    width: 70.9779179811%;
    margin: 2.1333333333vw 0 2.9333333333vw 6.5333333333vw;
  }
}
main .report {
  overflow: hidden;
  background: url(../images/pc/20250916/index-bg-mountain.png) no-repeat center bottom, url(../images/pc/20250916/index-bg-report.jpg) no-repeat center top;
  background-size: 1200px, cover;
}
@media screen and (max-width: 1200px) {
  main .report {
    background-size: 100%, cover;
  }
}
@media screen and (max-width: 768px) {
  main .report {
    background: url(../images/sp/20250916/index-bg-mountain.png) no-repeat center bottom, url(../images/sp/20250916/index-bg-report.jpg) no-repeat center top;
    background-size: 100%, cover;
  }
}
main .report__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 0 233px 0;
}
@media screen and (max-width: 1200px) {
  main .report__inner {
    padding: 10% 0 19.4166666667% 0;
  }
}
@media screen and (max-width: 768px) {
  main .report__inner {
    padding: 13.3333333333vw 0 37.8666666667vw 0;
  }
}
main .report__title {
  width: 54.3333333333%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .report__title {
    width: 100%;
  }
}
main .report__movie {
  margin-top: 3.3333333333%;
}
@media screen and (max-width: 768px) {
  main .report__movie {
    margin-top: 2.9333333333vw;
  }
}
main .report__movie--title {
  width: 73.3333333333%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main .report__movie--title {
    width: 92.8%;
  }
}
main .report__movie--btn {
  width: 55.8333333333%;
  margin: 5% auto 0 auto;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  main .report__movie--btn {
    width: 79.4666666667%;
    margin-top: 14.1333333333vw;
  }
}
main .report__movie--btn:hover {
  opacity: 0.8;
}
main .report__movie--btn > figure {
  position: relative;
  box-shadow: 0 4px 20px rgba(13, 66, 123, 0.4);
}
main .report__movie--btn > figure::after {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: url(../images/pc/20250916/index-icon-report-movie.png) no-repeat center center;
  background-size: 100%;
  box-shadow: 0 4px 20px rgba(13, 66, 123, 0.4);
  content: "";
  transform: translate(50%, -50%);
}
@media screen and (max-width: 1200px) {
  main .report__movie--btn > figure::after {
    width: 5.1666666667vw;
    height: 5.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  main .report__movie--btn > figure::after {
    width: 21.3333333333vw;
    height: 21.3333333333vw;
  }
}
main .report__movie--btn > p {
  margin-top: 18px;
  color: #14116b;
  font-size: 20px;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  main .report__movie--btn > p {
    margin-top: 5.3333333333vw;
    font-size: 4vw;
  }
}
main .report__list {
  margin-top: 10%;
}
@media screen and (max-width: 768px) {
  main .report__list {
    margin-top: 16vw;
  }
}
main .report__item--01 {
  width: 68.1666666667%;
  margin: 0 auto 0 1.25%;
}
@media screen and (max-width: 768px) {
  main .report__item--01 {
    width: 89.3333333333%;
    margin: 0 auto 0 5.3333333333vw;
  }
}
main .report__item--02 {
  width: 92.4166666667%;
  margin: -18.75% -4% 0 auto;
}
@media screen and (max-width: 768px) {
  main .report__item--02 {
    width: 100%;
    margin: 1.3333333333vw auto 0 auto;
  }
}
main .report__item--03 {
  width: 97.9166666667%;
  margin: -2.75% auto 0 4.5%;
}
@media screen and (max-width: 768px) {
  main .report__item--03 {
    width: 100%;
    margin: 7.4666666667vw auto 0 auto;
  }
}
main .report__item--04 {
  width: 81%;
  margin: -3.3333333333% 0.8333333333% 0 auto;
}
@media screen and (max-width: 768px) {
  main .report__item--04 {
    width: 94.8%;
    margin: 0.2666666667vw auto 0 0;
  }
}
main .report__item--05 {
  width: 105%;
  margin: 4.1666666667% -9.5833333333% 0 auto;
}
@media screen and (max-width: 768px) {
  main .report__item--05 {
    width: 100%;
    margin: 0.8vw auto 0 auto;
  }
}
main .modal-container {
  visibility: hidden;
  overflow: auto;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  text-align: center;
  transition: 0.3s;
}
main .modal-container.active {
  visibility: visible;
  z-index: 10000;
  opacity: 1;
  cursor: pointer;
}
main .modal-body {
  display: inline-block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
main iframe {
  width: min(90.0692840647vw, 780px);
  height: min(50.6928406467vw, 439px);
}
main .modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: min(52.5404157044vw, 455px);
  left: min(84.2956120092vw, 730px);
  width: min(5.7736720554vw, 50px);
  height: min(5.7736720554vw, 50px);
  border-radius: 50%;
  background-color: #ffffff;
  color: #43509b;
  font-size: min(5.7736720554vw, 50px);
  font-weight: 500;
  cursor: pointer;
}

.float {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  z-index: 3000;
}
@media screen and (min-width: 769px) {
  .float {
    margin-bottom: 50px;
  }
}
.float__container {
  position: relative;
  height: 162px;
}
@media screen and (max-width: 768px) {
  .float__container {
    height: 14.8vw;
  }
}
.float__brandsite {
  transition: all 0.3s;
}
.float__brandsite:hover {
  opacity: 0.7;
  cursor: pointer;
}
.float__brandsite.fixed {
  position: fixed;
  bottom: 50px;
  right: 0;
  z-index: 3000;
}
@media screen and (max-width: 768px) {
  .float__brandsite.fixed {
    bottom: 0;
  }
}