/* default settings */
header, footer {
  z-index: 99;
  position: relative;
}

html {
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

header .headArea {
  margin-bottom: 0;
  padding-bottom: 10px;
}
@media (min-width: 751px) {
  header {
    background: #fff;
  }
}

@media (max-width: 750px) {
  .spbg {
    z-index: 100;
  }
}

body {
  width: 100%;
  background: #fff;
}
@media (max-width: 750px) {
  body * {
    -webkit-appearance: none;
  }
}

.contWrap {
  background: linear-gradient(to bottom, #2B5AC8 0%, #CFAAF3 100%);
  overflow: hidden;
}
@media (max-width: 750px) {
  .contWrap {
    background: none;
  }
}

@media (max-width: 750px) {
  img {
    transition: none !important;
  }
}

@media (min-width: 751px) {
  header .headArea .slogan {
    top: 25px;
  }
}
@media (min-width: 751px) {
  header .headArea {
    height: 60px;
  }
}
header .headArea a:hover img {
  opacity: 1;
}

input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}

.modalActive header, .modalActive .fixed_menu {
  visibility: hidden;
}
@media (max-width: 750px) {
  .modalActive header, .modalActive .fixed_menu {
    visibility: visible;
    display: none;
  }
}
.modalActive .menu-pc-right {
  top: 50% !important;
}
.modalActive .icon-overlay {
  height: 100vh !important;
}

header.sphide ~ .contWrap .main-wrapper .menu-pc-right, header.is-show ~ .contWrap .main-wrapper .menu-pc-right {
  top: 50%;
  transform: translate3d(0, -50%, 0);
  max-height: 95vh;
}
@media (min-width: 2500px) {
  header.sphide ~ .contWrap .main-wrapper .menu-pc-right, header.is-show ~ .contWrap .main-wrapper .menu-pc-right {
    transform: translate3d(30%, -50%, 0);
  }
}

@media (max-width: 750px) {
  header.top.sphide {
    top: 0;
  }
}

@media (max-width: 750px) {
  body.spmenu_open .wrapper header .globalNav {
    height: calc(100vh - 51px);
  }
}

@media (max-width: 750px) {
  header {
    position: fixed;
    transform: translate3d(0, -1px, 0);
  }
}

header.is-show ~ .contWrap .main-wrapper .menu-pc-right a, header.sphide ~ .contWrap .main-wrapper .menu-pc-right a {
  padding-bottom: 13px;
}
@media (max-width: 1200px) or (max-height: 900px) {
  header.is-show ~ .contWrap .main-wrapper .menu-pc-right a, header.sphide ~ .contWrap .main-wrapper .menu-pc-right a {
    padding-bottom: 8.1733333333px;
  }
}

.wrapper #path-box {
  background: #eee;
}

.wrapper {
  font-family: "Zen Maru Gothic", sans-serif;
}

a {
  outline: none !important;
}
a img {
  display: block;
  transition: all 0.35s ease;
}
a:hover img {
  opacity: 0.8;
  transform: translate3d(0, 0, 0);
}

@keyframes flash_hot {
  0% {
    transform: scale(0, 0);
    opacity: 0;
  }
  2% {
    transform: scale(1.3, 1.3);
    opacity: 1;
  }
  4% {
    transform: scale(0.9, 0.9);
  }
  6% {
    transform: scale(1.1, 1.1);
  }
  8.5% {
    transform: scale(1, 1);
  }
  58% {
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    transform: scale(0, 0);
    opacity: 0;
  }
  100% {
    transform: scale(0, 0);
    opacity: 0;
  }
}
@keyframes floating {
  0% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -30, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes floatingIcon {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: -30px;
  }
  100% {
    margin-top: 0;
  }
}
@keyframes floatingIconBott {
  0% {
    margin-top: 0;
  }
  50% {
    margin-bottom: 30px;
  }
  100% {
    margin-top: 0;
  }
}
@keyframes rotateBG {
  0% {
    transform: none;
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes iconAnimation {
  0% {
    transform: rotate(-15deg);
  }
  50% {
    transform: rotate(15deg);
  }
  100% {
    transform: rotate(-15deg);
  }
}
@keyframes iconAnimation2 {
  0% {
    transform: rotate(-8deg);
  }
  50% {
    transform: rotate(8deg);
  }
  100% {
    transform: rotate(-8deg);
  }
}
p {
  margin: 0;
}

img {
  max-width: 100%;
}

@keyframes linearLeft {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 0 6604.0533333333px;
    @media (max-width: 750px) {
      background-position: 0 1077.3333333333vw;
    }
  }
  100% {
    background-position: 0 13208.1066666667px;
    @media (max-width: 750px) {
      background-position: 0 2154.6666666667vw;
    }
  }
}
@keyframes linearRight {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 0 -6604.0533333333px;
    @media (max-width: 750px) {
      background-position: 0 -1077.3333333333vw;
    }
  }
  100% {
    background-position: 0 -13208.1066666667px;
    @media (max-width: 750px) {
      background-position: 0 -2154.6666666667vw;
    }
  }
}
@keyframes kiraAni1 {
  0% {
    transform-origin: 100% 0%;
    transform: scale(0, 0);
  }
  15% {
    transform: scale(1, 1);
    transform-origin: 100% 0%;
  }
  55% {
    transform: scale(1, 1);
    transform-origin: 100% 0%;
  }
  65% {
    transform: scale(1, 1);
    transform-origin: 65% 25%;
  }
  70% {
    transform: scale(0, 0);
    transform-origin: 65% 25%;
  }
  100% {
    transform: scale(0, 0);
    transform-origin: 75% 25%;
  }
}
@keyframes kiraAni2a {
  0% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
    opacity: 0;
  }
  15% {
    transform: scale(1, 1);
    opacity: 1;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 50% 100%;
  }
  80% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
  }
}
@keyframes kiraAni2b {
  0% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
    opacity: 0;
  }
  15% {
    transform: scale(1, 1);
    opacity: 1;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 100% 50%;
  }
  80% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
  }
}
@keyframes kiraAni2c {
  0% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
    opacity: 0;
  }
  15% {
    transform: scale(1, 1);
    opacity: 1;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 50% 0%;
  }
  80% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
  }
}
@keyframes kiraAni2d {
  0% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
    opacity: 0;
  }
  15% {
    transform: scale(1, 1);
    opacity: 1;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0% 50%;
  }
  80% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(0, 0);
    transform-origin: 50% 50%;
  }
}
.wrapper-outer {
  display: flex;
  position: relative;
  overflow: hidden;
  width: 610px;
  background: #8CE6F0;
  box-sizing: border-box;
  padding: 0 31.72px 0 31.72px;
  position: relative;
  z-index: 3;
}
@media (max-width: 750px) {
  .wrapper-outer {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
    padding: 0 5.2vw;
    box-sizing: border-box;
  }
}
.wrapper-outer .bg-left {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5.2%;
  overflow: hidden;
  box-sizing: border-box;
}
.wrapper-outer .bg-left span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/web_left_text.jpg") center top;
  background-size: 100%;
  animation: linearLeft 300s infinite linear;
  z-index: 2;
  transform: translate(-102%, 0);
  transition: transform 1s ease;
}
.wrapper-outer .bg-left span:before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  bottom: -10px;
  right: 0;
  background: url("../img/lr-bg-rp2.png") center;
  background-size: 100% auto;
  z-index: 1;
}
@media (max-width: 750px) {
  .wrapper-outer .bg-left span:before {
    display: none;
  }
}
@media (max-width: 750px) {
  .wrapper-outer .bg-left span {
    border: 0.2666666667vw solid #000;
  }
}
@media (max-width: 750px) {
  .wrapper-outer .bg-left {
    width: 5.2vw;
    box-sizing: border-box;
    border-width: 0.2666666667vw;
  }
}
.wrapper-outer .bg-right {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  width: 5.2%;
}
.wrapper-outer .bg-right span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/web_left_text.jpg") center top;
  background-size: 100%;
  animation: linearRight 300s infinite linear;
  z-index: 1;
  transform: translate(102%, 0);
  transition: transform 1s ease;
}
.wrapper-outer .bg-right span:before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  bottom: -10px;
  right: 0;
  background: url("../img/lr-bg-rp.png") center;
  background-size: 100% auto;
  z-index: 1;
}
@media (max-width: 750px) {
  .wrapper-outer .bg-right span:before {
    display: none;
  }
}
@media (max-width: 750px) {
  .wrapper-outer .bg-right span {
    border: 0.2666666667vw solid #000;
  }
}
@media (max-width: 750px) {
  .wrapper-outer .bg-right {
    width: 5.2vw;
    border-width: 0.2666666667vw;
    box-sizing: border-box;
  }
}
.wrapper-outer.activeBanner {
  background: none;
  transition: background 0.1s 1s;
}
.wrapper-outer.activeBanner .bg-left span, .wrapper-outer.activeBanner .bg-right span {
  transform: none;
}

.wrapper-inner {
  width: 100%;
  margin: auto;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 17.9813333333px;
  line-height: 49.04px;
  font-style: normal;
  font-weight: 400;
  color: #E10012;
  letter-spacing: 0;
  position: relative;
  z-index: 2;
  background: #8CE6F0;
}
@media (max-width: 750px) {
  .wrapper-inner {
    font-size: 2.9333333333vw;
    line-height: 8vw;
  }
}
.wrapper-inner .wrapper {
  max-width: 100%;
  padding: 0 31.876px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  display: block;
}
@media (max-width: 750px) {
  .wrapper-inner .wrapper {
    padding: 0 5.2vw;
  }
}

.kv {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  text-align: center;
  background: #8CE6F0;
  overflow: hidden;
  border-bottom: 1.6346666667px solid #000;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .kv {
    border-bottom: 0.2666666667vw solid #000;
  }
}
.kv .kv_inner {
  display: inline-block;
  position: relative;
  height: 100%;
  width: 100%;
}
.kv span {
  display: inline-block;
  position: absolute;
  top: 50.02%;
  left: 49.78%;
  height: 101%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 100%;
}
@media (max-height: 900px) and (min-width: 751px) {
  .kv span {
    min-height: 725px;
    top: 0%;
    transform: translate(-50%, 0%);
  }
}
@media (max-width: 750px) and (min-width: 725px) {
  .kv span {
    width: 100%;
  }
}
.kv span:before {
  content: "";
  position: absolute;
  top: -1px;
  right: -2px;
  bottom: 0;
  left: -2px;
  z-index: 3;
}
.kv #kv_video {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
  transition-delay: 0.5s;
}
.kv #kv_video.hide {
  visibility: hidden;
}
.kv video {
  margin: 0;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  transform: translate3d(-50%, -50%, 0);
  width: 100%;
  object-fit: cover;
}
@media (max-width: 750px) and (min-width: 725px) {
  .kv video {
    width: 100%;
    height: auto;
  }
}
.kv #kv_video_loop {
  opacity: 0;
  z-index: 1;
}
.kv #kv_video_loop.visible {
  opacity: 1;
}

.linear1 {
  background: linear-gradient(to bottom, #3B62CC 0%, #4E6BD1 15%, #F1BBFC 40%, #F1BBFC 80%, #FABFFE 100%);
  transform: translate3d(0, 0, 0);
}

@keyframes snowInnerFalling {
  from {
    transform: translate(50vw, -50vh);
  }
  to {
    transform: translate(-70vw, 75vh);
  }
}
@keyframes snowInnerFallingsp {
  from {
    transform: translate(100vw, -50vh);
  }
  to {
    transform: translate(-100vw, 75vh);
  }
}
.deco-flower {
  position: absolute;
  width: 50.6746666667px;
  animation: snowInnerFalling 30s linear infinite;
}
@media (max-width: 750px) {
  .deco-flower {
    animation: snowInnerFallingsp 30s linear infinite;
    width: 8.2666666667vw;
  }
}

.sec1 {
  position: relative;
  padding-top: 132.408px;
  margin-bottom: 93.176px;
}
@media (max-width: 750px) {
  .sec1 {
    padding-top: 21.6vw;
    margin-bottom: 15.2vw;
  }
}
.sec1 .deco-flower {
  z-index: 2;
  animation: none;
}
.sec1 .content-wrapper {
  position: relative;
}
.sec1 .content-wrapper:before, .sec1 .content-wrapper:after {
  content: "";
  position: absolute;
  width: 110.0130666667px;
  height: 108.7053333333px;
}
@media (max-width: 750px) {
  .sec1 .content-wrapper:before, .sec1 .content-wrapper:after {
    width: 17.9466666667vw;
    height: 17.7333333333vw;
  }
}
.sec1 .content-wrapper:before {
  top: -53.944px;
  left: 31.0586666667px;
  background: url("../img/sec1_snow1.svg") center no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec1 .content-wrapper:before {
    top: -8.8vw;
    left: 5.0666666667vw;
  }
}
.sec1 .content-wrapper:after {
  bottom: 27.7893333333px;
  right: 37.5973333333px;
  background: url("../img/sec1_snow2.svg") center no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec1 .content-wrapper:after {
    bottom: 4.5333333333vw;
    right: 6.1333333333vw;
  }
}
.sec1 .content-wrapper .wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-block: 155.2933333333px 155.2933333333px;
}
@media (max-width: 750px) {
  .sec1 .content-wrapper .wrapper {
    padding-block: 25.3333333333vw 25.3333333333vw;
  }
}
.sec1 .content-wrapper .content {
  width: 371.8866666667px;
  margin: 0 auto;
  aspect-ratio: 455/371;
}
@media (max-width: 750px) {
  .sec1 .content-wrapper .content {
    width: 60.6666666667vw;
  }
}
.sec1 .date {
  position: relative;
}
.sec1 .date .event_date {
  position: absolute;
  right: 0;
  bottom: -99.7146666667px;
  width: 293.4226666667px;
}
@media (max-width: 750px) {
  .sec1 .date .event_date {
    bottom: -16.2666666667vw;
    width: 47.8666666667vw;
  }
}
.sec1 .date .event_slogan {
  position: absolute;
  bottom: -145.4853333333px;
  left: 53.944px;
  width: 242.748px;
}
@media (max-width: 750px) {
  .sec1 .date .event_slogan {
    bottom: -23.7333333333vw;
    left: 8.8vw;
    width: 39.6vw;
  }
}
.sec1 .deco1 {
  top: 106.2533333333px;
  right: 72.7426666667px;
}
@media (max-width: 750px) {
  .sec1 .deco1 {
    top: 17.3333333333vw;
    right: 11.8666666667vw;
  }
}
.sec1 .deco2 {
  top: 482.2266666667px;
  left: 31.0586666667px;
}
@media (max-width: 750px) {
  .sec1 .deco2 {
    top: 78.6666666667vw;
    left: 5.0666666667vw;
  }
}
.sec1 .deco3 {
  bottom: -27.7893333333px;
  left: 91.5413333333px;
}
@media (max-width: 750px) {
  .sec1 .deco3 {
    bottom: -4.5333333333vw;
    left: 14.9333333333vw;
  }
}

.sec2 {
  padding: 0px 0 0px;
  position: relative;
  aspect-ratio: 336/1616;
}
.sec2 #sec2 {
  position: absolute;
  top: 0;
  bottom: 0;
}
@media (max-width: 750px) {
  .sec2 #sec2 {
    top: -16vw;
  }
}
@media (max-width: 750px) {
  .sec2 {
    padding: 0vw 0 0vw;
  }
}
.sec2 .inner .letter {
  position: relative;
  aspect-ratio: 297/812;
}
@media (max-width: 750px) {
  .sec2 .inner .letter {
    min-height: 216.5333333333vw;
  }
}
.sec2 .inner .letter .deco3 {
  left: -49.04px;
  top: 587.6626666667px;
}
@media (max-width: 750px) {
  .sec2 .inner .letter .deco3 {
    left: -8vw;
    top: 95.8666666667vw;
  }
}
.sec2 .inner .letter .deco4 {
  right: -40.8666666667px;
  bottom: 294.24px;
}
@media (max-width: 750px) {
  .sec2 .inner .letter .deco4 {
    right: -6.6666666667vw;
    bottom: 48vw;
  }
}
.sec2 .inner .deco2 {
  content: "";
  position: absolute;
  right: -7.356px;
  bottom: -140.5813333333px;
  width: 250.104px;
  height: 158.5626666667px;
  background: url("../img/sec2_lust.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 3;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec2 .inner .deco2 {
    width: 40.8vw;
    height: 25.8666666667vw;
    bottom: -22.9333333333vw;
    right: -1.2vw;
  }
}
.sec2 .inner h2 {
  width: 371.8866666667px;
  margin: 0 0 76.8293333333px;
}
@media (max-width: 750px) {
  .sec2 .inner h2 {
    width: 60.6666666667vw;
    margin-bottom: 12.5333333333vw;
  }
}
.sec2 .inner .deco1 {
  position: absolute;
  bottom: -336.7413333333px;
  left: -32.6933333333px;
  width: 189.6213333333px;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec2 .inner .deco1 {
    bottom: -54.9333333333vw;
    width: 30.9333333333vw;
    left: -5.3333333333vw;
  }
}
.sec2 .inner .text {
  background-size: 394.772px;
  font-size: 22.8853333333px;
  line-height: 1;
  white-space: nowrap;
}
.sec2 .inner .text p + p {
  margin-top: 52.3093333333px;
}
@media (max-width: 750px) {
  .sec2 .inner .text p + p {
    margin-top: 8.2666666667vw;
  }
}
.sec2 .inner .text span {
  display: block;
  position: relative;
  padding-bottom: 12.26px;
  padding-top: 13.0773333333px;
}
.sec2 .inner .text span:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 370.252px;
  height: 2px;
  background: url("../img/sec2_text_bd.png");
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec2 .inner .text span:before {
    height: 1px;
    width: 60.4vw;
  }
}
.sec2 .inner .text span:nth-child(1):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 370.252px;
  height: 2px;
  background: url("../img/sec2_text_bd.png");
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec2 .inner .text span:nth-child(1):after {
    height: 1px;
    width: 60.4vw;
  }
}
@media (max-width: 750px) {
  .sec2 .inner .text span {
    text-indent: -1px;
    padding-bottom: 2vw;
    padding-top: 2.1333333333vw;
  }
}
.sec2 .inner .text p:nth-child(1) span:nth-child(1):after {
  display: none;
}
@media (max-width: 750px) {
  .sec2 .inner .text {
    font-size: 3.7333333333vw;
    background-position: center 6.6666666667vw;
    background-size: 64.4vw;
  }
  .sec2 .inner .text p + p {
    margin-top: 8vw;
  }
}

.sec2_bottom {
  position: relative;
  padding-bottom: 143.8506666667px;
  padding-top: 228.8533333333px;
}
@media (max-width: 750px) {
  .sec2_bottom {
    padding-bottom: 23.4666666667vw;
    padding-top: 37.3333333333vw;
  }
}
.sec2_bottom .deco {
  position: absolute;
  width: 53.1266666667px;
  height: 60.4826666667px;
  z-index: 2;
}
@media (max-width: 750px) {
  .sec2_bottom .deco {
    width: 8.6666666667vw;
    height: 9.8666666667vw;
  }
}
.sec2_bottom .deco.deco1 {
  top: 191.256px;
  right: 37.5973333333px;
  animation: flash_hot 10s ease infinite;
}
@media (max-width: 750px) {
  .sec2_bottom .deco.deco1 {
    top: 31.2vw;
    right: 6.1333333333vw;
  }
}
.sec2_bottom .deco.deco2 {
  bottom: 348.184px;
  left: 35.9626666667px;
  animation: flash_hot 7s ease infinite;
}
@media (max-width: 750px) {
  .sec2_bottom .deco.deco2 {
    bottom: 56.8vw;
    left: 5.8666666667vw;
  }
}
.sec2_bottom .deco.deco3 {
  width: 150.3893333333px;
  right: -1.6346666667px;
  bottom: 289.336px;
  height: auto;
}
@media (max-width: 750px) {
  .sec2_bottom .deco.deco3 {
    width: 24.5333333333vw;
    right: -0.2666666667vw;
    bottom: 47.2vw;
  }
}
.sec2_bottom .slider2a {
  aspect-ratio: 336/578;
}
.sec2_bottom .slick-dots {
  margin-top: 35.9626666667px;
}
@media (max-width: 750px) {
  .sec2_bottom .slick-dots {
    margin-top: 5.8666666667vw;
  }
}

.slick-dots {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  position: relative;
  z-index: 5;
  margin: 11.4426666667px 0 0;
}
@media (max-width: 750px) {
  .slick-dots {
    margin-top: 1.8666666667vw;
  }
}
.slick-dots li {
  margin: 0 14.712px;
  line-height: 0;
}
@media (max-width: 750px) {
  .slick-dots li {
    margin: 0 2.4vw;
  }
}
.slick-dots li button {
  background: #fff;
  line-height: 0;
  font-size: 0;
  width: 16.3466666667px;
  cursor: pointer;
  height: 16.3466666667px;
  border-radius: 50%;
  border: none;
  padding: 0;
  outline: none;
  margin: 0;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  .slick-dots li button {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
.slick-dots li.slick-active button {
  background: #E10012;
}

.sec3 {
  background: #fff;
  position: relative;
  padding-top: 6.5386666667px;
  padding-bottom: 184.7173333333px;
  z-index: 1;
  width: 100%;
  transform: translate3d(0, 0, 0);
}
.sec3 .deco1 {
  top: -81.7333333333px;
  right: 57.2133333333px;
}
@media (max-width: 750px) {
  .sec3 .deco1 {
    top: -13.3333333333vw;
    right: 9.3333333333vw;
  }
}
.sec3 .section {
  position: absolute;
  top: -57.2133333333px;
  bottom: 0;
  display: block;
  width: 0;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec3 .section {
    top: -10.6666666667vw;
    bottom: 3.125rem;
  }
}
@media (max-width: 750px) and (max-width: 374px) {
  .sec3 .section {
    top: -8vw;
  }
}
@media (max-width: 750px) {
  .sec3 {
    padding-top: 1.0666666667vw;
    padding-bottom: 30.1333333333vw;
  }
}
.sec3 .step {
  background: url("../img/step_deco.png") center top no-repeat;
  background-size: 100%;
}
.sec3 .txt {
  font-size: 17.9813333333px;
  line-height: 49.04px;
  color: #000;
  text-align: center;
}
@media (min-width: 751px) {
  .sec3 .txt {
    white-space: nowrap;
  }
}
@media (max-width: 750px) {
  .sec3 .txt {
    font-size: 2.9333333333vw;
    line-height: 8vw;
  }
}
.sec3 .txt span {
  border-bottom: 2px dashed #E10012;
  padding-bottom: 4.904px;
}
@media (max-width: 750px) {
  .sec3 .txt span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.8vw;
  }
}
.sec3:before {
  content: "";
  position: absolute;
  top: -122.6px;
  left: 0;
  right: 0;
  height: 525.5453333333px;
  background: url("../img/sec3_top.svg") center top no-repeat;
  background-size: 100%;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec3:before {
    top: -20vw;
    height: 85.7333333333vw;
  }
}
.sec3 .groupttl {
  position: relative;
  aspect-ratio: 336/211;
}
.sec3 .groupttl .deco {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec3 .groupttl h2 {
  margin: 0 auto 40.8666666667px;
}
@media (max-width: 750px) {
  .sec3 .groupttl h2 {
    margin-bottom: 6.6666666667vw;
  }
}
.sec3 .step1 {
  padding-top: 58.848px;
  overflow: hidden;
}
@media (max-width: 750px) {
  .sec3 .step1 {
    padding-top: 9.6vw;
  }
}
.sec3 .step1 h3 {
  margin: 0 0 16.3466666667px -11.4426666667px;
  width: 485.496px;
  aspect-ratio: 297/103;
}
@media (max-width: 750px) {
  .sec3 .step1 h3 {
    width: 79.2vw;
    margin: 0 0 2.6666666667vw -1.8666666667vw;
  }
}
@media (max-width: 750px) {
  .sec3 .step1 .txt {
    margin-left: -1.3333333333vw;
    margin-right: -1.3333333333vw;
    white-space: nowrap;
  }
}
.sec3 .step1 .slider-outer {
  position: relative;
  width: calc(100% + 63.752px);
  margin-left: -31.876px;
  margin-right: -31.876px;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider-outer {
    margin-left: -5.2vw;
    margin-right: -5.2vw;
    width: calc(100% + 10.4vw);
  }
}
.sec3 .step1 .slider-outer .deco2 {
  top: 8.1733333333px;
  right: 32.6933333333px;
  transform: rotate(30deg);
}
@media (max-width: 750px) {
  .sec3 .step1 .slider-outer .deco2 {
    top: 1.3333333333vw;
    right: 5.3333333333vw;
  }
}
.sec3 .step1 .slider-outer .deco3 {
  top: 418.4746666667px;
  left: 24.52px;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider-outer .deco3 {
    top: 68.2666666667vw;
    left: 4vw;
  }
}
.sec3 .step1 .slider1 {
  position: relative;
  margin-top: 24.52px;
  aspect-ratio: 336/135;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider1 {
    margin-top: 4vw;
  }
}
.sec3 .step1 .slider1 .slick-arrow {
  position: absolute;
  top: 50%;
  width: 39.232px;
  height: 39.232px;
  transform: translate(0, -50%);
  font-size: 0;
  border: none;
  cursor: pointer;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider1 .slick-arrow {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.sec3 .step1 .slider1 .slick-arrow.slick-next {
  right: 17.164px;
  background: url("../img/step1_next.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider1 .slick-arrow.slick-next {
    right: 2.8vw;
  }
}
.sec3 .step1 .slider1 .slick-arrow.slick-prev {
  left: 17.164px;
  background: url("../img/step1_prev.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider1 .slick-arrow.slick-prev {
    left: 2.8vw;
  }
}
.sec3 .step1 .slider1 .slide p {
  padding: 0 8.9906666667px;
}
@media (max-width: 750px) {
  .sec3 .step1 .slider1 .slide p {
    right: 2.8vw;
    padding: 0 1.4666666667vw;
  }
}
.sec3 .step1 .deco {
  position: absolute;
  top: -47.4053333333px;
  right: -16.3466666667px;
  width: 209.2373333333px;
  height: 214.9586666667px;
  transform: translate3d(0, 0, 0);
  z-index: 2;
}
@media (max-width: 750px) {
  .sec3 .step1 .deco {
    top: -7.7333333333vw;
    right: -2.6666666667vw;
    width: 34.1333333333vw;
    height: 35.0666666667vw;
  }
}
.sec3 .step1 .deco:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/sec3_step1_slidedeco_bg.png") center no-repeat;
  background-size: 100% 100%;
  z-index: -1;
  animation: rotateBG 8s linear infinite;
}
.sec3 .step1 .photo {
  margin-top: 6.5386666667px;
  aspect-ratio: 336/260;
}
@media (max-width: 750px) {
  .sec3 .step1 .photo {
    margin-top: 1.0666666667vw;
  }
}
.sec3 .step1 .photo2 {
  margin-left: -22.8853333333px;
  margin-top: 35.1453333333px;
  aspect-ratio: 311/178;
}
@media (max-width: 750px) {
  .sec3 .step1 .photo2 {
    margin-top: 5.7333333333vw;
    margin-left: -3.7333333333vw;
  }
}
.sec3 .step2 {
  padding-top: 57.2133333333px;
  margin-top: 32.6933333333px;
  position: relative;
}
@media (max-width: 750px) {
  .sec3 .step2 {
    padding-top: 9.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
.sec3 .step2 .deco2 {
  top: -32.6933333333px;
  right: 50.6746666667px;
}
@media (max-width: 750px) {
  .sec3 .step2 .deco2 {
    top: -5.3333333333vw;
    right: 8.2666666667vw;
  }
}
.sec3 .step2 h3 {
  margin: 0 0 17.9813333333px -11.4426666667px;
  width: 482.2266666667px;
  aspect-ratio: 295/102;
}
@media (max-width: 750px) {
  .sec3 .step2 h3 {
    width: 78.6666666667vw;
    margin: 0 0 2.9333333333vw -1.8666666667vw;
  }
}
.sec3 .step2 .txt {
  margin-bottom: 32.6933333333px;
}
@media (max-width: 750px) {
  .sec3 .step2 .txt {
    margin-bottom: 5.3333333333vw;
  }
}
.sec3 .step2 .content-outer {
  position: relative;
}
.sec3 .step2 .slider-outer {
  position: relative;
  width: calc(100% + 63.752px);
  margin-left: -31.876px;
  margin-right: -31.876px;
  aspect-ratio: 336/265;
}
@media (max-width: 750px) {
  .sec3 .step2 .slider-outer {
    margin-left: -5.2vw;
    margin-right: -5.2vw;
    width: calc(100% + 10.4vw);
  }
}
.sec3 .step2 .slider-outer .deco3 {
  position: absolute;
  top: -39.232px;
  left: 44.9533333333px;
  width: 44.9533333333px;
}
@media (max-width: 750px) {
  .sec3 .step2 .slider-outer .deco3 {
    top: -6.4vw;
    left: 7.3333333333vw;
    width: 7.3333333333vw;
  }
}
.sec3 .step2 .slider-outer .deco4 {
  top: 16.3466666667px;
  left: -17.9813333333px;
}
@media (max-width: 750px) {
  .sec3 .step2 .slider-outer .deco4 {
    top: 2.6666666667vw;
    left: -2.9333333333vw;
  }
}
.sec3 .step2 .slider2 {
  position: relative;
  cursor: pointer;
}
.sec3 .step2 .slider2 .slick-dots {
  position: absolute;
  bottom: 117.696px;
  left: 50%;
  transform: translate(-50%, 0);
  margin: 0;
}
.sec3 .step2 .slider2 .slick-dots li {
  margin: 0 4.904px;
}
.sec3 .step2 .slider2 .slick-dots li button {
  width: 10px;
  height: 10px;
  background: #8CE6F0;
}
@media (max-width: 750px) {
  .sec3 .step2 .slider2 .slick-dots li button {
    width: 1.7333333333vw;
    height: 1.7333333333vw;
  }
}
@media (max-width: 750px) {
  .sec3 .step2 .slider2 .slick-dots li {
    margin: 0 0.8vw;
  }
}
.sec3 .step2 .slider2 .slick-dots li.slick-active button {
  background: #E10012;
}
@media (max-width: 750px) {
  .sec3 .step2 .slider2 .slick-dots {
    bottom: 19.2vw;
  }
}
.sec3 .step2 .grp-img {
  margin-top: -40.8666666667px;
  position: relative;
  z-index: 1;
  aspect-ratio: 297/111;
}
@media (max-width: 750px) {
  .sec3 .step2 .grp-img {
    margin-top: -6.6666666667vw;
  }
}
.sec3 .step3 {
  padding-top: 49.04px;
  margin-top: 88.272px;
  position: relative;
}
.sec3 .step3 .deco1 {
  top: -28.6066666667px;
  right: 65.3866666667px;
}
@media (max-width: 750px) {
  .sec3 .step3 .deco1 {
    top: -4.6666666667vw;
    right: 10.6666666667vw;
  }
}
@media (max-width: 750px) {
  .sec3 .step3 {
    padding-top: 8vw;
    margin-top: 14.4vw;
  }
}
.sec3 .step3 h3 {
  margin: 0 0 21.2506666667px -12.26px;
  width: 492.0346666667px;
  aspect-ratio: 301/100;
}
@media (max-width: 750px) {
  .sec3 .step3 h3 {
    width: 80.2666666667vw;
    margin: 0 0 3.4666666667vw -2vw;
  }
}
.sec3 .step3 .txt {
  margin-bottom: 1.6346666667px;
}
@media (max-width: 750px) {
  .sec3 .step3 .txt {
    margin-bottom: 0.2666666667vw;
    margin-left: -1.3333333333vw;
    margin-right: -1.3333333333vw;
    white-space: nowrap;
  }
}
.sec3 .step3 .photo {
  margin-bottom: 35.1453333333px;
  min-height: 340.0106666667px;
  position: relative;
  aspect-ratio: 297/208;
}
@media (max-width: 750px) {
  .sec3 .step3 .photo {
    margin-bottom: 5.7333333333vw;
    min-height: 55.4666666667vw;
  }
}
.sec3 .step3 .photo .deco2 {
  left: 4.904px;
  bottom: 44.136px;
}
@media (max-width: 750px) {
  .sec3 .step3 .photo .deco2 {
    left: 0.8vw;
    bottom: 7.2vw;
  }
}
.sec3 .step3 .photo2 {
  aspect-ratio: 297/210;
}
.sec3 .step3 .bottom {
  position: relative;
  padding-top: 37.5973333333px;
}
@media (max-width: 750px) {
  .sec3 .step3 .bottom {
    padding-top: 6.1333333333vw;
  }
}
.sec3 .step3 .bottom h3 {
  width: 346.5493333333px;
  margin: 0 auto 16.3466666667px;
  aspect-ratio: 212/30;
}
@media (max-width: 750px) {
  .sec3 .step3 .bottom h3 {
    width: 56.5333333333vw;
    margin: 0 auto 2.6666666667vw;
  }
}
.sec3 .step3 .bottom .photo3 {
  margin: 36.78px auto 41.684px;
  aspect-ratio: 297/165;
}
@media (max-width: 750px) {
  .sec3 .step3 .bottom .photo3 {
    margin: 6vw auto 6.8vw;
  }
}
.sec3 .step3 .bottom .btn {
  width: 286.0666666667px;
  margin: 0 auto;
  aspect-ratio: 175/61;
}
@media (max-width: 750px) {
  .sec3 .step3 .bottom .btn {
    width: 46.6666666667vw;
  }
}
.sec3 .step3 .bottom .deco2 {
  top: 84.1853333333px;
  right: -36.78px;
}
@media (max-width: 750px) {
  .sec3 .step3 .bottom .deco2 {
    top: 13.7333333333vw;
    right: -6vw;
  }
}
.sec3 .step4 {
  padding-top: 60.4826666667px;
  margin-top: 89.9066666667px;
  padding-bottom: 34.328px;
  position: relative;
}
@media (max-width: 750px) {
  .sec3 .step4 {
    padding-top: 9.8666666667vw;
    margin-top: 14.6666666667vw;
    padding-bottom: 5.6vw;
  }
}
.sec3 .step4 h3 {
  margin: 0 0 16.3466666667px -6.5386666667px;
  width: 481.4093333333px;
  aspect-ratio: 294/102;
}
@media (max-width: 750px) {
  .sec3 .step4 h3 {
    width: 78.5333333333vw;
    margin: 0 0 2.9333333333vw -1.0666666667vw;
  }
}
.sec3 .step4 .photo {
  margin-top: 26.1546666667px;
  aspect-ratio: 297/143;
}
@media (max-width: 750px) {
  .sec3 .step4 .photo {
    margin-top: 4.2666666667vw;
  }
}
.sec3 .step4 .deco2 {
  top: -147.12px;
  left: 37.5973333333px;
}
@media (max-width: 750px) {
  .sec3 .step4 .deco2 {
    top: -24vw;
    left: 6.1333333333vw;
  }
}

.linear2 {
  background: linear-gradient(to bottom, #94e3f0 0%, #FABFFE 100%);
  z-index: 2;
  position: relative;
  transform: translate3d(0, 0, 0);
}
.linear2:before {
  content: "";
  position: absolute;
  top: -126.6866666667px;
  right: 0;
  bottom: 50%;
  left: 0;
  background: url("../img/sec4_bg_top.jpg") center top no-repeat;
  background-size: 100%;
}
@media (max-width: 750px) {
  .linear2:before {
    top: -20.6666666667vw;
  }
}

.sec4-prev {
  position: relative;
  padding-bottom: 135.6773333333px;
  padding-top: 34.328px;
}
@media (max-width: 750px) {
  .sec4-prev {
    padding-bottom: 22.1333333333vw;
    padding-top: 5.6vw;
  }
}
.sec4-prev .section {
  position: absolute;
  top: 0px;
  bottom: 0;
  display: block;
  z-index: -1;
  width: 0;
}
@media (max-width: 750px) {
  .sec4-prev .section {
    top: -12vw;
    bottom: 2.5rem;
  }
}
@media (max-width: 750px) and (max-width: 374px) {
  .sec4-prev .section {
    top: -8vw;
  }
}
.sec4-prev .groupttl {
  position: relative;
}
.sec4-prev .groupttl h2 {
  width: 100%;
  margin: 0 auto 27.7893333333px;
  aspect-ratio: 336/201;
}
@media (max-width: 750px) {
  .sec4-prev .groupttl h2 {
    margin-bottom: 4.5333333333vw;
  }
}
.sec4-prev .groupttl .deco {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec4-prev .step {
  background: url("../img/step_deco_w.png") center top no-repeat;
  background-size: 100%;
}
.sec4-prev .price {
  text-align: center;
}
.sec4-prev .price span {
  display: inline-block;
  font-size: 20.4333333333px;
  line-height: 41.684px;
  border: 2px solid #E10012;
  color: #E10012;
  border-radius: 10000px;
  font-weight: 700;
  padding: 0 13.0773333333px;
}
@media (max-width: 750px) {
  .sec4-prev .price span {
    font-size: 3.3333333333vw;
    line-height: 6.8vw;
    border-width: 0.2666666667vw;
    padding: 0 2.1333333333vw;
  }
}
.sec4-prev .txt-sub {
  text-align: center;
  font-size: 13.0773333333px;
  line-height: 22.8853333333px;
  color: #000000;
}
@media (max-width: 750px) {
  .sec4-prev .txt-sub {
    font-size: 2.1333333333vw;
    line-height: 3.7333333333vw;
  }
}
.sec4-prev .txt {
  font-size: 17.9813333333px;
  line-height: 49.04px;
  color: #000;
  text-align: center;
}
@media (min-width: 751px) {
  .sec4-prev .txt {
    white-space: nowrap;
  }
}
@media (max-width: 750px) {
  .sec4-prev .txt {
    font-size: 2.9333333333vw;
    line-height: 8vw;
  }
}
.sec4-prev .txt span {
  border-bottom: 2px dashed #E10012;
  padding-bottom: 4.904px;
}
@media (max-width: 750px) {
  .sec4-prev .txt span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.8vw;
  }
}
.sec4-prev .step1 {
  padding-top: 62.1173333333px;
  position: relative;
  padding-bottom: 53.944px;
}
@media (max-width: 750px) {
  .sec4-prev .step1 {
    padding-top: 10.1333333333vw;
    padding-bottom: 8.8vw;
  }
}
.sec4-prev .step1 .deco1 {
  top: 44.136px;
  right: 55.5786666667px;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .deco1 {
    top: 7.2vw;
    right: 9.0666666667vw;
  }
}
.sec4-prev .step1 h3 {
  width: 499.3906666667px;
  margin: 0 -15.5293333333px 11.4426666667px -8.1733333333px;
  aspect-ratio: 315/105;
}
@media (max-width: 750px) {
  .sec4-prev .step1 h3 {
    width: 81.4666666667vw;
    margin: 0 -2.5333333333vw 1.8666666667vw -1.3333333333vw;
  }
}
.sec4-prev .step1 .price {
  width: 382.512px;
  margin: 29.424px auto 54.7613333333px;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .price {
    width: 62.4vw;
    margin: 4.8vw auto 8.9333333333vw;
  }
}
.sec4-prev .step1 .photo {
  position: relative;
  width: 269.72px;
  margin: 0 auto;
  aspect-ratio: 1/1;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .photo {
    width: 44vw;
  }
}
.sec4-prev .step1 .photo .deco2 {
  top: -27.7893333333px;
  right: -25.3373333333px;
  animation: none;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .photo .deco2 {
    top: -4.5333333333vw;
    right: -4.1333333333vw;
  }
}
.sec4-prev .step1 .photo .deco3 {
  bottom: -14.712px;
  left: -25.3373333333px;
  animation: none;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .photo .deco3 {
    bottom: -2.4vw;
    left: -4.1333333333vw;
  }
}
.sec4-prev .step1 .txt-sub {
  margin-block: 15.5293333333px 26.972px;
}
@media (max-width: 750px) {
  .sec4-prev .step1 .txt-sub {
    margin-block: 2.5333333333vw 4.4vw;
  }
}
.sec4-prev .step2 {
  padding-top: 60.4826666667px;
  position: relative;
}
@media (max-width: 750px) {
  .sec4-prev .step2 {
    padding-top: 9.8666666667vw;
  }
}
.sec4-prev .step2 .deco1 {
  top: 588.48px;
  right: 24.52px;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .deco1 {
    top: 96vw;
    right: 4vw;
  }
}
.sec4-prev .step2 .deco2 {
  top: 761.7546666667px;
  left: 26.1546666667px;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .deco2 {
    top: 124.2666666667vw;
    left: 4.2666666667vw;
  }
}
.sec4-prev .step2 h3 {
  width: 465.88px;
  margin: 0 0 14.712px -5.7213333333px;
  aspect-ratio: 285/105;
}
@media (max-width: 750px) {
  .sec4-prev .step2 h3 {
    width: 76vw;
    margin: 0 0 2.4vw -0.9333333333vw;
  }
}
.sec4-prev .step2 .price {
  width: 326.116px;
  margin: 21.2506666667px auto 50.6746666667px;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .price {
    width: 53.2vw;
    margin: 3.4666666667vw auto 8.2666666667vw;
  }
}
.sec4-prev .step2 .photo1 {
  width: 387.416px;
  margin: 0 auto 32.6933333333px;
  aspect-ratio: 474/410;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .photo1 {
    width: 63.2vw;
    margin: 0 auto 5.3333333333vw;
  }
}
.sec4-prev .step2 .photo2 {
  margin-left: -4.904px;
  margin-right: -3.2693333333px;
  margin-bottom: 29.424px;
  aspect-ratio: 302/147;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .photo2 {
    margin-left: -0.8vw;
    margin-right: -0.5333333333vw;
    margin-bottom: 4.8vw;
  }
}
.sec4-prev .step2 .txt-sub {
  font-size: 17.9813333333px;
  line-height: 31.0586666667px;
  margin-bottom: 29.424px;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .txt-sub {
    font-size: 2.9333333333vw;
    line-height: 5.0666666667vw;
    margin-bottom: 4.8vw;
  }
}
.sec4-prev .step2 .btn1 {
  width: 299.144px;
  margin: 0 auto 58.848px;
  aspect-ratio: 183/42;
}
.sec4-prev .step2 .btn1 a:after {
  display: none;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .btn1 {
    width: 48.8vw;
    margin: 0 auto 9.6vw;
  }
}
.sec4-prev .step2 .btn2 {
  width: 484.6786666667px;
  margin: 0 auto;
  aspect-ratio: 296/65;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .btn2 {
    width: 79.0666666667vw;
  }
}
.sec4-prev .step2 .btn3 {
  width: 488.7653333333px;
  margin: 58.0306666667px auto 0;
  aspect-ratio: 598/175;
}
@media (max-width: 750px) {
  .sec4-prev .step2 .btn3 {
    width: 79.7333333333vw;
    margin: 9.4666666667vw auto 0;
  }
}

.sec4 {
  background-size: 100%;
  padding-top: 49.04px;
  text-align: center;
  padding-bottom: 205.968px;
  position: relative;
  z-index: 2;
}
.sec4 .section {
  position: absolute;
  width: 0;
  bottom: 0;
  top: 0;
}
@media (max-width: 750px) {
  .sec4 .section {
    top: -9.3333333333vw;
    bottom: 1.875rem;
  }
}
@media (max-width: 750px) {
  .sec4 {
    padding-top: 8vw;
    padding-bottom: 33.6vw;
  }
}
.sec4 .groupttl {
  position: relative;
  aspect-ratio: 336/209;
}
.sec4 .groupttl .deco {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec4 .groupttl h2 {
  width: 100%;
  margin: 0 auto 29.424px;
}
@media (max-width: 750px) {
  .sec4 .groupttl h2 {
    margin-bottom: 4.8vw;
  }
}
.sec4 .step {
  background: url("../img/step_deco_w.png") center top no-repeat;
  background-size: 100%;
}
.sec4 .deco1 {
  top: -104.6186666667px;
  left: 32.6933333333px;
}
@media (max-width: 750px) {
  .sec4 .deco1 {
    top: -17.0666666667vw;
    left: 5.3333333333vw;
  }
}
.sec4 .deco2 {
  top: -40.8666666667px;
  right: 62.1173333333px;
}
@media (max-width: 750px) {
  .sec4 .deco2 {
    top: -6.6666666667vw;
    right: 10.1333333333vw;
  }
}
.sec4 .step1 {
  padding-top: 58.0306666667px;
  padding-bottom: 44.9533333333px;
  position: relative;
}
@media (max-width: 750px) {
  .sec4 .step1 {
    padding-top: 9.4666666667vw;
    padding-bottom: 7.3333333333vw;
  }
}
.sec4 .step1 h3 {
  margin: 0 0 18.7986666667px -11.4426666667px;
  width: 483.8613333333px;
  position: relative;
  aspect-ratio: 296/102;
}
.sec4 .step1 h3 span {
  position: absolute;
  width: 128.3213333333px;
  z-index: 1;
  right: -29.424px;
  top: -24.52px;
}
.sec4 .step1 h3 span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/new_bg.svg") center no-repeat;
  background-size: 100% 100%;
  animation: rotateBG 8s linear infinite;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec4 .step1 h3 span {
    width: 20.9333333333vw;
    right: -4.8vw;
    top: -4vw;
  }
}
@media (max-width: 750px) {
  .sec4 .step1 h3 {
    width: 78.9333333333vw;
    margin: 0 0 3.0666666667vw -1.8666666667vw;
  }
}
.sec4 .step1 .photo1 {
  margin: 8.1733333333px -32.6933333333px 40.0493333333px -32.6933333333px;
  aspect-ratio: 338/183;
}
@media (max-width: 750px) {
  .sec4 .step1 .photo1 {
    margin: 1.3333333333vw -5.4666666667vw 6.5333333333vw;
  }
}
.sec4 .step1 .photo2 {
  margin-left: -7.356px;
  margin-bottom: 47.4053333333px;
  aspect-ratio: 301/128;
}
@media (max-width: 750px) {
  .sec4 .step1 .photo2 {
    margin-left: -1.2vw;
    margin-bottom: 7.7333333333vw;
  }
}
.sec4 .step2 {
  padding-top: 58.848px;
  overflow: hidden;
  padding-bottom: 8.1733333333px;
}
@media (max-width: 750px) {
  .sec4 .step2 {
    padding-top: 9.6vw;
    padding-bottom: 1.3333333333vw;
  }
}
.sec4 .step2 h3 {
  margin: 0 0 24.52px -6.5386666667px;
  width: 485.496px;
  aspect-ratio: 297/103;
}
@media (max-width: 750px) {
  .sec4 .step2 h3 {
    width: 79.2vw;
    margin: 0 0 4vw -1.0666666667vw;
  }
}
.sec4 .step2 .photo {
  margin: 0px -1.6346666667px 0px -1.6346666667px;
  line-height: 0;
  position: relative;
  z-index: 1;
  aspect-ratio: 338/674;
}
.sec4 .step2 .photo img:not(:nth-last-child(1)) {
  margin-bottom: -2px;
}
@media (max-width: 750px) {
  .sec4 .step2 .photo img:not(:nth-last-child(1)) {
    margin-bottom: -0.2666666667vw;
  }
}
.sec4 .step2 .photo:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 10%;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec4 .step2 .photo {
    margin: 0vw -0.2666666667vw 0vw -0.2666666667vw;
    min-height: 179.4666666667vw;
  }
}
.sec4 .step2 .list-sns {
  border-top-width: 2.452px;
  margin-right: 0px;
  padding: 50.6746666667px 0 9.808px;
  color: #000;
  margin-bottom: -2px;
  margin-top: 34.328px;
  background: url("../img/sns_bg.png") center no-repeat;
  background-size: 100% 100%;
  line-height: 0;
  box-sizing: border-box;
  position: relative;
  aspect-ratio: 338/245;
}
.sec4 .step2 .list-sns .col {
  position: relative;
  z-index: 2;
}
.sec4 .step2 .list-sns:before {
  content: "";
  position: absolute;
  top: 0;
  left: -2.452px;
  right: -2.452px;
  bottom: 0;
  background: url("../img/sns_bg-ol.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media (max-width: 750px) {
  .sec4 .step2 .list-sns:before {
    left: -0.1333333333vw;
    right: -0.1333333333vw;
  }
}
@media (max-width: 750px) {
  .sec4 .step2 .list-sns {
    border-radius: 2.6666666667vw;
    padding: 8.2666666667vw 0 1.6vw;
    margin-right: -0.5px;
    margin-left: -0.5px;
    margin-bottom: -1px;
    margin-top: 5.6vw;
  }
}
.sec4 .step2 .row {
  display: flex;
  margin: 0 -13.8946666667px 0;
}
.sec4 .step2 .row .col {
  width: 33.33%;
  text-align: center;
  padding: 0 13.8946666667px;
}
@media (max-width: 750px) {
  .sec4 .step2 .row .col {
    padding: 0 2.2666666667vw;
  }
}
@media (max-width: 750px) {
  .sec4 .step2 .row {
    margin: 0 -2.2666666667vw 0;
  }
}
.sec4 .step2 .row .ttl {
  line-height: 20.4333333333px;
  margin-top: 17.9813333333px;
  margin-bottom: 13.8946666667px;
  font-size: 17.9813333333px;
  font-weight: 500;
}
@media (max-width: 750px) {
  .sec4 .step2 .row .ttl {
    line-height: 3.3333333333vw;
    margin-top: 2.9333333333vw;
    margin-bottom: 2.2666666667vw;
    font-size: 2.9333333333vw;
  }
}
.sec4 .step2 .row .list-social {
  display: flex;
  list-style: none;
  padding: 0;
  justify-content: center;
}
.sec4 .step2 .row .list-social li {
  margin: 0 8.9906666667px;
  width: 28.6066666667px;
}
@media (max-width: 750px) {
  .sec4 .step2 .row .list-social li {
    margin: 0 1.4666666667vw;
    width: 4.6666666667vw;
  }
}
.sec4 .step2 .row .list-social li:nth-last-child(1) {
  width: 27.7893333333px;
}
@media (max-width: 750px) {
  .sec4 .step2 .row .list-social li:nth-last-child(1) {
    width: 4.5333333333vw;
  }
}
.sec4 .step2 .price {
  display: flex;
  justify-content: flex-end;
  margin-top: 16.3466666667px;
  margin-right: -22.068px;
  font-weight: 500;
  align-items: center;
}
.sec4 .step2 .price dt {
  font-size: 16.3466666667px;
  transform: translate(0, 2.452px);
}
.sec4 .step2 .price dd {
  width: 111.1573333333px;
  margin-left: 22.068px;
}
@media (max-width: 750px) {
  .sec4 .step2 .price {
    margin-top: 2.6666666667vw;
    margin-right: -3.6vw;
  }
  .sec4 .step2 .price dt {
    font-size: 2.6666666667vw;
    transform: translate(0, 0.4vw);
  }
  .sec4 .step2 .price dd {
    width: 18.1333333333vw;
    margin-left: 3.6vw;
  }
}
.sec4 .txt {
  font-size: 17.9813333333px;
  line-height: 49.04px;
  color: #000;
  text-align: center;
}
@media (min-width: 751px) {
  .sec4 .txt {
    white-space: nowrap;
  }
}
@media (max-width: 750px) {
  .sec4 .txt {
    font-size: 2.9333333333vw;
    line-height: 8vw;
  }
}
.sec4 .txt span {
  border-bottom: 2px dashed transparent;
  padding-bottom: 2.452px;
  position: relative;
}
.sec4 .txt span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: url("../img/dash-bd.png") center left;
  background-size: auto 100%;
  border-radius: 10000px;
}
@media (max-width: 750px) {
  .sec4 .txt span:after {
    height: 0.2666666667vw;
  }
}
@media (max-width: 750px) {
  .sec4 .txt span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.4vw;
  }
}
.sec4 .bottom {
  font-weight: 500;
}
.sec4 .bottom .txt {
  font-size: 24.52px;
  line-height: 32.6933333333px;
  margin-top: 76.8293333333px;
}
@media (max-width: 750px) {
  .sec4 .bottom .txt {
    font-size: 4vw;
    line-height: 5.3333333333vw;
    margin-top: 12.5333333333vw;
  }
}
.sec4 .bottom .price_bottom {
  margin-top: 22.8853333333px;
  font-size: 19.616px;
  line-height: 28.6066666667px;
  font-weight: 500;
}
.sec4 .bottom .price_bottom span {
  border-bottom: 2px dashed transparent;
  padding-bottom: 2.452px;
  display: inline-block;
  color: #000000;
  position: relative;
}
.sec4 .bottom .price_bottom span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: url("../img/dash-bd.png") center left;
  background-size: auto 100%;
  border-radius: 10000px;
}
@media (max-width: 750px) {
  .sec4 .bottom .price_bottom span:after {
    height: 0.2666666667vw;
  }
}
@media (max-width: 750px) {
  .sec4 .bottom .price_bottom span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.4vw;
  }
}
@media (max-width: 750px) {
  .sec4 .bottom .price_bottom {
    margin-top: 3.7333333333vw;
    font-size: 3.2vw;
    line-height: 4.6666666667vw;
  }
}
.sec4 .bottom .price_bottom img {
  width: 144.668px;
  margin: 0 auto 8.9906666667px;
}
@media (max-width: 750px) {
  .sec4 .bottom .price_bottom img {
    width: 23.6vw;
    margin: 0 auto 1.4666666667vw;
  }
}
.sec4 .list_quot {
  margin-top: 53.1266666667px;
}
@media (max-width: 750px) {
  .sec4 .list_quot {
    margin-top: 8.6666666667vw;
  }
}
.sec4 .list_quot .quot {
  display: flex;
}
.sec4 .list_quot .quot .photo {
  width: 228.8533333333px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot .photo {
    width: 37.3333333333vw;
  }
}
.sec4 .list_quot .quot .desc-quot {
  width: calc(100% - 228.8533333333px);
  font-size: 17.9813333333px;
  line-height: 22.8853333333px;
  text-align: left;
  position: relative;
}
.sec4 .list_quot .quot .desc-quot p {
  font-weight: 700;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot .desc-quot {
    width: calc(100% - 37.3333333333vw);
    font-size: 2.9333333333vw;
    line-height: 3.7333333333vw;
  }
}
.sec4 .list_quot .quot + .quot {
  margin-top: 26.1546666667px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot + .quot {
    margin-top: 4.2666666667vw;
  }
}
.sec4 .list_quot .quot.quot1 .photo {
  position: relative;
}
.sec4 .list_quot .quot.quot1 .photo span {
  position: absolute;
  top: 8.1733333333px;
  right: -121.7826666667px;
  width: 133.3888px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot1 .photo span {
    top: 1.3333333333vw;
    right: -19.8666666667vw;
    width: 21.76vw;
  }
}
.sec4 .list_quot .quot.quot1 .desc-quot {
  padding-left: 31.876px;
  padding-top: 114.4266666667px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot1 .desc-quot {
    padding-left: 5.2vw;
    padding-top: 18.6666666667vw;
  }
}
.sec4 .list_quot .quot.quot1 .desc-quot .deco {
  position: absolute;
  top: -29.424px;
  right: -40.0493333333px;
  width: 155.2933333333px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot1 .desc-quot .deco {
    top: -4.8vw;
    right: -6.5333333333vw;
    width: 25.3333333333vw;
  }
}
.sec4 .list_quot .quot.quot1 p {
  padding: 0px 8.1733333333px 1.6346666667px 32.6933333333px;
  background: url("../img/quot_bg1.svg") center no-repeat;
  background-size: 100% 100%;
  height: 93.176px;
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot1 p {
    padding: 0vw 1.3333333333vw 0.2666666667vw 5.3333333333vw;
    height: 15.2vw;
  }
}
.sec4 .list_quot .quot.quot2 .desc-quot {
  padding-right: 31.876px;
  padding-top: 21.2506666667px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot2 .desc-quot {
    padding-right: 5.2vw;
    padding-top: 3.4666666667vw;
  }
}
.sec4 .list_quot .quot.quot2 .desc-quot span {
  position: absolute;
  bottom: -68.656px;
  left: -49.04px;
  width: 255.008px;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot2 .desc-quot span {
    bottom: -11.2vw;
    left: -8vw;
    width: 41.6vw;
  }
}
.sec4 .list_quot .quot.quot2 p {
  padding: 0px 26.1546666667px 0px 15.5293333333px;
  background: url("../img/quot_bg2.svg") center no-repeat;
  background-size: 100% 100%;
  height: 94.8106666667px;
  width: 225.1344666667px;
  display: flex;
  align-items: center;
}
@media (max-width: 750px) {
  .sec4 .list_quot .quot.quot2 p {
    padding: 0vw 4.2666666667vw 0vw 2.5333333333vw;
    height: 15.4666666667vw;
    width: 36.7266666667vw;
  }
}

.sec5 {
  background: #fff;
  position: relative;
  padding-bottom: 106.2533333333px;
  padding-top: 52.3093333333px;
  z-index: 3;
  aspect-ratio: 336/1673;
  width: 100%;
  transform: translate3d(0, 0, 0);
}
.sec5 .deco1 {
  top: -138.9466666667px;
  left: 62.1173333333px;
}
@media (max-width: 750px) {
  .sec5 .deco1 {
    top: -22.6666666667vw;
    left: 10.1333333333vw;
  }
}
.sec5 .section {
  position: absolute;
  top: 0px;
  height: 100%;
  display: block;
  width: 0;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec5 .section {
    top: -5.3333333333vw;
  }
}
@media (max-width: 750px) {
  .sec5 {
    padding-bottom: 17.3333333333vw;
    padding-top: 8.5333333333vw;
  }
}
.sec5:before {
  content: "";
  position: absolute;
  top: -122.6px;
  right: 0;
  left: 0;
  height: 271.3546666667px;
  background: url("../img/sec5_bg_top.png") center top no-repeat;
  background-size: 100%;
}
@media (max-width: 750px) {
  .sec5:before {
    top: -20vw;
    height: 44.2666666667vw;
  }
}
.sec5 .groupttl {
  position: relative;
  z-index: 1;
  aspect-ratio: 336/190;
}
.sec5 .groupttl .deco {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec5 .groupttl h2 {
  width: 100%;
  margin: 0 auto 44.136px;
}
@media (max-width: 750px) {
  .sec5 .groupttl h2 {
    margin-bottom: 7.2vw;
  }
}
.sec5 .step {
  background: url("../img/step_deco.png") center top no-repeat;
  background-size: 100%;
}
.sec5 .accordion {
  background: #fff;
  border: 2px solid #000;
  border-radius: 53.1266666667px;
  margin-top: 102.1666666667px;
  padding: 39.232px 35.9626666667px 34.328px;
  width: 100%;
  cursor: pointer;
  text-align: center;
}
@media (max-width: 750px) {
  .sec5 .accordion {
    border-radius: 8.6666666667vw;
    margin-top: 16.6666666667vw;
    border-width: 1px;
    padding: 6.4vw 5.8666666667vw 5.6vw;
  }
}
.sec5 .accordion .accordion-link {
  line-height: 1;
}
.sec5 .accordion .accordttl {
  display: inline-block;
  font-size: 24.52px;
  line-height: 30.2413333333px;
  padding: 0 34.328px 0 0;
  color: #000;
  font-weight: 700;
  position: relative;
  cursor: pointer;
}
.sec5 .accordion .accordttl:before {
  content: "";
  position: absolute;
  top: 52%;
  right: -0.8173333333px;
  width: 22.8853333333px;
  height: 19.616px;
  transform: translate(0, -50%);
  background: url("../img/accorr_arr.svg") center no-repeat;
  background-size: 100%;
}
@media (max-width: 750px) {
  .sec5 .accordion .accordttl:before {
    right: -0.1333333333vw;
    width: 3.3333333333vw;
    height: 2.8vw;
  }
}
@media (max-width: 750px) {
  .sec5 .accordion .accordttl {
    font-size: 4vw;
    line-height: 4.9333333333vw;
    padding: 0 5.6vw 0 0;
  }
}
.sec5 .accordion.active .accordttl:before {
  transform: translate(0, -50%) rotate(180deg);
}
.sec5 .accordion span {
  display: block;
  color: #E10012;
  line-height: 1.36;
  margin-top: 13.0773333333px;
  font-size: 17.9813333333px;
  font-weight: 700;
}
@media (max-width: 750px) {
  .sec5 .accordion span {
    font-size: 2.9333333333vw;
    margin-top: 2.1333333333vw;
  }
}
.sec5 .accordion .accordion-content {
  padding-top: 31.0586666667px;
  display: none;
}
@media (max-width: 750px) {
  .sec5 .accordion .accordion-content {
    padding-top: 5.0666666667vw;
  }
}
.sec5 .accordion .accordion-content p {
  text-align: center;
  font-size: 16.3466666667px;
  line-height: 28.6066666667px;
  letter-spacing: -0.07em;
  color: #000;
  font-weight: 500;
}
@media (max-width: 750px) {
  .sec5 .accordion .accordion-content p {
    font-size: 2.6666666667vw;
    line-height: 4.6666666667vw;
  }
}
.sec5 .accordion .accordion-content p.txt-main {
  margin-left: -16.3466666667px;
  margin-right: -16.3466666667px;
}
.sec5 .accordion .accordion-content .list-photo {
  padding: 0;
  margin: 24.52px 0 0;
  list-style: none;
}
.sec5 .accordion .accordion-content .list-photo li + li {
  margin-top: 24.52px;
}
@media (max-width: 750px) {
  .sec5 .accordion .accordion-content .list-photo li + li {
    margin-top: 4vw;
  }
}
@media (max-width: 750px) {
  .sec5 .accordion .accordion-content .list-photo {
    margin-top: 4vw;
  }
}
.sec5 .accordion .accordion-content .txt-sub {
  font-size: 12.26px;
  line-height: 1.2;
  text-align: left;
  margin-top: 20.4333333333px;
  font-weight: 400;
}
@media (max-width: 750px) {
  .sec5 .accordion .accordion-content .txt-sub {
    font-size: 2vw;
    line-height: 2.4vw;
    margin-top: 3.3333333333vw;
  }
}
.sec5 .txt {
  font-size: 17.9813333333px;
  line-height: 49.04px;
  color: #000;
  text-align: center;
}
@media (min-width: 751px) {
  .sec5 .txt {
    white-space: nowrap;
  }
}
@media (max-width: 750px) {
  .sec5 .txt {
    font-size: 2.9333333333vw;
    line-height: 8vw;
  }
}
.sec5 .txt span {
  border-bottom: 2px dashed #E10012;
  padding-bottom: 4.904px;
}
@media (max-width: 750px) {
  .sec5 .txt span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.8vw;
  }
}
.sec5 .price {
  width: 94.8106666667px;
  margin: 4.904px auto 9.808px;
}
@media (max-width: 750px) {
  .sec5 .price {
    width: 15.4666666667vw;
    margin: 0.8vw auto 1.6vw;
  }
}
.sec5 .step1 {
  padding-top: 58.848px;
  position: relative;
}
.sec5 .step1 .deco3 {
  top: 385.7813333333px;
  left: 22.8853333333px;
}
@media (max-width: 750px) {
  .sec5 .step1 .deco3 {
    top: 62.9333333333vw;
    left: 3.7333333333vw;
  }
}
@media (max-width: 750px) {
  .sec5 .step1 {
    padding-top: 9.6vw;
  }
  .sec5 .step1 .price {
    aspect-ratio: 54/29;
  }
}
.sec5 .step1 h3 {
  margin: 0 0 31.0586666667px -4.904px;
  width: 482.2266666667px;
  aspect-ratio: 295/102;
}
@media (max-width: 750px) {
  .sec5 .step1 h3 {
    width: 78.6666666667vw;
    margin: 0 0 5.0666666667vw -0.8vw;
  }
}
.sec5 .step1 .photo1 {
  width: 434.004px;
  margin: 9.808px auto 0;
  aspect-ratio: 265/234;
}
.sec5 .step1 .photo1 img {
  transform: translate(-6.5386666667px, 0);
}
@media (max-width: 750px) {
  .sec5 .step1 .photo1 {
    width: 70.8vw;
    margin: 1.6vw auto 0;
  }
  .sec5 .step1 .photo1 img {
    transform: translate(-1.0666666667vw, 0);
  }
}
.sec5 .step1 .photo2 {
  width: 440.5426666667px;
  margin: 4.7405333333px auto -4.0866666667px;
  aspect-ratio: 269/179;
}
@media (max-width: 750px) {
  .sec5 .step1 .photo2 {
    width: 71.8666666667vw;
    margin: 0.7733333333vw auto -0.6666666667vw;
  }
}
.sec5 .step1 .photo3 {
  width: 511.6506666667px;
  margin: 14.712px -11.4426666667px 65.3866666667px;
  aspect-ratio: 313/92;
}
@media (max-width: 750px) {
  .sec5 .step1 .photo3 {
    width: 83.4666666667vw;
    margin: 2.4vw -1.8666666667vw 10.6666666667vw;
  }
}
.sec5 .step2 {
  padding-top: 59.6653333333px;
  position: relative;
}
.sec5 .step2 .deco2 {
  top: -35.9626666667px;
  right: 65.3866666667px;
  z-index: 3;
}
@media (max-width: 750px) {
  .sec5 .step2 .deco2 {
    top: -5.8666666667vw;
    right: 10.6666666667vw;
  }
}
.sec5 .step2 .deco3 {
  top: 398.8586666667px;
  left: 45.7706666667px;
  z-index: 3;
}
@media (max-width: 750px) {
  .sec5 .step2 .deco3 {
    top: 65.0666666667vw;
    left: 7.4666666667vw;
  }
}
.sec5 .step2 .deco4 {
  top: 595.0186666667px;
  right: 55.5786666667px;
}
@media (max-width: 750px) {
  .sec5 .step2 .deco4 {
    top: 97.0666666667vw;
    right: 9.0666666667vw;
  }
}
@media (max-width: 750px) {
  .sec5 .step2 {
    padding-top: 9.7333333333vw;
  }
}
.sec5 .step2 h3 {
  margin: 0 -6.5386666667px 26.1546666667px -7.356px;
  width: 498.5733333333px;
  aspect-ratio: 305/102;
}
@media (max-width: 750px) {
  .sec5 .step2 h3 {
    width: 81.3333333333vw;
    margin: 0 -1.0666666667vw 4.2666666667vw -1.2vw;
  }
}
.sec5 .step2 .photo1 {
  width: 485.496px;
  margin: 0px auto -1.6346666667px;
  aspect-ratio: 297/249;
}
@media (max-width: 750px) {
  .sec5 .step2 .photo1 {
    width: 79.2vw;
    margin: 0vw auto -0.2666666667vw;
  }
}
.sec5 .step2 .slider3 {
  position: relative;
  margin: 25.3373333333px 0 0px;
  aspect-ratio: 336/155;
}
@media (max-width: 750px) {
  .sec5 .step2 .slider3 {
    margin: 4.1333333333vw 0 0vw;
  }
}
.sec5 .step2 .slider3 .slick-arrow {
  position: absolute;
  top: 50%;
  width: 39.232px;
  height: 39.232px;
  transform: translate(0, -50%);
  font-size: 0;
  border: none;
  cursor: pointer;
}
@media (max-width: 750px) {
  .sec5 .step2 .slider3 .slick-arrow {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.sec5 .step2 .slider3 .slick-arrow.slick-next {
  right: 61.3px;
  background: url("../img/step1_next.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media (max-width: 750px) {
  .sec5 .step2 .slider3 .slick-arrow.slick-next {
    right: 10vw;
  }
}
.sec5 .step2 .slider3 .slick-arrow.slick-prev {
  left: 61.3px;
  background: url("../img/step1_prev.png") center no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media (max-width: 750px) {
  .sec5 .step2 .slider3 .slick-arrow.slick-prev {
    left: 10vw;
  }
}
.sec5 .step2 .slider3 .slide p {
  padding: 0 13.0773333333px;
}
@media (max-width: 750px) {
  .sec5 .step2 .slider3 .slide p {
    padding: 0 2.1333333333vw;
  }
}

.sec5b {
  position: relative;
  background: linear-gradient(to bottom, #8be6ef 0%, #E6C6FC 100%);
  padding: 182.2653333333px 0 253.3733333333px;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec5b {
    padding: 29.7333333333vw 0 41.3333333333vw;
  }
}
.sec5b > .deco1 {
  top: 145.4853333333px;
  left: 75.1946666667px;
}
@media (max-width: 750px) {
  .sec5b > .deco1 {
    top: 23.7333333333vw;
    left: 12.2666666667vw;
    z-index: 2;
  }
}
.sec5b .section {
  position: absolute;
  top: 122.6px;
  bottom: 0;
  display: block;
  z-index: -1;
  width: 0;
}
@media (max-width: 750px) {
  .sec5b .section {
    top: 9.3333333333vw;
    bottom: 2.5rem;
  }
}
.sec5b:before {
  content: "";
  position: absolute;
  top: -1px;
  right: 0;
  bottom: 50%;
  left: 0;
  background: url("../img/sec4_bg_top.jpg") center top no-repeat;
  background-size: 100%;
}
.sec5b .groupttl {
  position: relative;
  z-index: 1;
}
.sec5b .groupttl .deco {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec5b .groupttl h2 {
  width: 100%;
  margin: 0 auto 102.1666666667px;
  aspect-ratio: 336/174;
}
@media (max-width: 750px) {
  .sec5b .groupttl h2 {
    margin-bottom: 16.6666666667vw;
  }
}
.sec5b .row {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.sec5b .row .photo {
  width: 230.488px;
  z-index: 1;
  position: relative;
  aspect-ratio: 1/1;
}
@media (max-width: 750px) {
  .sec5b .row .photo {
    width: 37.6vw;
  }
}
.sec5b .row .photo span {
  position: absolute;
  width: 102.984px;
  z-index: 1;
}
.sec5b .row .photo span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../img/sec5_bub_bg.png") center no-repeat;
  background-size: contain;
  animation: rotateBG 8s linear infinite;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec5b .row .photo span {
    width: 16.8vw;
  }
}
.sec5b .row .group {
  width: calc(100% - 230.488px);
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 750px) {
  .sec5b .row .group {
    width: calc(100% - 37.6vw);
  }
}
.sec5b .row .group .text {
  color: #000;
  letter-spacing: -0.05em;
  line-height: 32.6933333333px;
  white-space: nowrap;
  font-weight: 500;
  font-size: 17.9813333333px;
}
@media (max-width: 750px) {
  .sec5b .row .group .text {
    line-height: 5.3333333333vw;
    font-size: 2.9333333333vw;
  }
}
.sec5b .row .group .text span {
  color: #E10012;
  display: inline-block;
  padding: 0 9.808px 0 8.1733333333px;
  background: #fff;
  border-radius: 24.52px;
  line-height: 29.424px;
  margin-right: 4.0866666667px;
  letter-spacing: -0.04em;
}
@media (max-width: 750px) {
  .sec5b .row .group .text span {
    padding: 0 1.6vw 0 1.3333333333vw;
    border-radius: 4vw;
    line-height: 4.8vw;
    margin-right: 0.6666666667vw;
  }
}
.sec5b .row .group .ttl {
  line-height: 40.8666666667px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  .sec5b .row .group .ttl {
    line-height: 6.6666666667vw;
  }
}
.sec5b .row1 .photo {
  position: relative;
}
.sec5b .row1 .photo span {
  top: -44.9533333333px;
  left: -26.972px;
}
@media (max-width: 750px) {
  .sec5b .row1 .photo span {
    top: -7.3333333333vw;
    left: -4.4vw;
  }
}
.sec5b .row1 .photo:before {
  content: "";
  position: absolute;
  top: -29.424px;
  right: -14.712px;
  width: 52.3093333333px;
  height: 63.752px;
  background: url("../img/sec5_img_deco1.png") center no-repeat;
  background-size: 100%;
  animation: 1.5s iconAnimation steps(1, start) infinite;
}
@media (max-width: 750px) {
  .sec5b .row1 .photo:before {
    top: -4.8vw;
    right: -2.4vw;
    width: 8.5333333333vw;
    height: 10.4vw;
  }
}
.sec5b .row1 .photo:after {
  content: "";
  position: absolute;
  bottom: -24.52px;
  left: -11.4426666667px;
  width: 52.3093333333px;
  height: 63.752px;
  background: url("../img/sec5_img_deco2.png") center no-repeat;
  background-size: 100%;
  animation: 1.5s iconAnimation steps(1, start) infinite;
  animation-delay: 2s;
}
@media (max-width: 750px) {
  .sec5b .row1 .photo:after {
    bottom: -4vw;
    left: -1.8666666667vw;
    width: 8.5333333333vw;
    height: 10.4vw;
  }
}
.sec5b .row1 .group {
  padding-left: 27.7893333333px;
  padding-top: 29.424px;
}
.sec5b .row1 .group .ttl {
  position: absolute;
  top: 138.9466666667px;
  left: -11.4426666667px;
  margin-right: 16.3466666667px;
}
@media (max-width: 750px) {
  .sec5b .row1 .group .ttl {
    top: 22.6666666667vw;
    margin-right: 2.6666666667vw;
    left: -1.8666666667vw;
  }
}
.sec5b .row1 .group .text span {
  margin-left: -11.4426666667px;
  padding-left: 10.6253333333px;
}
.sec5b .row1 .group .deco1 {
  position: absolute;
}
@media (max-width: 750px) {
  .sec5b .row1 .group {
    padding-left: 4.5333333333vw;
    padding-top: 4.8vw;
  }
  .sec5b .row1 .group .text span {
    margin-left: -1.8666666667vw;
    padding-left: 1.8666666667vw;
  }
}
.sec5b .row1 .deco1 {
  position: absolute;
  top: -73.56px;
  right: -26.972px;
  width: 44.9533333333px;
}
@media (max-width: 750px) {
  .sec5b .row1 .deco1 {
    top: -12vw;
    right: -4.4vw;
    width: 7.3333333333vw;
  }
}
.sec5b .row2 {
  margin-top: 57.2133333333px;
}
@media (max-width: 750px) {
  .sec5b .row2 {
    margin-top: 9.3333333333vw;
  }
}
.sec5b .row2 .photo {
  position: relative;
}
.sec5b .row2 .photo span {
  top: -44.9533333333px;
  right: -10.6253333333px;
}
@media (max-width: 750px) {
  .sec5b .row2 .photo span {
    top: -7.3333333333vw;
    right: -1.7333333333vw;
  }
}
.sec5b .row2 .photo:before {
  content: "";
  position: absolute;
  right: -27.7893333333px;
  bottom: -65.3866666667px;
  width: 123.4173333333px;
  height: 129.1386666667px;
  background: url("../img/sec5_img_deco4.png") center no-repeat;
  background-size: 100%;
  animation: 1.5s iconAnimation steps(1, start) infinite;
  animation-delay: 1s;
}
@media (max-width: 750px) {
  .sec5b .row2 .photo:before {
    bottom: -10.6666666667vw;
    right: -4.5333333333vw;
    width: 20.1333333333vw;
    height: 21.0666666667vw;
  }
}
.sec5b .row2 .photo:after {
  content: "";
  position: absolute;
  top: -24.52px;
  left: -37.5973333333px;
  width: 76.012px;
  height: 71.9253333333px;
  background: url("../img/sec5_img_deco3.png") center no-repeat;
  background-size: 100%;
  animation: 1.5s iconAnimation steps(1, start) infinite;
  animation-delay: 2s;
}
@media (max-width: 750px) {
  .sec5b .row2 .photo:after {
    top: -4vw;
    left: -6.1333333333vw;
    width: 12.4vw;
    height: 11.7333333333vw;
  }
}
.sec5b .row2 .group {
  padding-left: 52.3093333333px;
  padding-top: 32.6933333333px;
}
.sec5b .row2 .group .ttl {
  position: absolute;
  top: 116.0613333333px;
  right: -2px;
  border-left: none;
  height: 85.0026666667px;
  margin-left: 16.3466666667px;
}
@media (max-width: 750px) {
  .sec5b .row2 .group .ttl {
    top: 18.9333333333vw;
    padding-left: 2.4vw;
    height: 13.8666666667vw;
    width: 100%;
    margin-left: 2.6666666667vw;
  }
}
.sec5b .row2 .group .text span {
  margin-left: -8.1733333333px;
}
@media (max-width: 750px) {
  .sec5b .row2 .group {
    padding-top: 5.3333333333vw;
    padding-left: 8.5333333333vw;
  }
  .sec5b .row2 .group .text span {
    margin-left: -1.3333333333vw;
  }
}
.sec5b .row2 .deco2 {
  left: -4.904px;
  bottom: -52.3093333333px;
  top: auto;
}
@media (max-width: 750px) {
  .sec5b .row2 .deco2 {
    left: -0.8vw;
    bottom: -8.5333333333vw;
  }
}

.sec6 {
  background: #fff;
  background-size: 100%;
  padding-top: 49.04px;
  padding-bottom: 134.0426666667px;
  text-align: center;
  position: relative;
  color: #000;
  aspect-ratio: 336/971;
  transform: translate3d(0, 0, 0);
}
@media (min-width: 751px) {
  .sec6 {
    aspect-ratio: 546/1501;
  }
}
.sec6 .section {
  position: absolute;
  top: 0;
  height: 100%;
  display: block;
  z-index: -1;
  width: 0;
}
@media (max-width: 750px) {
  .sec6 .section {
    top: -9.3333333333vw;
  }
}
.sec6 h2 {
  width: 406.2146666667px;
  margin: 0 auto;
  aspect-ratio: 248.5/89.5;
}
@media (max-width: 750px) {
  .sec6 h2 {
    width: 66.2666666667vw;
  }
}
@media (max-width: 750px) {
  .sec6 {
    padding-top: 8vw;
    padding-bottom: 21.8666666667vw;
  }
}
.sec6 .deco1 {
  top: -147.12px;
  right: 32.6933333333px;
}
@media (max-width: 750px) {
  .sec6 .deco1 {
    top: -24vw;
    right: 5.3333333333vw;
  }
}
.sec6 .wrapper {
  position: relative;
  z-index: 1;
}
.sec6 .map-wrapper {
  width: 100%;
  height: 0;
  padding-bottom: 56.73%;
  border: 2px solid #000;
  border-radius: 16.3466666667px;
  overflow: hidden;
  position: relative;
}
.sec6 .map-wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 16.3466666667px;
}
@media (max-width: 750px) {
  .sec6 .map-wrapper iframe {
    border-radius: 2.6666666667vw;
  }
}
@media (max-width: 750px) {
  .sec6 .map-wrapper {
    border-width: 0.2666666667vw;
    border-radius: 2.6666666667vw;
    padding-bottom: 0;
    height: 58.6666666667vw;
    min-height: 220px;
  }
}
.sec6 h3 {
  font-weight: inherit;
  font-size: 26.1546666667px;
  line-height: 40.8666666667px;
  font-weight: 500;
  margin: 35.9626666667px 0 37.5973333333px;
  letter-spacing: -0.05em;
}
@media (max-width: 750px) {
  .sec6 h3 {
    font-size: 4.2666666667vw;
    line-height: 6.6666666667vw;
    margin: 5.8666666667vw 0 6.1333333333vw;
  }
}
.sec6 h3 .txt-sub {
  display: block;
  font-size: 15.5293333333px;
  line-height: 24.52px;
  margin-top: 14.712px;
  letter-spacing: 0;
}
@media (max-width: 750px) {
  .sec6 h3 .txt-sub {
    font-size: 2.5333333333vw;
    line-height: 4vw;
    margin-top: 2.4vw;
  }
}
.sec6:before {
  content: "";
  position: absolute;
  top: -122.6px;
  right: 0;
  left: 0;
  height: 271.3546666667px;
  background: url("../img/sec5_bg_top.png") center top no-repeat;
  background-size: 100%;
}
@media (max-width: 750px) {
  .sec6:before {
    top: -20vw;
    height: 44.2666666667vw;
  }
}
.sec6 .text {
  margin-bottom: 58.848px;
  font-size: 15.5293333333px;
  line-height: 17.9813333333px;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.sec6 .text span {
  display: inline-block;
  padding-bottom: 6.5386666667px;
}
@media (max-width: 750px) {
  .sec6 .text span {
    padding-bottom: 1.0666666667vw;
  }
}
.sec6 .text span:nth-last-child(1) {
  width: auto;
}
@media (max-width: 750px) {
  .sec6 .text {
    margin-bottom: 9.6vw;
    font-size: 2.5333333333vw;
    line-height: 2.9333333333vw;
  }
}
.sec6 .text span {
  border-bottom: 2px dashed transparent;
  position: relative;
}
.sec6 .text span:not(:nth-child(1)) {
  margin-top: 7.5194666667px;
}
@media (max-width: 750px) {
  .sec6 .text span:not(:nth-child(1)) {
    margin-top: 1.2266666667vw;
  }
}
.sec6 .text span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: url("../img/dash-bd.png") center left;
  background-size: auto 100%;
  border-radius: 10000px;
}
@media (max-width: 750px) {
  .sec6 .text span:after {
    height: 0.2666666667vw;
  }
}
@media (max-width: 750px) {
  .sec6 .text span {
    border-width: 0.2666666667vw;
  }
}
.sec6 .btn {
  margin-bottom: 40.0493333333px;
  width: 100%;
  aspect-ratio: 297/66;
}
@media (max-width: 750px) {
  .sec6 .btn {
    margin-bottom: 6.5333333333vw;
  }
}
.sec6 .floor_flame {
  margin: 42.5013333333px -1px 0;
  width: calc(100% + 2px);
  position: relative;
  aspect-ratio: 1/1;
}
@media (max-width: 750px) {
  .sec6 .floor_flame {
    margin: 6.9333333333vw -1px 0;
  }
}
.sec6 .deco3 {
  position: absolute;
  width: 60.4826666667px;
  height: 60.4826666667px;
  top: -35.9626666667px;
  right: -35.9626666667px;
}
@media (max-width: 750px) {
  .sec6 .deco3 {
    width: 9.8666666667vw;
    height: 9.8666666667vw;
    top: -5.8666666667vw;
    right: -5.8666666667vw;
  }
}

.sec7 {
  position: relative;
  background: linear-gradient(to bottom, #95e3f0 0%, #FFBEFF 100%);
  padding: 161.832px 0 240.296px;
  aspect-ratio: 336/1045;
  transform: translate3d(0, 0, 0);
}
.sec7:before {
  content: "";
  position: absolute;
  top: -1px;
  right: 0;
  bottom: 50%;
  left: 0;
  background: url("../img/sec4_bg_top.jpg") center top no-repeat;
  background-size: 100%;
}
.sec7 .section {
  position: absolute;
  top: 57.2133333333px;
  height: 100%;
  display: block;
  width: 0;
}
@media (max-width: 750px) {
  .sec7 .section {
    top: -2.6666666667vw;
  }
}
@media (max-width: 750px) {
  .sec7 {
    padding-bottom: 39.2vw;
    padding-top: 26.4vw;
  }
}
.sec7 h2 {
  position: relative;
  z-index: 1;
  width: 406.2146666667px;
  margin: 0 auto 63.752px;
  aspect-ratio: 248.5/89.5;
}
@media (max-width: 750px) {
  .sec7 h2 {
    width: 66.2666666667vw;
    margin-bottom: 10.4vw;
  }
}
.sec7 h2 .deco {
  position: absolute;
  top: -134.0426666667px;
  left: -71.9253333333px;
  width: 171.64px;
}
@media (max-width: 750px) {
  .sec7 h2 .deco {
    top: -21.8666666667vw;
    left: -11.7333333333vw;
    width: 28vw;
  }
}
.sec7 .list-qa {
  overflow: hidden;
  padding-bottom: 24.52px;
}
@media (max-width: 750px) {
  .sec7 .list-qa {
    padding-bottom: 4vw;
  }
}
.sec7 .qa {
  position: relative;
  z-index: 2;
  display: inline-block;
}
.sec7 .qa .qa_inner {
  padding: 31.0586666667px 0 31.0586666667px;
  position: relative;
  z-index: 2;
  line-height: 28.6066666667px;
  font-size: 17.9813333333px;
  display: inline-block;
}
@media (max-width: 750px) {
  .sec7 .qa .qa_inner {
    padding: 5.0666666667vw 0 5.0666666667vw;
    line-height: 4vw;
    font-size: 2.9333333333vw;
  }
}
.sec7 .qa:nth-child(2n+1) {
  margin-right: 58.848px;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2n+1) {
    margin-right: 9.6vw;
  }
}
.sec7 .qa:nth-child(2n+1) .qa_inner {
  padding-left: 37.5973333333px;
  padding-right: 95.628px;
  border-left: none;
  background: url("../img/qa-inner-bg.png") center top no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2n+1) .qa_inner {
    padding-left: 6.1333333333vw;
    padding-right: 15.6vw;
  }
}
.sec7 .qa:nth-child(2n+1) .bg {
  background: url("../img/qa-shadow.png") center top no-repeat;
  background-size: 100% 100%;
}
.sec7 .qa:nth-child(2n) {
  text-align: right;
  margin-left: 65.3866666667px;
  width: calc(100% - 65.3866666667px);
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2n) {
    margin-left: 10.6666666667vw;
    width: calc(100% - 10.6666666667vw);
  }
}
.sec7 .qa:nth-child(2n) .qa_inner {
  padding-right: 32.6933333333px;
  padding-left: 45.7706666667px;
  border-right: none;
  text-align: left;
  background: url("../img/qa-inner-bg2.png") center no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2n) .qa_inner {
    padding-right: 5.3333333333vw;
    padding-left: 7.4666666667vw;
  }
}
.sec7 .qa:nth-child(2n) .bg {
  content: "";
  position: absolute;
  top: 8.1733333333px;
  bottom: -8.1733333333px;
  left: 0;
  right: 0;
  z-index: -1;
  border-radius: 0;
  border-right: none;
  background: url("../img/qa-shadow2.png") center top no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2n) .bg {
    top: 1.3333333333vw;
    bottom: -1.3333333333vw;
  }
}
.sec7 .qa .bg {
  position: absolute;
  top: 8.1733333333px;
  bottom: -8.1733333333px;
  left: 0;
  right: 0;
  z-index: -1;
}
@media (max-width: 750px) {
  .sec7 .qa .bg {
    top: 1.3333333333vw;
    bottom: -1.3333333333vw;
  }
}
.sec7 .qa:nth-child(2) .qa_inner {
  padding-bottom: 27.7893333333px;
  padding-top: 29.424px;
}
.sec7 .qa:nth-child(2) .qa_inner .quest {
  letter-spacing: 0;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2) .qa_inner {
    padding-bottom: 4.5333333333vw;
    padding-top: 4.8vw;
  }
}
.sec7 .qa:nth-child(2) .qa_inner .quest > p, .sec7 .qa:nth-child(2) .qa_inner .ans > p {
  width: calc(100% - 27.7893333333px);
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(2) .qa_inner .quest > p, .sec7 .qa:nth-child(2) .qa_inner .ans > p {
    width: calc(100% - 4.5333333333vw);
  }
}
.sec7 .qa:nth-child(3) {
  margin-right: 65.3866666667px;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(3) {
    margin-right: 10.6666666667vw;
  }
}
.sec7 .qa:nth-child(3) .qa_inner {
  background: url("../img/qa-inner-bg3.png") center top no-repeat;
  background-size: 100% 100%;
  padding-right: 49.04px;
  padding-top: 26.972px;
  padding-bottom: 24.52px;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(3) .qa_inner {
    padding-right: 8vw;
    padding-top: 4.4vw;
    padding-bottom: 4vw;
  }
}
.sec7 .qa:nth-child(3) .qa_inner .quest {
  letter-spacing: 0;
}
.sec7 .qa:nth-child(3) .qa_inner .ans {
  margin-top: 9.808px;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(3) .qa_inner .ans {
    margin-top: 1.6vw;
  }
}
.sec7 .qa:nth-child(3) .bg {
  background: url("../img/qa-shadow3.png") center top no-repeat;
  background-size: 100% 100%;
}
.sec7 .qa:nth-child(3) .photo {
  display: block;
  width: 327.7506666667px;
  margin: 24.52px 0 0 39.232px;
  aspect-ratio: 401/277;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(3) .photo {
    width: 53.4666666667vw;
    margin: 4vw 0 0 6.4vw;
  }
}
.sec7 .qa:nth-child(4) .qa_inner {
  background: url("../img/qa-inner-bg4.png") center top no-repeat;
  background-size: 100% 100%;
  padding-right: 31.876px;
  padding-bottom: 35.9626666667px;
}
.sec7 .qa:nth-child(4) .qa_inner .quest {
  letter-spacing: 0;
}
.sec7 .qa:nth-child(4) .qa_inner .ans {
  margin-top: 9.808px;
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(4) .qa_inner .ans {
    margin-top: 1.6vw;
  }
}
@media (max-width: 750px) {
  .sec7 .qa:nth-child(4) .qa_inner {
    padding-right: 5.2vw;
    padding-bottom: 5.8666666667vw;
  }
}
.sec7 .qa:nth-child(4) .bg {
  background: url("../img/qa-shadow4.png") center top no-repeat;
  background-size: 100% 100%;
}
.sec7 .qa + .qa {
  margin-top: 22.8853333333px;
}
@media (max-width: 750px) {
  .sec7 .qa + .qa {
    margin-top: 3.7333333333vw;
  }
}
.sec7 .qa .popup:after {
  display: none;
}
.sec7 .qa .quest, .sec7 .qa .ans {
  display: flex;
  font-size: 17.9813333333px;
  line-height: 28.6066666667px;
}
@media (max-width: 750px) {
  .sec7 .qa .quest, .sec7 .qa .ans {
    font-size: 2.9333333333vw;
    line-height: 4.6666666667vw;
  }
}
.sec7 .qa .quest > span, .sec7 .qa .ans > span {
  width: 22.8853333333px;
  margin-right: 4.904px;
  font-size: 18.7986666667px;
  font-weight: 600;
}
@media (max-width: 750px) {
  .sec7 .qa .quest > span, .sec7 .qa .ans > span {
    width: 3.7333333333vw;
    margin-right: 0.8vw;
    font-size: 3.0666666667vw;
    font-weight: 700;
  }
}
.sec7 .qa .quest {
  letter-spacing: -0.05em;
}
.sec7 .qa .ans {
  color: #000;
  margin-top: 3.2693333333px;
  letter-spacing: -0.05em;
  line-height: 24.52px;
}
@media (max-width: 750px) {
  .sec7 .qa .ans {
    margin-top: 0.5333333333vw;
    line-height: 4vw;
  }
}
.sec7 .qa .ans a {
  color: #E10012;
  text-decoration: underline;
}
.sec7 .qa .ans i {
  font-style: normal;
}

.sec8 {
  background: #fff;
  padding-top: 49.04px;
  position: relative;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 {
    padding-top: 8vw;
  }
}
.sec8 .btn-top {
  padding: 304.048px 0 238.6613333333px 0;
  background: url("../img/sec8-top-bg.png") center no-repeat;
  background-size: 100%;
  margin-bottom: 99.7146666667px;
  margin-top: -189.6213333333px;
  aspect-ratio: 336/377;
}
.sec8 .btn-top .btn {
  width: 290.1533333333px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .sec8 .btn-top {
    padding: 49.6vw 0 38.9333333333vw 0;
    margin-bottom: 16.2666666667vw;
    margin-top: -30.9333333333vw;
  }
  .sec8 .btn-top .btn {
    width: 47.3333333333vw;
  }
}
.sec8:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 419.292px;
  background: #2B5AC8;
}
@media (max-width: 750px) {
  .sec8:after {
    height: 68.4vw;
  }
}
.sec8 h2 {
  position: relative;
  z-index: 1;
  width: 408.6666666667px;
  margin: 0 auto 56.396px;
  aspect-ratio: 250/90;
}
@media (max-width: 750px) {
  .sec8 h2 {
    width: 66.6666666667vw;
    margin-bottom: 9.2vw;
  }
}
.sec8 .block {
  margin-top: 49.04px;
  background: url("../img/sec8_heart.png") center top no-repeat;
  background-size: 100%;
  position: relative;
  z-index: 2;
  padding-bottom: 77.6466666667px;
}
@media (max-width: 750px) {
  .sec8 .block {
    margin-top: 8vw;
    padding-bottom: 13.3333333333vw;
  }
}
.sec8 .block .top {
  display: flex;
  justify-content: center;
  padding-top: 65.3866666667px;
}
@media (max-width: 750px) {
  .sec8 .block .top {
    padding-top: 10.6666666667vw;
  }
}
.sec8 .block .top .photo {
  width: 271.3546666667px;
  position: relative;
  margin-left: -75.1946666667px;
}
@media (max-width: 750px) {
  .sec8 .block .top .photo {
    width: 44vw;
    margin-left: -12.2666666667vw;
  }
}
.sec8 .block .top .photo:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 39.232px;
  width: 190.4386666667px;
  height: 242.748px;
  background: url("../img/sec8_icon_bear.png") center;
  background-size: 100%;
  animation: 1.5s iconAnimation2 steps(1, start) infinite;
}
@media (max-width: 750px) {
  .sec8 .block .top .photo:before {
    width: 31.0666666667vw;
    bottom: 6.4vw;
    height: 39.6vw;
  }
}
.sec8 .block .top .content-right {
  width: 172.4573333333px;
  padding-top: 40.8666666667px;
  margin-left: 8.1733333333px;
  line-height: 0;
}
@media (max-width: 750px) {
  .sec8 .block .top .content-right {
    width: 28.1333333333vw;
    padding-top: 6.6666666667vw;
    margin-left: 1.3333333333vw;
  }
}
.sec8 .block .top .content-right .title {
  font-size: 20.4333333333px;
  line-height: 28.6066666667px;
  color: #E10012;
  font-weight: 500;
  margin-bottom: 10.6253333333px;
}
@media (max-width: 750px) {
  .sec8 .block .top .content-right .title {
    font-size: 3.3333333333vw;
    line-height: 4.6666666667vw;
    margin-bottom: 1.7333333333vw;
  }
}
.sec8 .block .top .content-right .title span {
  background: #8CE6F0;
  display: inline-block;
  position: relative;
  width: 100%;
  padding-left: 4.0866666667px;
  white-space: nowrap;
  letter-spacing: -0.1em;
}
.sec8 .block .top .content-right .title span img {
  width: 18.7986666667px;
  display: inline-block;
  transform: translate(0, -1.6346666667px);
}
@media (max-width: 750px) {
  .sec8 .block .top .content-right .title span img {
    width: 3.0666666667vw;
    transform: translate(0, -0.2666666667vw);
  }
}
.sec8 .block .top .content-right .title span + span {
  margin-top: 8.1733333333px;
  letter-spacing: -0.02em;
}
@media (max-width: 750px) {
  .sec8 .block .top .content-right .title span + span {
    margin-top: 1.3333333333vw;
  }
}
.sec8 .block .top .content-right .social-outer {
  position: relative;
}
.sec8 .block .top .content-right .social-outer a {
  display: block;
  width: 100%;
  height: 100%;
}
@media (min-width: 751px) and (hover: hover) {
  .sec8 .block .top .content-right .social-outer a:hover {
    background: rgba(255, 255, 255, 0.3);
  }
}
.sec8 .block .top .content-right .social-outer .blockInsta {
  position: absolute;
  top: 6%;
  left: 5.75%;
  width: 15.42%;
  height: 20.18%;
}
.sec8 .block .top .content-right .social-outer .blockTik {
  position: absolute;
  top: 6%;
  left: 31.75%;
  width: 11.42%;
  height: 20.18%;
}
.sec8 .block .top .content-right .social-outer .blockX {
  position: absolute;
  top: 6%;
  right: 31.7%;
  width: 12.42%;
  height: 20.18%;
}
.sec8 .block .top .content-right .social-outer .blockYTb {
  position: absolute;
  top: 9%;
  right: 4.7%;
  width: 17.42%;
  height: 15.18%;
}
.sec8 .block .top .content-right .social-outer .social-line {
  position: absolute;
  bottom: 6%;
  left: 8.7%;
  width: 15.42%;
  height: 20.18%;
}
.sec8 .grp {
  position: relative;
}
.sec8 .grp:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 179.8133333333px;
  background: url("../img/step_deco.png") center top no-repeat;
  background-size: 100%;
}
.sec8 .grp1 {
  padding: 147.9373333333px 0 0;
}
@media (max-width: 750px) {
  .sec8 .grp1 {
    padding-top: 24.1333333333vw;
  }
}
.sec8 .grp1 h3 {
  width: 485.496px;
  margin: 0 auto 35.1453333333px;
}
@media (max-width: 750px) {
  .sec8 .grp1 h3 {
    width: 79.2vw;
    margin: 0 auto 5.7333333333vw;
  }
}
.sec8 .grp1 .slide1 {
  position: relative;
}
.sec8 .grp1 .slide1 .icon {
  position: absolute;
  top: 27.7893333333px;
  left: -20.4333333333px;
  width: 40.8666666667px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp1 .slide1 .icon {
    top: 4.5333333333vw;
    right: -3.3333333333vw;
    width: 6.6666666667vw;
  }
}
.sec8 .grp2 {
  padding: 138.9466666667px 0 0;
  margin-top: 49.04px;
}
@media (max-width: 750px) {
  .sec8 .grp2 {
    padding-top: 22.6666666667vw;
    margin-top: 8vw;
  }
}
.sec8 .grp2 h3 {
  width: 485.496px;
  margin: 0 auto 26.1546666667px;
}
@media (max-width: 750px) {
  .sec8 .grp2 h3 {
    width: 79.2vw;
    margin: 0 auto 4.2666666667vw;
  }
}
.sec8 .grp2 .slide5 {
  position: relative;
}
.sec8 .grp2 .slide5 .icon {
  position: absolute;
  top: 123.4173333333px;
  right: -3.2693333333px;
  width: 40.8666666667px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp2 .slide5 .icon {
    top: 20.1333333333vw;
    right: -0.5333333333vw;
    width: 6.6666666667vw;
  }
}
.sec8 .grp2 .slide1 {
  position: relative;
}
.sec8 .grp2 .slide1 .icon {
  position: absolute;
  top: 27.7893333333px;
  left: -20.4333333333px;
  width: 40.8666666667px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp2 .slide1 .icon {
    top: 4.5333333333vw;
    left: -3.3333333333vw;
    width: 6.6666666667vw;
  }
}
.sec8 .grp3 {
  padding: 138.9466666667px 0 0;
  margin-top: 49.04px;
}
@media (max-width: 750px) {
  .sec8 .grp3 {
    padding-top: 22.6666666667vw;
    margin-top: 8vw;
  }
}
.sec8 .grp3 h3 {
  width: 485.496px;
  margin: 0 auto 26.1546666667px;
}
@media (max-width: 750px) {
  .sec8 .grp3 h3 {
    width: 79.2vw;
    margin: 0 auto 4.2666666667vw;
  }
}
.sec8 .grp3 .slide5 {
  position: relative;
}
.sec8 .grp3 .slide5 .icon {
  position: absolute;
  top: 123.4173333333px;
  right: -3.2693333333px;
  width: 40.8666666667px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp3 .slide5 .icon {
    top: 20.1333333333vw;
    right: -0.5333333333vw;
    width: 6.6666666667vw;
  }
}
.sec8 .grp3 .slide1 {
  position: relative;
}
.sec8 .grp3 .slide1 .icon {
  position: absolute;
  top: 27.7893333333px;
  left: -20.4333333333px;
  width: 40.8666666667px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp3 .slide1 .icon {
    top: 4.5333333333vw;
    right: -3.3333333333vw;
    width: 6.6666666667vw;
  }
}
.sec8 .grp3 .slide2 .icon {
  position: absolute;
  bottom: 0;
  right: 255.008px;
  width: 161.832px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp3 .slide2 .icon {
    bottom: 0;
    right: 41.6vw;
    width: 26.4vw;
  }
}
.sec8 .grp3 .slide4 .icon {
  position: absolute;
  top: 7.356px;
  left: -26.972px;
  width: 54.7613333333px;
  z-index: 1;
  transform: translate3d(0, 0, 0);
}
@media (max-width: 750px) {
  .sec8 .grp3 .slide4 .icon {
    top: 1.2vw;
    left: -4.4vw;
    width: 8.9333333333vw;
  }
}
.sec8 .grp4 {
  padding: 134.86px 0 0;
  margin-top: 55.5786666667px;
}
@media (max-width: 750px) {
  .sec8 .grp4 {
    padding-top: 22vw;
    margin-top: 9.0666666667vw;
  }
}
.sec8 .grp4 h3 {
  width: 484.6786666667px;
  margin: 0 auto 22.068px;
}
@media (max-width: 750px) {
  .sec8 .grp4 h3 {
    width: 79.0666666667vw;
    margin: 0 auto 3.6vw;
  }
}
.sec8 .grp4 .inner-slide {
  position: relative;
}
.sec8 .grp4 .inner-slide .icon, .sec8 .grp4 .inner-slide .icon02 {
  position: absolute;
  z-index: 1;
}
.sec8 .grp4 .slide1 {
  padding-bottom: 8.1733333333px;
}
.sec8 .grp4 .slide1 .icon {
  width: 131.5906666667px;
  bottom: 0;
  right: 0;
}
@media (max-width: 750px) {
  .sec8 .grp4 .slide1 .icon {
    width: 21.4666666667vw;
  }
}
.sec8 .grp4 .slide1 .icon02 {
  width: 52.3093333333px;
  top: 79.2813333333px;
  left: -37.5973333333px;
}
@media (max-width: 750px) {
  .sec8 .grp4 .slide1 .icon02 {
    width: 8.5333333333vw;
    left: -6.1333333333vw;
    top: 12.9333333333vw;
  }
}
.sec8 .grp4 .slide4 .icon {
  width: 131.5906666667px;
  left: -44.136px;
  top: 0px;
}
@media (max-width: 750px) {
  .sec8 .grp4 .slide4 .icon {
    width: 21.4666666667vw;
    left: -7.2vw;
  }
}
.sec8 .grp4 .slide5 .icon {
  width: 31.876px;
  top: 99.7146666667px;
  left: -4.904px;
}
@media (max-width: 750px) {
  .sec8 .grp4 .slide5 .icon {
    width: 5.2vw;
    top: 16.2666666667vw;
    left: -0.8vw;
  }
}
.sec8 .grp4 .slide6 .icon {
  width: 43.3186666667px;
  top: 0px;
  left: -4.0866666667px;
}
@media (max-width: 750px) {
  .sec8 .grp4 .slide6 .icon {
    width: 7.0666666667vw;
    left: -0.6666666667vw;
  }
}
.sec8 .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 175.7266666667px;
  margin: 4.0866666667px auto 0;
  color: #000;
}
.sec8 .logo img {
  transform: translate(10px, 0);
}
@media (max-width: 750px) {
  .sec8 .logo {
    width: 28.6666666667vw;
    margin-top: 0.6666666667vw;
  }
  .sec8 .logo img {
    transform: translate(1.3333333333vw, 0);
  }
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000000;
  font-weight: normal;
  font-weight: 700;
  opacity: 0;
  display: none;
  align-items: center;
  justify-content: center;
  transform: translate3d(0, 0, 0);
}
.modal .modal-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  position: relative;
}
.modal .modal-inner .mv_tag {
  padding: 40.8666666667px 8.1733333333px 40.8666666667px 24.52px;
  height: 75vh;
  background: #fff;
  border-radius: 53.1266666667px;
  border: 2px solid #000;
  position: relative;
}
@media (max-width: 750px) {
  .modal .modal-inner .mv_tag {
    padding: 6.6666666667vw 3.2vw 6.6666666667vw 5.8666666667vw;
    width: 100%;
    border-radius: 8.6666666667vw;
    border-width: 1px;
  }
}
.modal .modal-inner .mv_tag .scroll {
  line-height: 0;
  position: relative;
  height: 100%;
  overflow: auto;
}
@media (max-width: 750px) {
  .modal .modal-inner .mv_tag .scroll {
    padding-right: 2.6666666667vw;
  }
}
@media (max-width: 750px) {
  .modal {
    font-size: 3.7333333333vw;
    line-height: 6.9333333333vw;
  }
}
.modal.active {
  opacity: 1;
  display: flex;
  visibility: visible;
}
.modal .btn-close {
  cursor: pointer;
  position: absolute;
  bottom: calc(100% + 8.1733333333px);
  right: calc(50% - 240px);
  z-index: 6;
  width: 39.232px;
}
.modal .btn-close span {
  margin: 0;
  cursor: pointer;
}
@media (max-width: 750px) {
  .modal .btn-close {
    bottom: calc(100% + 1.3333333333vw);
    right: 0;
    height: 49.04px;
    width: 49.04px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
  .modal .btn-close span {
    width: 6.4vw;
  }
}
.modal .accordttl {
  display: inline-block;
  background: #fff;
  font-size: 24.52px;
  line-height: 30.2413333333px;
  padding: 4.0866666667px 12.26px 0 12.26px;
  color: #000;
  position: relative;
  margin-bottom: 0px;
  font-weight: 700;
}
@media (max-width: 750px) {
  .modal .accordttl {
    font-size: 4vw;
    line-height: 4.9333333333vw;
    padding: 0.6666666667vw 0vw 0 0vw;
    margin-bottom: 0vw;
  }
}
.modal span {
  display: block;
  color: #E10012;
  line-height: 1.36;
  margin-top: 10.6253333333px;
  margin-bottom: 23.7026666667px;
  font-size: 17.9813333333px;
  font-weight: 700;
}
@media (max-width: 750px) {
  .modal span {
    font-size: 2.9333333333vw;
    margin-top: 2.1333333333vw;
  }
}
.modal .modal-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: fixed;
  z-index: 9;
  background: rgba(0, 0, 0, 0.3);
  min-height: calc(100vh + 10px);
}
.modal .modal-mv {
  margin: 0 auto;
  position: relative;
  z-index: 10;
  height: auto;
  max-height: 85svh;
  transform: translate3d(0, 0, 0);
  max-width: 480px;
  width: 100%;
}
@media (max-width: 750px) {
  .modal .modal-mv {
    width: calc(100% - 10.4vw);
    max-width: unset;
  }
}
.modal p {
  text-align: center;
  font-size: 16.3466666667px;
  line-height: 28.6066666667px;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: #000;
}
@media (max-width: 750px) {
  .modal p {
    font-size: 2.6666666667vw;
    line-height: 4.6666666667vw;
  }
}
.modal .list-photo {
  padding: 0;
  margin: 24.52px 0 0;
  list-style: none;
}
.modal .list-photo li + li {
  margin-top: 16.3466666667px;
}
@media (max-width: 750px) {
  .modal .list-photo li + li {
    margin-top: 4vw;
  }
}
@media (max-width: 750px) {
  .modal .list-photo {
    margin-top: 4vw;
  }
}
.modal .txt-sub {
  font-size: 12.26px;
  line-height: 1.2;
  margin-top: 14.712px;
  text-align: left;
  letter-spacing: 0;
  font-weight: 400;
}
@media (max-width: 750px) {
  .modal .txt-sub {
    font-size: 2vw;
    margin-top: 2.4vw;
  }
}

#popup2 .mv_tag {
  height: auto;
  padding-bottom: 5.0625rem;
  padding-top: 1.375rem;
  padding-inline: 19.616px 3.2693333333px;
}
@media (max-width: 1200px) {
  #popup2 .mv_tag {
    padding-bottom: 1.875rem;
  }
}
@media (max-width: 750px) {
  #popup2 .mv_tag {
    height: 148vw;
    max-height: 85svh;
    padding-bottom: 5.3333333333vw;
    box-sizing: border-box;
    padding-inline: 3.2vw 0.5333333333vw;
  }
}
#popup2 .txt {
  text-align: center;
  width: 374.6656px;
  margin: 0 auto 0;
  padding: 25.1738666667px 75.5216px 55.4969333333px 80.6708px;
  background: url("../img/modal2-txt-bub.png") center no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 750px) {
  #popup2 .txt {
    width: 76.4vw;
    padding: 5.8666666667vw 17.6vw 12.9333333333vw 18.8vw;
  }
}
#popup2 .txt span {
  border-bottom: 2px dashed transparent;
  padding-bottom: 1.7164px;
  margin: 0;
  color: #000;
  font-size: 17.164px;
  line-height: 30.8952px;
  display: inline-block;
  font-weight: 500;
  position: relative;
}
#popup2 .txt span:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: url("../img/dash-bd.png") center left;
  background-size: auto 100%;
  border-radius: 10000px;
}
@media (max-width: 750px) {
  #popup2 .txt span:after {
    height: 0.2666666667vw;
  }
}
@media (max-width: 750px) {
  #popup2 .txt span {
    border-width: 0.2666666667vw;
    padding-bottom: 0.4vw;
    font-size: 4vw;
    line-height: 7.2vw;
  }
}
#popup2 .photo {
  width: 340.9914666667px;
  margin: 0 auto;
  transform: translate(-2.2885333333px, 0);
}
@media (max-width: 750px) {
  #popup2 .photo {
    width: 79.4666666667vw;
    transform: translate(-0.5333333333vw, 0);
  }
}
#popup2 .photo .txt-sub {
  text-align: right;
  font-size: 10.2984px;
  line-height: 14.8754666667px;
  margin-top: -3.4328px;
  margin-right: -6.8656px;
  text-indent: -11.4426666667px;
  margin-bottom: -19.4525333333px;
}
#popup2 .photo .txt-sub span {
  color: #000;
  text-align: left;
  display: inline-block;
  font-weight: 500;
  font-size: inherit;
}
@media (max-width: 750px) {
  #popup2 .photo .txt-sub {
    font-size: 2.4vw;
    line-height: 3.4666666667vw;
    margin-top: -0.8vw;
    margin-right: -1.6vw;
    text-indent: -2.6666666667vw;
    margin-bottom: -4.5333333333vw;
  }
}

.fixed_menu {
  position: fixed;
  top: 0;
  left: 34.328px;
  right: 34.328px;
  z-index: 999;
  display: flex;
  background: #fff;
  font-size: 18px;
  line-height: 19px;
  justify-content: space-between;
  align-items: center;
  padding: 32px 20px 28px 20px;
  opacity: 0;
  visibility: hidden;
  max-width: 548px;
  margin: 0 auto;
  box-sizing: border-box;
  border-radius: 50px;
  border: 0.2666666667vw solid #000;
}
@media (max-width: 750px) {
  .fixed_menu {
    top: 0;
  }
}
@media (min-width: 751px) {
  .fixed_menu {
    display: none;
    height: 0;
  }
}
.fixed_menu.active {
  opacity: 1;
  visibility: visible;
}
.fixed_menu > p {
  width: 16.67%;
}
.fixed_menu a {
  text-decoration: none;
  color: #000;
  text-align: center;
  display: block;
  position: relative;
  z-index: 1;
  font-weight: 600;
  white-space: nowrap;
}
.fixed_menu a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  width: 58px;
  height: 66px;
  background: url("../img/hearth_pink-menu.png") center no-repeat;
  background-size: 100% 100%;
  z-index: -1;
}
@media (max-width: 750px) {
  .fixed_menu a:before {
    width: 7.7333333333vw;
    height: 8.8vw;
  }
}
.fixed_menu a.active:before {
  background-image: url("../img/hearth_blue-menu.png");
}
@media (max-width: 750px) {
  .fixed_menu {
    font-size: 2.4vw;
    line-height: 2.5333333333vw;
    left: 5.2vw;
    right: 5.2vw;
    padding: 4.2666666667vw 2.6666666667vw 3.7333333333vw 2.6666666667vw;
  }
}

@keyframes snowFalling {
  from {
    top: -10vh;
  }
  to {
    top: 100vh;
    transform: translate(-800px, 0);
  }
}
.icon-overlay {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  max-height: 100vh;
  height: calc(100vh - 60px);
  box-sizing: border-box;
  overflow: hidden;
}
@media (max-width: 750px) {
  .icon-overlay {
    display: none !important;
  }
}
.icon-overlay.fixed {
  position: fixed;
}
.icon-overlay.fixed .icon1 {
  top: 120px;
}
.icon-overlay.fixed-bottom {
  position: absolute;
  bottom: 0;
  top: auto;
  left: 50%;
  transform: translate(-50%, 0);
}
.icon-overlay .group-deco-snowflake .deco-flower {
  max-width: 50px;
  position: absolute;
  width: 3.3333333333vw;
  animation: 30s snowFalling linear infinite;
  top: -10vh;
}
@media (max-width: 1366px) {
  .icon-overlay .group-deco-snowflake .deco-flower {
    width: 3.3674963397vw;
  }
}
.icon-overlay .group-deco-snowflake .deco1 {
  left: 25%;
  animation-delay: 1s;
}
.icon-overlay .group-deco-snowflake .deco2 {
  left: 65%;
  animation-delay: 2s;
}
.icon-overlay .group-deco-snowflake .deco3 {
  max-width: 75px;
  left: 80%;
  width: 5vw;
}
@media (max-width: 1440px) {
  .icon-overlay .group-deco-snowflake .deco3 {
    width: 5.2083333333vw;
  }
}
.icon-overlay .group-deco-snowflake .deco4 {
  left: 100%;
  animation-delay: 6s;
}
.icon-overlay .group-deco-snowflake .deco5 {
  left: 140%;
  animation-delay: 9s;
}
.icon-overlay .group-deco-snowflake .deco6 {
  left: 115%;
  animation-delay: 0s;
}
.icon-overlay .group-deco-snowflake .deco7 {
  left: 130%;
  animation-delay: 1s;
}

.bg-overlay {
  z-index: 0;
  background: #8CE6F0;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: fixed;
  height: 100vh !important;
  transition: height 0.35s ease;
}
.bg-overlay.fixedIm {
  position: fixed !important;
  height: 100vh !important;
}
.bg-overlay.fixed-bottom {
  position: absolute;
  bottom: 0;
  top: auto;
}
.bg-overlay:before {
  content: "";
  position: absolute;
  top: 92px;
  bottom: 92px;
  left: 100px;
  right: 100px;
  background: linear-gradient(to bottom, #2B5AC8 0%, #CFAAF3 100%);
  background: url("../img/bg-overlay-bd.png") center no-repeat;
  background-size: 100% 100%;
  transition: all 0.35s ease;
}
@media (max-width: 1610px) {
  .bg-overlay:before {
    top: 6vw;
    bottom: 6vw;
    left: 6.67vw;
    right: 6.67vw;
  }
}
@media (max-width: 1366px) {
  .bg-overlay:before {
    left: 0;
    right: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    top: 90px;
    bottom: 90px;
    background: linear-gradient(to bottom, #2B5AC8 0%, #CFAAF3 100%);
  }
}

.icon-deco {
  position: absolute;
  z-index: 2;
  transform: translate3d(0, 0, 0);
}
.icon-deco img {
  max-width: 100%;
  display: block;
}
@media (min-width: 2500px) {
  .icon-deco img {
    width: 100%;
  }
}
@media (max-width: 999px) {
  .icon-deco {
    display: none;
  }
}

.main-wrapper {
  display: flex;
  justify-content: space-between;
  width: 1208px;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  max-width: 75%;
  min-width: 1000px;
}
@media (max-width: 1200px) {
  .main-wrapper {
    max-width: 100%;
    padding: 0;
  }
}
.main-wrapper .menu-pc-right {
  position: fixed;
  top: 52%;
  background: url("../img/menu-bg.png") center no-repeat;
  background-size: 100% 100%;
  padding: 16.3466666667px 20px 16.3466666667px 21px;
  display: inline-block;
  transform: translate3d(0, -52%, 0);
  z-index: 1;
  max-height: 80vh;
  transition: height 0.35s ease;
  right: calc(50% - 610px);
}
@media (max-height: 600px) {
  .main-wrapper .menu-pc-right {
    top: 58%;
  }
}
@media (max-width: 1200px) or (max-height: 900px) {
  .main-wrapper .menu-pc-right {
    right: calc(50% - 570px);
  }
}
.main-wrapper .menu-pc-right .menu-pc-right-inner {
  padding: 16.3466666667px 20px 16.3466666667px 21px;
  overflow: auto;
  overflow-x: hidden;
  height: 100%;
}
@media (max-height: 580px) {
  .main-wrapper .menu-pc-right {
    height: 450px;
  }
}
@media (min-width: 2500px) {
  .main-wrapper .menu-pc-right {
    width: 340px;
    overflow: hidden;
    transform: translate(30%, -50%);
    right: calc(50% - 610px);
  }
}
@media (max-width: 1610px) {
  .main-wrapper .menu-pc-right {
    right: calc(12.5% + 50px);
    padding: 16.3466666667px 16.3466666667px 16.3466666667px 17.164px;
  }
  .main-wrapper .menu-pc-right .menu-pc-right-inner {
    padding: 16.3466666667px 16.3466666667px 16.3466666667px 17.164px;
  }
}
@media (max-width: 1366px) {
  .main-wrapper .menu-pc-right {
    right: calc(50% - 455px);
  }
}
.main-wrapper .menu-pc-right .menu-logo {
  width: 271px;
  margin-bottom: 30px;
  margin-right: -15px;
}
@media (max-width: 1600px) {
  .main-wrapper .menu-pc-right .menu-logo {
    width: 204.3333333333px;
    margin-bottom: 16.3466666667px;
    margin-right: -8.1733333333px;
  }
}
@media (max-width: 1200px) or (max-height: 900px) {
  .main-wrapper .menu-pc-right .menu-logo {
    width: 179.8133333333px;
    margin-bottom: 8.1733333333px;
    margin-right: -4.0866666667px;
  }
}
@media (min-width: 2500px) {
  .main-wrapper .menu-pc-right .menu-logo {
    width: 271px;
    margin-bottom: 33px;
  }
}
.main-wrapper .menu-pc-right p + p {
  margin-top: 8.1733333333px;
}
@media (min-width: 2500px) {
  .main-wrapper .menu-pc-right p + p {
    margin-top: 10px;
  }
}
@media (max-width: 1610px) {
  .main-wrapper .menu-pc-right p + p {
    margin-top: 4.904px;
  }
}
@media (max-width: 1200px) or (max-height: 900px) {
  .main-wrapper .menu-pc-right p + p {
    margin-top: 4.0866666667px;
  }
}
@media (max-width: 1000px) or (max-height: 700px) {
  .main-wrapper .menu-pc-right p + p {
    margin-top: 4.0866666667px;
  }
}
.main-wrapper .menu-pc-right a {
  display: block;
  color: #000;
  text-align: center;
  text-decoration: none;
  font-size: 23px;
  line-height: 46px;
  padding-bottom: 10px;
  border-bottom: 1.6346666667px dashed transparent;
  position: relative;
  letter-spacing: -0.05em;
  font-weight: 400;
}
.main-wrapper .menu-pc-right a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: url("../img/dash-bd.png") center left;
  border-radius: 10000px;
  background-size: auto 100%;
}
@media (max-width: 750px) {
  .main-wrapper .menu-pc-right a:after {
    height: 0.2666666667vw;
  }
}
@media (min-width: 2500px) {
  .main-wrapper .menu-pc-right a {
    font-size: 23px;
    line-height: 46px;
    padding-bottom: 13px;
  }
}
@media (max-width: 1610px) {
  .main-wrapper .menu-pc-right a {
    font-size: 17.9813333333px;
    line-height: 35.9626666667px;
    padding-bottom: 5.7213333333px;
    padding-left: 8.1733333333px;
  }
}
@media (max-width: 1200px) or (max-height: 900px) {
  .main-wrapper .menu-pc-right a {
    font-size: 17.9813333333px;
    line-height: 37.5973333333px;
    padding-bottom: 5.7213333333px;
    padding-left: 8.1733333333px;
  }
}
@media (max-width: 1000px) or (max-height: 700px) {
  .main-wrapper .menu-pc-right a {
    font-size: 17.164px;
    line-height: 29.424px;
    padding-bottom: 4.0866666667px;
  }
}
.main-wrapper .menu-pc-right a:before {
  content: "";
  position: absolute;
  top: 47%;
  left: 0;
  transform: translate(0, -50%);
  width: 19.616px;
  height: 22.8853333333px;
  background: url("../img/hearth_pink-menu.png") center no-repeat;
  background-size: 100% 100%;
}
@media (max-width: 1200px) or (max-height: 900px) {
  .main-wrapper .menu-pc-right a:before {
    width: 13.0773333333px;
    height: 16.3466666667px;
    top: 48%;
  }
}
.main-wrapper .menu-pc-right a.active:before, .main-wrapper .menu-pc-right a.activeM:before {
  background-image: url("../img/hearth_blue-menu.png");
}
@media (max-width: 1200px) {
  .main-wrapper .menu-pc-right {
    text-align: center;
  }
}
@media (max-width: 750px) {
  .main-wrapper .menu-pc-right {
    display: none;
  }
}
@media (max-width: 1200px) {
  .main-wrapper .menu-pc-right-wrapper {
    flex-grow: 1;
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 999px) {
  .main-wrapper .menu-pc-right-wrapper {
    display: none;
  }
}
.main-wrapper .menu-pc-right-wrapper.fixed-bottom .menu-pc-right {
  transform: translate3d(0, -20%, 0) !important;
  position: absolute;
  top: auto !important;
  bottom: 0;
}
@media (max-width: 1610px) {
  .main-wrapper .menu-pc-right-wrapper.fixed-bottom .menu-pc-right {
    right: calc(50% - 33.5vw) !important;
    transform: none;
  }
}
@media (max-width: 1366px) {
  .main-wrapper .menu-pc-right-wrapper.fixed-bottom .menu-pc-right {
    right: calc(50% - 455px) !important;
  }
}
@media (min-width: 2500px) and (min-width: 1334px) {
  .main-wrapper .menu-pc-right-wrapper.fixed-bottom .menu-pc-right {
    transform: translate3d(30%, -28%, 0) !important;
  }
}
@media (max-width: 999px) {
  .main-wrapper {
    min-width: 0;
    width: 100%;
    justify-content: center;
  }
}
@media (min-width: 2500px) {
  .main-wrapper {
    width: 1346px;
  }
}
@media (max-width: 750px) {
  .main-wrapper {
    padding: 0;
    max-width: 100%;
  }
}

.fixed-btn {
  position: fixed;
  z-index: 10;
  bottom: 0px;
  width: 124.2346666667px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.35s ease, bottom 0s ease;
}
.fixed-btn.active {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 750px) {
  .fixed-btn {
    bottom: 0vw;
    left: 5.0666666667vw;
    width: 20.2666666667vw;
  }
}
@media (min-width: 751px) {
  .fixed-btn {
    left: calc(50% - 555px);
  }
}
@media (min-width: 751px) and (max-width: 1610px) {
  .fixed-btn {
    left: calc(12.5% + 50px);
  }
}
@media (min-width: 751px) and (max-width: 1333px) {
  .fixed-btn {
    left: calc(50% - 450px);
  }
}
@media (min-width: 751px) and (max-width: 1200px) {
  .fixed-btn {
    left: 30px;
  }
}
@media (min-width: 751px) and (max-width: 999px) {
  .fixed-btn {
    left: calc(50% - 275px);
  }
}
@media (min-width: 2500px) {
  .fixed-btn {
    left: calc(50% - 623px);
  }
}
.fixed-btn.fixed-bottom {
  opacity: 0;
  visibility: hidden;
  bottom: 100%;
  position: absolute;
}

.icon1 {
  max-width: 135px;
  top: 95px;
  left: 2.03%;
  width: 9vw;
  animation: floatingIcon 5s ease infinite 2s;
}
@media (max-width: 1440px) {
  .icon1 {
    width: 9.375vw;
    top: 50px;
    left: 1%;
  }
}

.icon2 {
  max-width: 69px;
  top: 45px;
  left: 12.18%;
  width: 4vw;
  animation: floatingIcon 4s ease infinite 2s;
}
@media (max-width: 1400px) {
  .icon2 {
    width: 4.2857142857vw;
  }
}

.icon3 {
  max-width: 58px;
  top: 300px;
  left: 13.23%;
  width: 3.3333333333vw;
  animation: floatingIcon 4s ease infinite;
}
@media (max-width: 1440px) {
  .icon3 {
    top: 40%;
    width: 3.8888888889vw;
  }
}

.icon4 {
  max-width: 115px;
  top: 38%;
  left: 3.33%;
  width: 6.6666666667vw;
  z-index: 3;
}
@media (max-width: 1440px) {
  .icon4 {
    top: 34%;
    left: 1.5%;
    width: 6.9444444444vw;
  }
}

.icon5 {
  max-width: 137px;
  top: 60%;
  left: 9.88%;
  width: 8.6666666667vw;
  animation: floatingIcon 6s ease infinite 1s;
}
@media (max-width: 1440px) {
  .icon5 {
    width: 9.5138888889vw;
  }
}

.icon6 {
  max-width: 180px;
  bottom: 3%;
  left: 2%;
  width: 12vw;
  animation: floatingIconBott 8s ease infinite 3s;
}
@media (max-width: 1440px) {
  .icon6 {
    width: 11.1111111111vw;
  }
}

.icon8 {
  max-width: 180px;
  top: 4.25%;
  left: 53.77%;
  width: 10vw;
}
@media (max-width: 1600px) {
  .icon8 {
    left: 57.77%;
  }
}
@media (max-width: 1440px) {
  .icon8 {
    width: 9.7222222222vw;
    left: 57%;
    top: 6%;
  }
}

.icon10 {
  max-width: 100px;
  top: 28.67%;
  left: 56.68%;
  width: 5.3333333333vw;
}
@media (max-width: 1600px) {
  .icon10 {
    left: 58.68%;
  }
}
@media (max-width: 1440px) {
  .icon10 {
    width: 5.9027777778vw;
    left: 59%;
    top: 28%;
  }
}

.icon11 {
  max-width: 137px;
  bottom: 22.89%;
  left: 53.02%;
  width: 8.6666666667vw;
  animation: floatingIcon 8s ease infinite 1s;
}
@media (max-width: 1600px) {
  .icon11 {
    left: 56.02%;
  }
}
@media (max-width: 1440px) {
  .icon11 {
    width: 6.9444444444vw;
    left: 60%;
  }
}

.icon12 {
  max-width: 92px;
  width: 5.3333333333vw;
  top: 30%;
  right: 11.6%;
}
@media (max-width: 1600px) {
  .icon12 {
    right: 8.6%;
  }
}
@media (max-width: 1440px) {
  .icon12 {
    width: 6.25vw;
    top: 25%;
    right: 3.6%;
  }
}

.icon13 {
  max-width: 180px;
  top: 3.25%;
  right: 2.5%;
  width: 12vw;
  animation: floatingIcon 4s ease infinite 1s;
}
@media (max-width: 1440px) {
  .icon13 {
    width: 9.7222222222vw;
    top: 3.25%;
    right: 2.5%;
  }
}

.icon14 {
  max-width: 58px;
  width: 3.3333333333vw;
  animation: floatingIcon 5s ease infinite 0s;
  top: 53.75%;
  right: 13.06%;
}
@media (max-width: 1440px) {
  .icon14 {
    width: 3.8888888889vw;
    right: 9%;
    top: 53.75%;
  }
}

.icon15 {
  max-width: 140px;
  bottom: 16.24%;
  right: 3.73%;
  width: 9.3333333333vw;
  z-index: 3;
}
@media (max-width: 1440px) {
  .icon15 {
    bottom: 12%;
    width: 7.6388888889vw;
    right: 2.5%;
  }
}

.icon16 {
  max-width: 58px;
  width: 3.3333333333vw;
  bottom: 4.75%;
  right: 14.06%;
}
@media (max-width: 1440px) {
  .icon16 {
    width: 3.8888888889vw;
    right: 10%;
    bottom: 4.75%;
  }
}

.icon17 {
  max-width: 101px;
  bottom: 5%;
  left: 55%;
  width: 6.3333333333vw;
}
@media (max-width: 1440px) {
  .icon17 {
    width: 7.0138888889vw;
    left: 58%;
  }
}

.icon18 {
  max-width: 96px;
  bottom: 42.96%;
  right: 3.4%;
  width: 6vw;
  animation: floatingIconBott 5s ease infinite 2s;
}
@media (max-width: 1440px) {
  .icon18 {
    width: 5.5555555556vw;
    right: 2.5%;
    bottom: 45%;
  }
}

footer .scrolltotop a {
  background: none !important;
}
@media (min-width: 751px) {
  footer .scrolltotop a:hover {
    opacity: 0.8;
    background: none;
  }
}
@media (max-width: 750px) {
  footer .scrolltotop a {
    border-width: 0.2666666667vw;
    transform: translate3d(0, 0, 0);
  }
  footer .scrolltotop a:hover img {
    opacity: 1;
  }
}
footer .scrolltotop a:before {
  display: none;
}

.mCSB_scrollTools .mCSB_draggerRail {
  background: transparent !important;
}

.mCSB_inside > .mCSB_container {
  margin-right: 16.3466666667px;
}
@media (max-width: 750px) {
  .mCSB_inside > .mCSB_container {
    margin-right: 2.6666666667vw;
  }
}

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 8.1733333333px;
}
@media (max-width: 750px) {
  .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
    margin-right: 1.3333333333vw;
  }
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background: rgba(0, 0, 0, 0.3);
}

.mCSB_scrollTools .mCSB_draggerContainer {
  right: -5px;
}

.modal .list-photo li img {
  transform: translate3d(0, 0, 0);
}

.scrolltotop a {
  position: fixed;
  right: 20px;
  bottom: -50px;
  display: block;
  width: 46px;
  height: 46px;
  font-size: 0;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  line-height: 40px;
  z-index: 100;
  opacity: 1 !important;
  border-radius: 50%;
}
.scrolltotop a img {
  opacity: 1 !important;
}
@media (max-width: 750px) {
  .scrolltotop a {
    right: 5.2vw;
  }
}

#targetTop {
  position: absolute;
  top: -9999px;
}

footer .footArea .upper {
  margin: 0 auto;
  padding-top: 7px;
  padding-bottom: 7px;
}

footer {
  color: #333;
  position: relative;
}

.owl-carousel .owl-item {
  transform: translate3d(0, 0, 0) !important;
  perspective: 2px;
  font-size: 0;
  letter-spacing: 0;
  line-height: 0;
}
.owl-carousel .owl-item img, .owl-carousel .owl-item .icon {
  transform: translate3d(0, 0, 0) !important;
  perspective: 2px;
  font-size: 0;
  letter-spacing: 0;
  line-height: 0;
}

.owl-carousel .owl-stage-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

img.lazyload {
  opacity: 0;
}

img.lazyloaded {
  opacity: 1;
}

footer .footArea .lower .copy {
  top: 0;
}
footer .footArea .lower .copy img {
  height: 11px;
}