@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Overpass:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  background: #FAF171;
  color: #234A93;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a {
  color: #234A93;
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  body {
    font-size: 13px;
  }
  a {
    transition: opacity 0.4s ease;
  }
  a:hover {
    opacity: 0.7;
  }
  a:hover.no_hover {
    opacity: 1;
  }
}
/*------------------------------------------
  layout
------------------------------------------*/
.l-wrapper {
  overflow: hidden;
  opacity: 0;
}
.l-wrapper.is--active {
  opacity: 1;
  transition: 1s;
}

.l-main {
  position: relative;
  padding-top: 13.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .l-main {
    z-index: 1000;
    width: 420px;
    margin-left: 50px;
    padding-top: 0;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
  }
  .l-main__inner {
    overflow-x: hidden;
  }
}
@media only screen and (min-width: 1025px) {
  .l-main {
    margin-left: auto;
    margin-right: calc(46% - 212px);
    box-shadow: none;
  }
  .l-main__inner {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
    position: relative;
    z-index: 1;
  }
}

.l-inner {
  padding-left: 6.6666666667vw;
  padding-right: 6.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .l-inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}

.l-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 999;
  background: #FAF171;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media only screen and (min-width: 768px) {
  .l-nav {
    display: block !important;
    opacity: 1 !important;
    width: calc(100% - 470px);
    left: auto;
  }
}
@media only screen and (min-width: 1025px) {
  .l-nav {
    width: calc(46% - 212px);
  }
}
@media only screen and (max-width: 767px) {
  .l-nav {
    padding: 13.3333333333vw 0 0;
  }
}
.l-nav__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100svh;
  padding: 25px 20px 50px;
  box-sizing: content-box;
}
@media only screen and (max-width: 767px) {
  .l-nav__inner {
    padding: 12.8vw 0 50px;
  }
}
@media only screen and (min-width: 768px) {
  .l-nav__inner {
    box-sizing: border-box;
  }
}
.l-nav__inner::before, .l-nav__inner::after {
  content: "";
  display: block;
  z-index: 0;
}
.l-nav__inner::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 162px;
  height: 166px;
  background: url(../images/l-nav-bg1.png) no-repeat 0 0/contain;
}
.l-nav__inner::after {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 357px;
  height: 275px;
  background: url(../images/l-nav-bg2.png) no-repeat 0 0/contain;
}
.l-nav-ranking {
  position: relative;
  margin: 0 auto;
  max-width: 316px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .l-nav-ranking {
    max-width: 84.2666666667vw;
  }
}
.l-nav-ranking-tit {
  position: relative;
  margin: 0 auto 20px;
  width: 100%;
  max-width: 316px;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .l-nav-ranking-tit {
    width: 83.7333333333vw;
    max-width: none;
  }
}
@media only screen and (max-width: 767px) {
  .l-nav-ranking-item {
    margin-bottom: 2.6666666667vw;
  }
}
.l-nav-ranking-item:not(:first-child) {
  margin-top: 24px;
}
.l-nav-ranking-item-link {
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 16px 16px 16px;
  background: #234A93;
  border-radius: 10px;
  box-shadow: 3px 3px 0 #234A93;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .l-nav-ranking-item-link {
    font-size: 4vw;
    padding: 4.2666666667vw 8vw 4.2666666667vw;
  }
}
.l-nav-ranking-item-link:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto;
  width: 12px;
  height: 11px;
  background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
  content: "";
}
@media only screen and (max-width: 767px) {
  .l-nav-ranking-item-link:after {
    right: 3.7333333333vw;
    width: 3.2vw;
    height: 2.9333333333vw;
  }
}
.l-nav-ranking-item-link[href="/oshicos2026/#ranking1"] {
  background-color: #FFB31A;
}
.l-nav-ranking-item-link[href="/oshicos2026/#ranking2"] {
  background-color: #FF9DD3;
}
.l-nav-ranking-item-link[href="/oshicos2026/#ranking3"] {
  background-color: #56C7BB;
}

.acd {
  margin-top: 16px;
  font-size: 15px;
  font-weight: 700;
}
.acd-hd {
  position: relative;
  padding: 0 0 8px;
  border-bottom: 2px solid #234A93;
}
.acd-hd::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0px;
  width: 23.16px;
  height: 23.16px;
  background: url(../images/icon-plus.svg) no-repeat 0 0/contain;
}
.acd-hd.is--open::after {
  background-image: url(../images/icon-munus.svg);
}
.acd-bd {
  padding-top: 10px;
}
.acd-bd-list:not(:first-child) {
  margin-top: 10px;
}
.acd-bd-list dt span {
  color: #d3589b;
  background: #fff;
}
.acd-bd-list dd:not(:first-child) {
  margin-top: 4px;
}
.l-nav-line {
  position: relative;
  z-index: 2;
  width: 83.7333333333vw;
  margin: 8vw auto;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .l-nav-line {
    margin: 16.8px auto;
    width: 100%;
    max-width: 316px;
  }
}
.l-nav-line img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .l-nav-line.pc-hidden {
    display: none;
  }
}

.l-nav-ranking-tit2 {
  display: none;
  position: relative;
  margin: 0 auto 20px;
  width: 100%;
  max-width: 316px;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .l-nav-ranking-tit2 {
    display: block;
    width: 83.7333333333vw;
    max-width: none;
  }
}

@media only screen and (min-width: 768px) {
  .l-nav-ranking--2 {
    display: none;
  }
}
.l-nav-ranking--2 .l-nav-ranking-item-link {
  background-color: #D3589B;
  box-shadow: 3px 3px 0 #0CA393;
}

.l-nav-ranking--3 .l-nav-ranking-item-link {
  box-shadow: 3px 3px 0 #0CA393;
}
@media only screen and (min-width: 768px) {
  .l-nav-ranking--3 .l-nav-ranking-item:not(:first-child) {
    margin-top: 15px;
  }
}

/*------------------------------------------
  header
------------------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: #fff;
  padding: 0 5.0666666667vw 0 5.3333333333vw;
  height: 13.3333333333vw;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
@media only screen and (min-width: 768px) {
  .l-header {
    display: none;
  }
}
.l-header__logo {
  width: 28vw;
}
.l-header__trigger {
  width: 6.4vw;
  height: 4.8vw;
  position: relative;
  margin-left: auto;
  cursor: pointer;
}
.l-header__trigger span {
  position: absolute;
  width: 100%;
  height: 0.5333333333vw;
  background: #234A93;
  border-radius: 10em;
  left: 0;
}
.l-header__trigger span:first-child {
  top: 0;
}
.l-header__trigger span:nth-child(2) {
  top: 2.1333333333vw;
}
.l-header__trigger span:last-child {
  bottom: 0;
}

/*------------------------------------------
  footer
------------------------------------------*/
.l-footer {
  padding: 9.3333333333vw 0;
  text-align: center;
  background: #FFF;
}
.l-footer__logo {
  margin-bottom: 3.7333333333vw;
}
.l-footer__logo img {
  width: 37.8666666667vw;
}
.l-footer__copy {
  font-size: 2.6666666667vw;
  font-weight: 500;
  color: #4A4848;
}

.shoplist-btn {
  position: fixed;
  z-index: 998;
  bottom: 5.3333333333vw;
  right: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .shoplist-btn {
    bottom: 22.4px;
    right: 11.2px;
  }
}
.shoplist-btn a {
  display: block;
}
.shoplist-btn img {
  width: 21.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .shoplist-btn img {
    width: 89.6px;
  }
}

@media only screen and (min-width: 768px) {
  .l-footer {
    padding: 40px 0;
  }
  .l-footer__logo {
    margin-bottom: 27px;
  }
  .l-footer__logo img {
    width: 127px;
  }
  .l-footer__copy {
    font-size: 10px;
  }
  .pagetop {
    bottom: 20px;
    right: auto;
    left: 377px;
  }
  .pagetop img {
    width: 38px;
  }
}
@media only screen and (min-width: 1025px) {
  .pagetop {
    left: auto;
    right: calc(46% - 187.5px);
    margin-right: 10px;
  }
}
/*------------------------------------------
  project
------------------------------------------*/
section {
  position: relative;
}

/* ========== mv ========== */
.p-mv {
  height: 117.3333333333vw;
  padding: 9.0666666667vw 1.6vw 0 0;
  overflow: hidden;
  background: #FAF171 url(../images/mv_bg.png) no-repeat center/100% auto;
}
@media only screen and (min-width: 768px) {
  .p-mv {
    height: 510px;
    padding: 0;
  }
}
@media only screen and (min-width: 1025px) {
  .p-mv {
    height: 100vh;
    width: calc(54% - 208px);
    position: fixed;
    top: 0;
    left: 0;
    background: #FAF171 url(../images/mv_bg_pc.png) no-repeat center/142% auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-main {
    position: relative;
    max-width: 100%;
    z-index: 1;
  }
}
.p-mv .mv-cnt {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.8s, transform 0.8s;
}
.p-mv .mv-ttl {
  position: relative;
  width: 89.3333333333vw;
  margin: 0 auto;
  z-index: 20;
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-ttl {
    left: -0.8%;
    width: 89.3%;
  }
}
.p-mv .mv-img {
  position: absolute;
  transition: transform 0.6s 1s;
}
.p-mv .mv-img01 {
  top: 16%;
  left: 7.2%;
  width: 3.7333333333vw;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-img01 {
    width: 3.8%;
  }
}
.p-mv .mv-img02 {
  top: 19.2%;
  left: 74.5%;
  width: 23.4666666667vw;
  transform: translateX(-100vw);
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-img02 {
    top: 28.2%;
    width: 23.4%;
  }
}
.p-mv .mv-img03 {
  overflow: hidden;
  top: 22.2%;
  left: 56.8%;
  width: 22.1333333333vw;
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-img03 {
    top: 19.6%;
    left: 55.8%;
    width: 21.4%;
  }
}
.p-mv .mv-img03 img {
  transform: translateY(100%);
  transition: transform 0.6s 1s;
}
.p-mv .mv-img04 {
  bottom: 19%;
  left: 7.2%;
  width: 23.7333333333vw;
  z-index: 30;
  transform: translateX(100vw);
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-img04 {
    bottom: 9.2%;
    width: 24%;
  }
}
.p-mv .mv-img05 {
  bottom: 12.6%;
  left: 71%;
  width: 20.5333333333vw;
  z-index: 30;
  transform: translateX(-100vw);
}
@media only screen and (min-width: 768px) {
  .p-mv .mv-img05 {
    bottom: 1%;
    width: 19.3%;
  }
}
.p-mv.is--active .mv-cnt {
  opacity: 1;
  transform: scale(1);
}
.p-mv.is--active .mv-img01, .p-mv.is--active .mv-img02, .p-mv.is--active .mv-img04, .p-mv.is--active .mv-img05 {
  transform: translateX(0);
  animation: mvImgAnm 5s 2s ease-in-out infinite;
}
.p-mv.is--active .mv-img01 {
  transform-origin: center bottom;
}
.p-mv.is--active .mv-img04 {
  transform-origin: right bottom;
}
.p-mv.is--active .mv-img05 {
  transform-origin: left bottom;
}
.p-mv.is--active .mv-img03 {
  animation: mvImgAnmUp 5s 2s ease-in-out infinite;
}
.p-mv.is--active .mv-img03 img {
  transform: translateY(0);
}
.p-mv__nuv-title {
  width: 100%;
  max-width: 474px;
  padding: 0 20px;
  margin: 60px auto 0;
}
.p-mv__nuv-title img {
  width: 100%;
}
.p-mv__nuv {
  display: none;
}
@media only screen and (min-width: 1025px) {
  .p-mv__nuv {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 3.2%;
    max-width: 474px;
    padding: 0 20px;
    margin: 13px auto 0;
  }
  .p-mv__nuv li {
    width: 48.4%;
  }
  .p-mv__nuv li a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 16px 16px 16px;
    background: #234A93;
    border-radius: 10px;
    box-shadow: 3px 3px 0 #0CA393;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 767px) {
  .p-mv__nuv li a {
    font-size: 4vw;
    padding: 4.2666666667vw 8vw 4.2666666667vw;
  }
}
@media only screen and (min-width: 1025px) {
  .p-mv__nuv li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 14px;
    margin: auto;
    width: 12px;
    height: 11px;
    background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
    content: "";
  }
}
@media only screen and (min-width: 1025px) and (max-width: 767px) {
  .p-mv__nuv li a:after {
    right: 3.7333333333vw;
    width: 3.2vw;
    height: 2.9333333333vw;
  }
}
@media only screen and (min-width: 1025px) {
  .p-mv__nuv li a.purple {
    background-color: #D3589B;
  }
  .p-mv__nuv li a.blue {
    background-color: #234A93;
  }
}

@keyframes mvImgAnm {
  0% {
    transform: translate(0, 0) rotate(0);
  }
  50% {
    transform: translate(0, 0) rotate(8deg);
  }
  100% {
    transform: translate(0, 0) rotate(0);
  }
}
@keyframes mvImgAnmUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5%);
  }
  100% {
    transform: translateY(0);
  }
}
/* ========== lead ========== */
.p-lead {
  padding: 0 0 14.6666666667vw;
  background: #FAF171;
}
@media only screen and (min-width: 768px) {
  .p-lead {
    padding: 16.8px 0 56px;
  }
}
.p-lead__head {
  text-align: center;
}
.p-lead__head .head-ttl img {
  width: 92.2666666667vw;
}
@media only screen and (min-width: 768px) {
  .p-lead__head .head-ttl img {
    width: 387.52px;
  }
}
.p-lead .lead-message {
  margin-top: 0.8vw;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 4vw;
  font-weight: 900;
  line-height: 1.73;
}
@media only screen and (min-width: 768px) {
  .p-lead .lead-message {
    font-size: 16.8px;
  }
}
.p-lead .lead-message p {
  margin-bottom: 0.6em;
}
.p-lead .lead-message p:last-child {
  margin-bottom: 0;
}
.p-lead .lead-message .fzS {
  font-size: 72%;
  text-align: left;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
.p-lead .lead-message .marker {
  /* autoprefixer: off */
  background: -webkit-linear-gradient(left, #FFF 50%, transparent 50%);
  background: -moz-linear-gradient(left, #FFF 50%, transparent 50%);
  background: linear-gradient(left, #FFF 50%, transparent 50%);
  /* autoprefixer: on */
  background-repeat: no-repeat;
  background-size: 200% 1.3em;
  background-position: 100% 0.15em;
  transition: 2s;
}
.p-lead .lead-message .marker.js-scr-active {
  background-position: 0% 0.15em;
}
.p-lead .lead-btn {
  margin: 11.7333333333vw auto 0;
  max-width: 68.2666666667vw;
}
@media only screen and (min-width: 768px) {
  .p-lead .lead-btn {
    margin: 49.28px auto 0;
    max-width: 286.72px;
  }
}
.p-lead .lead-btn a {
  font-size: 3.7333333333vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  color: #FFF;
  vertical-align: text-bottom;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 6.6666666667vw;
  height: 14.4vw;
  background: #234A93;
  border: 2px solid #FFF;
  border-radius: 10rem;
  box-shadow: 3px 3px 0 #D3589B;
}
@media only screen and (min-width: 768px) {
  .p-lead .lead-btn a {
    font-size: 15.68px;
    padding: 0 28px;
    height: 60.48px;
  }
}
.p-lead .lead-btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.2vw;
  margin: auto;
  width: 3.2vw;
  height: 2.9333333333vw;
  background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .p-lead .lead-btn a::after {
    right: 13.44px;
    width: 13.44px;
    height: 12.32px;
  }
}
.p-lead .lead-btn a::before {
  position: absolute;
  top: -6.4vw;
  right: 0;
  left: -4vw;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background: url(../images/flower.png) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .p-lead .lead-btn a::before {
    top: -26.88px;
    left: -16.8px;
    width: 56px;
    height: 56px;
  }
}

/* ========== common ========== */
.cmn-inner {
  padding: 0 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .cmn-inner {
    padding: 0 11.2px;
  }
}
.cmn-num {
  opacity: 1 !important;
}
.cmn-num.js-scr-active img {
  backface-visibility: visible !important;
  animation: flipInY 1s forwards;
}
.cmn-lead {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.73;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .cmn-lead {
    font-size: 16.8px;
  }
}
.cmn-lead a {
  text-decoration: underline;
}
.cmn-come {
  font-size: 2.9333333333vw;
  font-weight: 500;
  line-height: 2.18;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .cmn-come {
    font-size: 12.32px;
  }
}
.cmn-wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 375/15.62;
  line-height: 0;
}
.cmn-wave::after {
  content: "";
  display: block;
  position: absolute;
  top: -50%;
  z-index: 20;
  width: 100%;
  height: 100%;
  background: no-repeat 0 0/100% 100%;
}
.cmn-wave--pink::after {
  background-image: url(../images/wave-pink.svg);
}
.cmn-wave--yellor::after {
  background-image: url(../images/wave-yellor.svg);
}

@keyframes flipInY {
  0% {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transition-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px);
    opacity: 1;
  }
}
.sp1 {
  background: #0CA393;
  padding: 9.3333333333vw 0 22.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp1 {
    padding: 39.2px 0 95.2px;
  }
}
.sp1::before, .sp1::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  background: no-repeat 0 0/contain;
}
.sp1::before {
  top: 0;
  width: 100vw;
  height: 112.2106666667vw;
  background-image: url(../images/sp1-bg1.png);
}
@media only screen and (min-width: 768px) {
  .sp1::before {
    width: 420px;
    height: 471.2848px;
  }
}
.sp1::after {
  bottom: 0;
  right: 0;
  width: 47.7333333333vw;
  height: 30.1493333333vw;
  background-image: url(../images/sp1-bg2.png);
}
@media only screen and (min-width: 768px) {
  .sp1::after {
    width: 200.48px;
    height: 126.6272px;
  }
}
.sp1 .cmn-inner {
  position: relative;
  z-index: 2;
}
.sp1 .special-ttl {
  width: 79.2vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .sp1 .special-ttl {
    width: 332.64px;
  }
}
.sp1 .special-ttl img {
  width: 100%;
}
.sp1-hd {
  margin-top: 13.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sp1-hd {
    margin-top: 56px;
  }
}
.sp1-ttl {
  position: relative;
  margin: 0 -2.6666666667vw 0;
}
@media only screen and (min-width: 768px) {
  .sp1-ttl {
    margin: 0 -11.2px;
  }
}
.sp1-ttl-baloon {
  position: absolute;
  top: -10.6666666667vw;
  left: 6.6666666667vw;
  width: 18.8106666667vw;
  height: 16.224vw;
}
@media only screen and (min-width: 768px) {
  .sp1-ttl-baloon {
    top: -44.8px;
    left: 28px;
    width: 79.0048px;
    height: 68.1408px;
  }
}
.sp1-ttl-img {
  width: 100%;
}
.sp1-ttl.js-scr-active .sp2-ttl-baloon {
  backface-visibility: visible !important;
  animation: flipInY 1s forwards;
}
.sp1-lead {
  margin: 2.6666666667vw 4vw 0;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.85;
}
@media only screen and (min-width: 768px) {
  .sp1-lead {
    margin: 11.2px 16.8px 0;
    font-size: 14.56px;
  }
}
.sp1-list {
  display: flex;
  flex-direction: column;
  gap: 10.6666666667vw 0;
  margin-top: 13.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sp1-list {
    gap: 44.8px 0;
    margin-top: 56px;
  }
}
.sp1-list-item {
  position: relative;
  padding: 13.3333333333vw 10.6666666667vw 10.6666666667vw;
  background: #fff;
  border-radius: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item {
    padding: 56px 44.8px 44.8px;
    border-radius: 44.8px;
  }
}
.sp1-list-item--1 {
  padding-top: 24vw;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item--1 {
    padding-top: 100.8px;
  }
}
.sp1-list-item--2 {
  padding-top: 24vw;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item--2 {
    padding-top: 100.8px;
  }
}
.sp1-list-item .label {
  position: absolute;
  top: -5.3333333333vw;
  left: 4vw;
  width: 86.4vw;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label {
    top: -22.4px;
    left: 16.8px;
    width: 362.88px;
  }
}
.sp1-list-item .label {
  /* シャドウ層（後ろ・右下にずらす） */
}
.sp1-list-item .label::before, .sp1-list-item .label::after {
  content: "";
  position: absolute;
  z-index: 0;
}
.sp1-list-item .label::before {
  top: 0.5333333333vw; /* 下方向へのずれ */
  left: 0.5333333333vw; /* 右方向へのずれ */
  width: 100%;
  height: 100%;
  background: #234A93; /* 影の色（枠線と同じ青） */
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label::before {
    top: 2.24px; /* 下方向へのずれ */
    left: 2.24px; /* 右方向へのずれ */
  }
}
.sp1-list-item .label {
  /* 三角形シャドウ */
}
.sp1-list-item .label::after {
  bottom: -4.2666666667vw;
  left: calc(50% + 0.5333333333vw); /* 本体三角より右にずれる */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 2.6666666667vw solid transparent;
  border-right: 2.6666666667vw solid transparent;
  border-top: 4.2666666667vw solid #234A93; /* 枠線色 */
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label::after {
    bottom: -17.92px;
    left: calc(50% + 2.24px); /* 本体三角より右にずれる */
    border-left: 11.2px solid transparent;
    border-right: 11.2px solid transparent;
    border-top: 17.92px solid #234A93; /* 枠線色 */
  }
}
.sp1-list-item .label-txt {
  position: relative;
  background: #FAF171;
  border: 0.5333333333vw solid #234A93;
  padding: 1.3333333333vw 1.3333333333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 4.2666666667vw;
  color: #234A93;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label-txt {
    border: 2.24px solid #234A93;
    padding: 5.6px 5.6px;
    font-size: 17.92px;
  }
}
.sp1-list-item .label-txt {
  /* 本体の三角形 */
}
.sp1-list-item .label-txt::before, .sp1-list-item .label-txt::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}
.sp1-list-item .label-txt::before {
  bottom: -4.2666666667vw;
  border-left: 2.6666666667vw solid transparent;
  border-right: 2.6666666667vw solid transparent;
  border-top: 4.2666666667vw solid #234A93; /* 枠線色 */
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label-txt::before {
    bottom: -17.92px;
    border-left: 11.2px solid transparent;
    border-right: 11.2px solid transparent;
    border-top: 17.92px solid #234A93; /* 枠線色 */
  }
}
.sp1-list-item .label-txt::after {
  bottom: -3.2vw;
  border-left: 2.1333333333vw solid transparent;
  border-right: 2.1333333333vw solid transparent;
  border-top: 3.7333333333vw solid #FAF171; /* 本体色で塗りつぶし */
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .label-txt::after {
    bottom: -13.44px;
    border-left: 8.96px solid transparent;
    border-right: 8.96px solid transparent;
    border-top: 15.68px solid #FAF171; /* 本体色で塗りつぶし */
  }
}
.sp1-list-item .pic img {
  width: 100%;
}
.sp1-list-item .txt {
  margin-top: 4.2666666667vw;
  color: #234a93;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .sp1-list-item .txt {
    margin-top: 17.92px;
    font-size: 12.32px;
  }
}

.sp2 {
  background: #FAF171;
  padding: 7.2vw 0 0;
}
@media only screen and (min-width: 768px) {
  .sp2 {
    padding: 30.24px 0 0;
  }
}
.sp2::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100vw;
  height: 112.2106666667vw;
  z-index: 1;
  background: url(../images/sp2-bg1.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .sp2::before {
    width: 420px;
    height: 471.2848px;
  }
}
.sp2 .cmn-inner {
  position: relative;
  z-index: 2;
}
.sp2-ttl {
  margin: 0 -2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp2-ttl {
    margin: 0 -11.2px;
  }
}
.sp2-ttl-baloon {
  position: absolute;
  top: 0;
  left: 7.2vw;
  width: 18.8106666667vw;
  height: 16.224vw;
}
@media only screen and (min-width: 768px) {
  .sp2-ttl-baloon {
    left: 30.24px;
    width: 79.0048px;
    height: 68.1408px;
  }
}
.sp2-ttl-img {
  width: 100%;
}
.sp2-ttl.js-scr-active .sp2-ttl-baloon {
  backface-visibility: visible !important;
  animation: flipInY 1s forwards;
}
.sp2-lead {
  margin: 2.6666666667vw 4vw 0;
  color: #234A93;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sp2-lead {
    margin: 11.2px 16.8px 0;
    font-size: 14.56px;
  }
}
.sp2-list {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 9.3333333333vw -2.6666666667vw 0;
  padding-top: 8.5333333333vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list {
    margin: 39.2px -11.2px 0;
    padding-top: 35.84px;
  }
}
.sp2-list::before, .sp2-list::after {
  position: absolute;
  content: "";
  display: block;
}
.sp2-list::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 8.5333333333vw;
  background: url(../images/sp2-bg-head.png) no-repeat 0 0/100% 102%;
}
@media only screen and (min-width: 768px) {
  .sp2-list::before {
    height: 35.84px;
  }
}
.sp2-list::after {
  top: 4.2666666667vw;
  right: 14.1333333333vw;
  width: 21.528vw;
  height: 10.0613333333vw;
  background: url(../images/bird.png) no-repeat 0 0/100% auto;
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
@media only screen and (min-width: 768px) {
  .sp2-list::after {
    top: 17.92px;
    right: 59.36px;
    width: 90.4176px;
    height: 42.2576px;
  }
}
.sp2-list-item {
  position: relative;
  padding: 12vw 2.6666666667vw 5.3333333333vw;
  background: linear-gradient(#ffced4 0%, #76acd3 100%);
}
@media only screen and (min-width: 768px) {
  .sp2-list-item {
    padding: 50.4px 11.2px 22.4px;
  }
}
.sp2-list-item:not(:last-child)::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5.3333333333vw;
  z-index: 10;
  content: "";
  width: 21.3333333333vw;
  height: 5.3333333333vw;
  background: #76acd3;
  clip-path: polygon(0% 0%, 50% 100%, 100% 0);
}
@media only screen and (min-width: 768px) {
  .sp2-list-item:not(:last-child)::after {
    bottom: -21.28px;
    width: 89.6px;
    height: 22.4px;
  }
}
.sp2-list-item:first-child {
  padding-top: 8vw;
  background: linear-gradient(#F9CCD4 0%, #76acd3 100%);
}
@media only screen and (min-width: 768px) {
  .sp2-list-item:first-child {
    padding-top: 33.6px;
  }
}
.sp2-list-item:last-child {
  padding-bottom: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item:last-child {
    padding-bottom: 44.8px;
  }
}
.sp2-list-item .head {
  display: flex;
  align-items: center;
  gap: 0 3.2vw;
  width: 86.4vw;
  margin: 0 auto;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .head {
    gap: 0 13.44px;
    width: 362.88px;
  }
}
.sp2-list-item .head-time {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25.0666666667vw;
  height: 12.5333333333vw;
  color: #fff;
  font-weight: 700;
  font-size: 6.4vw;
  background: #D3589B;
  border-radius: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .head-time {
    width: 105.28px;
    height: 52.64px;
    font-size: 26.88px;
    border-radius: 44.8px;
  }
}
.sp2-list-item .head-txt {
  flex: 1;
  color: #234A93;
  font-weight: 900;
  font-size: 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .head-txt {
    font-size: 22.4px;
  }
}
.sp2-list-item .body {
  padding: 5.3333333333vw 8vw 6.6666666667vw;
  margin-top: 4vw;
  background: #fff;
  border-radius: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .body {
    padding: 22.4px 33.6px 28px;
    margin-top: 16.8px;
    border-radius: 44.8px;
  }
}
.sp2-list-item .body .txt1 {
  font-size: 3.7333333333vw;
  line-height: 1.85;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .body .txt1 {
    font-size: 15.68px;
  }
}
.sp2-list-item .body .pic {
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .body .pic {
    margin-top: 22.4px;
  }
}
.sp2-list-item .body .txt2 {
  margin-top: 4vw;
  font-size: 2.9333333333vw;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .sp2-list-item .body .txt2 {
    margin-top: 16.8px;
    font-size: 12.32px;
  }
}

.rk-inner {
  position: relative;
  padding: 8vw 2.6666666667vw 25.6vw;
  background: url(../images/wave-bg.webp) repeat-y 0 0/100% auto;
}
@media only screen and (min-width: 768px) {
  .rk-inner {
    padding: 33.6px 11.2px 107.52px;
  }
}
.rk-sub-ttl {
  position: relative;
  width: 86.4vw;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl {
    width: 362.88px;
  }
}
.rk-sub-ttl {
  /* シャドウ層（後ろ・右下にずらす） */
}
.rk-sub-ttl::before, .rk-sub-ttl::after {
  content: "";
  position: absolute;
  z-index: 0;
}
.rk-sub-ttl::before {
  top: 0.5333333333vw; /* 下方向へのずれ */
  left: 0.5333333333vw; /* 右方向へのずれ */
  width: 100%;
  height: 100%;
  background: #234A93; /* 影の色（枠線と同じ青） */
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl::before {
    top: 2.24px; /* 下方向へのずれ */
    left: 2.24px; /* 右方向へのずれ */
  }
}
.rk-sub-ttl {
  /* 三角形シャドウ */
}
.rk-sub-ttl::after {
  bottom: -4.2666666667vw;
  left: calc(50% + 0.5333333333vw); /* 本体三角より右にずれる */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 2.6666666667vw solid transparent;
  border-right: 2.6666666667vw solid transparent;
  border-top: 4.2666666667vw solid #234A93; /* 枠線色 */
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl::after {
    bottom: -17.92px;
    left: calc(50% + 2.24px); /* 本体三角より右にずれる */
    border-left: 11.2px solid transparent;
    border-right: 11.2px solid transparent;
    border-top: 17.92px solid #234A93; /* 枠線色 */
  }
}
.rk-sub-ttl-txt {
  position: relative;
  background: #FAF171;
  border: 0.5333333333vw solid #234A93;
  padding: 2.6666666667vw 1.3333333333vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 4.8vw;
  color: #234A93;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl-txt {
    border: 2.24px solid #234A93;
    padding: 11.2px 5.6px;
    font-size: 20.16px;
  }
}
.rk-sub-ttl-txt {
  /* 本体の三角形 */
}
.rk-sub-ttl-txt::before, .rk-sub-ttl-txt::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}
.rk-sub-ttl-txt::before {
  bottom: -4.2666666667vw;
  border-left: 2.6666666667vw solid transparent;
  border-right: 2.6666666667vw solid transparent;
  border-top: 4.2666666667vw solid #234A93; /* 枠線色 */
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl-txt::before {
    bottom: -17.92px;
    border-left: 11.2px solid transparent;
    border-right: 11.2px solid transparent;
    border-top: 17.92px solid #234A93; /* 枠線色 */
  }
}
.rk-sub-ttl-txt::after {
  bottom: -3.2vw;
  border-left: 2.1333333333vw solid transparent;
  border-right: 2.1333333333vw solid transparent;
  border-top: 3.7333333333vw solid #FAF171; /* 本体色で塗りつぶし */
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .rk-sub-ttl-txt::after {
    bottom: -13.44px;
    border-left: 8.96px solid transparent;
    border-right: 8.96px solid transparent;
    border-top: 15.68px solid #FAF171; /* 本体色で塗りつぶし */
  }
}
.rk-rank-group {
  margin-top: 21.3333333333vw;
}
.cmn-wave + .rk-rank-group {
  margin-top: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-group {
    margin-top: 89.6px;
  }
  .cmn-wave + .rk-rank-group {
    margin-top: 11.2px;
  }
}
.rk-rank-group--3 {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-group--3 {
    margin-top: 33.6px;
  }
}
.rk-rank-category-ttl {
  width: 100%;
  aspect-ratio: 356/100;
  margin-bottom: 8vw;
  padding: 13.3333333333vw 0 8vw;
  background: url(../images/ranking/rk-category-ttl.svg) no-repeat 0 50%/100% auto;
  color: #fff;
  font-size: 5.6vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  filter: drop-shadow(4px 4px 0px #234a93);
}
@media only screen and (min-width: 768px) {
  .rk-rank-category-ttl {
    margin-bottom: 33.6px;
    padding: 56px 0 33.6px;
    font-size: 23.52px;
  }
}
.rk-rank {
  padding-top: 21.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank {
    padding-top: 89.6px;
  }
}
.rk-rank:not(:first-child) {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank:not(:first-child) {
    margin-top: 33.6px;
  }
}
.rk-rank-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 89.3333333333vw;
  height: 32vw;
  padding: 15.7333333333vw 0 0;
  background: url(../images/ranking/rk-rank-ttl.png) no-repeat 0 0/100% 100%;
  color: #234a93;
  font-size: 5.0666666667vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .rk-rank-ttl {
    width: 375.2px;
    height: 134.4px;
    padding: 66.08px 0 0;
    font-size: 21.28px;
  }
}
.rk-rank-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9.3333333333vw 6.4vw;
  padding: 14.9333333333vw 4.2666666667vw 8vw;
  background: #d0f4ff;
  border-radius: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list {
    gap: 39.2px 26.88px;
    padding: 62.72px 17.92px 33.6px;
    border-radius: 44.8px;
  }
}
.rk-rank-list-item {
  position: relative;
  width: calc((100% - 6.4vw) / 2);
  padding: 14.6666666667vw 0 0;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item {
    width: calc((100% - 26.88px) / 2);
    padding: 61.6px 0 0;
  }
}
.rk-rank-list-item .num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 16vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .num {
    width: 67.2px;
  }
}
.rk-rank-list-item .num img {
  width: 100%;
}
.rk-rank-list-item .pic img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
.rk-rank-list-item .label {
  position: absolute;
  top: 2.4vw;
  left: -1.0666666667vw;
  width: 12.5333333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .label {
    top: 10.08px;
    left: -4.48px;
    width: 52.64px;
  }
}
.rk-rank-list-item .label img {
  width: 100%;
}
.rk-rank-list-item .catch {
  position: absolute;
  top: 0vw;
  right: -4.8vw;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4266666667vw 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .catch {
    top: 0px;
    right: -20.16px;
    gap: 1.792px 0;
  }
}
.rk-rank-list-item .catch span {
  display: inline-block;
  padding: 1.3333333333vw 0.9333333333vw;
  background: #234A93;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 2.6666666667vw;
  font-feature-settings: "palt";
  font-variant-east-asian: proportional-width;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .catch span {
    font-size: 11.2px;
    padding: 5.6px 3.92px;
  }
}
.rk-rank-list-item .catch span small {
  font-size: 80%;
}
.rk-rank-list-item .brand {
  margin-top: 8vw;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .brand {
    margin-top: 33.6px;
    font-size: 12.32px;
  }
}
.rk-rank-list-item .item-name {
  margin-top: 2.1333333333vw;
  font-size: 3.2vw;
  font-weight: 900;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .item-name {
    margin-top: 8.96px;
    font-size: 13.44px;
  }
}
.rk-rank-list-item .price {
  margin-top: 2.1333333333vw;
  font-size: 2.6666666667vw;
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .price {
    margin-top: 8.96px;
    font-size: 11.2px;
  }
}
.rk-rank-list-item .price strong {
  font-size: 3.4666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item .price strong {
    font-size: 14.56px;
  }
}
.rk-rank-list-item:first-child {
  width: 100%;
  padding: 11.2vw 0 0;
  background: url(../images/ranking/rk-rank-item-bg.svg) no-repeat 50% 0/contain;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child {
    padding: 47.04px 0 0;
  }
}
.rk-rank-list-item:first-child .num {
  top: -2.6666666667vw;
  width: 18.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .num {
    top: -11.2px;
    width: 78.4px;
  }
}
.rk-rank-list-item:first-child .label {
  left: 3.7333333333vw;
  width: 21.768vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .label {
    left: 15.68px;
    width: 91.4256px;
  }
}
.rk-rank-list-item:first-child .catch {
  right: 9.8666666667vw;
  gap: 0.5333333333vw 0;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .catch {
    right: 41.44px;
    gap: 2.24px 0;
  }
}
.rk-rank-list-item:first-child .catch span {
  padding: 1.4666666667vw 1.0666666667vw;
  font-size: 2.9333333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .catch span {
    padding: 6.16px 4.48px;
    font-size: 12.32px;
  }
}
.rk-rank-list-item:first-child .pic {
  width: 48vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .pic {
    width: 201.6px;
  }
}
.rk-rank-list-item:first-child .brand {
  margin-top: 4vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .brand {
    margin-top: 16.8px;
  }
}
.rk-rank-list-item:first-child .item-name {
  padding-right: 0;
  font-size: 3.7333333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-rank-list-item:first-child .item-name {
    font-size: 15.68px;
  }
}
.rk-cmt {
  position: relative;
  margin-top: 5.3333333333vw;
  padding-top: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt {
    margin-top: 22.4px;
    padding-top: 44.8px;
  }
}
.rk-cmt-hd {
  position: absolute;
  top: 0;
  left: 2.6666666667vw;
  display: flex;
  gap: 0 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-hd {
    left: 11.2px;
    gap: 0 11.2px;
  }
}
.rk-cmt-hd .profimg {
  width: 18.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-hd .profimg {
    width: 78.4px;
  }
}
.rk-cmt-hd .profimg img {
  width: 100%;
}
.rk-cmt-hd .ttl {
  width: 44.7493333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-hd .ttl {
    width: 187.9472px;
  }
}
.rk-cmt-hd .ttl img {
  width: 100%;
}
.rk-cmt-bd {
  padding: 9.3333333333vw 4vw 5.3333333333vw;
  border: 0.5333333333vw solid #234A93;
  border-radius: 2.6666666667vw;
  background: #fff;
  line-height: 1.7;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-bd {
    padding: 39.2px 16.8px 22.4px;
    border: 2.24px solid #234A93;
    border-radius: 11.2px;
  }
}
.rk-cmt-bd .txt {
  font-size: 3.4666666667vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-bd .txt {
    font-size: 14.56px;
  }
}
.rk-cmt-bd .prof {
  margin-top: 2.6666666667vw;
  color: #d3589b;
  font-size: 2.9333333333vw;
}
@media only screen and (min-width: 768px) {
  .rk-cmt-bd .prof {
    margin-top: 11.2px;
    font-size: 12.32px;
  }
}

.issue {
  margin-top: 13.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .issue {
    margin-top: 56px;
  }
}
.issue-titleblock {
  position: relative;
  width: 84vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .issue-titleblock {
    width: 352.8px;
  }
}
.issue-titleblock .face {
  position: absolute;
  z-index: 2;
  bottom: -4vw;
  left: -4vw;
  width: 13.3333333333vw;
  animation: tremble 0.3s step-end 0.3s infinite;
}
@media only screen and (min-width: 768px) {
  .issue-titleblock .face {
    bottom: -16.8px;
    left: -16.8px;
    width: 56px;
  }
}
.issue-titleblock .spring {
  position: absolute;
  z-index: 2;
  top: -5.8666666667vw;
  right: 4vw;
  width: 10.3653333333vw;
  animation: tremble 0.3s step-end 0.3s infinite;
}
@media only screen and (min-width: 768px) {
  .issue-titleblock .spring {
    top: -24.64px;
    right: 16.8px;
    width: 43.5344px;
  }
}
.issue-baloon {
  position: relative;
  z-index: 1;
  border: 0.8vw solid #234A93;
  border-radius: 5.3333333333vw;
  background: #fff;
  overflow: visible;
}
@media only screen and (min-width: 768px) {
  .issue-baloon {
    border: 3.36px solid #234A93;
    border-radius: 22.4px;
  }
}
.issue-baloon .subttl {
  padding: 2.1333333333vw 0;
  background: #0CA393;
  border-radius: 4.5333333333vw 4.5333333333vw 0 0;
  color: #fff;
  font-size: 5.0666666667vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .issue-baloon .subttl {
    padding: 8.96px 0;
    border-radius: 19.04px 19.04px 0 0;
    font-size: 21.28px;
  }
}
.issue-baloon .ttl {
  padding: 6.6666666667vw 2.6666666667vw;
  color: #234a93;
  font-size: 6.1333333333vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .issue-baloon .ttl {
    padding: 28px 11.2px;
    font-size: 25.76px;
  }
}
.issue-baloon .ttl span {
  background: linear-gradient(transparent 70%, #FAF171 70%);
}
.issue-intro {
  margin-top: 8vw;
  color: #fff;
  font-size: 4vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .issue-intro {
    margin-top: 33.6px;
    font-size: 16.8px;
  }
}
.issue-bd {
  margin-top: 8vw;
}
.issue-bd img {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .issue-bd {
    margin-top: 33.6px;
  }
}

.limited {
  background: #FAED82;
}
.limited::after {
  content: "";
  position: absolute;
  bottom: 16.8vw;
  right: 0;
  width: 49.3333333333vw;
  height: 51.4666666667vw;
  background: url(../images/limited-bg1.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .limited::after {
    bottom: 70.56px;
    width: 207.2px;
    height: 216.16px;
  }
}
.limited-inner {
  position: relative;
  z-index: 25;
  padding: 43.7333333333vw 6.6666666667vw 0;
}
@media only screen and (min-width: 768px) {
  .limited-inner {
    padding: 183.68px 28px 0;
  }
}
.limited-ttl {
  position: absolute;
  top: -14.1333333333vw;
  left: 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .limited-ttl {
    top: -59.36px;
  }
}
.limited-ttl img {
  width: 100%;
}
.limited-lead {
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.85;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .limited-lead {
    font-size: 14.56px;
  }
}
.limited-pic {
  width: 78.9333333333vw;
  margin: 4.2666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .limited-pic {
    width: 331.52px;
    margin: 17.92px auto 0;
  }
}
.limited-pic img {
  width: 100%;
}
.limited-btn {
  margin: 11.7333333333vw auto 0;
  max-width: 68.2666666667vw;
}
@media only screen and (min-width: 768px) {
  .limited-btn {
    margin: 49.28px auto 0;
    max-width: 286.72px;
  }
}
.limited-btn a {
  font-size: 3.7333333333vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  color: #FFF;
  vertical-align: text-bottom;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 6.6666666667vw;
  height: 14.4vw;
  background: #234A93;
  border: 2px solid #FFF;
  border-radius: 10rem;
  box-shadow: 3px 3px 0 #D3589B;
}
@media only screen and (min-width: 768px) {
  .limited-btn a {
    font-size: 15.68px;
    padding: 0 28px;
    height: 60.48px;
  }
}
.limited-btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.2vw;
  margin: auto;
  width: 3.2vw;
  height: 2.9333333333vw;
  background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .limited-btn a::after {
    right: 13.44px;
    width: 13.44px;
    height: 12.32px;
  }
}
.limited-btn a::before {
  position: absolute;
  top: -6.4vw;
  right: 0;
  left: -4vw;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background: url(../images/flower.png) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .limited-btn a::before {
    top: -26.88px;
    left: -16.8px;
    width: 56px;
    height: 56px;
  }
}

.movie {
  margin-top: 16vw;
  background: #FAED82;
}
@media only screen and (min-width: 768px) {
  .movie {
    margin-top: 67.2px;
  }
}
.movie-inner {
  position: relative;
  z-index: 25;
  padding: 0 6.6666666667vw 22.4vw;
}
@media only screen and (min-width: 768px) {
  .movie-inner {
    padding: 0 28px 94.08px;
  }
}
.movie-ttl {
  width: 77.8666666667vw;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .movie-ttl {
    width: 327.04px;
  }
}
.movie-ttl img {
  width: 100%;
}
.movie-list {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .movie-list {
    margin-top: 33.6px;
  }
}
.movie-list li:not(:first-child) {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .movie-list li:not(:first-child) {
    margin-top: 33.6px;
  }
}
.movie-catch {
  margin: 4.2666666667vw 0 0;
  color: #234a93;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.85;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .movie-catch {
    margin: 17.92px 0 0;
    font-size: 15.68px;
  }
}
.movie-lead {
  font-size: 4.8vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.85;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .movie-lead {
    font-size: 20.16px;
  }
}
.movie-youtube {
  width: 78.9333333333vw;
  margin: 4.2666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .movie-youtube {
    width: 331.52px;
    margin: 17.92px auto 0;
  }
}
.movie-youtube iframe {
  width: 100%;
}

.campaign {
  background: #FFDC67;
}
.campaign::before, .campaign::after {
  content: "";
  position: absolute;
}
.campaign::before {
  top: 47.7333333333vw;
  right: 0;
  width: 33.3333333333vw;
  height: 46.4vw;
  background: url(../images/campaign-bg1.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .campaign::before {
    top: 200.48px;
    width: 140px;
    height: 194.88px;
  }
}
.campaign::after {
  bottom: 0;
  left: 0;
  width: 38.1333333333vw;
  height: 29.3333333333vw;
  background: url(../images/campaign-bg2.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .campaign::after {
    width: 160.16px;
    height: 123.2px;
  }
}
.campaign-inner {
  position: relative;
  z-index: 25;
  padding: 39.4666666667vw 6.6666666667vw 22.4vw;
}
@media only screen and (min-width: 768px) {
  .campaign-inner {
    padding: 165.76px 28px 94.08px;
  }
}
.campaign-ttl {
  position: absolute;
  top: -17.6vw;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .campaign-ttl {
    top: -73.92px;
  }
}
.campaign-ttl {
  width: 100%;
}
.campaign-ttl img {
  width: 100%;
}
.campaign-lead {
  color: #234a93;
  font-size: 5.8666666667vw;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .campaign-lead {
    font-size: 24.64px;
  }
}
.campaign-entry:not(:first-child) {
  margin-top: 10.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .campaign-entry:not(:first-child) {
    margin-top: 44.8px;
  }
}
.campaign-pic {
  width: 78.9333333333vw;
  margin: 4.2666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .campaign-pic {
    width: 331.52px;
    margin: 17.92px auto 0;
  }
}
.campaign-pic img {
  width: 100%;
}
.campaign-txt {
  margin-top: 8vw;
  color: #234a93;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.85;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .campaign-txt {
    margin-top: 33.6px;
    font-size: 14.56px;
  }
}
.campaign-line {
  width: 76.2666666667vw;
  margin: 8vw auto 0;
}
@media only screen and (min-width: 768px) {
  .campaign-line {
    width: 320.32px;
    margin: 33.6px auto 0;
  }
}

.sns {
  background: #FAED82;
}
.sns::after {
  content: "";
  position: absolute;
  bottom: 8.8vw;
  right: 0;
  width: 46.6666666667vw;
  height: 52vw;
  background: url(../images/sns-bg1.png) no-repeat 0 0/contain;
}
@media only screen and (min-width: 768px) {
  .sns::after {
    bottom: 36.96px;
    width: 196px;
    height: 218.4px;
  }
}
.sns-inner {
  position: relative;
  z-index: 25;
  padding: 6.6666666667vw 0vw 16vw;
}
@media only screen and (min-width: 768px) {
  .sns-inner {
    padding: 28px 0px 67.2px;
  }
}
.sns-ttl {
  width: 100%;
}
.sns-ttl img {
  width: 100%;
}
.sns-lead {
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.85;
}
@media only screen and (min-width: 768px) {
  .sns-lead {
    font-size: 14.56px;
  }
}
.sns-pic {
  width: 78.9333333333vw;
  margin: 4.2666666667vw auto 0;
}
@media only screen and (min-width: 768px) {
  .sns-pic {
    width: 331.52px;
    margin: 17.92px auto 0;
  }
}
.sns-pic img {
  width: 100%;
}

/* ========== campaign-btn ========== */
.campaign-btn {
  width: 76.2666666667vw;
  margin: 8vw auto 0;
}
@media only screen and (min-width: 768px) {
  .campaign-btn {
    width: 320.32px;
    margin: 33.6px auto 0;
  }
}
.campaign-btn li {
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .campaign-btn li {
    margin-bottom: 11.2px;
  }
}
.campaign-btn li:last-child {
  margin-bottom: 0;
}
.campaign-btn a {
  font-size: 3.7333333333vw;
  position: relative;
  display: flex;
  gap: 0 3.2vw;
  align-items: center;
  height: 16vw;
  border-radius: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.384;
  padding-left: 8vw;
}
@media only screen and (min-width: 768px) {
  .campaign-btn a {
    font-size: 15.68px;
    gap: 0 13.44px;
    height: 67.2px;
    border-radius: 22.4px;
    padding-left: 33.6px;
  }
}
.campaign-btn a:after {
  content: "";
  position: absolute;
  width: 3.2vw;
  height: 2.9333333333vw;
  top: 50%;
  right: 2.9333333333vw;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: 100%;
}
@media only screen and (min-width: 768px) {
  .campaign-btn a:after {
    width: 13.44px;
    height: 12.32px;
    right: 12.32px;
  }
}
.campaign-btn .sns {
  background: #fff;
  border: 2px solid #234A93;
  padding-left: 4.8vw;
}
@media only screen and (min-width: 768px) {
  .campaign-btn .sns {
    padding-left: 20.16px;
  }
}
.campaign-btn .sns:after {
  background-image: url(../images/arrow-r03.svg);
}
.campaign-btn .icon img {
  width: 7.4666666667vw;
}
@media only screen and (min-width: 768px) {
  .campaign-btn .icon img {
    width: 31.36px;
  }
}

/* ========== youtube ========== */
.p-youtube {
  position: relative;
  padding-bottom: 17.6vw;
  background: #F3E252;
}
.p-youtube::before {
  position: absolute;
  top: -7.4666666667vw;
  right: -5.4666666667vw;
  left: -5.4666666667vw;
  margin: 0 auto;
  height: 23.2vw;
  background: #F3E252;
  border: 2px solid #234A93;
  border-radius: 50%;
  content: "";
  z-index: 10;
}
.p-youtube .youtube-bg_img {
  position: absolute;
  top: -14.6666666667vw;
  right: -17.8666666667vw;
  width: 48.2666666667vw;
  z-index: 30;
}
.p-youtube .cmn-inner {
  position: relative;
  padding-top: 2.4vw;
  background: #F3E252;
  z-index: 20;
}
.p-youtube .cnt-tit {
  margin: 0 auto;
  width: 45.3333333333vw;
}
.p-youtube .cmn-lead {
  font-size: 3.7333333333vw;
  line-height: 1.71;
  text-align: left;
  margin-top: 7.4666666667vw;
}
.p-youtube-cnt {
  margin: 4.5333333333vw -2.6666666667vw 0;
  background: #868686;
}
.p-youtube-cnt > * {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}
.p-youtube-cnt iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.p-youtube .campaign-btn .sns {
  padding-left: 5.0666666667vw;
}
.p-youtube .campaign-btn .icon {
  margin-right: 7.7333333333vw;
}
.p-youtube .campaign-btn .icon img {
  width: 8.5333333333vw;
}
@media only screen and (min-width: 768px) {
  .p-youtube {
    padding-bottom: 73.92px;
  }
  .p-youtube::before {
    top: -31.36px;
    right: -22.96px;
    left: -22.96px;
    height: 97.44px;
  }
  .p-youtube .youtube-bg_img {
    top: -61.6px;
    right: -75.04px;
    width: 202.72px;
  }
  .p-youtube .cmn-inner {
    padding-top: 10.08px;
  }
  .p-youtube .cnt-tit {
    width: 190.4px;
  }
  .p-youtube .cmn-lead {
    font-size: 15.68px;
    margin-top: 31.36px;
  }
  .p-youtube-cnt {
    margin: 19.04px -11.2px 0;
  }
  .p-youtube .campaign-btn .sns {
    padding-left: 21.28px;
  }
  .p-youtube .campaign-btn .icon {
    margin-right: 32.48px;
  }
  .p-youtube .campaign-btn .icon img {
    width: 35.84px;
  }
}

/* ========== campaign_02 ========== */
.p-campaign_02 {
  position: relative;
  padding-bottom: 20.5333333333vw;
  background: #FAED82;
}
.p-campaign_02::before {
  position: absolute;
  top: -8.5333333333vw;
  right: -5.4666666667vw;
  left: -5.4666666667vw;
  margin: 0 auto;
  height: 23.2vw;
  background: #FAED82;
  border: 6px solid #FFF;
  border-radius: 50%;
  content: "";
  z-index: 10;
}
.p-campaign_02 .campaign-bg_img {
  position: absolute;
  top: -14.6666666667vw;
  right: -17.8666666667vw;
  width: 48.2666666667vw;
  z-index: 30;
}
.p-campaign_02 .cmn-inner {
  position: relative;
  padding-top: 2.9333333333vw;
  background: #FAED82;
  z-index: 20;
}
.p-campaign_02 .cnt-tit {
  margin: 0 auto;
  width: 65.0666666667vw;
}
.p-campaign_02-cnt01 {
  margin-top: 7.7333333333vw;
  padding: 5.8666666667vw 0 9.0666666667vw;
  background-image: radial-gradient(circle, #ffffff 2px, transparent 2px), radial-gradient(circle, #ffffff 2px, transparent 2px);
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: 8px 4px, 8px 4px;
}
.p-campaign_02-cnt01-tit {
  width: 84vw;
}
.p-campaign_02-cnt01-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.84;
  margin-top: 3.2vw;
}
.p-campaign_02-cnt02 {
  position: relative;
  margin-top: 12.5333333333vw;
  padding: 13.3333333333vw 4.5333333333vw 7.4666666667vw;
  background: #FFF;
  border: 3px solid #FD6666;
  box-shadow: 3px 3px 0 #FFB1B1;
}
.p-campaign_02-cnt02-tit {
  position: absolute;
  top: -11.4666666667vw;
  left: 3.4666666667vw;
  width: 82.9333333333vw;
}
.p-campaign_02-cnt02-txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.84;
  margin-top: 3.2vw;
}
@media only screen and (min-width: 768px) {
  .p-campaign_02 {
    padding-bottom: 86.24px;
  }
  .p-campaign_02::before {
    top: -35.84px;
    right: -22.96px;
    left: -22.96px;
    height: 97.44px;
  }
  .p-campaign_02 .campaign-bg_img {
    top: -61.6px;
    right: -75.04px;
    width: 202.72px;
  }
  .p-campaign_02 .cmn-inner {
    padding-top: 12.32px;
  }
  .p-campaign_02 .cnt-tit {
    width: 273.28px;
  }
  .p-campaign_02-cnt01 {
    margin-top: 32.48px;
    padding: 24.64px 0 38.08px;
  }
  .p-campaign_02-cnt01-tit {
    width: 352.8px;
  }
  .p-campaign_02-cnt01-txt {
    font-size: 14.56px;
    margin-top: 13.44px;
  }
  .p-campaign_02-cnt02 {
    margin-top: 52.64px;
    padding: 56px 19.04px 31.36px;
  }
  .p-campaign_02-cnt02-tit {
    top: -48.16px;
    left: 14.56px;
    width: 348.32px;
  }
  .p-campaign_02-cnt02-txt {
    font-size: 14.56px;
    margin-top: 13.44px;
  }
}

/* ========== sns ========== */
.p-sns {
  position: relative;
  padding-bottom: 18.1333333333vw;
  background: #F3E252;
}
.p-sns::before {
  position: absolute;
  top: -9.0666666667vw;
  right: -5.4666666667vw;
  left: -5.4666666667vw;
  margin: 0 auto;
  height: 23.2vw;
  background: #F3E252;
  border: 6px solid #FFF;
  border-radius: 50%;
  content: "";
  z-index: 10;
}
.p-sns .sns-bg_img {
  position: absolute;
  top: -12.8vw;
  left: 4.2666666667vw;
  width: 22.9333333333vw;
  z-index: 30;
}
.p-sns .cmn-inner {
  position: relative;
  padding-top: 2.6666666667vw;
  background: #F3E252;
  z-index: 20;
}
.p-sns .cnt-tit {
  margin: 0 auto;
  width: 16.8vw;
}
.p-sns .cmn-lead {
  font-size: 3.7333333333vw;
  line-height: 1.71;
  margin-top: 6.6666666667vw;
}
@media only screen and (min-width: 768px) {
  .p-sns {
    padding-bottom: 76.16px;
  }
  .p-sns::before {
    top: -38.08px;
    right: -22.96px;
    left: -22.96px;
    height: 97.44px;
  }
  .p-sns .sns-bg_img {
    top: -53.76px;
    left: 17.92px;
    width: 96.32px;
  }
  .p-sns .cmn-inner {
    padding-top: 11.2px;
  }
  .p-sns .cnt-tit {
    width: 70.56px;
  }
  .p-sns .cmn-lead {
    font-size: 15.68px;
    margin-top: 28px;
  }
}

/* ========== tdapp ========== */
.p-tdapp {
  position: relative;
  padding-bottom: 9.0666666667vw;
  background: #FAED81;
}
.p-tdapp::before {
  position: absolute;
  top: -9.0666666667vw;
  right: -5.4666666667vw;
  left: -5.4666666667vw;
  margin: 0 auto;
  height: 23.2vw;
  background: #FAED81;
  border: 6px solid #FFF;
  border-radius: 50%;
  content: "";
  z-index: 10;
}
.p-tdapp .tdapp-bg_img {
  position: absolute;
  top: -16.8vw;
  right: 3.2vw;
  width: 29.3333333333vw;
  z-index: 30;
}
.p-tdapp .cmn-inner {
  position: relative;
  padding-top: 2.6666666667vw;
  background: #FAED81;
  z-index: 20;
}
.p-tdapp .cnt-tit {
  margin: 0 auto;
  width: 30.6666666667vw;
}
.p-tdapp .cmn-lead {
  font-size: 3.7333333333vw;
  line-height: 1.71;
  margin-top: 6.6666666667vw;
}
.p-tdapp-cnt {
  margin-top: 7.4666666667vw;
  padding: 8vw 0 7.2vw;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
}
.p-tdapp-cnt-tit {
  margin: 0 auto;
  width: 61.8666666667vw;
}
.p-tdapp-cnt-btn {
  margin: 5.6vw auto 0;
  max-width: 64vw;
}
.p-tdapp-cnt-btn a {
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1;
  color: #FFF;
  vertical-align: text-bottom;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 8vw;
  height: 10.6666666667vw;
  background: #234A93;
  border-radius: 10rem;
}
.p-tdapp-cnt-btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.7333333333vw;
  margin: auto;
  width: 3.2vw;
  height: 2.9333333333vw;
  background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .p-tdapp {
    padding-bottom: 38.08px;
  }
  .p-tdapp::before {
    top: -38.08px;
    right: -22.96px;
    left: -22.96px;
    height: 97.44px;
  }
  .p-tdapp .tdapp-bg_img {
    top: -70.56px;
    right: 13.44px;
    width: 123.2px;
  }
  .p-tdapp .cmn-inner {
    padding-top: 11.2px;
  }
  .p-tdapp .cnt-tit {
    width: 128.8px;
  }
  .p-tdapp .cmn-lead {
    font-size: 15.68px;
    margin-top: 28px;
  }
  .p-tdapp-cnt {
    margin-top: 31.36px;
    padding: 33.6px 0 30.24px;
  }
  .p-tdapp-cnt-tit {
    width: 259.84px;
  }
  .p-tdapp-cnt-btn {
    margin: 23.52px auto 0;
    max-width: 268.8px;
  }
  .p-tdapp-cnt-btn a {
    font-size: 15.68px;
    padding: 0 33.6px;
    height: 44.8px;
  }
  .p-tdapp-cnt-btn a::after {
    right: 15.68px;
    width: 13.44px;
    height: 12.32px;
  }
}

/* ========== 下層 ========== */
.limiteditem-inner {
  position: relative;
  padding: 11.2vw 2.6666666667vw 25.6vw;
  background: url(../images/wave-bg.webp) repeat-y 0 0/100% auto;
}
@media only screen and (min-width: 768px) {
  .limiteditem-inner {
    padding: 47.04px 11.2px 107.52px;
  }
}
.limiteditem-lead {
  color: #fff;
  font-size: 4vw;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .limiteditem-lead {
    font-size: 16.8px;
  }
}
.limiteditem-list {
  margin-top: 8vw;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list {
    margin-top: 33.6px;
  }
}
.limiteditem-list-item {
  position: relative;
  padding: 14.6666666667vw 7.7333333333vw 10.6666666667vw;
  background: #D0F4FF;
  border-radius: 10.6666666667vw;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item {
    padding: 61.6px 32.48px 44.8px;
    border-radius: 44.8px;
  }
}
.limiteditem-list-item:not(:first-child) {
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item:not(:first-child) {
    margin-top: 22.4px;
  }
}
.limiteditem-list-item .pic {
  position: relative;
  width: 78.9333333333vw;
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .pic {
    width: 331.52px;
  }
}
.limiteditem-list-item .pic::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  padding-top: 100%;
  width: 100%;
  background: url(../images/ranking/ranking_item-cnt-ranking-img_cnt-img_bg02.png) no-repeat center/100% auto;
  content: "";
  z-index: 1;
  transform-origin: center;
  animation: loop-rotate 25s infinite linear;
}
.limiteditem-list-item .pic img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.limiteditem-list-item .catch {
  position: absolute;
  z-index: 3;
  top: 10.6666666667vw;
  right: 3.2vw;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5333333333vw 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .catch {
    top: 44.8px;
    right: 13.44px;
    gap: 2.24px 0;
  }
}
.limiteditem-list-item .catch span {
  display: inline-block;
  padding: 1.4666666667vw 1.0666666667vw;
  background: #234A93;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 4.5333333333vw;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .catch span {
    padding: 6.16px 4.48px;
    font-size: 19.04px;
  }
}
.limiteditem-list-item .brand {
  margin-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .brand {
    margin-top: 22.4px;
    font-size: 15.68px;
  }
}
.limiteditem-list-item .item-name {
  margin-top: 1.6vw;
  font-size: 4.8vw;
  font-weight: 900;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .item-name {
    margin-top: 6.72px;
    font-size: 20.16px;
  }
}
.limiteditem-list-item .price {
  margin-top: 2.1333333333vw;
  font-size: 2.6666666667vw;
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .price {
    margin-top: 8.96px;
    font-size: 11.2px;
  }
}
.limiteditem-list-item .price strong {
  font-size: 3.4666666667vw;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .price strong {
    font-size: 14.56px;
  }
}
.limiteditem-list-item .item-name {
  margin-top: 1.6vw;
  font-size: 4.8vw;
  font-weight: 900;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .item-name {
    margin-top: 6.72px;
    font-size: 20.16px;
  }
}
.limiteditem-list-item .txt1 {
  margin-top: 4.2666666667vw;
  font-size: 3.4666666667vw;
  line-height: 1.7;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .txt1 {
    margin-top: 17.92px;
    font-size: 14.56px;
  }
}
.limiteditem-list-item .txt2 {
  margin-top: 2.6666666667vw;
  font-size: 2.9333333333vw;
  line-height: 1.5;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .limiteditem-list-item .txt2 {
    margin-top: 11.2px;
    font-size: 12.32px;
  }
}
.limiteditem-btn {
  margin: 11.7333333333vw auto 0;
  max-width: 68.2666666667vw;
}
@media only screen and (min-width: 768px) {
  .limiteditem-btn {
    margin: 49.28px auto 0;
    max-width: 286.72px;
  }
}
.limiteditem-btn a {
  font-size: 3.7333333333vw;
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  color: #FFF;
  vertical-align: text-bottom;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 6.6666666667vw;
  height: 14.4vw;
  background: #234A93;
  border: 2px solid #FFF;
  border-radius: 10rem;
  box-shadow: 3px 3px 0 #D3589B;
}
@media only screen and (min-width: 768px) {
  .limiteditem-btn a {
    font-size: 15.68px;
    padding: 0 28px;
    height: 60.48px;
  }
}
.limiteditem-btn a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.2vw;
  margin: auto;
  width: 3.2vw;
  height: 2.9333333333vw;
  background: url(../images/arrow-r04.svg) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .limiteditem-btn a::after {
    right: 13.44px;
    width: 13.44px;
    height: 12.32px;
  }
}
.limiteditem-btn a::before {
  position: absolute;
  top: -6.4vw;
  right: 0;
  left: -4vw;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background: url(../images/flower.png) no-repeat center/100% auto;
  content: "";
}
@media only screen and (min-width: 768px) {
  .limiteditem-btn a::before {
    top: -26.88px;
    left: -16.8px;
    width: 56px;
    height: 56px;
  }
}

.ranking_item-scroll_text {
  width: 100%;
  height: 11.4666666667vw;
  background: #FFF url(../images/scroll_text.png) repeat-x;
  background-size: auto 5.7333333333vw;
  animation: loop-slide 5s infinite linear;
}
@media only screen and (min-width: 768px) {
  .ranking_item-scroll_text {
    height: 48.16px;
    background-size: auto 24.08px;
    animation: loop-slide_pc 5s infinite linear;
  }
}

@keyframes loop-slide {
  from {
    background-position: center left 0;
  }
  to {
    background-position: center left -52vw;
  }
}
@keyframes loop-slide_pc {
  from {
    background-position: center left 0;
  }
  to {
    background-position: center left -218.4px;
  }
}
@keyframes loop-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes shining-effect {
  0% {
    transform: scale(2) rotate(50deg);
    opacity: 0;
  }
  25% {
    transform: scale(20) rotate(50deg);
    opacity: 0.6;
  }
  50% {
    transform: scale(30) rotate(50deg);
    opacity: 0.4;
  }
  75% {
    transform: scale(45) rotate(50deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(50deg);
    opacity: 0;
  }
}
@keyframes tremble {
  0% {
    rotate: -2deg;
  }
  50% {
    rotate: 2deg;
  }
  to {
    rotate: -2deg;
  }
}
@keyframes floating-x {
  0% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(10%);
  }
}
@keyframes floating-y {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}
/*------------------------------------------
  component
------------------------------------------*/
/*  ========== accordion ========== */
.acd-hd {
  cursor: pointer;
}
.acd-bd {
  display: none;
}

/*  ========== animation ========== */
.fadeIn {
  opacity: 0;
}
.fadeIn.js-scr-active {
  opacity: 1;
  transition: opacity 1s;
}
/*# sourceMappingURL=../css/maps/common.css.map */
