@charset "utf-8";

/* !Reseting
---------------------------------------------------------- */
.ct_bg div, .ct_bg pre, .ct_bg p, .ct_bg blockquote, .ct_bg figure, .ct_bg dl, .ct_bg dt, .ct_bg dd, .ct_bg ul, .ct_bg ol, .ct_bg li, .ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6, .ct_bg form, .ct_bg fieldset, .ct_bg th, .ct_bg td
{ margin: 0; padding: 0;}
.ct_bg input, .ct_bg textarea
{ margin: 0; font-size: 100%;}
.ct_bg label
{ cursor: pointer;}
.ct_bg table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
.ct_bg fieldset, .ct_bg img
{ border: 0;}
.ct_bg img
{ vertical-align: top;}
.ct_bg address, .ct_bg caption, .ct_bg cite, .ct_bg code, .ct_bg dfn, .ct_bg em, .ct_bg th, .ct_bg var
{ font-style: normal; font-weight: normal;}
.ct_bg ol, .ct_bg ul
{ list-style: none;}
.ct_bg caption, .ct_bg th
{ text-align: left;}
.ct_bg h1, .ct_bg h2, .ct_bg h3, .ct_bg h4, .ct_bg h5, .ct_bg h6
{ font-size: 100%; font-weight: normal;}
.ct_bg q:after, .ct_bg q:before
{ content:'';}
.ct_bg a, .ct_bg input
{ outline: none; }
.ct_bg abbr, .ct_bg acronym
{ border: 0;}
.ct_bg span,
.ct_bg small {
  font-family: inherit;
  font-weight: inherit;
}
.ct_bg strong {
  font-family: inherit;
  font-weight: bold;
}
.ct_bg li:before {
  content: normal;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  position: initial;
  left: auto;
  top: auto;
}

#contents {
  padding: 0;
  width: 100%;
}

.onlySP {
  display: none;
}

.ct_bg {
  position: relative;
  color: #000;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

.ct_bg::after {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/bg01_pc.png) repeat-y center top / 100%;
}

.cherry-bomb-one-regular {
  font-family: "Cherry Bomb One", system-ui;
  font-weight: 400;
}

.ct_bg .imgOver01 img {
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (any-hover: hover) {
.ct_bg .imgOver01 a:hover img {
  opacity: .6;
}
}

.ct_bg .center {
  text-align: center !important;
}
.ct_bg .right {
  text-align: right !important;
}

@media screen and (max-width: 767px) {
.ct_bg {
  font-size: 4.0vw;
}
.ct_bg::after {
  background-image: url(../img/bg01_sp.png);
}

.ct_bg a {
  text-decoration: underline;
}
.ct_bg a:hover {
  text-decoration: none;
}
.ct_bg img {
  width: 100%;
  height: auto;
}

.ct_bg .snsBtn01 {
  margin-top: 2vw;
  gap: 2.5vw;
}

.onlyPC {
  display: none;
}
.onlySP {
  display: block;
}
img.onlySP {
  display: inline-block;
}

}

/* header
---------------------------------------------------------- */
.ct_bg .headTitleArea01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  padding-top: 4px;
  width: 100%;
  background-color: #fff;
}
.ct_bg .headTitleArea01 > .title01 {
  color: #433B61;
  margin-right: 1em;
  font-size: 14px;
  font-weight: 800;
  rotate: .03deg;
}
.ct_bg .headTitleArea01 > .text01 {
  color: #433B61;
  font-size: 14px;
  rotate: .03deg;
}

.ct_bg .header01 {
  position: absolute;
  z-index: 5;
  top: 26px;
  left: 0;
  padding-bottom: 8px;
  width: 100%;
  background-color: #fff;
}

.ct_bg .header01.simple01 {
  top: 0;
  translate: 0 -150%;
  transition: translate .3s;
}
.ct_bg .header01.visible01 {
  position: fixed;
  top: 0;
  translate: 0 0;
}
.ct_bg .header01.fixed {
  position: fixed;
  top: 0;
}


.ct_bg .header01 > .inner01 > .logo01 {
  position: absolute;
  top: 8px;
  left: 50%;
  translate: -50% 0;
  width: 218px;
  transition: all .3s;
}
.ct_bg .header01 > .inner01 > .logo01 img {
  position: relative;
  z-index: 10;
  opacity: 0;
}
.ct_bg .header01 > .inner01 > .logo01 img {
  animation: zoomIn .5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.ct_bg .header01 > .inner01 > .logo01::after {
  position: absolute;
  bottom: -17px;
  left: 50%;
  translate: -50% 0;
  content: "";
  width: 364px;
  aspect-ratio: 364 / 53;
  background: url(../img/bg02_pc.svg) no-repeat 0 0 / cover;
  transition: opacity .3s;
}

.ct_bg .header01.simple01 > .inner01 > .logo01,
.ct_bg .header01.visible01 > .inner01 > .logo01,
.ct_bg .header01.fixed > .inner01 > .logo01 {
  top: 6px;
  width: 143px;
}
.ct_bg .header01.simple01 > .inner01 > .logo01::after,
.ct_bg .header01.visible01 > .inner01 > .logo01::after,
.ct_bg .header01.fixed > .inner01 > .logo01::after {
  opacity: 0;
}

.ct_bg .navButton01 {
  display: none;
}

.ct_bg .globalNav01 > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  height: 64px;
}

.ct_bg .globalNav01 > ul > li {
  position: relative;
  padding: 14px 0;
  margin-right: 48px;
}
.ct_bg .globalNav01 > ul > li:last-child {
  margin-right: 0;
}

.ct_bg .globalNav01 > ul > li:nth-child(2) {
  margin-right: 314px;
}

.ct_bg .globalNav01 > ul > li > a > img {
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .globalNav01 > ul > li > a:hover > img {
  scale: 1.1;
}
}

.ct_bg .globalNav01 > ul > li:hover > .childNav01 {
  opacity: 1.0;
  visibility: visible;
}

.ct_bg .childNav01 {
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  translate: -50% 0;
  padding: 8px;
  border-radius: 16px;
  border: 2px solid rgba(25, 81, 102, 0.20);
  background: #87BBE5;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s;
}
.ct_bg .childNav01::before {
  position: absolute;
  top: -14px;
  left: 50%;
  translate: -50% 0;
  content: "";
  margin-left: -2px;
  width: 20px;
  height: 14px;
  background: url(../img/bg04.svg) no-repeat center center / cover;
}

.ct_bg .childNav01 > li {
  margin-top: 8px;
}
.ct_bg .childNav01 > li:first-child {
  margin-top: 0;
}

.ct_bg .childNav01 > li > a {
  display: block;
  position: relative;
  padding: 10px 21px 10px 41px;
  width: 160px;
  border-radius: 16px;
  border: 3px solid #FFF;
  background: #FFDC8A;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.20);
  color: #433B61;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 20px;
  text-decoration: none;
  line-height: 1.0;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .childNav01 > li > a:hover {
  scale: 1.1;
}
}

.ct_bg .childNav01 > li > a::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  content: "";
  background: no-repeat center center / cover;
}
.ct_bg .childNav01 > li.navi01 > a::before {
  left: 5px;
  width: 25px;
  aspect-ratio: 25 / 30;
  background-image: url(../img/img01.png);
}
.ct_bg .childNav01 > li.navi02 > a::before {
  left: 5px;
  width: 28px;
  aspect-ratio: 28 / 18;
  background-image: url(../img/img02.png);
}
.ct_bg .childNav01 > li.navi03 > a::before {
  left: 7px;
  width: 20px;
  aspect-ratio: 20 / 32;
  background-image: url(../img/img03.png);
}
.ct_bg .childNav01 > li.navi04 > a::before {
  left: 7px;
  width: 20px;
  aspect-ratio: 20 / 28;
  background-image: url(../img/img04.png);
}

.ct_bg .childNav01 > li > a::after {
  position: absolute;
  top: 50%;
  right: 13px;
  translate: 0 -50%;
  content: "";
  width: 8px;
  aspect-ratio: 8 / 10;
  background: url(../img/ic01.svg) no-repeat center center / cover;
}

@media screen and (max-width: 767px) {
.ct_bg .headTitleArea01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1vw 2vw 0;
}
.ct_bg .headTitleArea01 > .title01 {
  margin-right: 0;
  width: 100%;
  font-size: 3.5vw;
  text-align: center;
}
.ct_bg .headTitleArea01 > .text01 {
  width: 100%;
  font-size: 3.5vw;
  text-align: center;
}

.ct_bg .header01 {
  top: 17vw;
  padding-bottom: 0;
}

.ct_bg .header01.active {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #D3EEFB;
}

.ct_bg .header01 > .inner01 {
  height: 16vw;
}

.ct_bg .header01 > .inner01 > .logo01 {
  top: 1vw;
  width: 42.75vw;
}
.ct_bg .header01 > .inner01 > .logo01::after {
  bottom: -4vw;
  width: 68.75vw;
  aspect-ratio: 275 / 32;
  background: url(../img/bg02_sp.svg) no-repeat 0 0 / cover;
}

.ct_bg .header01.simple01 > .inner01 > .logo01,
.ct_bg .header01.visible01 > .inner01 > .logo01,
.ct_bg .header01.fixed > .inner01 > .logo01 {
  top: 2vw;
  left: 2vw;
  translate: 0 0;
  width: 28.5vw;
}
.ct_bg .header01.simple01 > .inner01 > .logo01::after,
.ct_bg .header01.visible01 > .inner01 > .logo01::after {
  content: normal;
}

.ct_bg .header01.active > .inner01 > .logo01 {
  top: 0;
  left: 0;
  translate: 0 0;
  padding: 2vw;
  width: 32.5vw;
  border-radius: 0px 0px 4vw 0px;
  background-color: #fff;
}
.ct_bg .header01.active > .inner01 > .logo01::after {
  content: normal;
}

.ct_bg .navButton01 {
  display: block;
  position: absolute;
  top: 3.75vw;
  right: 4vw;
  width: 10vw;
  height: 8.5vw;
  background: none;
  border: none;
  cursor: pointer;
  transition: all .1s;
}

.ct_bg .navButton01 > .top,
.ct_bg .navButton01 > .middle,
.ct_bg .navButton01 > .bottom {
  position: absolute;
  z-index: 10;
  left: 0;
  width: 10vw;
  height: 1.5vw;
  border-radius: 1vw;
  background: #433B61;
  text-indent: 100%;
  white-space: nowrap;
  transition: all .1s;
}

.ct_bg .navButton01 > .top {
  top: 0;
}

.ct_bg .navButton01 > .bottom {
  top: 7vw;
}

.ct_bg .navButton01 > .middle {
  top: 3.5vw;
}

.ct_bg .active .navButton01 > .middle {
  background: none;
}

.ct_bg .active .navButton01 > .top {
  top: 4vw;
  rotate: 45deg;
}

.ct_bg .active .navButton01 > .bottom {
  top: 4vw;
  rotate: -45deg;
}

.ct_bg .globalNavArea01 {
  display: block;
  position: fixed;
  top: 24.25vw;
  padding: 0 4vw 10vw;
  width: 100%;
  height: calc(100% - 24.25vw);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s;
}
.ct_bg .active .globalNavArea01 {
  opacity: 1.0;
  visibility: visible;
}

.ct_bg .globalNav01 > ul {
  height: auto;
}
.ct_bg .globalNav01 > ul > li:first-child {
  margin-top: 0;
}
.ct_bg .globalNav01 > ul > li:nth-child(2) {
  margin-right: 0;
}

.ct_bg .globalNav01 > ul > li {
  position: relative;
  padding: 0;
  margin-top: 4vw;
  margin-right: 0;
  width: 100%;
  background-color: #fff;
  border-radius: 10vw;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.20);
}
.ct_bg .globalNav01 > ul > li > a {
  position: relative;
  display: block;
  padding: 4vw;
  text-align: center;
}
.ct_bg .globalNav01 > ul > li > a::after {
  position: absolute;
  top: 50%;
  right: 4vw;
  translate: 0 -50%;
  content: "";
  width: 3.25vw;
  aspect-ratio: 12.33 / 14;
  background: url(../img/ic01.svg) no-repeat center center / cover;
}
.ct_bg .globalNav01 > ul > li:nth-child(2) > a::after {
  content: normal;
}

.ct_bg .globalNav01 > ul > li > a > .image01 {
  width: 16vw;
}
.ct_bg .globalNav01 > ul > li > a > .image02 {
  width: 24.5vw;
}
.ct_bg .globalNav01 > ul > li > a > .image03 {
  width: 12vw;
}
.ct_bg .globalNav01 > ul > li > a > .image04 {
  width: 24.75vw;
}

.ct_bg .childNav01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: initial;
  top: 0;
  left: 0;
  translate: 0 0;
  margin-top: 0;
  padding: 0 4vw 4vw;
  border-radius: 0;
  border: none;
  background: none;
  opacity: 1.0;
  visibility: hidden;
}
.ct_bg .active .childNav01 {
  visibility: visible;
}
.ct_bg .childNav01::before {
  content: normal;
}

.ct_bg .childNav01 > li {
  margin-top: 2vw;
  width: 40vw;
}
.ct_bg .childNav01 > li.navi01,
.ct_bg .childNav01 > li.navi02 {
  margin-top: 0;
}

.ct_bg .childNav01 > li > a {
  padding: 2.5vw 5vw 2.5vw 10vw;
  width: 100%;
  border-radius: 4vw;
  font-size: 5vw;
}

.ct_bg .childNav01 > li.navi01 > a::before {
  left: 1.25vw;
  width: 6.25vw;
}
.ct_bg .childNav01 > li.navi02 > a::before {
  left: 1.25vw;
  width: 7vw;
}
.ct_bg .childNav01 > li.navi03 > a::before {
  left: 1.75vw;
  width: 5vw;
}
.ct_bg .childNav01 > li.navi04 > a::before {
  left: 1.75vw;
  width: 5vw;
}

.ct_bg .childNav01 > li > a::after {
  right: 3.25vw;
  content: "";
  width: 2vw;
}

}


/* footer
---------------------------------------------------------- */
.ct_bg .footer01 {
  position: relative;
  margin-top: 112px;
  padding-top: 35.14vw;
  padding-bottom: 24px;
  background: #F2EE80 url(../img/bg03.png) no-repeat center top / 100% auto;
}
.ct_bg .footer01::before {
  position: absolute;
  top: 27.42vw;
  left: 0;
  content: "";
  width: 100%;
  aspect-ratio: 14 / 1;
  background: linear-gradient(180deg, rgba(242, 238, 128, 0.00) 0%, #F2EE80 100%);
}

.ct_bg .footer01 > .copyrights01 {
  color: #433B61;
  font-size: 12px;
  text-align: center;
}

.ct_bg .snsBtn01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  gap: 10px;
}

.fb_iframe_widget > span {
  vertical-align: baseline !important;
}

@media screen and (max-width: 767px) {
.ct_bg .footer01 {
  margin-top: 28vw;
  padding-top: 36.75vw;
  padding-bottom: 6vw;
}
.ct_bg .footer01::before {
  top: 32.75vw;
  aspect-ratio: 400 / 8;
}

.ct_bg .footer01 > .copyrights01 {
  font-size: 3vw;
}

.ct_bg .snsBtn01 {
  margin-top: 2vw;
  gap: 2.5vw;
}
}

/* animation
---------------------------------------------------------- */
.ct_bg .js_fadeIn01 {
  opacity: 0;
}
.ct_bg .js_fadeIn01.is_show {
  animation: zoomIn .5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.ct_bg .fadeIn01 {
  opacity: 0;
  animation: zoomIn .5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes zoomIn {
  0% {
    scale: 0;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@keyframes rotate01 {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
@keyframes change01 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes change02 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* plugin
*****************************************/
.fancybox-bg {
  background: rgba(211, 238, 251, 0.87);
}
.fancybox-button {
  background: rgba(67,59,97,.7);
}

/*
.fancybox-slide {
  padding: 80px 0;
}
.fancybox-content {
  border-radius: 16px;
  border: 4px solid #FFF;
  background: #D9D9D9;
}
.fancybox-content iframe {
  border-radius: 8px;
}
.fancybox-image {
  border-radius: 8px;
}
.fancybox-caption__body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  rotate: 0.03deg;
}
.fancyboxBtn01 {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  padding: 0;
  position: absolute;
  right: 0;
  top: -52px;
  z-index: 401;
  width: 36px;
}

.fancybox-navigation .fancybox-button {
  background: none;
}

.fancybox-navigation .fancybox-button--arrow_left {
  padding: 0;
  left: 20px;
  width: 64px;
  height: 64px;
}
.fancybox-navigation .fancybox-button--arrow_left div {
  width: 100%;
  height: 100%;
  aspect-ratio: 64 / 64;
  background: url(../img/arrow01.svg) no-repeat center center / cover;
}

.fancybox-navigation .fancybox-button--arrow_left svg,
.fancybox-navigation .fancybox-button--arrow_right svg {
  display: none;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 0;
  right: 20px;
  width: 64px;
  height: 64px;
}
.fancybox-navigation .fancybox-button--arrow_right div {
  width: 100%;
  height: 100%;
  aspect-ratio: 64 / 64;
  background: url(../img/arrow02.svg) no-repeat center center / cover;
}
*/
@media screen and (max-width: 767px) {
/*
.fancybox-slide {
  padding-left: 0;
  padding-right: 0;
}
.fancybox-content {
  border-radius: 0;
  border-width: 4px 0;
}
.fancybox-content iframe {
  border-radius: 0;
}
.fancybox-image {
  border-radius: 0;
}

.fancybox-navigation .fancybox-button {
  top: calc(50% - 6vw);
}
.fancybox-navigation .fancybox-button--arrow_left {
  left: 4vw;
  width: 12vw;
  height: 12vw;
}
.fancybox-navigation .fancybox-button--arrow_right {
  right: 4vw;
  width: 12vw;
  height: 12vw;
}

.fancyboxBtn01 {
  right: 6px;
}
*/
}

.ct_bg .mallLinkTxt {
  margin-top: 20px;
  text-align: center;
}


.ct_bg .wrap01 {
  display: flex;
  flex-wrap: wrap;
}
.ct_bg .wrap01.bC {
  justify-content: center;
}
.ct_bg .wrap01.between {
  justify-content: space-between;
}
.ct_bg .wrap01.aC {
  align-items: center;
}

/* contents
---------------------------------------------------------- */
.ct_bg .container01 {
  position: relative;
  padding-top: 70px;
  overflow-x: clip;
}

.ct_bg .wrapper01 {
  padding: 0 20px;
}

.ct_bg .mainArea01 {
  position: relative;
  margin: 32px auto 0;
  padding-top: 52px;
  max-width: 1160px;
  height: 520px;
  background: url(../../img/bg_index01_pc.png) no-repeat center top / cover;
}

.ct_bg .mainArea01 > .image01 {
  position: relative;
  z-index: 3;
  margin-left: 368px;
  width: 439px;
}

.ct_bg .mainArea01 > .mainInner01 {
  position: absolute;
  top: 36.2px;
  left: -23.5px;
  padding-top: 82px;
  width: 440px;
  height: 440px;
  background-color: #fff;
  border-radius: 50%;
  rotate: -8deg;
}

.ct_bg .mainArea01 > .mainInner01 > .image01 {
  margin: 0 auto;
  width: 292px;
}
.ct_bg .mainArea01 > .mainInner01 > .text01 {
  margin-top: 16px;
  color: #433B61;
  font-weight: 800;
  text-align: center;
}

.ct_bg .topFrame01 {
  position: relative;
  margin: 64px auto 0;
  padding: 80px 40px 40px 40px;
  max-width: 1000px;
  border-radius: 80px;
  border: 8px solid #FFDC8A;
  background: #FFF;
}

.ct_bg .topFrame01 > .image01 {
  position: absolute;
  top: -48px;
  right: -40.5px;
  width: 500px;
}

.ct_bg .topFrame01 > .title01 {
  color: #433B61;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 52px;
  line-height: 1.2;
  font-weight: 400;
}
.ct_bg .topFrame01 > .title01 > .icon01 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -48px;
  left: -32px;
  padding-left: 5px;
  width: 124px;
  aspect-ratio: 124 / 124;
  color: #fff;
  font-size: 32px;
  line-height: .8;
  letter-spacing: .06em;
  rotate: -15deg;
}
.ct_bg .topFrame01 > .title01 > .icon01::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url(../../img/bg_index02.png) no-repeat center center / cover;
  animation: rotate01 15s linear infinite;
}

.ct_bg .topFrame02 {
  margin-top: -32px;
  padding-top: 21.85vw;
  height: 85vw;
  background: url(../../img/bg_index03_pc.png) no-repeat center top / cover;
}

.ct_bg .topFrame02 > .title01 {
  margin-left: 57.5vw;
  width: 37.9vw;
}

.ct_bg .topFrame02 > .inner01 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.1vw;
  margin: 12.35vw auto 0;
  padding: 0 12vw 0 4.5vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .text01 {
  color: #433B61;
  text-align: center;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 2.8vw;
  font-weight: 400;
  line-height: 1.0;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .text02 {
  font-size: 1.1vw;
  text-align: center;
  rotate: -0.03deg;
}

.ct_bg .topFrame02 > .inner01 > .column01 > .image01,
.ct_bg .topFrame02 > .inner01 > .column01 > .image02,
.ct_bg .topFrame02 > .inner01 > .column01 > .image03,
.ct_bg .topFrame02 > .inner01 > .column01 > .image04 {
  position: relative;
  height: 25.21vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image01 img,
.ct_bg .topFrame02 > .inner01 > .column01 > .image02 img,
.ct_bg .topFrame02 > .inner01 > .column01 > .image03 img,
.ct_bg .topFrame02 > .inner01 > .column01 > .image04 img {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image01 img {
  animation-delay: .5s;
  width: 10.42vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image02 img {
  width: 10.14vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image03 img {
  animation-delay: .8s;
  width: 19.5vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image04 img {
  animation-delay: .3s;
  width: 14.28vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 .chara01 {
  animation: change01 4s steps(1, end) infinite;
}
.ct_bg .topFrame02 > .inner01 > .column01 .chara02 {
  opacity: 0;
  animation: change02 4s steps(1, end) infinite;
}

.ct_bg .topFrame03 {
  margin: 16px auto 0;
  padding: 24px;
  max-width: 800px;
  background-color: #fff;
  border-radius: 40px;
}

.ct_bg .infoList01 {
  display: flex;
  flex-wrap: wrap;
  row-gap: 24px;
}

.ct_bg .infoList01 > dt {
  margin-right: 24px;
  width: 89px;
}
.ct_bg .infoList01 > dt > time {
  font-weight: 400;
  rotate: -0.03deg;
}
.ct_bg .infoList01 > dt > .icon01 {
  display: block;
  margin-top: 4px;
  padding: 0 12.5px;
  color: #fff;
  border-radius: 100vmax;
  text-align: center;
  rotate: -0.03deg;
}
.ct_bg .infoList01 > dt > .icon01.type01 {
  background-color: #64C8BA;
}
.ct_bg .infoList01 > dt > .icon01.type02 {
  background-color: #ED6978;
}
.ct_bg .infoList01 > dt > .icon01.type03 {
  background-color: #5A67B2;
}

.ct_bg .infoList01 > dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: calc(100% - 113px);
  rotate: -0.03deg;
}
.ct_bg .infoList01 > dd > a {
  color: #503F8F;
}

.ct_bg .subSection01 {
  margin: 112px auto 0;
  max-width: 1000px;
}
.ct_bg .subSection01:first-child {
  margin-top: 40px;
}
.ct_bg .subSection02 {
  margin: 64px auto 0;
  max-width: 1000px;
}
.ct_bg .frameArea01 {
  margin-top: 64px;
}

.ct_bg .frameArea01 > .inner01 {
  margin-top: -48px;
  padding: 80px 32px 32px 32px;
  height: calc(100% - 48px);
  border-radius: 40px;
  background: #FFF;
}

.ct_bg .frameArea01 > .inner01 > .image01 {
  margin-top: 32px;
}

.ct_bg .col01 {
  margin-top: 64px;
  width: 47.39%;
}

.ct_bg .col02 {
  margin-top: 64px;
  width: 50%;
}

.ct_bg .col02 > .text01 {
  color: #433B61;
  font-size: 18px;
  font-weight: 800;
}

.ct_bg .col03 {
  width: 59.82%;
}
.ct_bg .col03 > .text01 {
  margin-top: 8px;
  font-size: 12px;
  rotate: -0.03deg;
}

.ct_bg .col04 {
  width: 36.75%;
}
.ct_bg .col04 > .day01 {
  background: #FFDC8A;
  border-radius: 100vmax;
  color: #433B61;
  font-weight: 500;
  text-align: center;
  rotate: -0.03deg;
}
.ct_bg .col04 > .text01 {
  margin-top: 16px;
  rotate: -0.03deg;
}
.ct_bg .col04 > .text01:first-child {
  margin-top: 0;
}
.ct_bg .col04 > .text02 {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  rotate: -0.03deg;
}
.ct_bg .col04 > .text02 > .font01 {
  font-size: 20px;
}
.ct_bg .col04 > .text03 {
  margin-top: 16px;
  font-size: 14px;
  rotate: -0.03deg;
}

.ct_bg .col05 {
  width: 48%;
}
.ct_bg .col05 .col03,
.ct_bg .col05 .col04 {
  width: 100%;
}
.ct_bg .col05 .col04 {
  margin-top: 32px;
}

.ct_bg .mallLinkTxt {
  display: block;
  margin: 16px auto 0;
}

.ct_bg .mallLinkTxt > a {
  display: block;
  position: relative;
  padding: 12px;
  border-radius: 100vmax;
  background: #ED6978;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.20);
  color: #fff;
  font-size: 28px;
  font-weight: 800;
  -webkit-text-stroke: 4px #D2384A;
  paint-order: stroke;
  text-align: center;
  text-decoration: none;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
  .ct_bg .mallLinkTxt > a:hover {
    scale: 1.1;
  }
}
.ct_bg .mallLinkTxt > a > span {
  position: relative;
  padding-left: 56px;
}
.ct_bg .mallLinkTxt > a > span::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  content: "";
  width: 48px;
  aspect-ratio: 48 / 48;
  background: url(../img/ic03.svg) no-repeat 0 0 / cover;
}
.ct_bg .mallLinkTxt > a > span.reserve::before {
  background-image: url(../img/ic04.svg);
}
.ct_bg .mallLinkTxt > a > span.waiting::before {
  background-image: url(../img/ic05.svg);
}


.ct_bg .slideArea01 {
  position: relative;
  margin: 16px auto 0;
  max-width: 800px;
}

.ct_bg .slideArea01 .image01 > a {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
}
.ct_bg .slideArea01 .image01 > a::before {
  position: absolute;
  z-index: 2;
  bottom: 4px;
  right: 4px;
  content: "";
  width: 32px;
  aspect-ratio: 32 / 32;
  border-radius: 50%;
  border: 1.6px solid #FFF;
  background: #433B61;
  scale: 1.0;
  transition: scale .3s;
}

.ct_bg .slideArea01 .image01 > a::after {
  position: absolute;
  z-index: 2;
  bottom: 14.5px;
  right: 14.4px;
  content: "";
  width: 9.6px;
  aspect-ratio: 19.2 / 21.8;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/ic01.svg);
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-image: url(../img/ic01.svg);
  background: #fff;
  scale: 1.0;
  transition: scale .3s;
}
.ct_bg .slideArea01 .image01 > a > img {
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .slideArea01 .image01 > a:hover::before,
.ct_bg .slideArea01 .image01 > a:hover::after,
.ct_bg .slideArea01 .image01 > a:hover > img {
  scale: 1.1;
}
}

.ct_bg .slideArea01 .swiper-button-prev,
.ct_bg .slideArea01 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 50%;
  translate: 0 -50%;
  content: "";
  margin: 0;
  width: 16px;
  height: auto;
  aspect-ratio: 16 / 18;
  background: url(../img/ic01.svg) no-repeat center center / cover;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .slideArea01 .swiper-button-prev:hover,
.ct_bg .slideArea01 .swiper-button-next:hover {
  scale: 1.1;
}
}

.ct_bg .swiper-button-prev::after,
.ct_bg .swiper-button-next::after {
  content: normal;
}
.ct_bg .slideArea01 .swiper-button-prev {
	left: -32px;
  rotate: 180deg;
}
.ct_bg .slideArea01 .swiper-button-next {
	right: -32px;
}

.ct_bg .hgroup01 {
  position: relative;
  margin: 0 auto;
  padding: 76px 0 96px;
  max-width: 1000px;
}
.ct_bg .hgroup01 > .title01 {
  margin: 0 auto;
  width: 313px;
}
.ct_bg .hgroup01 > .title02 {
  margin: 0 auto;
  width: 313px;
}
.ct_bg .hgroup01 > .image01 > .chara01 {
  position: absolute;
  top: 0;
  right: 61px;
  width: 236px;
}
.ct_bg .hgroup01 > .image01 > .chara02 {
  position: absolute;
  bottom: -8px;
  left: -6px;
  width: 385px;
}

.ct_bg .hgroup02 {
  position: relative;
  margin: 0 auto;
  padding: 60px 0 59px;
  max-width: 1000px;
}
.ct_bg .hgroup02 > .title01 {
  margin: 0 auto;
  width: 152px;
}
.ct_bg .hgroup02 > .image01 > .chara01 {
  position: absolute;
  top: -38px;
  left: 0;
  width: 320px;
}

.ct_bg .hgroup03 {
  position: relative;
  margin: 0 auto;
  padding: 74px 0 75px;
  max-width: 1000px;
}
.ct_bg .hgroup03 > .title01 {
  margin: 0 auto;
  width: 296px;
}
.ct_bg .hgroup03 > .image01 > .chara01 {
  position: absolute;
  top: 0;
  left: 144px;
  width: 143px;
}
.ct_bg .hgroup03 > .image01 > .chara02 {
  position: absolute;
  top: 39px;
  right: 161px;
  width: 130px;
}

.ct_bg .hgroup04 {
  position: relative;
  margin: 0 auto;
  padding: 59px 0 60px;
  max-width: 1000px;
}
.ct_bg .hgroup04 > .title01 {
  margin: 0 auto;
  width: 340px;
}
.ct_bg .hgroup04 > .image01 > .chara01 {
  position: absolute;
  top: 0;
  left: 122px;
  width: 132px;
}
.ct_bg .hgroup04 > .image01 > .chara02 {
  position: absolute;
  top: 42px;
  right: 154px;
  width: 103px;
}

.ct_bg .hgroup05 {
  position: relative;
  margin: 69px auto 0;
  padding: 37px 0;
  max-width: 1000px;
}
.ct_bg .hgroup05 > .title01 {
  margin: 0 auto;
  width: 264px;
}
.ct_bg .hgroup05 > .image01 > .chara01 {
  position: absolute;
  top: 24px;
  left: 122px;
  width: 188px;
}
.ct_bg .hgroup05 > .image01 > .chara02 {
  position: absolute;
  top: 0;
  right: -12px;
  width: 305px;
}

.ct_bg .hgroup06 {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  background-color: #fff;
}
.ct_bg .hgroup06 > .inner01 {
  position: relative;
  margin: 0 auto;
  padding: 21px 0;
  max-width: 1000px;
}

.ct_bg .hgroup06 > .inner01 > .title01 {
  padding-left: 170px;
  color: #433B61;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 72px;
  line-height: 1.0;
}
.ct_bg .hgroup06 > .inner01 > .title01::before {
  position: absolute;
  top: 50%;
  left: -14px;
  translate: 0 -50%;
  content: "";
  width: 184px;
  aspect-ratio: 184 / 184;
  background: url(../img/bg05.png) no-repeat center center / cover;
}
.ct_bg .hgroup06 > .inner01 > .title01::after {
  position: absolute;
  content: "";
  background: no-repeat center center / cover;
}
.ct_bg .hgroup06 > .inner01 > .title01.type01::after {
  top: -7px;
  left: 27.5px;
  width: 101px;
  aspect-ratio: 101 / 120;
  background-image: url(../img/img01.png);
}
.ct_bg .hgroup06 > .inner01 > .title01.type02::after {
  top: 9px;
  left: 7.5px;
  width: 141px;
  aspect-ratio: 141 / 88;
  background-image: url(../img/img02.png);
}
.ct_bg .hgroup06 > .inner01 > .title01.type03::after {
  top: -11px;
  left: 37.5px;
  width: 77px;
  aspect-ratio: 77 / 128;
  background-image: url(../img/img03.png);
}
.ct_bg .hgroup06 > .inner01 > .title01.type04::after {
  top: -6.31px;
  left: 36px;
  width: 84px;
  aspect-ratio: 84.00/118.62;
  background-image: url(../img/img04.png);
}
.ct_bg .hgroup06 > .inner01 > .image01 > .chara01 {
  position: absolute;
  bottom: -64px;
  right: -23.3px;
  width: 283px;
}

.ct_bg .heading01 {
  position: relative;
  padding: 16px 40px;
  margin: 0 24px;
  border-radius: 100vmax;
  background: #433B61;
  color: #fff;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
}
.ct_bg .heading01::before,
.ct_bg .heading01::after {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  content: "";
  width: 16px;
  aspect-ratio: 16 / 16;
  background-color: #FFDC8A;
  border-radius: 50%;
}
.ct_bg .heading01::before {
  left: 24px;
}
.ct_bg .heading01::after {
  right: 24px;
}

.ct_bg .heading01.type02 {
  padding: 16px 24px;
  font-size: 28px;
}
.ct_bg .heading01.type02 > .font01 {
  font-size: 20px;
}
.ct_bg .heading01.type02::before,
.ct_bg .heading01.type02::after {
  width: 12px;
}
.ct_bg .heading01.type02::before {
  left: 12px;
}
.ct_bg .heading01.type02::after {
  right: 12px;
}

.ct_bg .movieImage01 > a {
  display: block;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.ct_bg .movieImage01 > a::before {
  position: absolute;
  z-index: 2;
  bottom: 8px;
  right: 8px;
  content: "";
  width: 64px;
  aspect-ratio: 64 / 64;
  border-radius: 50%;
  border: 3.2px solid #FFF;
  background: #433B61;
  scale: 1.0;
  transition: scale .3s;
}

.ct_bg .movieImage01 > a::after {
  position: absolute;
  z-index: 2;
  bottom: 29.1px;
  right: 28.8px;
  content: "";
  width: 19px;
  aspect-ratio: 19.2 / 21.8;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/ic01.svg);
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-image: url(../img/ic01.svg);
  background: #fff;
  scale: 1.0;
  transition: scale .3s;
}

.ct_bg .movieImage01 > a > img {
  scale: 1.0;
  transition: scale .3s;
}

@media (any-hover: hover) {
.ct_bg .movieImage01 > a:hover::before,
.ct_bg .movieImage01 > a:hover::after,
.ct_bg .movieImage01 > a:hover img {
  scale: 1.1;
}
}

.ct_bg .imgZoom01 > a {
  display: block;
  position: relative;
  border-radius: 40px;
  border: 4px solid #D3EEFB;
  overflow: hidden;
}
.ct_bg .imgZoom01 > a img {
  scale: 1.0;
  transition: scale .3s;
}

.ct_bg .imgZoom01 > a::after {
  position: absolute;
  bottom: 14px;
  right: 14px;
  content: "";
  width: 44px;
  aspect-ratio: 44 / 44;
  background: url(../img/ic02.svg) no-repeat center center / cover;
  scale: 1.0;
  transition: scale .3s;
}

@media (any-hover: hover) {
.ct_bg .imgZoom01 > a:hover img,
.ct_bg .imgZoom01 > a:hover::after {
  scale: 1.1;
}
}

.ct_bg .itemList01 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 8px;
  gap: 8px;
}

.ct_bg .itemList01 > li > a {
  display: block;
  position: relative;
  border-radius: 16px;
  border: 2px solid #D3EEFB;
  overflow: hidden;
}
.ct_bg .itemList01 > li > a::after {
  position: absolute;
  bottom: 4px;
  right: 4px;
  content: "";
  width: 22px;
  aspect-ratio: 44 / 44;
  background: url(../img/ic02.svg) no-repeat center center / cover;
  scale: 1.0;
  transition: scale .3s;
}
.ct_bg .itemList01 > li > a img {
  scale: 1.0;
  transition: scale .3s;
}

@media (any-hover: hover) {
.ct_bg .itemList01 > li > a:hover::after,
.ct_bg .itemList01 > li > a:hover img {
  scale: 1.1;
}
}

.ct_bg .btn01 {
  margin-top: 8px;
}
.ct_bg .btn01 > a {
  display: inline-block;
  position: relative;
  padding: 12px 43px 12px 16px;
  border-radius: 100vmax;
  background: #433B61;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.20);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .btn01 > a:hover {
  scale: 1.1;
}
}

.ct_bg .btn01 > a::after {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  content: "";
  width: 11px;
  aspect-ratio: 11 / 12;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/ic01.svg);
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-image: url(../img/ic01.svg);
  background: #fff;
}

.ct_bg .list01 {
  display: flex;
  flex-wrap: wrap;
  margin: 16px auto 0;
  gap: 32px 3.5%;
  max-width: 900px;
}

.ct_bg .list01 > li {
  width: 48.22%;
}

.ct_bg .list01 > li > a {
  display: block;
  padding: 8px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.20);
  text-decoration: none;
  scale: 1.0;
  transition: scale .3s;
}

@media (any-hover: hover) {
.ct_bg .list01 > li > a:hover {
  scale: 1.1;
}
}

.ct_bg .list01 > li > a > .text01 {
  position: relative;
  padding-left: 72px;
  border-radius: 8px 8px 0px 0px;
  background: #FFDC8A;
  color: #433B61;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 40px;
}
.ct_bg .list01 > li > a > .text01::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  content: "";
  background: no-repeat center center / cover;
}
.ct_bg .list01 > li > a > .text01.type01::before {
  left: -3.5px;
  width: 61px;
  aspect-ratio: 60.87/72.00;
  background-image: url(../img/img01.png);
}
.ct_bg .list01 > li > a > .text01.type02::before {
  left: -3.5px;
  width: 73px;
  aspect-ratio: 72.20/45.00;
  background-image: url(../img/img02.png);
}
.ct_bg .list01 > li > a > .text01.type03::before {
  left: 9px;
  width: 44px;
  aspect-ratio: 43.58/72.00;
  background-image: url(../img/img03.png);
}
.ct_bg .list01 > li > a > .text01.type04::before {
  left: 8px;
  width: 51px;
  aspect-ratio: 17/24;
  background-image: url(../img/img04.png);
}

.ct_bg .list01 > li > a > .text01::after {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  content: "";
  width: 16px;
  aspect-ratio: 16 / 18;
  background: url(../img/ic01.svg) no-repeat center center / cover;
}

.ct_bg .list02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
  column-gap: 2.4%;
}

.ct_bg .list02 > li {
  width: 31.7%;
}

.ct_bg .list02 > li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 14px 28px 14px 14px;
  height: 100%;
  border-radius: 100vmax;
  background: #fff;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.20);
  color: #433B61;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .list02 > li > a:hover {
  scale: 1.1;
}
}
.ct_bg .list02 > li > a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
  content: "";
  width: 16px;
  aspect-ratio: 16 / 18;
  background: url(../img/ic01.svg) no-repeat center center / cover;
}
.ct_bg .list02 > li > a > .insta01 {
  position: relative;
  padding-left: 40px;
}
.ct_bg .list02 > li > a > .insta01::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  content: "";
  width: 32px;
  aspect-ratio: 32 / 32;
  background: url(../img/instagram01.svg) no-repeat center center / cover;
}

.ct_bg .localNav01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 16px auto 0;
  max-width: 1000px;
  column-gap: 1.6%;
}

.ct_bg .localNav01 > li {
  width: 23.8%;
}

.ct_bg .localNav01 > li > a {
  display: block;
  position: relative;
  padding: 18px 25px 18px;
  border-radius: 16px;
  border: 3px solid #FFF;
  background: #FFDC8A;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.20);
  color: #433B61;
  font-family: "Cherry Bomb One", system-ui;
  font-size: 28px;
  text-decoration: none;
  line-height: 1.0;
  scale: 1.0;
  transition: scale .3s;
}
@media (any-hover: hover) {
.ct_bg .localNav01 > li > a:hover {
  scale: 1.1;
}
}
.ct_bg .localNav01 > li.navi01 > a {
  padding-left: 49px;
}
.ct_bg .localNav01 > li.navi02 > a {
  padding-left: 53px;
}
.ct_bg .localNav01 > li.navi03 > a {
  padding-left: 42px;
}
.ct_bg .localNav01 > li.navi04 > a {
  padding-left: 41px;
}

.ct_bg .localNav01 > li > a::before {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  content: "";
  background: no-repeat center center / cover;
}

.ct_bg .localNav01 > li.navi01 > a::before {
  left: 5px;
  width: 35px;
  aspect-ratio: 25 / 30;
  background-image: url(../img/img01.png);
}
.ct_bg .localNav01 > li.navi02 > a::before {
  left: 5px;
  width: 40px;
  aspect-ratio: 28 / 18;
  background-image: url(../img/img02.png);
}
.ct_bg .localNav01 > li.navi03 > a::before {
  left: 5px;
  width: 28px;
  aspect-ratio: 20 / 32;
  background-image: url(../img/img03.png);
}
.ct_bg .localNav01 > li.navi04 > a::before {
  left: 5px;
  width: 28px;
  aspect-ratio: 20 / 28;
  background-image: url(../img/img04.png);
}

.ct_bg .localNav01 > li > a > .inner01::after {
  position: absolute;
  top: 50%;
  right: 13px;
  translate: 0 -50%;
  content: "";
  width: 12px;
  aspect-ratio: 12 / 13;
  background: url(../img/ic01.svg) no-repeat center center / cover;
}

.ct_bg .img01 {
  margin: 16px auto 0;
  max-width: 800px;
}

@media screen and (max-width: 1180px) {
.ct_bg .mainArea01 {
  margin-top: 2.7vw;
  padding-top: 4.4vw;
  height: 44vw;
}

.ct_bg .mainArea01 > .image01 {
  margin-left: 31.18vw;
  width: 37.2vw;
}

.ct_bg .mainArea01 > .mainInner01 {
  top: 3vw;
  left: -1.99vw;
  padding-top: 6.9vw;
  width: 37.28vw;
  height: 37.28vw;
}

.ct_bg .mainArea01 > .mainInner01 > .image01 {
  width: 24.74vw;
}
.ct_bg .mainArea01 > .mainInner01 > .text01 {
  margin-top: 1.35vw;
  font-size: 1.35vw;
}

.ct_bg .topFrame01 {
  margin-top: 5.4vw;
  padding: 6.77vw 3.38vw 3.38vw 3.38vw;
  border-radius: 6.77vw;
  width: 84.74vw;
}

.ct_bg .topFrame01 > .image01 {
  position: absolute;
  top: -4vw;
  right: -3.4vw;
  width: 42.37vw;
}

.ct_bg .topFrame01 > .title01 {
  font-size: 4.4vw;
}
.ct_bg .topFrame01 > .title01 > .icon01 {
  top: -4vw;
  left: -2.7vw;
  width: 10.5vw;
  font-size: 2.7vw;
}
.ct_bg .col01 {
  margin-top: 5.4vw;
}

.ct_bg .col02 {
  margin-top: 5.4vw;
}

.ct_bg .col02 > .text01 {
  font-size: 1.5vw;
}

.ct_bg .movieImage01 > a::before {
  bottom: .6vw;
  right: .6vw;
  width: 5.4vw;
}

.ct_bg .movieImage01 > a::after {
  bottom: 2.46vw;
  right: 2.44vw;
  width: 1.6vw;
}

.ct_bg .btn01 > a {
  padding: 1.0vw 3.64vw 1.0vw 1.3vw;
  border-radius: 6.7vw;
  font-size: 1.3vw;
}

.ct_bg .btn01 > a::after {
  right: 1.3vw;
  width: .9vw;
}
}

@media screen and (max-width: 1040px) {
.ct_bg .hgroup01 {
  padding: 7.3vw 0 6.2vw;
}
.ct_bg .hgroup01 > .title01 {
  width: 30vw;
}
.ct_bg .hgroup01 > .image01 > .chara01 {
  right: 5.8vw;
  width: 22.69vw;
}
.ct_bg .hgroup01 > .image01 > .chara02 {
  bottom: -3.6vw;
  left: -.05vw;
  width: 37vw;
}

.ct_bg .hgroup02 {
  padding: 5.7vw 0 5.6vw;
}
.ct_bg .hgroup02 > .title01 {
  width: 14.6vw;
}
.ct_bg .hgroup02 > .image01 > .chara01 {
  top: -3.6vw;
  width: 30.76vw;
}

.ct_bg .hgroup03 {
  padding: 7.1vw 0 7.2vw;
}
.ct_bg .hgroup03 > .title01 {
  margin: 0 auto;
  width: 28.46vw;
}
.ct_bg .hgroup03 > .image01 > .chara01 {
  left: 13.84vw;
  width: 13.75vw;
}
.ct_bg .hgroup03 > .image01 > .chara02 {
  top: 3.75vw;
  right: 15.48vw;
  width: 12.5vw;
}

.ct_bg .hgroup04 {
  padding: 5.6vw 0 5.7vw;
}
.ct_bg .hgroup04 > .title01 {
  width: 32.69vw;
}
.ct_bg .hgroup04 > .image01 > .chara01 {
  left: 11.73vw;
  width: 12.69vw;
}
.ct_bg .hgroup04 > .image01 > .chara02 {
  top: 4vw;
  right: 14.8vw;
  width: 9.9vw;
}

.ct_bg .hgroup05 {
  padding: 3.5vw 0;
}
.ct_bg .hgroup05 > .title01 {
  width: 25.38vw;
}
.ct_bg .hgroup05 > .image01 > .chara01 {
  top: 2.3vw;
  left: 11.73vw;
  width: 18vw;
}
.ct_bg .hgroup05 > .image01 > .chara02 {
  right: -1.1vw;
  width: 29.32vw;
}

.ct_bg .heading01.type02 {
  padding: 1.53vw 2.3vw;
  font-size: 2.6vw;
}
.ct_bg .heading01.type02 > .font01 {
  font-size: 1.92vw;
}
.ct_bg .heading01.type02::before,
.ct_bg .heading01.type02::after {
  width: 1.15vw;
}
.ct_bg .heading01.type02::before {
  left: 1.15vw;
}
.ct_bg .heading01.type02::after {
  right: 1.15vw;
}


.ct_bg .list02 > li > a {
  font-size: 2.3vw;
}

.ct_bg .localNav01 > li > a {
  font-size: 2.69vw;
}
.ct_bg .mallLinkTxt > a {
  padding: 1.1vw;
  font-size: 2.69vw;
}
.ct_bg .mallLinkTxt > a > span {
  padding-left: 5.3vw;
}
.ct_bg .mallLinkTxt > a > span::before {
  width: 4.61vw;
}
}

@media screen and (max-width: 767px) {
.ct_bg .container01 {
  padding-top: 15vw;
}

.ct_bg .wrapper01 {
  padding: 0 4vw;
}

.ct_bg .mainArea01 {
  margin: 0;
  padding-top: 20vw;
  height: auto;
  background: url(../../img/bg_index01_sp.png) no-repeat center top / 100% auto;
}

.ct_bg .mainArea01 > .image01 {
  margin: 0 auto;
  width: 59.25vw;
}

.ct_bg .mainArea01 > .mainInner01 {
  position: inherit;
  top: 0;
  left: 0;
  margin-top: 1.25vw;
  padding: 5vw 4vw 6vw;
  width: 100%;
  height: auto;
  border-radius: 0px 0px 20vw 20vw;
  rotate: 0deg;
}

.ct_bg .mainArea01 > .mainInner01 > .image01 {
  width: 54.5vw;
}
.ct_bg .mainArea01 > .mainInner01 > .text01 {
  margin-top: 3vw;
  font-size: 3.5vw;
}

.ct_bg .topFrame01 {
  margin-top: 40vw;
  padding: 34vw 4.5vw 10vw 4.5vw;
  border-radius: 10vw;
  border: 1.5vw solid #FFDC8A;
  width: 100%;
}

.ct_bg .topFrame01 > .image01 {
  position: absolute;
  top: -34.5vw;
  right: auto;
  left: 50%;
  translate: -50% 0;
  width: 87.75vw;
}

.ct_bg .topFrame01 > .title01 {
  position: relative;
  font-size: 8vw;
  text-align: center;
}
.ct_bg .topFrame01 > .title01 > .icon01 {
  top: -5vw;
  left: -11vw;
  width: 24vw;
  font-size: 6.19vw;
}

.ct_bg .topFrame02 {
  margin-top: 4vw;
  padding-top: 73.75vw;
  padding-bottom: 12vw;
  height: auto;
  background: url(../../img/bg_index03_sp.png) no-repeat center top / cover;
}

.ct_bg .topFrame02 > .title01 {
  margin-left: 4vw;
  width: 79.25vw;
}

.ct_bg .topFrame02 > .inner01 {
  grid-template-columns: repeat(2, 1fr);
  column-gap: 5vw;
  row-gap: 6vw;
  margin-top: 6vw;
  padding: 0 4vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 {
  grid-template-rows: none;
  gap: 4vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 > .text01 {
  font-size: 7vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .text02 {
  font-size: 3.5vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 > .image01,
.ct_bg .topFrame02 > .inner01 > .column01 > .image02 {
  height: 35.25vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 > .image03,
.ct_bg .topFrame02 > .inner01 > .column01 > .image04 {
  height: 54.25vw;
}

.ct_bg .topFrame02 > .inner01 > .column01 > .image01 img {
  width: 22.5vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image02 img {
  width: 22vw;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image03 img {
  width: 100%;
}
.ct_bg .topFrame02 > .inner01 > .column01 > .image04 img {
  width: 31vw;
}

.ct_bg .topFrame03 {
  margin-top: 8vw;
  padding: 6vw;
  border-radius: 10vw;
}

.ct_bg .infoList01 {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0;
}

.ct_bg .infoList01 > dt {
  margin-top: 4vw;
  margin-right: 0;
  width: 100%;
}
.ct_bg .infoList01 > dt:first-child {
  margin-top: 0;
}

.ct_bg .infoList01 > dt > .icon01 {
  display: inline-block;
  margin-top: 0;
  margin-left: 2vw;
  padding: 0 3.25vw;
  min-width: 22.5vw;
  color: #fff;
}

.ct_bg .infoList01 > dd {
  margin-top: 2vw;
  width: 100%;
}

.ct_bg .subSection01 {
  margin-top: 28vw;
}
.ct_bg .subSection01:first-child {
  margin-top: 20vw;
}
.ct_bg .subSection02 {
  margin-top: 12vw;
}

.ct_bg .frameArea01 {
  margin-top: 16vw;
}
.ct_bg .frameArea01 > .inner01 {
  margin-top: -12vw;
  padding: 20vw 4vw 8vw 4vw;
  height: auto;
  border-radius: 10vw;
}
.ct_bg .frameArea01 > .inner01 > .image01 {
  margin-top: 8vw;
}

.ct_bg .col01 {
  margin-top: 4vw;
  width: 100%;
}

.ct_bg .col02 {
  margin-top: 4.0vw;
  width: 100%;
}

.ct_bg .col02 > .text01 {
  font-size: 2.925vw;
}

.ct_bg .col03 {
  width: 100%;
}
.ct_bg .col03 > .text01 {
  margin-top: 2vw;
  font-size: 3vw;
}

.ct_bg .col04 {
  margin-top: 8vw;
  width: 100%;
}
.ct_bg .col04 > .text01 {
  margin-top: 4vw;
}
.ct_bg .col04 > .text02 {
  margin-top: 4vw;
  font-size: 3.5vw;
}
.ct_bg .col04 > .text02 > .font01 {
  font-size: 5vw;
}
.ct_bg .col04 > .text03 {
  margin-top: 4vw;
  font-size: 3.5vw;
}

.ct_bg .col05 {
  width: 100%;
}
.ct_bg .col05 .col04 {
  margin-top: 8vw;
}

.ct_bg .mallLinkTxt {
  margin-top: 4vw;
}

.ct_bg .mallLinkTxt > a {
  padding: 3vw;
  font-size: 7vw;
}
.ct_bg .mallLinkTxt > a > span {
  padding-left: 14vw;
}
.ct_bg .mallLinkTxt > a > span::before {
  width: 12vw;
}

.ct_bg .slideArea01 {
  margin-top: 4vw;
  padding: 0 6.5vw;
}

.ct_bg .slideArea01 .image01 > a {
  border-radius: 2vw;
}
.ct_bg .slideArea01 .image01 > a::before {
  bottom: 1vw;
  right: 1vw;
  width: 4vw;
}
.ct_bg .slideArea01 .image01 > a::after {
  bottom: 2.3vw;
  right: 2.3vw;
  width: 1.2vw;
}

.ct_bg .slideArea01 .swiper-button-prev,
.ct_bg .slideArea01 .swiper-button-next {
  width: 4vw;
}
.ct_bg .slideArea01 .swiper-button-prev {
	left: 0;
}
.ct_bg .slideArea01 .swiper-button-next {
	right: 0;
}

.ct_bg .hgroup01 {
  padding: 0;
  margin: 0 -2.5vw;
}
.ct_bg .hgroup01 > .title01 {
  margin-top: 8vw;
  width: 48.25vw;
}
.ct_bg .hgroup01 > .image01 {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
}

.ct_bg .hgroup01 > .image01 > .chara01 {
  position: relative;
  top: 0;
  right: 0;
  width: 35.25vw;
}
.ct_bg .hgroup01 > .image01 > .chara02 {
  position: relative;
  bottom: 0;
  left: 0;
  width: 57.75vw;
}

.ct_bg .hgroup02 {
  padding: 0;
}
.ct_bg .hgroup02 > .title01 {
  margin-top: 8vw;
  width: 23.25vw;
}
.ct_bg .hgroup02 > .image01 {
  text-align: center;
}
.ct_bg .hgroup02 > .image01 > .chara01 {
  position: static;
  top: 0;
  left: 0;
  margin: 0 auto;
  width: 48.25vw;
}

.ct_bg .hgroup03 {
  padding: 0;
}
.ct_bg .hgroup03 > .title01 {
  margin-top: 8vw;
  width: 45.25vw;
}
.ct_bg .hgroup03 > .image01 {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  column-gap: 4vw;
}
.ct_bg .hgroup03 > .image01 > .chara01 {
  position: static;
  left: 0;
  width: 21.5vw;
}
.ct_bg .hgroup03 > .image01 > .chara02 {
  position: static;
  top: 0;
  right: 0;
  width: 19.25vw;
}

.ct_bg .hgroup04 {
  padding: 0;
}
.ct_bg .hgroup04 > .title01 {
  margin-top: 8vw;
  width: 51.75vw;
}
.ct_bg .hgroup04 > .image01 {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  column-gap: 4vw;
}

.ct_bg .hgroup04 > .image01 > .chara01 {
  position: static;
  left: 0;
  width: 19.75vw;
}
.ct_bg .hgroup04 > .image01 > .chara02 {
  position: static;
  top: 0;
  right: 0;
  width: 15.25vw;
}

.ct_bg .hgroup05 {
  margin: 9vw 0 0;
  padding: 0;
}
.ct_bg .hgroup05 > .title01 {
  margin-top: 6vw;
  width: 43vw;
}
.ct_bg .hgroup05 > .image01 {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
}

.ct_bg .hgroup05 > .image01 > .chara01 {
  position: relative;
  top: 0;
  left: 0;
  width: 30.5vw;
}
.ct_bg .hgroup05 > .image01 > .chara02 {
  position: relative;
  top: 0;
  right: 0;
  width: 49.75vw;
}

.ct_bg .hgroup06 {
  width: 100vw;
}
.ct_bg .hgroup06 > .inner01 {
  padding: 3.75vw 0;
}

.ct_bg .hgroup06 > .inner01 > .title01 {
  padding-left: 34.5vw;
  font-size: 14vw;
}
.ct_bg .hgroup06 > .inner01 > .title01::before {
  left: 0;
  width: 34.5vw;
}
.ct_bg .hgroup06 > .inner01 > .title01.type01::after {
  top: -1.94vw;
  left: 7.15vw;
  width: 20.2vw;
}
.ct_bg .hgroup06 > .inner01 > .title01.type02::after {
  top: 2.125vw;
  left: 4.62vw;
  width: 25.25vw;
}
.ct_bg .hgroup06 > .inner01 > .title01.type03::after {
  top: -2vw;
  left: 10vw;
  width: 14.5vw;
}
.ct_bg .hgroup06 > .inner01 > .title01.type04::after {
  top: -1vw;
  left: 9.4vw;
  width: 15.68vw;
}
.ct_bg .hgroup06 > .inner01 > .image01 > .chara01 {
  bottom: -16vw;
  right: 1.96vw;
  width: 35.25vw;
}

.ct_bg .heading01 {
  margin: 0 4vw;
  padding: 4vw;
  font-size: 5vw;
}
.ct_bg .heading01::before,
.ct_bg .heading01::after {
  width: 2vw;
}
.ct_bg .heading01::before {
  left: 2vw;
}
.ct_bg .heading01::after {
  right: 2vw;
}
.ct_bg .heading01.type02 {
  padding: 4vw;
  font-size: 5vw;
}
.ct_bg .heading01.type02 > .font01 {
  font-size: 4vw;
}
.ct_bg .heading01.type02::before,
.ct_bg .heading01.type02::after {
  width: 2vw;
}
.ct_bg .heading01.type02::before {
  left: 2vw;
}
.ct_bg .heading01.type02::after {
  right: 2vw;
}


.ct_bg .movieImage01 > a {
  border-radius: 4vw;
}
.ct_bg .movieImage01 > a::before {
  bottom: 2vw;
  right: 2vw;
  width: 12vw;
}
.ct_bg .movieImage01 > a::after {
  bottom: 5.9vw;
  right: 5.9vw;
  width: 3.6vw;
}


.ct_bg .imgZoom01 > a {
  border-radius: 10vw;
  border: 1vw solid #D3EEFB;
}
.ct_bg .imgZoom01 > a::after {
  bottom: 3.5vw;
  right: 3.5vw;
  width: 8vw;
}

.ct_bg .itemList01 {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2vw;
  gap: 2vw;
}

.ct_bg .itemList01 > li > a {
  border-radius: 4vw;
  border: .5vw solid #D3EEFB;
}

.ct_bg .itemList01 > li > a::after {
  bottom: 1vw;
  right: 1vw;
  width: 5.5vw;
}

.ct_bg .btn01 {
  margin-top: 2vw;
}
.ct_bg .btn01 > a {
  padding: 3vw 10.75vw 3vw 4vw;
  font-size: 4vw;
}

.ct_bg .btn01 > a::after {
  right: 4vw;
  width: 2.75vw;
}

.ct_bg .list01 {
  margin-top: 8vw;
  gap: 4vw 0;
}

.ct_bg .list01 > li {
  width: 100%;
}

.ct_bg .list01 > li > a {
  padding: 2vw;
  border-radius: 4vw;
  box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.20);
}

.ct_bg .list01 > li > a > .text01 {
  padding-left: 18vw;
  border-radius: 2vw 2vw 0px 0px;
  font-size: 10vw;
}
.ct_bg .list01 > li > a > .text01.type01::before {
  left: -.8vw;
  width: 15.25vw;
}
.ct_bg .list01 > li > a > .text01.type02::before {
  left: -.8vw;
  width: 18.25vw;
}
.ct_bg .list01 > li > a > .text01.type03::before {
  left: 2.25vw;
  width: 11vw;
}
.ct_bg .list01 > li > a > .text01.type04::before {
  left: 2vw;
  width: 12.75vw;
}
.ct_bg .list01 > li > a > .text01::after {
  right: 4vw;
  width: 4vw;
}

.ct_bg .list02 {
  margin-top: 8vw;
  column-gap: 0;
  row-gap: 6vw;
}

.ct_bg .list02 > li {
  width: 100%;
}

.ct_bg .list02 > li > a {
  padding: 3.5vw 7vw 3.5vw 3.5vw;
  min-height: 24vw;
  font-size: 6vw;
}
.ct_bg .list02 > li > a::after {
  right: 5vw;
  width: 4vw;
}
.ct_bg .list02 > li > a > .insta01 {
  padding-left: 10vw;
}
.ct_bg .list02 > li > a > .insta01::before {
  width: 8vw;
}

.ct_bg .localNav01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 8vw;
  column-gap: 0;
  row-gap: 2vw;
}

.ct_bg .localNav01 > li {
  width: 48.91%;
}

.ct_bg .localNav01 > li > a {
  padding: 3.25vw 0 3.25vw 4vw;
  border-radius: 4vw;
  border: .75vw solid #FFF;
  box-shadow: .5vw .5vw 0px 0px rgba(0, 0, 0, 0.20);
  font-size: 6vw;
}
.ct_bg .localNav01 > li.navi01 > a {
  padding-left: 12.25vw;
}
.ct_bg .localNav01 > li.navi02 > a {
  padding-left: 13.25vw;
}
.ct_bg .localNav01 > li.navi03 > a {
  padding-left: 10.5vw;
}
.ct_bg .localNav01 > li.navi04 > a {
  padding-left: 10.25vw;
}
.ct_bg .localNav01 > li.navi01 > a::before {
  left: 1.25vw;
  width: 8.75vw;
}
.ct_bg .localNav01 > li.navi02 > a::before {
  left: 1.25vw;
  width: 10vw;
}
.ct_bg .localNav01 > li.navi03 > a::before {
  left: 1.25vw;
  width: 7vw;
}
.ct_bg .localNav01 > li.navi04 > a::before {
  left: 1.25vw;
  width: 7vw;
}

.ct_bg .localNav01 > li > a > .inner01::after {
  right: 3.25vw;
  width: 2vw;
}

.ct_bg .img01 {
  margin-top: 8vw;
}
}
