/* !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%;
}
.c-pagetop {
  z-index: 99;
}
.onlySP {
  display: none;
}
.ct_bg {
  background: url("../img/bg01.png") repeat 0 0;
}
.ct_bg img {
  max-width: 100%;
  height: auto;
}
.ct_bg .imgOver01 img {
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.ct_bg .imgOver02 a {
  position: relative;
  display: block;
  background: transparent;
}
.ct_bg .imgOver02 a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0);
  transition: background .3s;
}
.ct_bg .center {
  text-align: center !important;
}
.ct_bg .right {
  text-align: right !important;
}
.ct_bg .hellip {
  font-family: 'Liberation Serif', 'Noto Sans CJK JP', 'TakaoGothic', 'VL Gothic', 'Yu Gothic', 'MS Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Osaka-Mono', 'Noto Sans JP', Monospace;
}
.fb_iframe_widget > span {
  vertical-align: baseline !important;
}
.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;
}
.fancybox-bg {
  background:#1A0048;
}
.ct_bg .headTitleArea01 {
  padding: 8px 0 7px;
  background: #F8DF00;
}
.ct_bg .headTitleArea01 h1 {
  color: #674498;
  text-align: center;
  font-size: 14px;
  line-height: 1.75;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-feature-settings: "palt";
  transform: rotate(0.03deg);
}
.ct_bg .imgbox01 {
  border: 8px solid #FFF57F;
  background: #fff;
  margin-top: 40px;
  padding: 12px;
}
.ct_bg .heading01 {
  display: flex;
  justify-content: center;
}
.ct_bg .heading01.typeRuby > span > span {
  padding-top: 11px;
}
.ct_bg .heading01 > span > span {
  color: #FFF57F;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90px;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 48px;
  line-height: 1;
  width: 407px;
  padding-left: 2px;
  background: #1A0048;
  position: relative;
}
.ct_bg .heading01 > span > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: -131px;
  width: 133px;
  height: 90px;
  background: url("../img/bg_hdg01.svg") no-repeat 0 0/cover;
}
.ct_bg .heading01 > span > span::after {
  content: '';
  position: absolute;
  top: 0;
  right: -133px;
  width: 133px;
  height: 90px;
  background: url("../img/bg_hdg02.svg") no-repeat 0 0/cover;
}
.ct_bg .heading01 > span > span [data-ruby] {
  position: relative;
}
.ct_bg .heading01 > span > span [data-ruby]::before {
  text-align: center;
  content: attr(data-ruby);
  position: absolute;
  top: -1.2em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 12px;
  rotate: 0.03deg;
}
::-webkit-full-page-media, :future, :root .ct_bg .heading01 > span > span [data-ruby]::before {
  top: -0.5em;
}
.ct_bg .heading01 > span > span rt {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.ct_bg .heading02 {
  text-align: center;
  margin-top: 9px;
  margin-bottom: 5px;
  color: #E54493;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 36px;
  line-height: 1;
  text-shadow: white 4px 0px 0px, white 3.87565px 0.989616px 0px, white 3.51033px 1.917702px 0px, white 2.926755px 2.726555px 0px, white 2.161209px 3.365884px 0px, white 1.261289px 3.795938px 0px, white 0.282949px 3.98998px 0px, white -0.712984px 3.935944px 0px, white -1.664587px 3.63719px 0px, white -2.512695px 3.112293px 0px, white -3.204574px 2.393888px 0px, white -3.69721px 1.526644px 0px, white -3.95997px 0.56448px 0px, white -3.976519px -0.432781px 0px, white -3.745827px -1.403133px 0px, white -3.282238px -2.286245px 0px, white -2.614574px -3.02721px 0px, white -1.78435px -3.579957px 0px, white -0.843183px -3.91012px 0px, white 0.150409px -3.997171px 0px, white 1.134649px -3.835697px 0px, white 2.048342px -3.435738px 0px, white 2.834679px -2.822161px 0px, white 3.44477px -2.033116px 0px, white 3.840681px -1.117662px 0px, white 3.997798px -0.132717px 0px;
  rotate: 0.03deg;
}
.ct_bg .heading02 span {
  font-size: 48px;
  margin-right: 0.28em;
}
.ct_bg .heading03 {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  color: #E54493;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 24px;
  line-height: 1.75;
  text-shadow: white 4px 0px 0px, white 3.87565px 0.989616px 0px, white 3.51033px 1.917702px 0px, white 2.926755px 2.726555px 0px, white 2.161209px 3.365884px 0px, white 1.261289px 3.795938px 0px, white 0.282949px 3.98998px 0px, white -0.712984px 3.935944px 0px, white -1.664587px 3.63719px 0px, white -2.512695px 3.112293px 0px, white -3.204574px 2.393888px 0px, white -3.69721px 1.526644px 0px, white -3.95997px 0.56448px 0px, white -3.976519px -0.432781px 0px, white -3.745827px -1.403133px 0px, white -3.282238px -2.286245px 0px, white -2.614574px -3.02721px 0px, white -1.78435px -3.579957px 0px, white -0.843183px -3.91012px 0px, white 0.150409px -3.997171px 0px, white 1.134649px -3.835697px 0px, white 2.048342px -3.435738px 0px, white 2.834679px -2.822161px 0px, white 3.44477px -2.033116px 0px, white 3.840681px -1.117662px 0px, white 3.997798px -0.132717px 0px;
  rotate: 0.03deg;
}
.ct_bg .heading03:has(span) {
  line-height: 1.5;
  padding-top: 8.5px;
}
.ct_bg .heading03 span {
  font-size: 40px;
  margin-left: 0.2em;
  margin-right: -0.05em;
}
.ct_bg .movieBlock01 {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.ct_bg .movieBlock01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 470 / 264;
}
.ct_bg .btn01 {
  max-width: 400px;
}
.ct_bg .btn01 a {
  text-decoration: none;
  display: block;
  background: url("../img/bg_btn01.png") no-repeat 0 0/20px, url("../img/bg_btn02.png") no-repeat 100% 0/20px, url("../img/bg_btn03.png") no-repeat 0 100%/20px, url("../img/bg_btn04.png") no-repeat 100% 100%/20px;
  padding-left: 20px;
  padding-right: 20px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  position: relative;
}
.ct_bg .btn01 a::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background-color: #E54493;
  border-left: 4px solid #000;
  border-right: 4px solid #000;
  transition: background-color .2s;
}
.ct_bg .btn01 a::after {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  background-color: #E54493;
  z-index: -1;
  transition: background-color .2s;
}
.ct_bg .btn01 a > .inner01 {
  display: block;
  text-align: center;
  padding: 0.79em 0;
  color: #FFF;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  position: relative;
}
.ct_bg .btn01 a > .inner01::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E54493;
  transition: background-color .2s;
}
.ct_bg .btn01 a .text01 {
  color: #fff;
  position: relative;
  padding-left: 37.2px;
}
.ct_bg .btn01 a .text01::before, .ct_bg .btn01 a .text01::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  background-image: url(../img/ic01_on.svg);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: contain;
  width: 36.1px;
  height: 37.3px;
  transform: translateY(-52%);
  transition: opacity .2s;
}
.ct_bg .btn01 a .text01::after {
  background-image: url(../img/ic01.svg);
}
.ct_bg .btn01 a .text01.reserve {
  padding-left: 44px;
}
.ct_bg .btn01 a .text01.reserve::before, .ct_bg .btn01 a .text01.reserve::after {
  background-image: url(../img/ic02_on.svg);
  width: 36px;
  height: 37.5px;
  transform: translateY(-50%);
}
.ct_bg .btn01 a .text01.reserve::after {
  background-image: url(../img/ic02.svg);
}
.ct_bg .btn01 a .text01.waiting {
  padding-left: 42.8px;
}
.ct_bg .btn01 a .text01.waiting::before, .ct_bg .btn01 a .text01.waiting::after {
  background-image: url(../img/ic03_on.svg);
  width: 36px;
  height: 26px;
  transform: translateY(-52%);
}
.ct_bg .btn01 a .text01.waiting::after {
  background-image: url(../img/ic03.svg);
}
.ct_bg .btn02 {
  max-width: 400px;
}
.ct_bg .btn02 a {
  text-decoration: none;
  display: block;
  background: url("../img/bg_btn01.png") no-repeat 0 0/20px, url("../img/bg_btn02.png") no-repeat 100% 0/20px, url("../img/bg_btn03.png") no-repeat 0 100%/20px, url("../img/bg_btn04.png") no-repeat 100% 100%/20px;
  padding-left: 20px;
  padding-right: 20px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  position: relative;
}
.ct_bg .btn02 a::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background-color: #fff;
  border-left: 4px solid #000;
  border-right: 4px solid #000;
  transition: background-color .2s;
}
.ct_bg .btn02 a::after {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  background-color: #fff;
  z-index: -1;
  transition: background-color .2s;
}
.ct_bg .btn02 a > .inner01 {
  display: block;
  text-align: center;
  padding: 12px 0 14px;
  color: #FFF;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 24px;
  line-height: 1.5;
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  position: relative;
}
.ct_bg .btn02 a > .inner01::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: background-color .2s;
}
.ct_bg .btn02 a .text01 {
  transition: color .2s;
  color: #E54493;
  position: relative;
  display: block;
  rotate: 0.03deg;
}
.ct_bg .btn02 a .text01::before, .ct_bg .btn02 a .text01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background-image: url(../img/ic04_on.svg);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: contain;
  width: 12px;
  height: 20px;
  transform: translateY(-50%);
  transition: opacity .2s;
}
.ct_bg .btn02 a .text01::after {
  background-image: url(../img/ic04.svg);
}
.ct_bg .section01 {
  position: relative;
  padding: 100px 20px;
}
.ct_bg .anchorArea > .inner01,
.ct_bg .movieArea01 > .inner01,
.ct_bg .newsArea > .inner01,
.ct_bg .productsArea > .inner01,
.ct_bg .movieArea02 > .inner01,
.ct_bg .howtoArea > .inner01,
.ct_bg .communicateArea > .inner01,
.ct_bg .characterArea > .inner01,
.ct_bg .miniGameArea > .inner01,
.ct_bg .aboutArea > .inner01,
.ct_bg .footArea > .inner01 {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
.ct_bg .communicateArea > .inner01 {
  max-width: 920px;
}
.ct_bg .anchorArea,
.ct_bg .section01:nth-child(odd) {
  overflow-x: hidden;
  background: url("../img/bg01.png") repeat-x 50% 0/156px, url("../img/bg02.png") repeat-x 50% 100%/128px, linear-gradient(180deg, #d3f0ff 0%, #93dbff 100%);
}
.ct_bg .section01:nth-child(even) {
  padding: 80px 20px ;
  overflow-x: hidden;
  background: url("../img/bg03.png") repeat 0 0/40px;
}
.ct_bg .contentsArea01 .movieArea01 {
  padding: 100px 20px;
}
.ct_bg .movieArea01 > .inner01 {
  position: relative;
}
.ct_bg .movieArea01 > .inner01::before {
  content: '';
  position: absolute;
  top: -100px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/PUG_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea01 > .inner01::after {
  content: '';
  position: absolute;
  top: -21px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POM_POSE1_STROKE.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea01 .movieWrap01 {
  position: relative;
}
.ct_bg .movieArea01 .movieWrap01::before {
  content: '';
  position: absolute;
  top: -100px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/GRET_POSE4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea01 .movieWrap01::after {
  content: '';
  position: absolute;
  top: -21px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/RDALM_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .newsArea .heading01 {
  position: relative;
}
.ct_bg .newsArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/UNI_IDLE2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .newsArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POOD_POSE3.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .newsArea .heading01 > span {
  position: relative;
}
.ct_bg .newsArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/WIEN_POSE4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .newsArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/CHI_POSE3_STROKE.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .productsArea .heading01 {
  position: relative;
}
.ct_bg .productsArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/MER_IDLE1.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .productsArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/DOGKAT_POSE1_STROKE.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .productsArea .heading01 > span {
  position: relative;
}
.ct_bg .productsArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/HUSK_NEED_BATHE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .productsArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/BULL_NEED_BATHE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea02 .heading01 {
  position: relative;
}
.ct_bg .movieArea02 .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/TERRI_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea02 .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/CORGI_NEED_FEED1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea02 .heading01 > span {
  position: relative;
}
.ct_bg .movieArea02 .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/SHIBA_IDLE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .movieArea02 .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POM_POSE1_STROKE.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .howtoArea .heading01 {
  position: relative;
}
.ct_bg .howtoArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/UNI_IDLE2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .howtoArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POOD_POSE3.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .howtoArea .heading01 > span {
  position: relative;
}
.ct_bg .howtoArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/WIEN_POSE4.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .howtoArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/CHI_POSE3_STROKE.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .communicateArea .heading01 {
  position: relative;
}
.ct_bg .communicateArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/MER_IDLE1.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .communicateArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/DOGKAT_POSE1_STROKE.gif) no-repeat 0 0 / contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .communicateArea .heading01 > span {
  position: relative;
}
.ct_bg .communicateArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/HUSK_NEED_BATHE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .communicateArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/BULL_NEED_BATHE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .characterArea .heading01 {
  position: relative;
}
.ct_bg .characterArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/PUG_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .characterArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POM_POSE1_STROKE.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .characterArea .heading01 > span {
  position: relative;
}
.ct_bg .characterArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/GRET_POSE4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .characterArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/RDALM_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .miniGameArea .heading01 {
  position: relative;
}
.ct_bg .miniGameArea .heading01::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + -501px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/TERRI_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .miniGameArea .heading01::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + -592px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/CORGI_NEED_FEED1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .miniGameArea .heading01 > span {
  position: relative;
}
.ct_bg .miniGameArea .heading01 > span::before {
  content: '';
  position: absolute;
  top: -68px;
  left: calc(50% + 291px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/SHIBA_IDLE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .miniGameArea .heading01 > span::after {
  content: '';
  position: absolute;
  top: 1px;
  left: calc(50% + 372px);
  width: 220px;
  height: 120px;
  background: url(../img/gif/POM_POSE1_STROKE.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea {
  padding-bottom: 59px;
}
.ct_bg .aboutArea .img01 {
  width: 428px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -9px;
}
.ct_bg .aboutArea .img01 span {
  position: relative;
}
.ct_bg .aboutArea .img01 > span::before {
  content: '';
  position: absolute;
  top: -88px;
  left: calc(50% + -467px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/PUG_IDLE3.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span::after {
  content: '';
  position: absolute;
  top: -67px;
  left: calc(50% + 116px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/CHI_POSE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span::before {
  content: '';
  position: absolute;
  top: 26px;
  left: calc(50% + -482px);
  width: 147px;
  height: 80px;
  background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span::after {
  content: '';
  position: absolute;
  top: 66px;
  left: calc(50% + 368px);
  width: 147px;
  height: 80px;
  background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span > span::before {
  content: '';
  position: absolute;
  top: 68px;
  left: calc(50% + -577px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/RDALM_NEED_FLEAS2.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span > span::after {
  content: '';
  position: absolute;
  top: 71px;
  left: calc(50% + 223px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/SHIBA_NEED_BATHE1.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span > span > span::before {
  content: '';
  position: absolute;
  top: 316px;
  left: calc(50% + -482px);
  width: 147px;
  height: 80px;
  background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span > span > span::after {
  content: '';
  position: absolute;
  top: 186px;
  left: calc(50% + 218px);
  width: 147px;
  height: 80px;
  background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
  width: 147px;
}
.ct_bg .aboutArea .img01 > span > span > span > span > span::before {
  content: '';
  position: absolute;
  top: 213px;
  left: calc(50% + -495px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/MER_POSE3.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .img01 > span > span > span > span > span::after {
  content: '';
  position: absolute;
  top: 213px;
  left: calc(50% + 178px);
  width: 367px;
  height: 200px;
  background: url(../img/gif/UNI_POSE3.gif) no-repeat 0 0/contain;
  z-index: 1;
  pointer-events: none;
}
.ct_bg .aboutArea .tx01 {
  text-align: center;
  color: #fff;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 24px;
  line-height: 1.75;
}
.ct_bg .anchorArea {
  padding: 25px 20px 45px;
}
.ct_bg .anchorArea ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  gap: 4px;
}
.ct_bg .anchorArea ul li {
  flex: 0 0 160px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
}
.ct_bg .anchorArea ul li a {
  text-decoration: none;
  display: block;
  background: url("../img/bg_btn01.png") no-repeat 0 0/20px, url("../img/bg_btn02.png") no-repeat 100% 0/20px, url("../img/bg_btn03.png") no-repeat 0 100%/20px, url("../img/bg_btn04.png") no-repeat 100% 100%/20px;
  padding-left: 20px;
  padding-right: 20px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  position: relative;
}
.ct_bg .anchorArea ul li a::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  height: calc(100% - 40px);
  background-color: #E54493;
  border-left: 4px solid #000;
  border-right: 4px solid #000;
  transition: background-color .2s;
}
.ct_bg .anchorArea ul li a::after {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  background-color: #E54493;
  z-index: -1;
  transition: background-color .2s;
}
.ct_bg .anchorArea ul li a > span {
  display: block;
  text-align: center;
  padding: 0.4em 0;
  color: #FFF;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  position: relative;
}
.ct_bg .anchorArea ul li a > span::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E54493;
  transition: background-color .2s;
}
.ct_bg .anchorArea ul li a > span > span {
  transition: color .2s;
  color: #FFF57F;
  display: block;
  padding-bottom: 19px;
  position: relative;
  rotate: 0.03deg;
}
.ct_bg .anchorArea ul li a > span > span::before, .ct_bg .anchorArea ul li a > span > span::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 12px;
  background: url("../img/bg_anc01.svg") no-repeat 50% 100%/contain;
  transform: translateX(-50%);
}
.ct_bg .anchorArea ul li a > span > span::after {
  background-image: url("../img/bg_anc02.svg");
  opacity: 0;
  transition: opacity .2s;
}
.ct_bg .anchorArea .btn02 {
  max-width: 400px;
}
.ct_bg .movieArea01 .movieWrap01 {
  border: 8px solid #FFF57F;
}
.ct_bg .newsArea .newsBox {
  border: 8px solid #FFF57F;
  background: #fff;
  margin-top: 40px;
}
.ct_bg .newsArea .newsBox > .inner01 {
  width: 100%;
  max-height: 224px;
  overflow-y: auto;
  padding-left: 17px;
  padding-right: 17px;
}
.ct_bg .newsArea .newsBox .newsList01 {
  margin-top: 16px;
}
.ct_bg .newsArea .newsBox .newsList01 + .newsList01 {
  margin-top: 24px;
}
.ct_bg .newsArea .newsBox .newsList01:last-of-type {
  margin-bottom: 16px;
}
.ct_bg .newsArea .newsBox .newsList01 dt {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  display: flex;
  align-items: center;
  transform: rotate(0.03deg);
}
.ct_bg .newsArea .newsBox .newsList01 dt .ic01 {
  color: #fff;
  background: #E54493;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
  border-radius: 999px;
  padding: 4.5px 11px 4.5px 8px;
  margin-left: 17px;
  transform: rotate(0.03deg);
}
.ct_bg .newsArea .newsBox .newsList01 dd {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  line-height: 1.75;
  margin-top: 6px;
  transform: rotate(0.03deg);
}
.ct_bg .newsArea .newsBox .newsList01 dd a {
  color: #000;
  text-underline-offset: 3px;
}
.ct_bg .productsArea .inner02 {
  border: 8px solid #FFF57F;
  background: #fff;
  margin-top: 40px;
  padding: 32px 42px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4.7619047619%;
}
.ct_bg .productsArea .inner02 .imgWrap {
  flex: 0 0 47.619047619%;
}
.ct_bg .productsArea .inner02 .imgWrap .imgList01 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 2.5641025641%;
  margin-top: 10px;
}
.ct_bg .productsArea .inner02 .imgWrap .imgList01 li {
  flex: 0 0 17.9487179487%;
  position: relative;
}
.ct_bg .productsArea .inner02 .imgWrap .imgList01 li::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #F8D0E4;
  pointer-events: none;
}
.ct_bg .productsArea .inner02 .textWrap {
  flex: 0 0 47.619047619%;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}
.ct_bg .productsArea .inner02 .textWrap .tx01 {
  color: #E54493;
  font-size: 40px;
  font-weight: 900;
  margin-top: 3px;
  margin-bottom: 13px;
}
.ct_bg .productsArea .inner02 .textWrap .tx02 {
  color: #674498;
  font-size: 18px;
  font-weight: 900;
  padding-bottom: 13px;
  border-bottom: 2px dotted #674498;
  margin-bottom: 15px;
  transform: rotate(0.03deg);
}
.ct_bg .productsArea .inner02 .textWrap .tx03 {
  font-size: 16px;
  margin-bottom: 24px;
  transform: rotate(0.03deg);
}
.ct_bg .productsArea .inner02 .textWrap .tx04 {
  display: inline-block;
  color: #674498;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  background: #FFF57F;
  padding: 8px 15px;
  margin-bottom: 8px;
  transform: rotate(0.03deg);
}
.ct_bg .productsArea .inner02 .textWrap .tx05 {
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  transform: rotate(0.03deg);
}
.ct_bg .productsArea .inner02 .textWrap .tx05 span {
  margin-left: 0.65em;
}
.ct_bg .productsArea .inner02 .textWrap .tx05 span span {
  font-size: 24px;
}
.ct_bg .productsArea .inner02 .textWrap .tx06 {
  font-size: 14px;
  margin-top: 15px;
  transform: rotate(0.03deg);
}
.ct_bg .productsArea .btn02 {
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
.ct_bg .movieArea02 .movieframe01 {
  width: 100%;
  padding: 10px;
  background-color: #fff;
}
.ct_bg .movieArea02 .movieframe01 > p {
  margin-top: 10px;
  padding: 0 15px;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5;
  transform: rotate(0.03deg);
}
.ct_bg .movieArea02 .slideArea01 {
  position: relative;
  overflow: hidden;
  margin-top: 40px;
}
.ct_bg .movieArea02 .slideArea01 .slide01 {
  max-width: 800px;
  margin-left: 70px;
  margin-right: 70px;
}
.ct_bg .movieArea02 .slideArea01 .swiper-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  cursor: pointer;
}
.ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-prev2 {
  left: 0;
  background: url("../img/ic_arrow01_on.png") no-repeat 0 0/contain;
}
.ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-prev2::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background: url("../img/ic_arrow01.png") no-repeat 0 0/contain;
  opacity: 1;
}
.ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-next2 {
  right: 0;
  background: url("../img/ic_arrow02_on.png") no-repeat 0 0/contain;
}
.ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-next2::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background: url("../img/ic_arrow02.png") no-repeat 0 0/contain;
  opacity: 1;
}
.ct_bg .movieArea02 .slideArea01.no_loop .swiper-arrow.swiper-button-prev2,
.ct_bg .movieArea02 .slideArea01.no_loop .swiper-arrow.swiper-button-next2 {
  display: none;
}
@media screen and ( max-width: 768px ) {
  .ct_bg .movieArea02 .slideArea01.no_loop .swiper-arrow.swiper-button-prev2,
  .ct_bg .movieArea02 .slideArea01.no_loop .swiper-arrow.swiper-button-next2 {
    display: block;
  }
}
.ct_bg .footArea .sns_wrapper {
  display: flex;
  justify-content: center;
}
.ct_bg .footArea .sns_wrapper .snsBtn02 {
  display: flex;
  justify-content: center;
  background: #fff;
  padding: 10px 10px 1px;
}
.ct_bg .footArea .sns_wrapper .snsBtn02 li {
  margin: 0 5px;
}
.ct_bg .footArea .copyrightBlock01 {
  margin-top: 44px;
  padding-bottom: 42px;
}
.ct_bg .footArea .copyrightBlock01 .copyright01 {
  text-align: center;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height: 1.4;
}
.ct_bg .footArea .img01 {
  text-align: center;
}
/*  ---- media: other features ----  */
@media (any-hover: hover) {
  .ct_bg .imgOver01 a:hover img {
    opacity: .8;
  }

  .ct_bg .imgOver02 a:hover::before {
    background: rgba(255, 255, 255, 0.2);
  }
  .ct_bg .btn01 a:hover::before, .ct_bg .btn01 a:hover::after {
    background-color: #fff;
  }
  .ct_bg .btn01 a:hover > .inner01::before {
    background-color: #fff;
  }
  .ct_bg .btn01 a:hover .text01 {
    color: #E54493;
  }
  .ct_bg .btn01 a:hover .text01::after {
    opacity: 0;
  }
  .ct_bg .btn01 a:hover .text01.reserve::after {
    opacity: 0;
  }
  .ct_bg .btn01 a:hover .text01.waiting::after {
    opacity: 0;
  }
  .ct_bg .btn02 a:hover::before, .ct_bg .btn02 a:hover::after {
    background-color: #E54493;
  }
  .ct_bg .btn02 a:hover > .inner01::before {
    background-color: #E54493;
  }
  .ct_bg .btn02 a:hover .text01 {
    color: #fff;
  }
  .ct_bg .btn02 a:hover .text01::after {
    opacity: 0;
  }
  .ct_bg .anchorArea ul li a:hover::before, .ct_bg .anchorArea ul li a:hover::after {
    background-color: #fff;
  }
  .ct_bg .anchorArea ul li a:hover > span::before {
    background-color: #fff;
  }
  .ct_bg .anchorArea ul li a:hover > span > span {
    color: #E54493;
  }
  .ct_bg .anchorArea ul li a:hover > span > span::after {
    opacity: 1;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow:hover.swiper-button-prev2::after {
    opacity: 0;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow:hover.swiper-button-next2::after {
    opacity: 0;
  }
}
/*  ---- media: SP (max-width) ----  */
@media screen and (max-width: 980px) {
  .ct_bg .productsArea .inner02 {
    padding: 3.2653061224vw 4.2857142857vw;
  }
}
@media screen and (max-width: 850px) {
  .ct_bg .productsArea .inner02 .textWrap .tx05 {
    font-size: 1.8823529412vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx05 span span {
    font-size: 2.8235294118vw;
  }
}
@media screen and (max-width: 767px) {
  .ct_bg a {
    text-decoration: underline;
  }

  .ct_bg a:hover {
    text-decoration: none;
  }

  .ct_bg img {
    width: 100%;
    height: auto;
  }

  .onlyPC {
    display: none;
  }

  .onlySP {
    display: block;
  }

  img.onlySP {
    display: inline-block;
  }

  .ct_bg .headTitleArea01 {
    padding: 2.5vw 0;
    margin-bottom: 4vw;
  }

  .ct_bg .headTitleArea01 h1 {
    font-size: 3vw;
  }
  .ct_bg .imgbox01 {
    border-width: 1.5vw;
    margin-top: 5vw;
    padding: 2.25vw;
  }
  .ct_bg .heading01.typeRuby > span > span {
    padding-top: 1.75vw;
  }
  .ct_bg .heading01 > span > span {
    min-height: 11.25vw;
    font-size: 6vw;
    width: 50.875vw;
    padding-left: 0.5vw;
  }
  .ct_bg .heading01 > span > span::before {
    left: -16.125vw;
    width: 16.625vw;
    height: 100%;
  }
  .ct_bg .heading01 > span > span::after {
    right: -16.625vw;
    width: 16.75vw;
    height: 100%;
  }
  .ct_bg .heading01 > span > span [data-ruby]::before {
    font-size: 1.5vw;
  }
  .ct_bg .heading02 {
    margin-top: 0;
    margin-bottom: 6vw;
    font-size: 4.5vw;
    text-shadow: white 2px 0px 0px, white 1.755165px 0.958851px 0px, white 1.080605px 1.682942px 0px, white 0.141474px 1.99499px 0px, white -0.832294px 1.818595px 0px, white -1.602287px 1.196944px 0px, white -1.979985px 0.28224px 0px, white -1.872913px -0.701566px 0px, white -1.307287px -1.513605px 0px, white -0.421592px -1.95506px 0px, white 0.567324px -1.917849px 0px, white 1.41734px -1.411081px 0px, white 1.920341px -0.558831px 0px;
  }
  .ct_bg .heading02 span {
    font-size: 6vw;
  }
  .ct_bg .heading03 {
    margin-top: 4.5vw;
    margin-bottom: 0;
    font-size: 5vw;
    line-height: 1.85;
    text-shadow: white 2px 0px 0px, white 1.755165px 0.958851px 0px, white 1.080605px 1.682942px 0px, white 0.141474px 1.99499px 0px, white -0.832294px 1.818595px 0px, white -1.602287px 1.196944px 0px, white -1.979985px 0.28224px 0px, white -1.872913px -0.701566px 0px, white -1.307287px -1.513605px 0px, white -0.421592px -1.95506px 0px, white 0.567324px -1.917849px 0px, white 1.41734px -1.411081px 0px, white 1.920341px -0.558831px 0px;
  }
  .ct_bg .heading03:has(span) {
    margin-left: 2.5vw;
    padding-top: 0.5vw;
  }
  .ct_bg .heading03 span {
    font-size: 8vw;
    margin-left: 3.25vw;
    margin-right: -0.07em;
    line-height: 1.75;
  }
  .ct_bg .heading03 span:not(:first-child) {
    font-size: inherit;
    margin-left: -2.5vw;
    margin-right: 0;
    line-height: 1.5;
    padding-top: 1vw;
    display: block;
  }
  .ct_bg .btn01 a > .inner01 {
    padding: 0.76em 0;
    font-size: 5.5vw;
  }
  .ct_bg .btn02 {
    max-width: 80vw;
  }
  .ct_bg .section01 {
    padding: 26.75vw 5vw 15vw;
  }
  .ct_bg .anchorArea,
  .ct_bg .section01:nth-child(odd){
    background: url("../img/bg01.png") repeat-x 50% 0 / 29.25vw, url("../img/bg02.png") repeat-x 50% 100% / 24vw, linear-gradient(180deg, #d3f0ff 0%, #93dbff 100%);
  }
  .ct_bg .section01:nth-child(even) {
    padding: 26.75vw 5vw 15vw;
    background-size: 10vw;
  }
  .ct_bg .contentsArea01 .movieArea01 {
    padding: 15vw 5vw;
  }
  .ct_bg .movieArea01 > .inner01::before {
    top: -15vw;
    left: calc(50% + -46.125vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea01 > .inner01::after {
    top: -5.25vw;
    left: calc(50% + -57.5vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea01 .movieWrap01::before {
    top: -16.5vw;
    left: calc(50% + 20vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea01 .movieWrap01::after {
    top: -8.5vw;
    left: calc(50% + 30.125vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .newsArea .heading01::before {
    top: -16.5vw;
    left: calc(50% + -43.575vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .newsArea .heading01::after {
    top: -7.75vw;
    left: calc(50% + -54.95vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .newsArea .heading01 > span::before {
    top: -18.25vw;
    left: calc(50% + 17.425vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .newsArea .heading01 > span::after {
    top: -9.5vw;
    left: calc(50% + 28.8vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .productsArea .heading01::before {
    top: -16.5vw;
    left: calc(50% + -43.7vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .productsArea .heading01::after {
    top: -9vw;
    left: calc(50% + -54.95vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .productsArea .heading01 > span::before {
    top: -17.75vw;
    left: calc(50% + 17.875vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .productsArea .heading01 > span::after {
    top: -9vw;
    left: calc(50% + 26.75vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea02 .heading01::before {
    top: -16.5vw;
    left: calc(50% + -43.575vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea02 .heading01::after {
    top: -6.5vw;
    left: calc(50% + -54.95vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea02 .heading01 > span::before {
    top: -15.75vw;
    left: calc(50% + 17.425vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .movieArea02 .heading01 > span::after {
    top: -8.25vw;
    left: calc(50% + 27.55vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .howtoArea .heading01::before {
    top: -16.5vw;
    left: calc(50% + -43.575vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .howtoArea .heading01::after {
    top: -10.25vw;
    left: calc(50% + -56.2vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .howtoArea .heading01 > span::before {
    top: -15.75vw;
    left: calc(50% + 12.425vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .howtoArea .heading01 > span::after {
    top: -9.5vw;
    left: calc(50% + 26.3vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .communicateArea .heading01::before {
    top: -16.25vw;
    left: calc(50% + -43.75vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .communicateArea .heading01::after {
    top: -7.75vw;
    left: calc(50% + -55.125vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .communicateArea .heading01 > span::before {
    top: -16.25vw;
    left: calc(50% + 20.375vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .communicateArea .heading01 > span::after {
    top: -7.5vw;
    left: calc(50% + 29.25vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .characterArea .heading01::before {
    top: -16.5vw;
    left: calc(50% + -42.325vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .characterArea .heading01::after {
    top: -10.25vw;
    left: calc(50% + -54.95vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .characterArea .heading01 > span::before {
    top: -15.75vw;
    left: calc(50% + 17.425vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .characterArea .heading01 > span::after {
    top: -8.25vw;
    left: calc(50% + 27.55vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .miniGameArea .heading01::before {
    top: -17vw;
    left: calc(50% + -43.575vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .miniGameArea .heading01::after {
    top: -7vw;
    left: calc(50% + -54.95vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .miniGameArea .heading01 > span::before {
    top: -16.25vw;
    left: calc(50% + 17.425vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .miniGameArea .heading01 > span::after {
    top: -7.5vw;
    left: calc(50% + 28.8vw);
    width: 27.5vw;
    height: 15vw;
  }
  .ct_bg .aboutArea {
    padding-top: 17.5vw;
    padding-bottom: 15vw;
  }
  .ct_bg .aboutArea .img01 {
    width: 46.4375vw;
    margin-bottom: -2.25vw;
  }
  .ct_bg .aboutArea .img01 img {
    margin-left: 0.4375vw;
  }
  .ct_bg .aboutArea .img01 > span::before {
    content: '';
    position: absolute;
    top: -9.2vw;
    left: calc(50% + -45.7vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/PUG_IDLE3.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span::after {
    content: '';
    position: absolute;
    top: -7.905vw;
    left: calc(50% + 6.4225vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/CHI_POSE1.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span::before {
    content: '';
    position: absolute;
    top: 2.135vw;
    left: calc(50% + -47.3375vw);
    width: 15.8525vw;
    height: 8.645vw;
    background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span::after {
    content: '';
    position: absolute;
    top: 6.4525vw;
    left: calc(50% + 33.6275vw);
    width: 15.8525vw;
    height: 8.645vw;
    background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span::before {
    content: '';
    position: absolute;
    top: 6.7vw;
    left: calc(50% + -57.595vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/RDALM_NEED_FLEAS2.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span::after {
    content: '';
    position: absolute;
    top: 6.9925vw;
    left: calc(50% + 17.9925vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/SHIBA_NEED_BATHE1.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span > span::before {
    content: '';
    position: absolute;
    top: 19.4075vw;
    left: calc(50% + 17.435vw);
    width: 15.8525vw;
    height: 8.645vw;
    background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span > span::after {
    content: '';
    position: absolute;
    top: 33.4425vw;
    left: calc(50% + -47.3375vw);
    width: 15.8525vw;
    height: 8.645vw;
    background: url(../img/gif/HEARTBOOST_4.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span > span > span::before {
    content: '';
    position: absolute;
    top: 22.3425vw;
    left: calc(50% + -48.7425vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/MER_POSE3.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .img01 > span > span > span > span > span::after {
    content: '';
    position: absolute;
    top: 22.3125vw;
    left: calc(50% + 13.1175vw);
    width: 39.6025vw;
    height: 21.6vw;
    background: url(../img/gif/UNI_POSE3.gif) no-repeat 0 0/contain;
    z-index: 1;
    pointer-events: none;
  }
  .ct_bg .aboutArea .tx01 {
    font-size: 5vw;
    margin-top: 6vw;
  }
  .ct_bg .anchorArea {
    padding: 10vw 1.845vw;
  }
  .ct_bg .anchorArea ul {
    gap: 1.25vw;
  }
  .ct_bg .anchorArea ul li {
    flex: 0 0 32.4680718513%;
  }
  .ct_bg .anchorArea ul li a {
    background: url("../img/bg_btn01.png") no-repeat 0 0 / 3.025vw, url("../img/bg_btn02.png") no-repeat 100% 0 / 3.025vw, url("../img/bg_btn03.png") no-repeat 0 100% / 3.025vw, url("../img/bg_btn04.png") no-repeat 100% 100% / 3.025vw;
    padding-left: 2.975vw;
    padding-right: 2.975vw;
  }
  .ct_bg .anchorArea ul li a::before {
    top: 2.975vw;
    height: calc(100% - 5.95vw);
    border-width: 0.595vw;
  }
  .ct_bg .anchorArea ul li a::after {
    top: 1.7875vw;
    left: 1.7875vw;
    width: calc(100% - 3.575vw);
    height: calc(100% - 3.575vw);
  }
  .ct_bg .anchorArea ul li a > span {
    padding: 0.43em 0;
    font-size: 3.5725vw;
    border-width: 0.595vw;
  }
  .ct_bg .anchorArea ul li a > span > span {
    padding-bottom: 2.625vw;
  }
  .ct_bg .anchorArea ul li a > span > span::before, .ct_bg .anchorArea ul li a > span > span::after {
    width: 2.975vw;
    height: 1.7875vw;
  }
  .ct_bg .movieArea01 {
    padding-top: 15vw;
  }
  .ct_bg .movieArea01 .movieWrap01 {
    border-width: 1.5vw;
  }
  .ct_bg .newsArea .newsBox {
    border-width: 1.5vw;
    margin-top: 5vw;
  }
  .ct_bg .newsArea .newsBox > .inner01 {
    max-height: 47vw;
    padding-left: 2.25vw;
    padding-right: 2.25vw;
  }
  .ct_bg .newsArea .newsBox .newsList01 {
    margin-top: 2.25vw;
    padding-right: 3vw;
  }
  .ct_bg .newsArea .newsBox .newsList01 + .newsList01 {
    margin-top: 4.5vw;
  }
  .ct_bg .newsArea .newsBox .newsList01:last-of-type {
    margin-bottom: 2.25vw;
  }
  .ct_bg .newsArea .newsBox .newsList01 dt {
    font-size: 3.5vw;
  }
  .ct_bg .newsArea .newsBox .newsList01 dt .ic01 {
    font-size: 3vw;
    padding: 1vw 1.5vw 1vw 1.25vw;
    margin-left: 3vw;
  }
  .ct_bg .newsArea .newsBox .newsList01 dd {
    font-size: 16px;
  }
  .ct_bg .productsArea .inner02 {
    border-width: 1.5vw;
    margin-top: 5vw;
    padding: 3.5vw 3.5vw;
  }
  .ct_bg .productsArea .inner02 .imgWrap {
    flex-basis: 100%;
  }
  .ct_bg .productsArea .inner02 .imgWrap .imgList01 {
    gap: 1vw 1.3515625%;
    margin-top: 3.75vw;
  }
  .ct_bg .productsArea .inner02 .imgWrap .imgList01 li {
    flex-basis: 18.91875%;
  }
  .ct_bg .productsArea .inner02 .textWrap {
    flex-basis: 100%;
    margin-top: 3.75vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx01 {
    font-size: 8vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx02 {
    font-size: 4vw;
    padding-bottom: 3vw;
    margin-bottom: 4vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx03 {
    font-size: 14px;
    margin-bottom: 3.5vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx04 {
    font-size: 3.5vw;
    padding: 1.625vw 3.75vw;
    margin-bottom: 2vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx05 {
    font-size: 3.5vw;
    margin-bottom: 4.5vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx05 span span {
    font-size: 5vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .tx06 {
    font-size: 12px;
    margin-top: 3.75vw;
  }
  .ct_bg .productsArea .inner02 .textWrap .btn01 {
    max-width: 100%;
  }
  .ct_bg .productsArea .btn02 {
    margin-top: 5vw;
  }
  .ct_bg .productsArea .btn02 a > .inner01 {
    padding: 2.6vw 0 3.15vw;
    font-size: 5.4vw;
  }
  .ct_bg .movieArea02 {
    padding: 26.75vw 0 19.25vw!important;
  }
  .ct_bg .movieArea02 .movieframe01 {
    padding: 2.5vw;
  }
  .ct_bg .movieArea02 .movieframe01 > p {
    margin-top: 2.83vw;
    padding: 0 0.5vw;
    font-size: 3.5vw;
  }
  .ct_bg .movieArea02 .slideArea01 {
    margin-top: 5vw;
  }
  .ct_bg .movieArea02 .slideArea01 .slide01 {
    margin-left: 5vw;
    margin-right: 5vw;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow {
    width: 11.25vw;
    height: 11.25vw;
    margin-top: -5.625vw;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-prev2::after {
    width: 11.25vw;
    height: 11.25vw;
    background-size: 11.25vw;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-prev2 {
    width: 11.25vw;
    height: 11.25vw;
    background-size: 11.25vw;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-next2::after {
    width: 11.25vw;
    height: 11.25vw;
    background-size: 11.25vw;
  }
  .ct_bg .movieArea02 .slideArea01 .swiper-arrow.swiper-button-next2 {
    background-size: 11.25vw;
  }
  .ct_bg .communicateArea {
    padding-top: 31.25vw;
  }
  .ct_bg .miniGameArea {
    padding-top: 31.25vw;
  }
  .ct_bg .footArea {
    padding-top: 15vw;
  }
  .ct_bg .footArea .sns_wrapper {
    display: table;
    width: 58vw;
    margin: 0 auto;
  }
  .ct_bg .footArea .sns_wrapper .snsBtn02 {
    flex-wrap: wrap;
  }
  .ct_bg .footArea .sns_wrapper .snsBtn02 li {
    margin: 0 5px 10px;
    line-height: 0;
  }
  .ct_bg .footArea .copyrightBlock01 {
    margin-top: 5.5vw;
    padding-bottom: 6.25vw;
  }
  .ct_bg .footArea .copyrightBlock01 .copyright01 {
    font-size: 2.5vw;
  }
}