@charset "UTF-8";
/* ================================================

- Base

================================================ */
[v-cloak] {
  display: none;
}

_:-ms-lang(x)::-ms-backdrop, [v-cloak] {
  display: block;
}

/* ================================================

- フォント

================================================ */
/* ================================================

-

================================================ */
/* ================================================

- RWD表示切り替え

================================================ */
@media all and (min-width: 769px) {
  .nopc {
    display: none !important;
  }
}

@media all and (max-width: 768px) {
  .nosp {
    display: none !important;
  }
}

/* ================================================

- flex

================================================ */
/* ================================================

- margin

================================================ */
/* magrin-topを5px刻みで50pxまで */
.mTop0 {
  margin-top: 0px;
}

.mTop5 {
  margin-top: 5px;
}

.mTop10 {
  margin-top: 10px;
}

.mTop15 {
  margin-top: 15px;
}

.mTop20 {
  margin-top: 20px;
}

.mTop25 {
  margin-top: 25px;
}

.mTop30 {
  margin-top: 30px;
}

.mTop35 {
  margin-top: 35px;
}

.mTop40 {
  margin-top: 40px;
}

.mTop45 {
  margin-top: 45px;
}

.mTop50 {
  margin-top: 50px;
}

/* magrin-bottomを5px刻みで50pxまで */
.mBottom0 {
  margin-bottom: 0px;
}

.mBottom5 {
  margin-bottom: 5px;
}

.mBottom10 {
  margin-bottom: 10px;
}

.mBottom15 {
  margin-bottom: 15px;
}

.mBottom20 {
  margin-bottom: 20px;
}

.mBottom25 {
  margin-bottom: 25px;
}

.mBottom30 {
  margin-bottom: 30px;
}

.mBottom35 {
  margin-bottom: 35px;
}

.mBottom40 {
  margin-bottom: 40px;
}

.mBottom45 {
  margin-bottom: 45px;
}

.mBottom50 {
  margin-bottom: 50px;
}

.wrapper {
  overflow-x: hidden;
}

/* ================================================

- MV

================================================ */
.top-mv__inner {
  position: relative;
}

.swiper-slide.-bg--blue,
.swiper-slide.-bg--red {
  background-size: 42px;
  background-repeat: repeat;
  background-position: top center;
}

.swiper-slide.-bg--red {
  background-image: url("../images/pattern_stripe_red.jpg");
}

.swiper-slide.-bg--blue {
  background-image: url("../images/pattern_stripe_blue.jpg");
}

.top-mv__slide {
  width: 1280px;
  margin: 0 auto;
}

.top-mv__btn {
  width: 177px;
  position: absolute;
  top: 12px;
  left: 50%;
  -webkit-transform: translateX(310px);
      -ms-transform: translateX(310px);
          transform: translateX(310px);
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
  z-index: 2;
}

.top-mv__btn a {
  display: block;
}

.top-mv__btn a:hover {
  opacity: .7;
}

.top-mv__lead {
  margin-top: -5px;
  padding: 112px 0 87px;
  background-color: #69291f;
  position: relative;
  z-index: 2;
}

.top-mv__lead__ttl {
  position: absolute;
  top: -42px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 766px;
  z-index: 2;
}

.top-mv__lead__txt {
  width: 680px;
  margin: 0 auto;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-mv__inner {
    margin-top: 40px;
  }
  .swiper-slide.-bg--blue,
  .swiper-slide.-bg--red {
    background-size: 5.6vw;
  }
  .top-mv__slide {
    width: 100%;
    margin: 0 auto;
  }
  .top-mv__btn {
    width: 24vw;
    top: 5.333vw;
    left: auto;
    right: 1.333vw;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
  .top-mv__lead {
    margin-top: 0;
    padding: 13.333vw 0 11.733vw;
  }
  .top-mv__lead__ttl {
    top: -4.267vw;
    width: 93.333vw;
  }
  .top-mv__lead__txt {
    width: 90.667vw;
  }
}

/* ================================================

- MV schedule

================================================ */
.top-mv__schedule {
  position: absolute;
  top: 1040px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 806px;
  z-index: 2;
}

.top-mv__schedule__btn.-btn1 {
  top: 10px;
}

.top-mv__schedule__btn.-btn2 {
  bottom: 10px;
}

.top-mv__schedule__btn {
  width: 282px;
  right: 12px;
  position: absolute;
}

.top-mv__schedule__btn img.-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.top-mv__schedule__btn img.-back {
  opacity: 0;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

.top-mv__schedule__btn .-front {
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

.top-mv__schedule__btn:hover img.-front {
  opacity: 0.0;
}

.top-mv__schedule__btn:hover img.-back {
  opacity: 1.0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-mv__schedule {
    top: calc(153vw - 40px);
    width: 93.867vw;
  }
  .top-mv__schedule__btn.-btn1 {
    top: 8.800vw;
  }
  .top-mv__schedule__btn.-btn2 {
    bottom: 1.65vw;
  }
  .top-mv__schedule__btn {
    width: 42.400vw;
    right: 2.667vw;
  }
}

/* ================================================

- sc2 news

================================================ */
.top-newsMenu {
  padding: 112px 0 163px;
}

.top-newsMenu__inner {
  max-width: 800px;
  margin: 0 auto;
}

.top-news {
  max-width: 918px;
  margin: 0;
  position: relative;
  z-index: 1;
}

.top-news__unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
}

.top-news__main {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 483px;
}

.top-news__ttl {
  font-size: 3rem;
  letter-spacing: 0.02em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: #004b99;
  position: relative;
}

.top-news__ttl::after {
  content: '';
  position: absolute;
  bottom: 3px;
  right: 0;
  width: calc(100% - 100px);
  height: 3px;
  background-color: #004b99;
}

.top-news__main__inner {
  margin-top: 15px;
  padding: 19px 9px 20px 22px;
  background-color: #FFFFFF;
  position: relative;
  -webkit-box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
          box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
}

.top-news__list {
  height: 94px;
  padding: 0 39px 0 0;
  overflow-y: scroll;
  scrollbar-color: #004b99 #efefef;
  scrollbar-width: thin;
}

.top-news__list dl {
  margin-top: 16px;
}

.top-news__list dl dt {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: bold;
  color: #591311;
}

.top-news__list dl dd {
  margin-top: 3px;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #433222;
}

.top-news__list dl:first-child {
  margin-top: 0;
}

.top-news__list::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.top-news__list::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px #efefef;
          box-shadow: inset 0 0 6px #efefef;
}

.top-news__list::-webkit-scrollbar-thumb {
  background-color: #004b99;
}

.top-news__sns {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin-left: 29px;
  padding: 15px 0 16px;
  background-color: #FFFFFF;
  -webkit-box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
          box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
}

.top-news__sns__ttl {
  font-size: 1.6rem;
  line-height: 1.2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #004b99;
  text-align: center;
}

ul.top-news__sns__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  margin-top: 9px;
}

ul.top-news__sns__list li {
  margin-left: 25px;
}

ul.top-news__sns__list li a {
  display: block;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
}

ul.top-news__sns__list li a:hover {
  opacity: .7;
}

ul.top-news__sns__list li:first-child {
  margin-left: 0;
}

ul.top-news__sns__list li.-twitter {
  width: 44px;
}

ul.top-news__sns__list li.-instagram {
  width: 49px;
}

ul.top-news__sns__list li.-cocoweb {
  width: 79px;
}

.top-menu {
  margin-top: 79px;
}

ul.top-menu__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 11px;
}

ul.top-menu__list li {
  width: calc((100% / 5) - (60px / 5));
  margin-right: 15px;
  -webkit-box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
          box-shadow: 0px 5px 6.37px 0.63px rgba(189, 195, 224, 0.5);
}

ul.top-menu__list li a {
  display: block;
}

ul.top-menu__list li:nth-child(5n) {
  margin-right: 0;
}

ul.top-menu__list li:nth-last-child(-n+5) {
  margin-top: 28px;
}

.top-menu__list__item {
  position: relative;
}

.top-menu__list__item img.-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.top-menu__list__item img.-back {
  opacity: 0;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

.top-menu__list__item .-front {
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

.top-menu__list__item:hover img.-front {
  opacity: 0.0;
}

.top-menu__list__item:hover img.-back {
  opacity: 1.0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-newsMenu {
    padding: 16.4vw 0 16.933vw;
  }
  .top-newsMenu__inner {
    padding: 0 4vw;
  }
  .top-news__unit {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .top-news__main {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .top-news__ttl {
    font-size: 5.46875vw;
  }
  .top-news__ttl::after {
    bottom: 0.533vw;
    width: calc(100% - 19.467vw);
    height: 0.533vw;
  }
  .top-news__main__inner {
    margin-top: 2.8vw;
    padding: 4.133vw 1.2vw 4.133vw 3.067vw;
  }
  .top-news__list {
    height: 34.267vw;
    padding: 0 5.2vw 0 0;
  }
  .top-news__list dl {
    margin-top: 3.2vw;
  }
  .top-news__list dl dt {
    font-size: 2.60417vw;
  }
  .top-news__list dl dd {
    margin-top: 0.667vw;
    font-size: 2.86458vw;
  }
  .top-news__list::-webkit-scrollbar {
    width: 0.667vw;
    height: 0.667vw;
  }
  .top-news__sns {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: 100%;
    margin-left: 0;
    margin-top: 4.4vw;
    padding: 2.667vw 2.667vw 2.667vw 5.067vw;
  }
  .top-news__sns__ttl {
    font-size: 3.125vw;
    line-height: 1.25;
    white-space: nowrap;
  }
  ul.top-news__sns__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin-top: 0;
    margin-left: 8.933vw;
  }
  ul.top-news__sns__list li {
    margin-left: 6.667vw;
  }
  ul.top-news__sns__list li.-twitter {
    width: 7.067vw;
  }
  ul.top-news__sns__list li.-instagram {
    width: 7.867vw;
  }
  ul.top-news__sns__list li.-cocoweb {
    width: 12.667vw;
  }
  .top-menu {
    margin-top: 66px;
  }
  ul.top-menu__list {
    margin-top: 3.2vw;
  }
  ul.top-menu__list li {
    width: calc((100% / 2) - (2.667vw / 2));
    margin-right: 2.667vw;
    margin-top: 4vw;
  }
  ul.top-menu__list li:nth-child(5n) {
    margin-right: 2.667vw;
  }
  ul.top-menu__list li:nth-last-child(-n+5) {
    margin-top: 4vw;
  }
  ul.top-menu__list li:nth-child(2n) {
    margin-right: 0;
  }
  ul.top-menu__list li:nth-child(-n+2) {
    margin-top: 0;
  }
  .top-menu__list__item {
    position: relative;
  }
  .top-menu__list__item img.-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .top-menu__list__item img.-back {
    opacity: 0;
    -webkit-transition: 0.2s linear;
    -o-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  .top-menu__list__item .-front {
    -webkit-transition: 0.2s linear;
    -o-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  .top-menu__list__item:hover img.-front {
    opacity: 0.0;
  }
  .top-menu__list__item:hover img.-back {
    opacity: 1.0;
  }
}

/* ================================================

- sc2 file

================================================ */
.top-file__inner {
  padding: 105px 0 308px;
}

.top-file__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-file__head {
  position: relative;
}

.top-file__ttl {
  width: 533px;
}

.top-file__desc {
  margin-top: 14px;
}

.top-file__desc p {
  font-size: 1.5rem;
  line-height: 1.73;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

.top-file__attn {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  height: 30px;
  margin-top: 37px;
  padding: 0 10px;
  background-color: #c81233;
}

.top-file__attn p {
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: bold;
  color: #fff000;
  text-align: center;
}

.top-file__character {
  position: absolute;
  bottom: 30px;
  right: 2px;
  width: 238px;
  z-index: -1;
}

ul.top-file__list {
  margin-top: 31px;
}

ul.top-file__list li {
  margin-top: 20px;
}

ul.top-file__list li:first-child {
  margin-top: 0;
}

ul.top-file__list li:last-child {
  margin-top: 33px;
}

.top-file__note {
  margin-top: 18px;
}

.top-file__note p {
  margin-top: 8px;
}

.top-file__note p:first-child {
  margin-top: 0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-file {
    padding: 0 4.133vw;
  }
  .top-file__inner {
    padding: 13.733vw 0 32vw;
  }
  .top-file__content {
    padding: 0 2.667vw;
  }
  .top-file__ttl {
    width: 53.600vw;
  }
  .top-file__desc {
    width: 45.333vw;
    margin-top: 2.933vw;
  }
  .top-file__desc p {
    font-size: 3.125vw;
    line-height: 1.5;
  }
  .top-file__attn {
    height: 8.933vw;
    margin-top: 3.2vw;
    padding: 0 1.333vw;
  }
  .top-file__attn p {
    font-size: 2.60417vw;
    line-height: 1.5;
    text-align: center;
  }
  .top-file__character {
    bottom: 9vw;
    right: -4.533vw;
    width: 41.467vw;
  }
  ul.top-file__list {
    margin-top: 8.933vw;
  }
  ul.top-file__list li {
    width: 82.667vw;
    margin-top: 5.333vw auto 0;
  }
  ul.top-file__list li:first-child {
    margin-top: 0;
  }
  ul.top-file__list li:last-child {
    margin-top: 7.733vw;
  }
  .top-file__note {
    margin-top: 0;
  }
  .top-file__note p {
    margin-top: 0;
  }
  .top-file__note p:first-child {
    margin-top: 0;
  }
}

/* ================================================

- sc3 collabo

================================================ */
.top-collabo {
  position: relative;
}

.top-collabo::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 150px;
  background-image: url("../images/ribbon_bg_pink.png");
  background-size: 700px;
  background-position: top center;
  background-repeat: repeat-x;
}

.top-collabo__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 0 286px;
  position: relative;
}

.top-collabo__inner::after {
  content: '';
  position: absolute;
  top: -188px;
  right: 135px;
  width: 362px;
  height: 290px;
  background-image: url("../images/ribbon_right.png");
  background-size: contain;
  background-position: 0;
  background-repeat: no-repeat;
}

.top-collabo__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-moreMenu__btn {
  display: block;
  width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-moreMenu__btn:hover {
  opacity: .7;
}

.top-collabo__head {
  position: relative;
}

.top-collabo__ttl {
  width: 444px;
  margin-top: 51px;
}

.top-collabo__ttl.-c2end {
  margin-top: 42px;
}

.top-collabo__head__desc {
  margin-top: 25px;
}

.top-collabo__head__desc p {
  font-size: 1.8rem;
  line-height: 1.67;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
}

.top-collabo__head__desc.-c2end {
  margin-top: 16px;
}

.top-collabo__head__note {
  margin-top: 4px;
}

.top-collabo__character {
  position: absolute;
  bottom: -28px;
  right: 67px;
  width: 269px;
  z-index: -1;
}

.top-collabo__character.-c2end {
  bottom: -20px;
  right: 0;
  width: 327px;
}

ul.top-collabo__list {
  margin-top: 28px;
}

ul.top-collabo__list li {
  width: 800px;
  margin: 60px auto 0;
}

ul.top-collabo__list li.-item3 {
  margin: 50px auto 0;
}

ul.top-collabo__list li:first-child {
  margin: 0 auto;
}

ul.top-collabo__list.-c2end {
  margin-top: 20px;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-collabo {
    position: relative;
  }
  .top-collabo::before {
    top: -10.4vw;
    left: 0;
    width: 100%;
    height: 38.667vw;
    background-image: url("../images/ribbon_bg_pink_sp.png");
    background-size: 100vw;
  }
  .top-collabo__inner {
    padding: calc(10.4vw + 1.067vw) 0 48vw;
  }
  .top-collabo__inner::after {
    display: none;
  }
  .top-collabo__content {
    padding: 0 4vw;
  }
  .top-moreMenu__btn {
    display: block;
    width: 92vw;
    margin: 5.333vw auto 0;
  }
  .top-collabo__ttl {
    width: 58.933vw;
    margin-top: 5.333vw;
  }
  .top-collabo__ttl.-c2end {
    margin-top: 5.333vw;
  }
  .top-collabo__head__desc {
    margin-top: 2.667vw;
  }
  .top-collabo__head__desc p {
    font-size: 3.125vw;
    line-height: 1.5;
  }
  .top-collabo__head__desc.-c2end {
    margin-top: 2.667vw;
  }
  .top-collabo__head__note {
    margin-top: 4px;
  }
  .top-collabo__character {
    bottom: -5.067vw;
    right: 0;
    width: 38.933vw;
    z-index: 2;
  }
  .top-collabo__character.-c2end {
    bottom: -5.333vw;
    right: -4.800vw;
    width: 49.600vw;
  }
  ul.top-collabo__list {
    margin-top: 4.933vw;
  }
  ul.top-collabo__list li {
    width: 100%;
    margin: 4vw auto 0;
  }
  ul.top-collabo__list li.-item3 {
    margin: 6.933vw auto 0;
  }
  ul.top-collabo__list.-c2end {
    margin-top: 4.933vw;
  }
}

/* ================================================

- sc5 mainMenu

================================================ */
.top-mainMenu__content {
  max-width: 800px;
  margin: 110px auto 0;
}

.top-mainMenu__content.-c2end {
  margin: 177px auto 0;
}

.top-mainMenu__head {
  position: relative;
}

.top-mainMenu__head__unit {
  width: 482px;
  margin-left: auto;
}

.top-mainMenu__head__unit.-c2end {
  width: 462px;
}

.top-mainMenu__lead {
  position: relative;
}

.top-mainMenu__lead p {
  font-size: 1.8rem;
  line-height: 1.45;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #af0000;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
}

.top-mainMenu__lead::before {
  content: '';
  position: absolute;
  top: -17px;
  left: -100px;
  background-image: url("../images/sc5_mainMenu_ttl_icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 86px;
  height: 86px;
}

.top-mainMenu__lead.-c2end {
  position: relative;
}

.top-mainMenu__lead.-c2end p {
  color: #005ca9;
}

.top-mainMenu__lead.-c2end::before {
  background-image: url("../images/sc7_mainMenu_ttl_icon.png");
}

.top-mainMenu__ttl {
  width: 419px;
  margin-top: 18px;
}

.top-mainMenu__head__desc {
  margin-top: 17px;
}

.top-mainMenu__head__desc p {
  font-size: 1.8rem;
  line-height: 1.67;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: #af0000;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
}

.top-mainMenu__head__desc.-c2end p {
  color: #005ca9;
}

.top-mainMenu__head__note {
  margin-top: 5px;
}

.top-mainMenu__head__note p {
  color: #af0000;
}

.top-mainMenu__head__note.-c2end p {
  color: #005ca9;
}

.top-mainMenu__character {
  position: absolute;
  bottom: -63px;
  left: -10px;
  width: 349px;
  z-index: -1;
}

.top-mainMenu__character.-c2end {
  bottom: -61px;
  left: 0;
}

ul.top-mainMenu__list {
  margin-top: 47px;
}

ul.top-mainMenu__list li {
  width: 800px;
  margin: 40px auto 0;
}

ul.top-mainMenu__list li:first-child {
  margin: 0 auto;
}

ul.top-mainMenu__list2 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 40px;
}

ul.top-mainMenu__list2 li {
  width: calc((100% / 2) - (20px / 2));
  margin-right: 20px;
  margin-top: 40px;
}

ul.top-mainMenu__list2 li:nth-child(2n) {
  margin-right: 0;
}

ul.top-mainMenu__list2 li:nth-child(-n+2) {
  margin-top: 0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-mainMenu__content {
    margin: 16vw auto 0;
    padding: 0 4vw;
  }
  .top-mainMenu__content.-c2end {
    margin: 16vw auto 0;
  }
  .top-mainMenu__head {
    position: relative;
  }
  .top-mainMenu__head__unit {
    width: 100%;
    margin-left: 0;
  }
  .top-mainMenu__head__unit.-c2end {
    width: 100%;
  }
  .top-mainMenu__lead {
    text-align: center;
  }
  .top-mainMenu__lead p {
    font-size: 3.125vw;
    line-height: 1.25;
  }
  .top-mainMenu__lead::before {
    display: none;
  }
  .top-mainMenu__lead.-c2end::before {
    display: none;
  }
  .top-mainMenu__ttl {
    width: 64.267vw;
    margin-top: 3.867vw;
    margin-left: 27.733vw;
  }
  .top-mainMenu__head__desc {
    margin-top: 4vw;
    margin-left: 34.133vw;
  }
  .top-mainMenu__head__desc p {
    font-size: 2.34375vw;
    line-height: 1.67;
  }
  .top-mainMenu__head__note {
    margin-top: 0;
    margin-left: 34.133vw;
  }
  .top-mainMenu__head__note .-spPadding {
    margin-left: 14.133vw;
  }
  .top-mainMenu__character {
    bottom: -2.533vw;
    left: 1.333vw;
    width: 46.667vw;
    z-index: -1;
  }
  .top-mainMenu__character.-c2end {
    bottom: -2.533vw;
    left: 1.333vw;
  }
  ul.top-mainMenu__list {
    margin-top: 2.667vw;
  }
  ul.top-mainMenu__list li {
    width: 100%;
    margin: 5.333vw auto 0;
  }
  ul.top-mainMenu__list2 {
    margin-top: 5.333vw;
  }
  ul.top-mainMenu__list2 li {
    width: calc((100% / 2) - (1.333vw / 2));
    margin-right: 1.333vw;
    margin-top: 5.333vw;
  }
}

/* ================================================

- sc6 moreMenu

================================================ */
.top-moreMenu__content {
  max-width: 800px;
  margin: 90px auto 0;
}

.top-moreMenu__content.-c2end {
  margin: 162px auto 0;
}

.top-moreMenu__head {
  position: relative;
}

.top-moreMenu__ttl {
  width: 530px;
  margin-left: -5px;
}

.top-moreMenu__character {
  position: absolute;
  bottom: -30px;
  right: 11px;
  width: 228px;
  z-index: -1;
}

ul.top-moreMenu__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 30px;
}

ul.top-moreMenu__list li {
  width: 310px;
  margin-top: 40px;
}

ul.top-moreMenu__list li.-itemM {
  width: 470px;
}

ul.top-moreMenu__list li:nth-child(-n+2) {
  margin-top: 0;
}

ul.top-moreMenu__list li.-c2end {
  width: 390px;
}

.m-note.top-moreMenu__spice__note {
  margin-top: 34px;
}

.m-note.top-moreMenu__spice__note p {
  margin-top: 5px;
  font-size: 1.6rem;
  line-height: 2.4;
}

.m-note.top-moreMenu__spice__note p img {
  display: inline-block;
  margin: 0 8px;
}

.m-note.top-moreMenu__spice__note p img.-spice {
  width: 125px;
}

.m-note.top-moreMenu__spice__note p img.-nuts {
  width: 35px;
}

.top-moreMenu__takeout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  margin-top: 60px;
  padding-left: 25px;
}

.top-moreMenu__takeout__icon {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 84px;
}

ul.top-moreMenu__takeout__list {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin-left: 31px;
}

ul.top-moreMenu__takeout__list li {
  position: relative;
  padding: 0 0 0 1.0em;
  font-size: 1.4rem;
  line-height: 1.74;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

ul.top-moreMenu__takeout__list li::before {
  display: block;
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
}

.top-moreMenu__poster {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  max-width: 800px;
  margin: 74px auto 0;
  padding: 45px 31px 40px 35px;
  background-color: #FFFFFF;
}

.top-moreMenu__poster__note {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  padding-top: 83px;
  position: relative;
}

.top-moreMenu__poster__note::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 50%;
  -webkit-transform: translateX(-60%);
      -ms-transform: translateX(-60%);
          transform: translateX(-60%);
  background-image: url("../images/sc6_iconAtt.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 71px;
  height: 63px;
}

.top-moreMenu__poster__note p {
  font-size: 1.6rem;
  line-height: 1.875;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

.top-moreMenu__poster__smaple {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 240px;
  margin-right: 49px;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-moreMenu__content {
    margin: 20.667vw auto 0;
    padding: 0 4vw;
  }
  .top-moreMenu__content.-c2end {
    margin: 20.667vw auto 0;
  }
  .top-moreMenu__ttl {
    width: 74.133vw;
    margin-left: 0;
  }
  .top-moreMenu__character {
    bottom: -3.733vw;
    right: 0;
    width: 30.4vw;
  }
  ul.top-moreMenu__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 4vw;
  }
  ul.top-moreMenu__list li {
    width: 36vw;
    margin-top: 5.333vw;
  }
  ul.top-moreMenu__list li.-itemM {
    width: 54.933vw;
  }
  ul.top-moreMenu__list li.-c2end {
    width: 45.333vw;
  }
  .m-note.top-moreMenu__spice__note {
    margin-top: 6vw;
  }
  .m-note.top-moreMenu__spice__note p {
    margin-top: 2.667vw;
    font-size: 2.60417vw;
    line-height: 2;
  }
  .m-note.top-moreMenu__spice__note p img {
    margin: 0 1.067vw;
  }
  .m-note.top-moreMenu__spice__note p img.-spice {
    width: 16.667vw;
  }
  .m-note.top-moreMenu__spice__note p img.-nuts {
    width: 4.667vw;
  }
  .top-moreMenu__takeout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin-top: 9.867vw;
    padding-left: 1.333vw;
  }
  .top-moreMenu__takeout__icon {
    width: 11.2vw;
  }
  ul.top-moreMenu__takeout__list {
    margin-left: 4vw;
  }
  ul.top-moreMenu__takeout__list li {
    font-size: 2.60417vw;
    line-height: 1.5;
  }
  .top-moreMenu__poster {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 10.400vw auto 0;
    padding: 8vw 14.133vw 11.467vw;
  }
  .top-moreMenu__poster__note {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-top: 12.667vw;
  }
  .top-moreMenu__poster__note::before {
    top: 0;
    width: 10.533vw;
    height: 9.2vw;
  }
  .top-moreMenu__poster__note p {
    font-size: 2.34375vw;
    line-height: 1.875;
  }
  .top-moreMenu__poster__smaple {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 53.333vw;
    margin-top: 7.6vw;
    margin-right: 0;
  }
}

/* ================================================

- sc7 collabo

================================================ */
.top-collabo2 {
  position: relative;
}

.top-collabo2::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 150px;
  background-image: url("../images/ribbon_bg_blue.png");
  background-size: 700px;
  background-position: top center;
  background-repeat: repeat-x;
}

.top-collabo2__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2px 0 286px;
  position: relative;
}

.top-collabo2__inner::after {
  content: '';
  position: absolute;
  top: -206px;
  left: 97px;
  width: 354px;
  height: 281px;
  background-image: url("../images/ribbon_left.png");
  background-size: contain;
  background-position: 0;
  background-repeat: no-repeat;
}

.top-collabo2__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-collabo2__banner {
  width: 691px;
  margin: 0 auto;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-collabo2 {
    position: relative;
  }
  .top-collabo2::before {
    top: -28.8vw;
    width: 100%;
    height: 37.333vw;
    background-image: url("../images/ribbon_bg_blue_sp.png");
    background-size: 100vw;
    z-index: 2;
  }
  .top-collabo2__inner {
    padding: calc(10.4vw + 1.067vw) 0 48vw;
  }
  .top-collabo2__inner::after {
    display: none;
  }
  .top-collabo2__banner {
    width: 96vw;
  }
}

/* ================================================

- sc8 webChallenge

================================================ */
.top-webChallenge {
  position: relative;
}

.top-webChallenge::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 150px;
  background-image: url("../images/ribbon_bg_gray.png");
  background-size: 700px;
  background-position: top center;
  background-repeat: repeat-x;
  z-index: 2;
}

.top-webChallenge__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 86px 0 222px;
  position: relative;
}

.top-webChallenge__inner::after {
  content: '';
  position: absolute;
  top: -175px;
  right: 120px;
  width: 362px;
  height: 232px;
  background-image: url("../images/ribbon_right2.png");
  background-size: contain;
  background-position: 0;
  background-repeat: no-repeat;
  z-index: 2;
}

.top-webChallenge__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-webChallenge__head {
  position: relative;
}

.top-webChallenge__ttl {
  width: 532px;
  margin: 0 auto;
}

.top-webChallenge__desc {
  margin-top: 12px;
}

.top-webChallenge__desc p {
  font-size: 1.8rem;
  line-height: 2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  text-align: center;
}

.top-webChallenge__note {
  margin-top: 7px;
}

.top-webChallenge__note p {
  text-align: center;
}

.top-webChallenge__note p::before {
  display: none;
}

.top-webChallenge__term {
  width: 604px;
  margin: 25px auto 0;
}

.top-webChallenge__items {
  width: 800px;
  margin: 0 auto;
}

.top-webChallenge__1stPoster {
  margin-top: 70px;
}

.top-webChallenge__2ndhalf {
  margin-top: 80px;
}

.top-webChallenge__voice {
  margin-top: 78px;
}

.top-webChallenge__blanket {
  margin-top: 83px;
}

.top-webChallenge__subTtl {
  width: 190px;
  margin: 139px auto 0;
}

.top-webChallenge__alert {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 400px;
  height: 40px;
  margin: 25px auto 0;
  font-size: 2rem;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  color: #FFFFFF;
  background-color: #000000;
}

.top-webChallenge__ol {
  width: 800px;
  margin: 60px auto 0;
}

.top-webChallenge__btn {
  margin-top: 66px;
}

.top-webChallenge__btn.-before button {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 0 15px 3px 21px;
  cursor: default;
  position: relative;
  background-color: #b5b5b5;
}

.top-webChallenge__btn.-after button {
  cursor: default;
  background-color: #BBBBBB;
}

.top-webChallenge__btn.-after button::after {
  content: '応募は終了しました。';
}

.top-webChallenge__btn.-after button:hover {
  background-color: #BBBBBB;
}

.top-webChallenge__calculation {
  width: 800px;
  margin: 92px auto 0;
}

.top-webChallenge__Poster__btn {
  display: block;
  width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-webChallenge__Poster__btn:hover {
  opacity: .7;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-webChallenge::before {
    top: -20vw;
    width: 100%;
    height: 30.933vw;
    background-image: url("../images/ribbon_bg_gray_sp.png");
    background-size: 100vw;
  }
  .top-webChallenge__inner {
    padding: 5.333vw 0 21.2vw;
  }
  .top-webChallenge__inner::after {
    display: none;
  }
  .top-webChallenge__content {
    padding: 0 4vw;
  }
  .top-webChallenge__ttl {
    width: 70.933vw;
    position: relative;
    z-index: 2;
  }
  .top-webChallenge__desc {
    margin-top: 2.8vw;
  }
  .top-webChallenge__desc p {
    font-size: 3.125vw;
    line-height: 1.5;
  }
  .top-webChallenge__note {
    margin-top: 0;
  }
  .top-webChallenge__term {
    width: 86.133vw;
    margin: 3.600vw auto 0;
  }
  .top-webChallenge__items {
    width: 100%;
  }
  .top-webChallenge__1stPoster {
    margin-top: 13.333vw;
  }
  .top-webChallenge__2ndhalf {
    margin-top: 8.667vw;
  }
  .top-webChallenge__voice {
    margin-top: 9.067vw;
  }
  .top-webChallenge__blanket {
    margin-top: 9.733vw;
  }
  .top-webChallenge__subTtl {
    width: 25.333vw;
    margin: 18.800vw auto 0;
  }
  .top-webChallenge__alert {
    width: 64.533vw;
    height: 5.333vw;
    margin: 3.333vw auto 0;
    font-size: 3.125vw;
  }
  .top-webChallenge__ol {
    width: 70.667vw;
    margin: 6.667vw auto 0;
  }
  .top-webChallenge__btn {
    margin-top: 18.533vw;
  }
  .top-webChallenge__btn.-before button {
    display: block;
    width: 70.667vw;
    padding: 0 0 0.4vw 0;
  }
  .top-webChallenge__calculation {
    width: 100%;
    margin: 13.067vw auto 0;
  }
  .top-webChallenge__Poster__btn {
    width: 100%;
  }
}

/* ================================================

- sc9 店内放送

================================================ */
.top-broadcast {
  padding: 117px 0 232px;
}

.top-broadcast__inner {
  max-width: 764px;
  margin: 0 auto;
}

.top-broadcast__ttl {
  width: 188px;
  margin: 0 auto;
}

.top-broadcast__member {
  margin-top: 28px;
  text-align: center;
}

.top-broadcast__member p {
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: bold;
}

.top-broadcast__character {
  width: 764px;
  margin: 38px auto 0;
}

.m-note.top-broadcast__note {
  margin-top: 20px;
}

.m-note.top-broadcast__note p {
  font-size: 1.6rem;
  line-height: 1.875;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-broadcast {
    padding: 15.6vw 0 13.733vw;
  }
  .top-broadcast__ttl {
    width: 25.067vw;
  }
  .top-broadcast__member {
    margin-top: 3.733vw;
  }
  .top-broadcast__member p {
    font-size: 3.125vw;
    line-height: 1.67;
  }
  .top-broadcast__character {
    width: 83.467vw;
    margin: 3.600vw auto 0;
  }
  .m-note.top-broadcast__note {
    margin-top: 5.467vw;
    padding: 0 12.6vw;
  }
  .m-note.top-broadcast__note p {
    font-size: 2.60417vw;
    line-height: 1.5;
  }
}

/* ================================================

- sc7 originalGoods

================================================ */
.top-originalGoods__inner {
  padding: 147px 0 375px;
}

.top-originalGoods__inner.m-ribbon::after {
  top: 88px;
}

.top-originalGoods__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-originalGoods__ttl {
  width: 563px;
  margin: 0 auto;
}

.top-originalGoods__list {
  margin-top: 38px;
}

.top-originalGoods__item {
  width: 800px;
  margin: 0 auto;
  padding: 53px 0 54px;
  border-top: solid 4px #930201;
}

.top-originalGoods__item figcaption {
  margin-top: 36px;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  text-align: center;
}

.top-originalGoods__item:last-of-type {
  padding: 53px 0 39px;
  border-bottom: solid 4px #930201;
}

.top-originalGoods__item:last-of-type figcaption {
  margin-top: 27px;
}

.top-originalGoods__panel {
  padding: 128px 0 0;
}

.top-originalGoods__panel__ttl {
  width: 535px;
  margin: 0 auto;
}

.top-originalGoods__panel__desc {
  margin-top: 30px;
  text-align: center;
}

.top-originalGoods__panel__desc p {
  font-size: 1.8rem;
  line-height: 1.67;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

.top-originalGoods__panel__main {
  width: 800px;
  margin: 75px auto 0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-originalGoods {
    padding: 0 4.133vw;
  }
  .top-originalGoods__inner {
    padding: 13.2vw 0 48.667vw;
  }
  .top-originalGoods__inner.m-ribbon::after {
    top: 3.067vw;
  }
  .top-originalGoods__content {
    padding: 0 2.667vw;
  }
  .top-originalGoods__ttl {
    width: 73.333vw;
  }
  .top-originalGoods__list {
    margin-top: 5.067vw;
  }
  .top-originalGoods__item {
    width: 80vw;
    padding: 7.867vw 0 8vw;
  }
  .top-originalGoods__item figcaption {
    margin-top: 4.267vw;
    font-size: 2.08333vw;
  }
  .top-originalGoods__item:last-of-type {
    padding: 4.267vw 0 9.333vw;
  }
  .top-originalGoods__item:last-of-type figcaption {
    margin-top: 4vw;
  }
  .top-originalGoods__panel {
    padding: 14vw 0 0;
  }
  .top-originalGoods__panel__ttl {
    width: 71.2vw;
  }
  .top-originalGoods__panel__desc {
    margin-top: 3.733vw;
    text-align: center;
  }
  .top-originalGoods__panel__desc p {
    font-size: 3.125vw;
  }
  .top-originalGoods__panel__main {
    width: 100%;
    margin: 5.600vw auto 0;
  }
}

/* ================================================

- 対象店舗

================================================ */
.top-panel {
  margin-top: 90px;
}

.top-panel__subTtl {
  font-size: 3.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  text-align: center;
}

.top-panel__list {
  margin-top: 20px;
}

.top-panel__list dl {
  border-top: solid 1px #000000;
}

.top-panel__list dl dt {
  padding: 16px 0 15px 30px;
  font-size: 1.8rem;
  font-weight: bold;
  cursor: pointer;
  position: relative;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
}

.top-panel__list dl dt::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 7px 0 7px;
  border-color: #000000 transparent transparent transparent;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.top-panel__list dl dt:hover {
  opacity: .7;
}

.top-panel__list dl dt:hover::after {
  opacity: .7;
}

.top-panel__list dl dt.-active::after {
  border-width: 0 7px 12px 7px;
  border-color: transparent transparent #000000 transparent;
}

.top-panel__list dl dd {
  display: none;
}

.top-panel__list dl dd.-active {
  display: block;
  margin-top: 20px;
  margin-bottom: 16px;
  -webkit-animation: isShow 1.3s linear 0s;
          animation: isShow 1.3s linear 0s;
}

.top-panel__list dl:last-child {
  border-bottom: solid 1px #000000;
}

@-webkit-keyframes isShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes isShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

_:-ms-lang(x)::-ms-backdrop, .top-panel__list dl dt::after {
  display: none;
}

_:-ms-lang(x)::-ms-backdrop, .top-panel__list dl dd {
  display: block;
  margin-top: 20px;
  margin-bottom: 16px;
}

ul.top-panel__list__item {
  padding: 0 30px;
}

ul.top-panel__list__item li {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-top: 35px;
}

ul.top-panel__list__item li span {
  font-size: 1.8rem;
  line-height: 1;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

ul.top-panel__list__item li span:first-of-type {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 108px;
}

ul.top-panel__list__item li span:last-of-type {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}

ul.top-panel__list__item li:first-child {
  margin-top: 0;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-panel {
    margin-top: 13.333vw;
  }
  .top-panel__subTtl {
    font-size: 3.125vw;
  }
  .top-panel__list {
    margin-top: 8vw;
  }
  .top-panel__list dl dt {
    padding: 1.867vw 0 1.867vw 2.667vw;
    font-size: 2.34375vw;
  }
  .top-panel__list dl dt::after {
    right: 4vw;
    border-width: 1.6vw 0.933vw 0 0.933vw;
  }
  .top-panel__list dl dt.-active::after {
    border-width: 0 0.933vw 1.6vw 0.933vw;
  }
  .top-panel__list dl dd.-active {
    margin-top: 2.667vw;
    margin-bottom: 2.133vw;
  }
  ul.top-panel__list__item {
    padding: 0 2.667vw;
  }
  ul.top-panel__list__item li {
    margin-top: 4.667vw;
  }
  ul.top-panel__list__item li span {
    font-size: 2.60417vw;
  }
  ul.top-panel__list__item li span:first-of-type {
    width: 14.667vw;
  }
}

/* ================================================

- sc11 shop

================================================ */
.top-shop {
  position: relative;
}

.top-shop::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 150px;
  background-image: url("../images/ribbon_bg_pink.png");
  background-size: 700px;
  background-position: top center;
  background-repeat: repeat-x;
}

.top-shop__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 95px 0 416px;
  position: relative;
}

.top-shop__inner::after {
  content: '';
  position: absolute;
  top: -179px;
  right: 145px;
  width: 362px;
  height: 290px;
  background-image: url("../images/ribbon_right.png");
  background-size: contain;
  background-position: 0;
  background-repeat: no-repeat;
}

.top-shop__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-shop__ttl {
  width: 792px;
  -webkit-transform: translateX(-5px);
      -ms-transform: translateX(-5px);
          transform: translateX(-5px);
}

.top-shop__photo {
  width: 800px;
  margin: 50px auto 0;
}

.top-shop__btn.m-common__btn.-next {
  margin-top: 58px;
}

.top-shop__btn.m-common__btn.-next a {
  width: 465px;
  height: 57px;
  font-size: 2rem;
  font-family: Verdana, Roboto, "Droid Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  color: #ad110d;
  letter-spacing: 0.05em;
  background-color: #FFFFFF;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-shop__btn.m-common__btn.-next a::before {
  border-color: transparent transparent transparent #ad110d;
}

.top-shop__btn.m-common__btn.-next a:hover {
  background-color: #FFFFFF;
  opacity: .7;
}

.top-shop__txt {
  margin-top: 50px;
  padding: 20px;
  background-color: #FFFFFF;
}

.top-shop__txt p {
  margin-top: 17px;
  padding-top: 17px;
  font-size: 1.4rem;
  line-height: 1.7;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  border-top: dashed 1px #CCCCCC;
}

.top-shop__txt p:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-shop::before {
    top: -20.800vw;
    left: 0;
    width: 100%;
    height: 38.667vw;
    background-image: url("../images/ribbon_bg_pink_sp.png");
    background-size: 100vw;
  }
  .top-shop__inner {
    padding: 0 0 42.133vw;
  }
  .top-shop__inner::after {
    display: none;
  }
  .top-shop__content {
    padding: 0 4vw;
  }
  .top-shop__ttl {
    width: 89.067vw;
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
  .top-shop__photo {
    width: 100%;
    margin: 6.667vw auto 0;
  }
  .top-shop__btn.m-common__btn.-next {
    margin-top: 6.933vw;
  }
  .top-shop__btn.m-common__btn.-next a {
    width: 73.867vw;
    height: 9.333vw;
    font-size: 3.125vw;
  }
  .top-shop__txt {
    margin-top: 30px;
    padding: 20px;
    background-color: #FFFFFF;
  }
  .top-shop__txt p {
    margin-top: 20px;
    padding-top: 20px;
    font-size: 2.60417vw;
    line-height: 1.6;
  }
}

/* ================================================

- sc12 store

================================================ */
.top-store {
  position: relative;
}

.top-store::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 150px;
  background-image: url("../images/ribbon_bg_blue.png");
  background-size: 700px;
  background-position: top center;
  background-repeat: repeat-x;
}

.top-store__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 71px 0 165px;
  position: relative;
}

.top-store__inner::after {
  content: '';
  position: absolute;
  top: -190px;
  left: 135px;
  width: 354px;
  height: 281px;
  background-image: url("../images/ribbon_left.png");
  background-size: contain;
  background-position: 0;
  background-repeat: no-repeat;
}

.top-store__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-store__logo {
  width: 226px;
  margin: 0 auto;
}

.top-store__ttl {
  width: 621px;
  margin: 63px auto 0;
}

.top-store__desc {
  margin-top: 21px;
  text-align: center;
}

.top-store__desc p {
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: bold;
}

.top-store__goods {
  width: 800px;
  margin: 23px auto 0;
}

.top-store__goods__period {
  width: 800px;
  margin: 24px auto 0;
}

.top-store__btn.m-common__btn.-next {
  margin-top: 48px;
}

.top-store__btn.m-common__btn.-next a {
  width: 465px;
  height: 57px;
  font-size: 2rem;
  font-family: Verdana, Roboto, "Droid Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  color: #0060b0;
  letter-spacing: 0.05em;
  background-color: #ffd77b;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-store__btn.m-common__btn.-next a::before {
  border-color: transparent transparent transparent #0060b0;
}

.top-store__btn.m-common__btn.-next a:hover {
  background-color: #ffd77b;
  opacity: .7;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-store::before {
    top: -28.800vw;
    width: 100%;
    height: 37.333vw;
    background-image: url("../images/ribbon_bg_blue_sp.png");
    background-size: 100vw;
    z-index: 2;
  }
  .top-store__inner {
    padding: 4.267vw 0 21.6vw;
  }
  .top-store__inner::after {
    display: none;
  }
  .top-store__content {
    padding: 0 4vw;
  }
  .top-store__logo {
    width: 40.533vw;
  }
  .top-store__ttl {
    width: 82.933vw;
    margin: 6.267vw auto 0;
  }
  .top-store__desc {
    margin-top: 6.933vw;
    text-align: center;
  }
  .top-store__desc p {
    font-size: 3.125vw;
    line-height: 1.67;
  }
  .top-store__goods {
    width: 100%;
    margin: 7.733vw auto 0;
  }
  .top-store__goods__period {
    width: 100%;
    margin: 3.333vw auto 0;
  }
  .top-store__btn.m-common__btn.-next {
    margin-top: 7.867vw;
  }
  .top-store__btn.m-common__btn.-next a {
    width: 73.867vw;
    height: 9.333vw;
    font-size: 3.125vw;
  }
}

/* ================================================

- sc13 official

================================================ */
.top-official__inner {
  padding: 108px 0 255px;
}

.top-official__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-official__ttl {
  width: 365px;
  margin: 0 auto;
}

.top-official__main {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  margin-top: 38px;
}

.top-official__kv {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 352px;
}

.top-official__desc {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin-left: 55px;
  -webkit-transform: translateY(-6px);
      -ms-transform: translateY(-6px);
          transform: translateY(-6px);
}

.top-official__desc p {
  font-size: 1.6rem;
  line-height: 1.77;
}

.top-official__lead {
  width: 488px;
  margin: 73px auto 0;
}

.top-official__btn {
  margin-top: 51px;
}

.top-official__btn a {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 465px;
  height: 57px;
  margin: 0 auto;
  font-size: 2rem;
  font-family: Verdana, Roboto, "Droid Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  background-color: #00a9e7;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-official__btn a:hover {
  background-color: #00a9e7;
  opacity: .7;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-official__inner {
    padding: 6.933vw 0 21.467vw;
  }
  .top-official__content {
    padding: 0 10.933vw;
  }
  .top-official__ttl {
    width: 49.333vw;
  }
  .top-official__main {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1.6vw;
  }
  .top-official__kv {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 46.667vw;
    margin: 0 auto;
  }
  .top-official__desc {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    margin-left: 0;
    margin-top: 6.933vw;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
  .top-official__desc p {
    font-size: 3.125vw;
    line-height: 1.67;
  }
  .top-official__lead {
    width: 82vw;
    margin: 50px auto 0;
  }
  .top-official__btn {
    margin-top: 16.133vw;
  }
  .top-official__btn a {
    width: 73.867vw;
    height: 9.333vw;
    font-size: 3.125vw;
  }
}

/* ================================================

- sc14 ココス

================================================ */
.top-cocosWeb__inner {
  padding: 98px 0 107px;
}

.top-cocosWeb__content {
  max-width: 800px;
  margin: 0 auto;
}

.top-cocosWeb__main {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding-left: 68px;
}

.top-cocosWeb__logo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 207px;
}

.top-cocosWeb__desc {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin-left: 30px;
}

.top-cocosWeb__desc p {
  font-size: 1.8rem;
  line-height: 2;
  color: #591311;
}

.top-official__btn.-cocosWeb {
  margin-top: 70px;
}

.top-official__btn.-cocosWeb a {
  font-size: 2rem;
  font-family: Verdana, Roboto, "Droid Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #591311;
  background-color: #ffde00;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}

.top-official__btn.-cocosWeb a::before {
  border-color: transparent transparent transparent #591311;
}

.top-official__btn.-cocosWeb a:hover {
  background-color: #ffde00;
  opacity: .7;
}

/*--- media screen ---*/
@media screen and (max-width: 768px) {
  .top-cocosWeb__inner {
    padding: 11.867vw 0 21.2vw;
  }
  .top-cocosWeb__content {
    padding: 0 12.933vw;
  }
  .top-cocosWeb__main {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
  }
  .top-cocosWeb__logo {
    width: 48.667vw;
    margin: 0 auto;
  }
  .top-cocosWeb__desc {
    margin-top: 7.067vw;
    margin-left: 0;
  }
  .top-cocosWeb__desc p {
    font-size: 3.125vw;
    line-height: 1.67;
  }
  .top-official__btn.-cocosWeb {
    margin-top: 6.800vw;
  }
  .top-official__btn.-cocosWeb a {
    width: 73.867vw;
    height: 9.333vw;
    font-size: 3.125vw;
  }
}

/* ================================================

- トランジション

================================================ */
.v-enter-active,
.v-leave-active {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: transform, opacity;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: .2s;
       -o-transition-duration: .2s;
          transition-duration: .2s;
  -webkit-transition-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);
       -o-transition-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);
          transition-timing-function: cubic-bezier(0.17, 0.67, 0.83, 0.67);
}

.v-enter-active {
  opacity: 0;
  -webkit-transform: translateY(-30px);
      -ms-transform: translateY(-30px);
          transform: translateY(-30px);
}

.v-enter-to,
.v-leave-active {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.v-leave-to {
  opacity: 0;
  -webkit-transform: translateY(30px);
      -ms-transform: translateY(30px);
          transform: translateY(30px);
}
