@charset "UTF-8";
/* 共通
-------------------------------------------- */
.sailormoon {
  background-color: #fe8eb1;
  line-height: 1.3;
  color: #000;
}
.sailormoon a {
  color: #ff0000;
  text-decoration: none;
}
.sailormoon a:hover {
  text-decoration: underline;
}
.sailormoon ul.caut {
  list-style-type: none;
}
.sailormoon ul.caut li {
  padding-left: 1em;
  text-indent: -1em;
  padding-bottom: .5em;
}
.sailormoon ul.caut li.att {
  color: #ff0000;
}
.sailormoon ul.caut.dot li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.l-main {
  margin-bottom: 0;
}

/* PC
-------------------------------------------- */
@media screen and (min-width: 751px), print {
  .sp {
    display: none;
  }

  .sailormoon {
    font-size: 16px;
    letter-spacing: 0.05em;
    position: relative;
    background: #fff;
  }
  .sailormoon_inr {
    position: relative;
  }
  .sailormoon img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
  }
  .sailormoon_main {
    display: flex;
    justify-content: center;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    line-height: 0;
    position: relative;
  }
  .sailormoon_main img {
    display: block;
    max-width: 1393px;
    width: 98%;
    margin: 0 auto;
  }
  .sailormoon_navi {
    margin-top: 40px;
    width: 100%;
    height: 120px;
    background: #f33697;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 751px) and (max-width: 1211px) {
  .sailormoon_navi {
    height: auto;
    padding: 4vw 0;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_navi ul {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1320px;
    width: 90%;
    margin: 0 auto;
    padding: 0;
    list-style-type: none;
  }
  .sailormoon_navi ul li {
    position: relative;
  }
  .sailormoon_navi ul li img {
    width: 100%;
  }
  .sailormoon_navi ul li:first-of-type {
    padding-right: 2.1428571429vw;
  }
  .sailormoon_navi ul li:first-of-type::after {
    content: "";
    width: 14px;
    height: 18px;
    background: url("../img/nav_dot.png") no-repeat;
    position: absolute;
    right: 0;
    top: calc(50% - 9px);
  }
}
@media screen and (min-width: 751px) and (max-width: 1211px) {
  .sailormoon_navi ul li:first-of-type {
    padding-right: 2.6666666667vw;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_navi ul li:first-of-type img {
    max-width: 190px;
  }
  .sailormoon_navi ul li:nth-of-type(2) {
    padding: 0 2.1428571429vw 0 0.8928571429vw;
  }
  .sailormoon_navi ul li:nth-of-type(2)::after {
    content: "";
    width: 14px;
    height: 18px;
    background: url("../img/nav_dot.png") no-repeat;
    position: absolute;
    right: 0;
    top: calc(50% - 9px);
  }
}
@media screen and (min-width: 751px) and (max-width: 1211px) {
  .sailormoon_navi ul li:nth-of-type(2) {
    padding-right: 2.6666666667vw;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_navi ul li:nth-of-type(2) img {
    max-width: 298px;
  }
  .sailormoon_navi ul li:nth-of-type(3) {
    padding: 0 2.1428571429vw 0 0.8928571429vw;
  }
  .sailormoon_navi ul li:nth-of-type(3)::after {
    content: "";
    width: 14px;
    height: 18px;
    background: url("../img/nav_dot.png") no-repeat;
    position: absolute;
    right: 0;
    top: calc(50% - 9px);
  }
}
@media screen and (min-width: 751px) and (max-width: 1211px) {
  .sailormoon_navi ul li:nth-of-type(3) {
    padding-right: 2.6666666667vw;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_navi ul li:nth-of-type(3) img {
    max-width: 309px;
  }
  .sailormoon_navi ul li:last-of-type {
    padding-left: 0.8928571429vw;
  }
  .sailormoon_navi ul li:last-of-type img {
    max-width: 229px;
  }
  .sailormoon_navi ul li img {
    transition: 0.3s all;
    transition: 0.3s all;
  }
  .sailormoon_navi ul li img:hover {
    transform: scale(1.05, 1.05);
  }
  .sailormoon_navi ul li img:hover {
    opacity: 0.7;
  }
  .sailormoon_btn_detail {
    max-width: 536px;
    width: 100%;
    margin: 0 auto;
    transition: 0.3s all;
  }
  .sailormoon_btn_detail:hover {
    transform: scale(1.05, 1.05);
  }
  .sailormoon_btn_detail.end {
    background: linear-gradient(#c2002c, #a60002);
  }
  .sailormoon_contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    max-width: 1020px;
    width: 98%;
    background: url("../img/box_bg.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 100px auto 0;
  }
  .sailormoon_contact::before {
    content: "";
    position: absolute;
    top: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_top.png") no-repeat;
    background-size: contain;
    background-position: left bottom;
  }
  .sailormoon_contact::after {
    content: "";
    position: absolute;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_btm.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .sailormoon_contact_ttl {
    max-width: 664px;
    width: 90%;
  }
  .sailormoon_contact_tel {
    margin-top: 26px;
    width: 529px;
  }
  .sailormoon_contact_time {
    margin-top: 26px;
    width: 592px;
  }
  .sailormoon_contact_caut {
    margin-top: 26px;
    max-width: 750px;
    width: 95%;
  }
  .sailormoon_contact_caut img {
    width: 100%;
  }
  .sailormoon #colabogoods {
    margin-top: 42px;
    padding-top: 100px;
  }
  .sailormoon_colabogoods_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    max-width: 1020px;
    width: 98%;
    background: url("../img/box_bg.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_colabogoods_inr::before {
    content: "";
    position: absolute;
    top: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_top.png") no-repeat;
    background-size: contain;
    background-position: left bottom;
  }
  .sailormoon_colabogoods_inr::after {
    content: "";
    position: absolute;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_btm.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .sailormoon_colabogoods_ttl {
    max-width: 306px;
    width: 98%;
    margin: 0 auto 0;
  }
  .sailormoon_colabogoods_ex {
    max-width: 657px;
    width: 98%;
    margin: 30px auto 0;
  }
  .sailormoon_colabogoods_date {
    max-width: 710px;
    width: 98%;
    margin: 40px auto 0;
  }
  .sailormoon_colabogoods_img {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    max-width: 990px;
    width: 98%;
    margin: 30px auto 0;
  }
  .sailormoon_colabogoods_img li figcaption {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: #f058a0;
    padding: 15px 0;
  }
  .sailormoon_colabogoods_img li figure {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sailormoon_colabogoods_img li:first-of-type figcaption img {
    max-width: 856px;
  }
}
@media screen and (min-width: 751px) and (max-width: 920px) {
  .sailormoon_colabogoods_img li:first-of-type figcaption img {
    display: block;
    width: 98%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_colabogoods_img li:first-of-type figure img {
    max-width: 893px;
    width: 98%;
  }
  .sailormoon_colabogoods_img li:nth-of-type(2) figcaption img {
    max-width: 820px;
  }
}
@media screen and (min-width: 751px) and (max-width: 920px) {
  .sailormoon_colabogoods_img li:nth-of-type(2) figcaption img {
    display: block;
    width: 98%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_colabogoods_img li:nth-of-type(2) figure img {
    max-width: 893px;
    width: 98%;
  }
  .sailormoon_colabogoods_img li:last-of-type figcaption img {
    max-width: 566px;
    width: 98%;
  }
  .sailormoon_colabogoods_img li:last-of-type figure img {
    max-width: 655px;
    width: 98%;
  }
  .sailormoon_colabogoods_btn {
    max-width: 726px;
    width: 98%;
    margin: 30px auto 0;
    transition: 0.3s all;
  }
  .sailormoon_colabogoods_btn:hover {
    transform: scale(1.05, 1.05);
  }
  .sailormoon_colabogoods_caut {
    max-width: 907px;
    width: 98%;
    margin: 30px auto 0;
  }
  .sailormoon #goods {
    margin-top: 42px;
    padding-top: 100px;
  }
  .sailormoon_goods_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    max-width: 1020px;
    width: 98%;
    background: url("../img/box_bg.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_goods_inr::before {
    content: "";
    position: absolute;
    top: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_top.png") no-repeat;
    background-size: contain;
    background-position: left bottom;
  }
  .sailormoon_goods_inr::after {
    content: "";
    position: absolute;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_btm.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .sailormoon_goods_ttl {
    width: 459px;
    margin: 0 auto 0;
  }
  .sailormoon_goods_limit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 460px;
    height: 60px;
    margin: 30px auto 0;
    background: #f058a0;
    line-height: 0;
  }
  .sailormoon_goods_limit img {
    width: 259px;
  }
  .sailormoon_goods_ex {
    max-width: 867px;
    width: 98%;
    margin: 30px auto 0;
  }
  .sailormoon_goods_date {
    max-width: 867px;
    width: 98%;
    margin: 40px auto 0;
  }
  .sailormoon_goods_img {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    max-width: 794px;
    width: 98%;
    margin: 40px auto 0;
  }
  .sailormoon_goods_caut {
    max-width: 863px;
    width: 98%;
    margin: 30px auto 0;
  }
  .sailormoon .sailormoon_btn_detail {
    margin-top: 30px;
  }
  .sailormoon #character {
    margin-top: 42px;
    padding-top: 100px;
  }
  .sailormoon_character_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    max-width: 1020px;
    width: 98%;
    background: url("../img/box_bg.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_character_inr::before {
    content: "";
    position: absolute;
    top: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_top.png") no-repeat;
    background-size: contain;
    background-position: left bottom;
  }
  .sailormoon_character_inr::after {
    content: "";
    position: absolute;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_btm.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .sailormoon_character_ttl {
    width: 476px;
    margin: 0 auto 30px;
  }
  .sailormoon_character_thumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 14px;
    list-style-type: none;
    margin-bottom: 10px;
  }
  .sailormoon_character_thumb li {
    width: 223px;
    cursor: pointer;
    transition: 0.3s all;
  }
  .sailormoon_character_thumb li:nth-of-type(n+3) {
    order: 1;
    margin-top: 14px;
  }
}
@media screen and (min-width: 751px) and (max-width: 980px) {
  .sailormoon_character_thumb li {
    width: 23%;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_character_thumb li:hover {
    transform: scale(1.05, 1.05);
  }
  .sailormoon_character_thumb::after {
    content: "";
    width: 100%;
  }
  .sailormoon .modal {
    display: none;
    width: 100%;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 150;
  }
  .sailormoon .modal_bg {
    background: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
  .sailormoon .modal_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    max-width: 1000px;
    width: 95%;
    max-height: 1150px;
    height: 88%;
    background: url("../img/box_bg.png") repeat-y;
    background-size: 100% auto;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
  }
  .sailormoon .modal_content::before {
    content: "";
    position: absolute;
    top: -41px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_top.png") no-repeat;
    background-size: contain;
    background-position: left bottom;
  }
  .sailormoon .modal_content::after {
    content: "";
    position: absolute;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 42px;
    background: url("../img/box_btm.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .sailormoon .modal_content_close {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 12px;
    z-index: 2;
    transition: 0.3s all;
  }
  .sailormoon .modal_content_close:hover {
    transform: scale(1.05, 1.05);
  }
}
@media screen and (min-width: 751px) and (max-width: 1000px) {
  .sailormoon .modal_content_close {
    width: 11.2vw;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon .modal_content_body {
    padding: 20px;
  }
  .sailormoon .modal_content_body img {
    object-fit: contain;
  }
}
@media screen and (min-width: 751px) and (max-height: 1250px) {
  .sailormoon .modal_content_body img {
    height: calc(90vh - 80px);
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon .modal #modal_moon .modal_content {
    background: linear-gradient(to bottom, #f488b4, #fff);
  }
  .sailormoon .modal #modal_chibimoon .modal_content {
    background: linear-gradient(to bottom, #f488b4, #fff);
  }
  .sailormoon .modal #modal_mercury .modal_content {
    background: linear-gradient(to bottom, #38afec, #fff);
  }
  .sailormoon .modal #modal_mars .modal_content {
    background: linear-gradient(to bottom, #ff4448, #fff);
  }
  .sailormoon .modal #modal_jupiter .modal_content {
    background: linear-gradient(to bottom, #52cb79, #fff);
  }
  .sailormoon .modal #modal_venus .modal_content {
    background: linear-gradient(to bottom, #f98a12, #fff);
  }
  .sailormoon .modal #modal_uranus .modal_content {
    background: linear-gradient(to bottom, #1965ed, #fff);
  }
  .sailormoon .modal #modal_neptune .modal_content {
    background: linear-gradient(to bottom, #42ad98, #fff);
  }
  .sailormoon .modal #modal_pluto .modal_content {
    background: linear-gradient(to bottom, #494859, #fff);
  }
  .sailormoon .modal #modal_saturn .modal_content {
    background: linear-gradient(to bottom, #705a8e, #fff);
  }
  .sailormoon #recipe {
    margin-top: 42px;
    padding-top: 100px;
  }
  .sailormoon_recipe_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1020px;
    width: 98%;
    height: 813px;
    margin: 0 auto 0;
    background: url("../img/recipe_img2.png") no-repeat;
    background-size: contain;
    position: relative;
    line-height: 0;
  }
  .sailormoon_recipe_inr .sailormoon_btn_detail {
    position: absolute;
    bottom: 30px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1040px) {
  .sailormoon_recipe_inr {
    height: 77.3333333333vw;
  }
  .sailormoon_recipe_inr .sailormoon_btn_detail {
    bottom: 2.6666666667vw;
  }
}
@media screen and (min-width: 751px), print {
  .sailormoon_recipe_ttl {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    max-width: 888px;
    width: 98%;
    margin-top: 30px;
  }
  .sailormoon_colabo202501 {
    max-width: 978px;
    width: 98%;
    margin: 100px auto 0;
  }
  .sailormoon_footer {
    margin-top: 100px;
    padding-bottom: 100px;
  }
  .sailormoon_footer_copy {
    font-size: 20px;
    text-align: center;
    color: #999;
  }
  .sailormoon_footer .l-sns .l-list li {
    width: 100px;
    margin: 60px 25px 0;
  }
  .sailormoon_footer .l-sns .l-list li img {
    width: 100%;
  }
  .sailormoon_footer .l-sns .l-list li img {
    transition: 0.3s all;
  }
  .sailormoon_footer .l-sns .l-list li img:hover {
    transform: scale(1.05, 1.05);
  }
  .sailormoon_footer_bnr {
    max-width: 900px;
    width: 98%;
    margin: 100px auto 0;
    line-height: 0;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
  }
  .sailormoon_footer_bnr p {
    margin-top: 40px;
    transition: 0.3s all;
  }
  .sailormoon_footer_bnr p img {
    width: 100%;
  }
  .sailormoon_footer_bnr p.bnr_hololive {
    width: 900px;
  }
  .sailormoon_footer_bnr p:hover {
    opacity: 0.7;
  }
  .sailormoon_pagetop {
    width: 168px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99;
  }
  .sailormoon_pagetop img {
    transition: 0.3s all;
  }
  .sailormoon_pagetop img:hover {
    transform: scale(1.05, 1.05);
  }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
  .sailormoon_pagetop {
    width: 13.3928571429vw;
  }
}

/* SP
-------------------------------------------- */
@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }

  .sailormoon {
    position: relative;
    text-align: center;
    font-size: 3.2vw;
    letter-spacing: -0.03em;
    position: relative;
    background: #fff;
  }
  .sailormoon_inr {
    position: relative;
    padding-bottom: 8vw;
  }
  .sailormoon a:hover {
    opacity: 1;
  }
  .sailormoon img {
    width: 100%;
    height: auto;
  }
  .sailormoon_main {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    width: 100%;
    line-height: 0;
  }
  .sailormoon_navi {
    margin-top: 5.3333333333vw;
    padding: 2.6666666667vw 0;
    background: #f33697;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sailormoon_navi ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
  }
  .sailormoon_navi ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .sailormoon_navi ul li:first-of-type {
    padding-right: 4.6666666667vw;
  }
  .sailormoon_navi ul li:first-of-type img {
    max-width: 10.8vw;
  }
  .sailormoon_navi ul li:first-of-type::after {
    content: "";
    width: 1.8666666667vw;
    height: 2.4vw;
    background: url("../img/nav_dot.png") no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    right: 0;
    top: calc(50% - calc(2.4vw/2));
  }
  .sailormoon_navi ul li:nth-of-type(2) {
    padding-left: 2.6666666667vw;
    padding-right: 4.6666666667vw;
  }
  .sailormoon_navi ul li:nth-of-type(2) img {
    max-width: 22.6666666667vw;
  }
  .sailormoon_navi ul li:nth-of-type(2)::after {
    content: "";
    width: 1.8666666667vw;
    height: 2.4vw;
    background: url("../img/nav_dot.png") no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    right: 0;
    top: calc(50% - calc(2.4vw/2));
  }
  .sailormoon_navi ul li:nth-of-type(3) {
    padding-left: 2.6666666667vw;
    padding-right: 4.6666666667vw;
  }
  .sailormoon_navi ul li:nth-of-type(3) img {
    max-width: 22vw;
  }
  .sailormoon_navi ul li:nth-of-type(3)::after {
    content: "";
    width: 1.8666666667vw;
    height: 2.4vw;
    background: url("../img/nav_dot.png") no-repeat;
    background-size: contain;
    background-position: center center;
    position: absolute;
    right: 0;
    top: calc(50% - calc(2.4vw/2));
  }
  .sailormoon_navi ul li:last-of-type {
    padding-left: 2.6666666667vw;
  }
  .sailormoon_navi ul li:last-of-type img {
    max-width: 12.2666666667vw;
  }
  .sailormoon_contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    width: 98%;
    background: url("../img/box_bg_sp.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 13.3333333333vw auto 0;
  }
  .sailormoon_contact::before {
    content: "";
    position: absolute;
    top: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_top_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_contact::after {
    content: "";
    position: absolute;
    bottom: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_btm_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_contact_ttl {
    width: 77.0666666667vw;
  }
  .sailormoon_contact_tel {
    margin-top: 3.4666666667vw;
    width: 70.5333333333vw;
  }
  .sailormoon_contact_time {
    margin-top: 3.4666666667vw;
    width: 78.9333333333vw;
  }
  .sailormoon_contact_caut {
    margin-top: 3.4666666667vw;
    width: 75.7333333333vw;
  }
  .sailormoon_btn_detail {
    width: 71.4666666667vw;
    margin: 4vw auto 0;
  }
  .sailormoon #colabogoods {
    margin-top: 5.6vw;
    padding-top: 13.3333333333vw;
  }
  .sailormoon_colabogoods_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    width: 98%;
    background: url("../img/box_bg_sp.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_colabogoods_inr::before {
    content: "";
    position: absolute;
    top: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_top_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_colabogoods_inr::after {
    content: "";
    position: absolute;
    bottom: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_btm_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_colabogoods_ttl {
    width: 40.8vw;
    margin: 0 auto;
  }
  .sailormoon_colabogoods_ex {
    width: 87.6vw;
    margin: 4vw auto 0;
  }
  .sailormoon_colabogoods_date {
    width: 94.6666666667vw;
    margin: 4vw auto 0;
  }
  .sailormoon_colabogoods_img {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    width: 93.3333333333vw;
    margin: 4vw auto 0;
  }
  .sailormoon_colabogoods_img li figcaption {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: #f058a0;
    padding: 2vw 0;
  }
  .sailormoon_colabogoods_img li figure {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sailormoon_colabogoods_img li:first-of-type figcaption img {
    width: 64vw;
  }
  .sailormoon_colabogoods_img li:first-of-type figure img {
    width: 92.5333333333vw;
  }
  .sailormoon_colabogoods_img li:nth-of-type(2) figcaption img {
    width: 64vw;
  }
  .sailormoon_colabogoods_img li:nth-of-type(2) figure img {
    width: 92.5333333333vw;
  }
  .sailormoon_colabogoods_img li:last-of-type figcaption img {
    width: 88vw;
  }
  .sailormoon_colabogoods_img li:last-of-type figure img {
    width: 88.8vw;
  }
  .sailormoon_colabogoods_btn {
    width: 94.1333333333vw;
    margin: 4vw auto 0;
  }
  .sailormoon_colabogoods_caut {
    width: 90.6666666667vw;
    margin: 4vw auto 0;
  }
  .sailormoon #goods {
    margin-top: 5.6vw;
    padding-top: 13.3333333333vw;
  }
  .sailormoon_goods_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    width: 98%;
    background: url("../img/box_bg_sp.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_goods_inr::before {
    content: "";
    position: absolute;
    top: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_top_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_goods_inr::after {
    content: "";
    position: absolute;
    bottom: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_btm_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_goods_ttl {
    width: 61.0666666667vw;
    margin: 0 auto;
  }
  .sailormoon_goods_limit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 61.3333333333vw;
    height: 6.6666666667vw;
    margin: 4vw auto 0;
    background: #f058a0;
    line-height: 0;
  }
  .sailormoon_goods_limit img {
    width: 28vw;
  }
  .sailormoon_goods_ex {
    width: 91.6vw;
    margin: 4vw auto 0;
  }
  .sailormoon_goods_date {
    width: 94.6666666667vw;
    margin: 5.3333333333vw auto 0;
  }
  .sailormoon_goods_img {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    width: 89.0666666667vw;
    margin: 5.3333333333vw auto 0;
  }
  .sailormoon_goods_caut {
    width: 89.2vw;
    margin: 4vw auto 0;
  }
  .sailormoon #character {
    margin-top: 5.6vw;
    padding-top: 13.3333333333vw;
  }
  .sailormoon_character_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    line-height: 0;
    width: 98%;
    background: url("../img/box_bg_sp.png") repeat-y;
    background-size: 100% auto;
    position: relative;
    margin: 0 auto 0;
  }
  .sailormoon_character_inr::before {
    content: "";
    position: absolute;
    top: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_top_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_character_inr::after {
    content: "";
    position: absolute;
    bottom: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_btm_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon_character_ttl {
    width: 63.6vw;
    margin: 0 auto 2.6666666667vw;
  }
  .sailormoon_character_thumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 1.3333333333vw;
    list-style-type: none;
  }
  .sailormoon_character_thumb li {
    width: 22.1333333333vw;
    cursor: pointer;
  }
  .sailormoon_character_thumb li:nth-of-type(n+3) {
    order: 1;
    margin-top: 1.3333333333vw;
  }
  .sailormoon_character_thumb::after {
    content: "";
    width: 100%;
  }
  .sailormoon .modal {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    display: none;
    width: 100%;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 150;
  }
  .sailormoon .modal_bg {
    background: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
  .sailormoon .modal_content {
    width: 98%;
    background: url("../img/box_bg_sp.png") repeat-y;
    background-size: 100% auto;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .sailormoon .modal_content::before {
    content: "";
    position: absolute;
    top: -4.4vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_top_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon .modal_content::after {
    content: "";
    position: absolute;
    bottom: -4.3vw;
    left: 0;
    width: 100%;
    height: 4.4vw;
    background: url("../img/box_btm_sp.png") no-repeat;
    background-size: contain;
  }
  .sailormoon .modal_content_close {
    cursor: pointer;
    width: 11.2vw;
    position: absolute;
    top: 0.6666666667vw;
    right: 0.6666666667vw;
    z-index: 2;
  }
  .sailormoon .modal_content_body {
    padding: 16vw 1.3333333333vw 5.3333333333vw;
  }
  .sailormoon .modal_content_body img {
    object-fit: contain;
  }
  .sailormoon .modal #modal_moon .modal_content {
    background: linear-gradient(to bottom, #f488b4, #fff);
  }
  .sailormoon .modal #modal_chibimoon .modal_content {
    background: linear-gradient(to bottom, #f488b4, #fff);
  }
  .sailormoon .modal #modal_mercury .modal_content {
    background: linear-gradient(to bottom, #38afec, #fff);
  }
  .sailormoon .modal #modal_mars .modal_content {
    background: linear-gradient(to bottom, #ff4448, #fff);
  }
  .sailormoon .modal #modal_jupiter .modal_content {
    background: linear-gradient(to bottom, #52cb79, #fff);
  }
  .sailormoon .modal #modal_venus .modal_content {
    background: linear-gradient(to bottom, #f98a12, #fff);
  }
  .sailormoon .modal #modal_uranus .modal_content {
    background: linear-gradient(to bottom, #1965ed, #fff);
  }
  .sailormoon .modal #modal_neptune .modal_content {
    background: linear-gradient(to bottom, #42ad98, #fff);
  }
  .sailormoon .modal #modal_pluto .modal_content {
    background: linear-gradient(to bottom, #494859, #fff);
  }
  .sailormoon .modal #modal_saturn .modal_content {
    background: linear-gradient(to bottom, #705a8e, #fff);
  }
  .sailormoon #recipe {
    margin-top: 5.6vw;
    padding-top: 9.3333333333vw;
  }
  .sailormoon_recipe_inr {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 97.3333333333vw;
    height: 79.0666666667vw;
    margin: 0 auto 0;
    background: url("../img/recipe_img2_sp.png") no-repeat;
    background-size: contain;
    position: relative;
    line-height: 0;
  }
  .sailormoon_recipe_inr .sailormoon_btn_detail {
    position: absolute;
    bottom: 4vw;
  }
  .sailormoon_recipe_ttl {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
    width: 86.5333333333vw;
    margin-top: 4vw;
  }
  .sailormoon_colabo202501 {
    width: 97.3333333333vw;
    margin: 10.6666666667vw auto 0;
  }
  .sailormoon_footer {
    margin-top: 13.3333333333vw;
  }
  .sailormoon_footer_copy {
    margin: 13.3333333333vw 0;
    text-align: center;
    color: #999;
  }
  .sailormoon_footer .l-sns .l-list li {
    width: 13.3333333333vw;
    margin: 8vw 3.3333333333vw 0;
  }
  .sailormoon_footer_bnr {
    max-width: 97.3333333333vw;
    width: 100%;
    margin: 13.3333333333vw auto 0;
    line-height: 0;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
  }
  .sailormoon_footer_bnr p {
    margin-top: 2.6666666667vw;
  }
  .sailormoon_pagetop {
    width: 17.0666666667vw;
    position: fixed;
    right: 0;
    bottom: 2.6666666667vw;
    z-index: 99;
  }
}
