@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:600,900");
.pc_disp {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .pc_disp {
    display: block !important;
  }
}

.sp_disp {
  display: block !important;
}
@media screen and (min-width: 768px) {
  .sp_disp {
    display: none !important;
  }
}

header .Header_Inner {
  width: auto !important;
}

header.Header_Area .Header_Inner .SiteToggleBtn01 a {
  min-width: auto;
}

#PageTop {
  background: #fff;
}

footer {
  position: relative;
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  header.Header_Area,
  nav.ContentNavi01 {
    position: relative;
    z-index: 11;
  }
  header.Header_Area .Header_Inner .SiteToggleBtn01 a {
    min-width: auto;
  }
  header.Header_Area .Header_Inner {
    min-width: min(84.1666666667vw, 1010px);
    padding: 0 min(2.3333333333vw, 28px);
    box-sizing: border-box;
  }
  header.Header_Area h1 {
    min-width: min(18.5vw, 222px);
  }
  header.Header_Area h1 img {
    width: min(14.3333333333vw, 172px);
  }
  header.Header_Area .Header_Inner,
  header ul.UserMyMenu li a,
  nav {
    font-size: min(1.1666666667vw, 12px) !important;
  }
  nav.ContentNavi01 {
    min-width: max(80vw, 960px) !important;
  }
  nav.ContentNavi01 > ul li a {
    font-size: min(1.4166666667vw, 14px) !important;
    padding: 0 min(0.8333333333vw, 10px) 0 min(0.8333333333vw, 10.5px) !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  header.Header_Area .Header_Inner .SiteToggleBtn01 a {
    min-width: auto;
  }
  nav.ContentNavi01 {
    overflow: hidden;
  }
}
footer .NkFooterArea {
  position: relative;
  z-index: 1;
}

footer,
footer .FootWrap {
  min-width: min(91.6666666667vw, 960px) !important;
}

footer .KeirinLink01,
footer .NkFooterArea dl.FootSiteTitle,
footer .PCfooter .BtnPagetop {
  width: min(91.6666666667vw, 960px);
}

footer dl.NkFoot01 {
  padding: 0 min(2.5vw, 30px);
}

footer dl.NkFootCateLink {
  padding: 0 min(1vw, 12px) 0 0;
}

footer dl.NkFoot01:last-child {
  padding: 0 0 0 min(2.5vw, 30px);
}

footer dl.NkFoot02 {
  padding: min(0.5vw, 6px) min(1.8333333333vw, 22px);
}

footer dl.NkFoot02:first-child {
  padding: 0 min(1.8333333333vw, 22px) 0 0;
}

footer .NkFoot01 .Nk_Sns {
  width: min(22.5vw, 270px);
}

dl.NkFoot01 dd.SpNkInfoImg .SearchImg01 {
  width: min(16.6666666667vw, 200px);
}

dl.NkFoot01 dd.SpNkInfoImg .QrImg01 {
  width: min(5vw, 60px);
}

dl.NkFoot01 ul.AprStoreList img {
  width: min(11.5833333333vw, 140px);
}

.PCfooter .Nk_Sns ul li {
  width: min(3.75vw, 45px);
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  footer dl.NkFoot01:last-child {
    width: 15.8333333333vw;
  }
  footer dl.NkFoot01 dd.SpNkInfoImg img.QrImg01 {
    top: -9px;
  }
  footer dl.NkFoot01 dd ul li {
    font-size: min(1.25vw, 14px);
  }
  footer dl.NkFoot02 dd ul li {
    font-size: min(1.25vw, 14px);
  }
  dl.NkFoot02 dt {
    font-size: min(1.25vw, 14px);
  }
}
body {
  background-color: #fff;
}

.main_cont_wrap {
  max-width: min(37.5vw, 377px);
  margin: 30px 20px 50px auto;
  background: #fff;
  border-radius: min(1.6666666667vw, 20px);
  max-height: 700px;
  overflow-y: auto;
  overflow-x: hidden;
  /* ↓ スクロールバー非表示 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
@media screen and (max-width: 767px) {
  .main_cont_wrap {
    max-width: inherit;
    margin: 0;
    max-height: none;
    border-radius: 0;
    overflow: inherit;
  }
}

.main_cont_wrap::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

.scroll-box::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 3px;
}

.scroll-box::-webkit-scrollbar-track {
  background: transparent;
}

.MainColumn {
  max-width: 1366px;
  background: #fff;
  position: relative;
  z-index: 1;
  text-align: left;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 1600px) and (min-width: 1200px) {
  .MainColumn {
    max-width: 1250px;
  }
}
@media screen and (max-width: 767px) {
  .MainColumn {
    max-width: inherit;
  }
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.fv_movie {
  position: relative;
  margin: 27px auto 100px;
  background: #BEBEBE;
  width: min(27.8333333333vw, 334px);
  height: min(15.25vw, 183px);
}
@media screen and (max-width: 767px) {
  .fv_movie {
    margin: -16vw auto 100px;
    width: 89.0666666667vw;
    height: 48.8vw;
  }
}

.intro {
  padding-bottom: 73px;
}
@media screen and (max-width: 767px) {
  .intro {
    padding-bottom: 19.4666666667vw;
  }
}
.intro_title {
  position: relative;
  z-index: 1;
  padding-left: 20px;
  margin-bottom: 30px;
  color: #DC382C;
  font-weight: 600;
  font-family: "Noto Serif JP", sans-serif;
  line-height: 1.2;
  font-size: 60px;
}
@media screen and (max-width: 767px) {
  .intro_title {
    font-size: 60px;
    font-size: 16vw;
  }
}
.intro_title span {
  display: block;
  font-size: 39px;
}
@media screen and (max-width: 767px) {
  .intro_title span {
    font-size: 39px;
    font-size: 10.4vw;
  }
}
.intro_title::before {
  background: #347187;
  content: "";
  display: block;
  width: 170px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -9%;
}
@media screen and (max-width: 767px) {
  .intro_title::before {
    width: 45.3333333333vw;
  }
}
.intro_title::after {
  background: url("../img/intro_title_bg.png") no-repeat;
  content: "";
  display: block;
  width: min(16.75vw, 201px);
  height: min(24.4166666667vw, 293px);
  position: absolute;
  background-size: contain;
  top: -62px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .intro_title::after {
    width: 53.6vw;
    height: 78.1333333333vw;
  }
}
.intro_lead {
  position: relative;
  z-index: 1;
  margin: 0 0 30px 20px;
  line-height: 2;
  color: #347187;
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .intro_lead {
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}
.intro_btn_inner {
  margin: 44px 30px 53px;
}
@media screen and (max-width: 767px) {
  .intro_btn_inner {
    margin: 11.7333333333vw 8vw 14.1333333333vw;
  }
}
.intro_btn {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  border: solid 1px #347187;
  border-radius: 4px;
  color: #347187;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .intro_btn {
    height: 13.3333333333vw;
    line-height: 13.3333333333vw;
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}
.intro_btn::after {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%227.634%22%20height%3D%2210.376%22%20fill%3D%22%239fc8d6%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate%28-307%20-1425%29%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211.5%22%20transform%3D%22translate%28307%201425%29%22%20fill%3D%22%23347187%22%2F%3E%3Cg%20transform%3D%22translate%28314.982%201431.431%29%22%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Cpath%20d%3D%22M.908.1A.588.588%2C0%2C0%2C0%2C.1.91L2.065%2C4.85a.681.681%2C0%2C0%2C1%2C0%2C.737L.1%2C9.465a.588.588%2C0%2C0%2C0%2C.81.815l6.309-4.3a.9.9%2C0%2C0%2C0%2C0-1.521Z%22%20transform%3D%22translate%280%200.001%29%22%20fill%3D%22%239fc8d6%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
  content: "";
  display: block;
  width: 23px;
  height: 23px;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .intro_btn::after {
    width: 6.1333333333vw;
    height: 6.1333333333vw;
  }
}
.intro_btn.coming_soon {
  pointer-events: none;
  background: #E0E0E0;
  border-color: #E0E0E0;
  color: #9D9D9D;
}
.intro_btn.coming_soon::before {
  background: url("../img/coming_soon_text.png") no-repeat;
  content: "";
  display: block;
  width: 122px;
  height: 53px;
  position: absolute;
  background-size: contain;
  top: -28px;
  left: -5%;
}
@media screen and (max-width: 767px) {
  .intro_btn.coming_soon::before {
    width: 32.5333333333vw;
    height: 14.1333333333vw;
  }
}
.intro_btn.coming_soon::after {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%227.634%22%20height%3D%2210.376%22%20fill%3D%22%23e0e0e0%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate%28-307%20-1425%29%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211.5%22%20transform%3D%22translate%28307%201425%29%22%20fill%3D%22%239d9d9d%22%2F%3E%3Cg%20transform%3D%22translate%28314.982%201431.431%29%22%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Cpath%20d%3D%22M.908.1A.588.588%2C0%2C0%2C0%2C.1.91L2.065%2C4.85a.681.681%2C0%2C0%2C1%2C0%2C.737L.1%2C9.465a.588.588%2C0%2C0%2C0%2C.81.815l6.309-4.3a.9.9%2C0%2C0%2C0%2C0-1.521Z%22%20transform%3D%22translate%280%200.001%29%22%20fill%3D%22%23e0e0e0%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
}
@media screen and (min-width: 1000px) {
  .intro_btn:hover {
    background: #DC382C;
    color: #fff;
  }
  .intro_btn:hover::after {
    right: 4%;
  }
}
.intro .intro_btn + .intro_btn {
  margin-top: 10px;
}
.intro .intro_cont {
  margin: 0 auto;
  background: #BEBEBE;
  width: min(27.8333333333vw, 334px);
  height: min(15.25vw, 183px);
}
@media screen and (max-width: 767px) {
  .intro .intro_cont {
    width: 89.0666666667vw;
    height: 48.8vw;
  }
}
.intro .intro_cont + .intro_cont {
  margin-top: 30px;
}

.about {
  position: relative;
  z-index: 1;
  padding-top: 100px;
  padding-bottom: 80px;
  background: #5D9DB4;
}
.about::before {
  background: url("../img/rrc_bg01.png") no-repeat;
  content: "";
  display: block;
  width: min(28.75vw, 345px);
  height: min(37.9166666667vw, 455px);
  position: absolute;
  background-size: contain;
  top: -55px;
  left: 0%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about::before {
    width: 92vw;
    height: 121.3333333333vw;
  }
}
.about::after {
  background: url("../img/rrc_bg02.png") no-repeat;
  content: "";
  display: block;
  width: min(29.75vw, 357px);
  height: min(29.4166666667vw, 353px);
  position: absolute;
  background-size: cover;
  bottom: 6%;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about::after {
    width: 95.2vw;
    height: 94.1333333333vw;
  }
}
.about_title {
  margin-bottom: 18px;
  text-align: center;
  color: #fff;
  line-height: 1.4;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 35px;
}
@media screen and (max-width: 767px) {
  .about_title {
    font-size: 35px;
    font-size: 9.3333333333vw;
  }
}
.about_title span {
  display: block;
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .about_title span {
    font-size: 26px;
    font-size: 6.9333333333vw;
  }
}
.about_text {
  background: url("../img/rrc_text_bg.png") no-repeat;
  background-size: contain;
  width: min(33.3333333333vw, 333px);
  padding: 20px 19px 25px;
  box-sizing: border-box;
  margin: 0 auto 43px;
}
@media screen and (max-width: 767px) {
  .about_text {
    width: 88.8vw;
    padding: 5.3333333333vw 5.0666666667vw 6.6666666667vw;
  }
}
.about_text p {
  margin-bottom: min(1.6666666667vw, 20px);
  color: #fff;
  line-height: 1.5;
  font-size: min(1.3333333333vw, 14px);
}
@media screen and (max-width: 767px) {
  .about_text p {
    margin-bottom: 5.3333333333vw;
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.about_text a {
  position: relative;
  display: block;
  padding: 5px 0px;
  box-sizing: border-box;
  width: min(28.3333333333vw, 293px);
  height: 56px;
  background: #347187;
  border: solid 2px #fff;
  text-align: center;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  font-size: 14px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .about_text a {
    padding: 1.3333333333vw 0;
    width: 78.1333333333vw;
    height: 14.9333333333vw;
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.about_text a::before {
  content: "";
  display: block;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 6%;
  left: 2%;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #DC382C;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .about_text a::before {
    border-bottom: 8vw solid transparent;
    border-left: 8vw solid #DC382C;
  }
}
.about_text a::after {
  background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218.155%22%20height%3D%2218.091%22%20viewBox%3D%220%200%2018.155%2018.091%22%3E%3Cpath%20d%3D%22M0%2C96.35v15.006H15.006v-7.5H13.777v6.274H1.229V97.579H7.5V96.35Z%22%20transform%3D%22translate%280%20-93.265%29%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M264.008%2C0V1.228h0v0h5.612L261.954%2C8.9l.869.869L270.494%2C2.1V7.712h1.229V0h0V0Z%22%20transform%3D%22translate%28-253.568%200.001%29%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E);
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
}
@media screen and (max-width: 767px) {
  .about_text a::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}
@media screen and (min-width: 1000px) {
  .about_text a:hover {
    background: #DC382C;
  }
  .about_text a:hover::before {
    border-left-color: #fff;
  }
}
.about .share_btn {
  position: relative;
  display: block;
  margin: 0 auto 0;
  padding: 5px 0px;
  box-sizing: border-box;
  width: min(30.8333333333vw, 293px);
  height: 65px;
  background: #000;
  border: solid 2px #E4F1F5;
  text-align: center;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
  font-size: 18px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .about .share_btn {
    padding: 1.3333333333vw 0;
    width: 78.1333333333vw;
    height: 17.3333333333vw;
    font-size: 18px;
    font-size: 4.8vw;
  }
}
.about .share_btn .top_inner {
  margin-bottom: 5px;
}
.about .share_btn .top {
  display: inline-block;
  padding: 3px 10px;
  transform: skewX(-35deg);
  background: #DC382C;
  font-size: 12px;
  font-weight: bolder;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .about .share_btn .top {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.about .share_btn .top span {
  display: inline-block;
  transform: skewX(35deg);
}
.about .share_btn .logo {
  margin-right: 5px;
  display: inline-block;
  width: 16px;
}
@media screen and (max-width: 767px) {
  .about .share_btn .logo {
    width: 4.2666666667vw;
  }
}
@media screen and (min-width: 1000px) {
  .about .share_btn:hover {
    background: #DC382C;
  }
  .about .share_btn:hover .top {
    background: #000;
  }
}

.shop {
  padding-bottom: 33px;
  position: relative;
  background: #CCE3EA;
}
.shop::before {
  background: url("../img/shop_bg01.png");
  content: "";
  display: block;
  width: 100%;
  height: 36px;
  position: absolute;
  background-size: contain;
  background-repeat: repeat-x;
  top: 0%;
  left: 0%;
}
@media screen and (max-width: 767px) {
  .shop::before {
    height: 8vw;
  }
}
.shop::after {
  background: url("../img/shop_bg02.png") no-repeat;
  content: "";
  display: block;
  width: 100%;
  height: 40px;
  position: absolute;
  background-size: cover;
  bottom: 0;
  left: 0%;
}
@media screen and (max-width: 767px) {
  .shop::after {
    height: 8.5333333333vw;
  }
}
.shop_title {
  width: min(28.5833333333vw, 343px);
  margin: 0 auto;
  padding-top: 48px;
}
@media screen and (max-width: 767px) {
  .shop_title {
    width: 91.4666666667vw;
    margin-left: 16px;
  }
}
.shop_img {
  display: block;
  width: min(29.5833333333vw, 355px);
  margin: -17px auto 0;
}
@media screen and (max-width: 767px) {
  .shop_img {
    width: 94.6666666667vw;
    margin-left: 15px;
  }
}

.pc_bg {
  background: url("../img/fv_pc.png") no-repeat;
  background-size: cover;
  background-position: left 62%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}
@media (min-width: 1900px) {
  .pc_bg {
    background-position: left top;
  }
}
@media (max-width: 1200px) and (min-width: 768px) {
  .pc_bg {
    background: url("../img/fv_pc02.png") no-repeat;
    background-size: cover;
    background-position: left top;
  }
}
@media screen and (max-width: 767px) {
  .pc_bg {
    display: none;
  }
}

.movie_thumb {
  cursor: pointer;
}

#modalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

#modalContent {
  background: #fff;
  max-width: 1200px;
  /* width: calc(100% - 20px); */
  max-height: 90vh;
  position: relative;
  margin: auto;
}

#modalContent img {
  max-width: 90vw;
  max-height: 80vh;
  display: block;
}

#modalVideoWrap {
  position: relative;
  width: 80vw;
  max-width: 960px;
  aspect-ratio: 16/9;
  background-color: #000;
  display: none;
}
@media screen and (max-width: 767px) {
  #modalVideoWrap {
    width: 90vw;
  }
}

#modalVideoWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

#modalClose {
  position: absolute;
  top: -76px;
  right: -10px;
  width: 60px;
  height: 60px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #modalClose {
    top: -36px;
    width: 30px;
    height: 30px;
  }
}

#modalClose::before,
#modalClose::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 2px;
  background-color: white;
  transform-origin: center;
}
@media screen and (max-width: 767px) {
  #modalClose::before,
  #modalClose::after {
    width: 30px;
  }
}

#modalClose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

#modalClose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}/*# sourceMappingURL=style.css.map */