
/* ======================================
  Variables
====================================== */

        :root {
          --pink: #FF46C8;
          --wht: #fff;
          --blue: #0032C8;
          --black: #000;
          --grd: linear-gradient(90deg, rgba(170, 0, 255, 1) 0%, rgba(255, 0, 255, 1) 51%, rgba(170, 0, 255, 1) 100%);
        }

/* ======================================
  Base
====================================== */
        * {
          box-sizing: border-box;
        }

        html,
        body {
          margin: 0;
          padding: 0;
          overflow-x: hidden;
        }

/* ======================================
  Utility
====================================== */
        .myring_visu,
        .myring_goods {
          text-align: center;
        }

        .en {
          font-family: "Lacquer";
        }
        .red_text {
            color: #FF0000 !important;
        }
        .yellow_text {
            color: #FFFF00 !important;
        }
        .marker {
            /*background-color: #FFFF00;*/
            font-weight: 900;
        }
        .lh-min {
            line-height: 1.5;
            display: inline-block;
        }
    .center {
    text-align: center !important;
}
/* ======================================
  Layout
====================================== */
        .cat .category-image picture {
          display: flex;
          background: #000;
        }
         .category-image{
           position: relative;
         }
        .dream__wrap {
          width: 1000px;
          max-width: 100%;
          margin-inline: auto;
          background: #fff;
          background-size: contain;
          padding: 0 10px;
        }
    

        .bread__wrap {
          background-color: var(--wht);
          width: 1000px;
          max-width: 100%;
          margin-inline: auto;
          padding: 0 10px;
          margin-top: -30px;
        }
.bread__wrap {
    background-color: var(--wht);
    width: 1000px;
    max-width: 100%;
    margin-inline: auto;
    padding: 20px 0;
}
        .breadcrumb {
          margin-bottom: 0;
          padding: 0 20px 20px;
          border-bottom: inherit;
        }
.copy {
    font-size: clamp(12px, calc(4.89px + 0.69vw), 16px);
    text-align: left;
    color: #fff;
    padding:0 40px;
}
@media (max-width:559px) {
    .copy {
    padding:0 20px;
}
      }

.son_daki_afterevent-goods .holder {
    background: #fff;
    width: inherit;
    padding-bottom: 30px;
    padding: 0 40px;
}
@media (max-width:559px) {
    .son_daki_afterevent-goods .holder {
     padding: 0 25px 25px;
}
}
/* ======================================
 pink title
====================================== */
.pink {
    display: block;
    margin: 9px 0;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    border-radius: 40px;
    background: #55B4C8;
    position: relative;
    width:100%;
}


/* ======================================
 blue title
====================================== */
        .blue_title {
          padding: 0px 0 15px;
          background: var(--blue);
          font-size: 44px;
          text-align: center;
          line-height: 1;
          border: none;
          margin: 0;
          color: #FFFF00;
          font-weight: normal;
        }

 /* ======================================
  Header / MV / Logo
====================================== */
.category-image--original---title {
    margin-top: 100px;
    background: #5a2dff;
    color: #FFFF6E;
    text-align: center;
    font-size: 28px;
    font-weight: 900;
    padding: 13px 10px;
    line-height: 1;
}
        .dream__mv img {
          height: auto;
          margin-top: 0;
        }
           .dream__mv .kv_btn img {
    margin: 0;
    width: auto;
    height: 100%;
               max-width: 640px;
}

        .dream__logo {
          text-align: center;
          margin-bottom: 0;
          padding-block: 10px;
        }

        .dream__infotext {
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.7;
}
.normal_text {
    text-align: left;
    display: block;
    font-size: 16px;
    padding: 0 15px;
}
            
        .butten_area {
          text-align: center;
        }
            
a.kv_btn {
    display: block;
    max-width: 640px;
    position: absolute;
    bottom: 1vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    height: clamp(47px, calc(10px + 3.13vw), 60px);
    z-index: 10;
}

@media screen and (min-width:560px) and ( max-width:1023px) {
    .dream__mv img {
    width: calc(100% + 200px);
    margin-left: -100px;
    margin-right: -100px;
}
    a.kv_btn {
    height: clamp(42px, calc(10px + 3.13vw), 60px);
}
            }
@media (max-width:559px) {
    .category-image--original---title {
    margin-top: 60px;
    font-size: 20px;
    padding: 10px 10px;
}
    a.kv_btn {
    height: auto;
    width: 85%;
    bottom: 0;
}
    .dream__mv .kv_btn img {
    margin: 0;
    width: 100%;
    height: auto;
}
}
.deadline {
    margin: 0 auto;
    width: fit-content;
    max-width: 520px;
    display: block;
}            
.concept_text {
    font-size: clamp(22px, calc(13.11px + 0.87vw), 27px);
    font-weight: 900;
    color: #FF648C;
    line-height: 1.5;
    width: fit-content;
    margin: 40px auto 0;
    position: relative;
    text-align: center;
}           

@media (max-width:559px) {
    .deadline {
    width: 100%;
} 
    .concept_text::after {
    right: 0;
}
     .concept_text::before {
    left: 0;
}
}
/* ======================================
  overview
====================================== */

.overview__inner {
    padding: 0 20px;
}
.overview__inner.course__inner {
    padding: 0 40px;
}
.time_table {
    gap: 20px;
    margin-bottom: 20px;
}
.content_section.bg01 .time_table img {
    width: calc(50% - 9px);
}

.overview__inner p {
    text-align: left;
    margin: 0;
    text-indent: -1em;
    padding-left: 1em;
}
.overview__inner  .overview__inner__title {
    display: inline-block;
    margin: 9px 0;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    border-radius: 40px;
    background: #646478;
    position: relative;
    width: 100%;
    text-align: center;
}
@media (max-width:559px) {
    .time_table {
    flex-flow: column;
}
    .time_table{
        gap:0;
    }
    .time_table img, .content_section.bg01 .time_table img {
    width: 100%;
}

    .overview__inner,.normal_text,.overview__inner.food__inner.course__inner {
    padding: 0;
}
    .overview__inner p {
    font-size: 12px;
}
    .normal_text{
        font-size: 15px;
    }
    .overview__inner  .overview__inner__title {
    font-size: 12px;
        font-weight: normal;
}
    .overview__inner.food__inner .price {
    width: 55%;
}
}
/* ======================================
  food,goods
====================================== */
 .content_section.bg02 .dream__inner , .content_section.bg03 .dream__inner{
    margin: 0;
    padding: 0;
}
.overview {
    max-width: 520px;
    margin: 0 auto;
}
.overview .myring_goods{
    text-align: left;
    margin-top: 0;
}
.overview__inner.food__inner h3 {
    width: calc(100% + 120px);
    position: relative;
    left: -60px;
}
.overview__inner.food__inner.course__inner h3 {
    width: calc(100% + 160px);
    position: relative;
    left: -80px;
}      
.overview__inner.food__inner h3 img{
    width:100%;
}
.overview__inner.food__inner p {
    color: #fff;
}
    .content_section.bg04 .overview__inner.food__inner p {
    color: #000;
}
    .content_section.bg04 .overview__inner.food__inner p.sub_title {
    font-size: clamp(16px, calc(7.11px + 0.87vw), 21px);
    font-weight: 900;
    margin: 5px 0;
}
.overview__inner.food__inner .price {
    margin: 10px auto 20px;
    font-size: clamp(30px, calc(-3.78px + 3.30vw), 49px);
    text-align: center;
    font-weight: bold;
    color: #fff;
    width: fit-content;
    border-bottom: 3px solid #fff;
    line-height: 1.5;
}
.overview__inner.food__inner .price span {
    font-size: clamp(20px, calc(4px + 1.56vw), 29px);
}
.overview__inner.food__inner .content_section__attention {
    text-align: center;
    padding: 7px 20px;
    margin-bottom: 10px;
    font-weight: bold;
    color: #fff;
    border: 2px solid #fff;
    font-size: 20px;
    line-height: 1.5;
}
.overview__inner.food__inner .food_text {
    max-width: 700px;
    width: 95%;
    margin: 0 auto;
    display: block;
}
.overview__inner.food__inner .goods_img img {
    width: 100%;
}
.goods_img {
    margin-top: 10px;
}
.goods_text {
    text-align: center;
}
.cta_area {
    max-width: 640px;
    margin: 20px auto 0;
    padding-bottom: 30px;
}
.cta_btn {
    display: block;
    max-width: 640px;
    height: clamp(47px, calc(10px + 3.13vw), 60px);
}
.cta_btn img {
    width: auto;
    height: 100%;
    margin: 0 auto;
    display: block;
}
.pink.yellow_text {
    max-width: 184px;
    padding: 0;
    margin: 0 auto;
}
.son_daki_afterevent-goods .product-caption-wrap {
    color: #fff;
}
@media (max-width:559px) {
    .overview__inner.food__inner h3,.overview__inner.food__inner.course__inner h3 {
    width: calc(100% + 40px);
    position: relative;
    left: -20px;
}
    .overview__inner.food__inner .content_section__attention {
    text-align: left;
    padding: 5px;
    font-weight: bold;
    font-size: 12.5px;
}
    .content_section.bg03 .overview__inner.food__inner .content_section__attention{
        text-align: center;
    }
    .cta_btn img {
    height: auto;
    width: 100%;
}
    .goods_text {
    text-align: left;
}
    .pink.yellow_text {
    max-width: 100%;
    padding: 0;
    margin: 0 auto;
}
	.overview {
    margin: 20px auto;
}
}
/* ======================================
  drink
====================================== */
.drink_title {
    color: #fff;
    text-align: center;
    position: relative;
    width: fit-content;
    margin: 0 auto 30px;
}
.drink_title p {
    font-size: clamp(20px, calc(-15.56px + 3.47vw), 40px);
    text-align: center;
    line-height: 1.4;
    width: fit-content;
    margin: 0 auto;
    border-bottom: 2px solid #fff;
}
h4.drink_title::before {
    content: "";
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/title_icon_left.webp)no-repeat;
    width: 96px;
    height: 70px;
    background-size: 96px;
    display: block;
    position: absolute;
    left: -100%;
    bottom: 0;
}
h4.drink_title::after {
    content: "";
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/title_icon_right.webp)no-repeat;
    width: 95px;
    height: 78px;
    background-size: 96px;
    display: block;
    position: absolute;
    right: -100%;
    top: 0;
}  
    @media (max-width:559px) {
        .drink_title {
    margin: 0 auto 20px;
}
        h4.drink_title::before {
    content: "";
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/title_icon_left.webp)no-repeat;
    width: 75px;
    height: 55px;
    background-size: 75px;
    display: block;
    position: absolute;
    left: -70%;
    bottom: 0;
}
        h4.drink_title::after {
    content: "";
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/title_icon_right.webp)no-repeat;
    width: 55px;
    height: 46px;
    background-size: 55px;
    display: block;
    position: absolute;
    right: -70%;
    top: 0;
}
    }
/* ======================================
  card
====================================== */
.overview__inner.food__inner p.sub_title {
    font-size: clamp(16px, calc(7.11px + 0.87vw), 21px);
    font-weight: 900;
    margin: 15px 0 5px;
}
/* ======================================
  section
====================================== */
.content_section{
   overflow: hidden;
}
.content_section.bg01 {
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/lottery/bg1.webp);
    background-size: cover;
    padding: 30px 40px;
}
.content_section.bg01:last-of-type {
    padding: 30px 40px 60px;
}
.content_section.bg02 {
    background: #ff648c url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/bg.webp);
    background-size: contain;
    padding: 0 40px 30px;
}
.content_section.bg03 {
    background: #46afc8 url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/bg.webp);
    background-size: contain;
    padding: 0 40px 30px;
}
.content_section.bg04 {
    background: rgba(255, 209, 0, 0.5) url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/bg.webp);
    background-size: contain;

    padding: 0 40px 30px;
}
.content_section.bg05 {
    background: #ff8200 url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/reserve-food-drink/bg.webp);
    background-size: contain;
    padding: 0 40px 30px;
}
@media (max-width:559px) {
    .content_section.bg01 {
    background: url(https://gigaplus.makeshop.jp/faves2023/img/sondaki/lottery/bg1_sp.webp);
    background-size: cover;
    padding: 20px;
}
.content_section.bg01:last-of-type {
    padding: 30px 20px 40px;
}
.content_section.bg02 {
    padding: 0 20px 30px;
}
.content_section.bg03,.content_section.bg04,.content_section.bg05 {
    padding: 0 20px 0;
}

}
/* ======================================
  Visual
====================================== */
        .dream__visu {
          padding-bottom: 15px;
        }

        .dream__visuprice {
          font-size: 25px;
          font-weight: 700;
          margin: -10px 0 30px;
        }

        .myring-nav {
          position: relative;
        }

        .swiper-button-prev {
          position: absolute;
        }


        .dream__inner {
            margin:0 0 20px;
          padding: 20px 0 0;
          width: 100%;
        }

        .dretext {
          color: #fff;
          font-size: 24px;
          text-align: center;
        }





/* ======================================
  Swiper (myring slider)
====================================== */
        .dream__infocardfigure {
          width: 100%;
        }

        .dream__infocardfigure img {
          width: 100%;
          height: 100%;
          object-fit: contain;
          display: block;
        }



        .dream__infocardfigure img {
          width: 100%;
          height: auto !important;
          display: block;
        }


        .swiper,
        .swiper-container,
        .slider-wrap {
          overflow: hidden;
          max-width: 100%;
        }

        .swiper-container {
          width: 100%;
          height: auto;
        }

        .swiper-slide {
          display: flex;
          justify-content: center;
          align-items: center;
          height: auto;
          flex-direction: column;
        }


        .swiper-button-next {
          right: -15px;
          top: -180px;
        }

        .swiper-button-prev {
          left: -15px;
          top: -180px;
        }

        .swiper-button-next,
        .swiper-button-prev {
          width: 30px;
          height: 30px;
        }

        .swiper-button-next {
          background-image: url(https://gigaplus.makeshop.jp/faves2023/img/paint/next.svg);
        }

        .swiper-button-prev {
          background-image: url(https://gigaplus.makeshop.jp/faves2023/img/paint/prev.svg);
        }

        .swiper-button-next::after,
        .swiper-button-prev::after {
          font-size: 20px;
        }

        .sp__inner {
          position: relative;
          text-align: center;
        }

/* ======================================
  GOODS (ここが重要：リンク構造に合わせて指定)
====================================== */
        .myring_goods {
          text-align: center;
          margin: 20px 0;
        }

        .myring_goods .pink {
          font-size: 25px;
          margin: 0 0 30px;
        }

        /* a がグリッドの「1アイテム」になるように */
        .myring_goods .goodsbox a {
          display: block;
          text-decoration: none;
          color: inherit;
        }

        .myring_goods .goodsbox figure.goods_name {
          margin: 0;
        }

        .myring_goods .goodsbox img {
          width: 100%;
          height: auto;
          display: block;
        }

        .myring_goods .goodsbox .nametext {
          margin: 10px 0 0;
          color: #fff;
          line-height: 1.4;
          font-weight: 600;
        }

        .myring_goods .goodsbox .nametext span {
          font-size: 11px;
          margin-bottom: 5px;
          display: inline-block;
        }
/* ======================================
  Responsive (SP)
====================================== */
        @media (max-width:559px) {
          .dream__mv img {
            margin-top: 0;
          }

          .dream__logo {
            padding-block: 0 5px;
          }

          .dream__logo img {
            width: 325px;
            height: auto;
          }

.dream__infotext {
    text-align: center;
    margin: 20px 0;
    font-size: 16px;
    padding: 0;
    width: 100vw;
    left: -20px;
    position: relative;
}

          .dream__wrap {
    background-size: contain;
    padding: 0;
}

          .dream__visuprice {
            font-size: 16px;
            margin: 10px 0 20px;
          }


          .dretext {
            font-size: 18px;
          }

          .dream__inner {
            padding-top: 0;
            ;
          }


          /* GOODS：SP 2列 */
          .myring_goods {
    padding: 0;
    margin: 10px 0 0;
    text-align: left;
    font-size: 12px;
}

          .myring_goods .goodsbox {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px 9px;
            max-width: 100%;
            margin: 10px auto;
            padding: 0 0 20px;
            align-items: start;
          }

          .myring_goods .goodsbox .nametext {
            font-size: 13px;
            margin-top: 8px;
          }

          .stext {
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    display: inline-block;
    margin-top: 5px;
              line-height: 1.5;
}

          .pink {
            width: 100%;
            font-size: 15px;
          }

          .recommend {
            display: flex;
            flex-direction: column;
            text-align: center;
            margin: 10px 0;
          }

          .recommend img {
            width: 100%;
          }

          .butten_area a img {
            width: 80%;
          }

          .swiper-container {
            overflow: hidden;
          }

          .blue_title {
            padding: 9px 0 17px;
            font-size: 36px;
          }

        }

/* ======================================
  Responsive (PC)
====================================== */
        @media (min-width:560px) {
.stext {
    font-size: 14px;
    margin: 0 auto -29px;
    display: block;
    font-weight: normal;
}

          .dream__infotext {
            margin: 30px;
          }

          .pink {
            padding: 0 35%;
          }

          .recommend {
            display: flex;
            justify-content: center;
            text-align: center;
          }

          .recommend picture,
          .recommend img {
            width: 100%;
            vertical-align: top;
          }

          /* GOODS：PC 3列 */
          .myring_goods .goodsbox {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px 30px;
            max-width: 1000px;
            margin: 30px auto;
            padding: 0 100px 40px;
            align-items: start;
          }

          .butten_area a img {
            width: 40%;
          }


          .complete {
            padding: 30px 0;
          }

        }



        /*ここまで*/
        .product-wrap {
          margin-bottom: 0;
          border: none;
        }

        .swiper-slide img {
          aspect-ratio: 320 / 347.84;
        }

        .dretext {
          background: #566F91;
          margin: 0;
        }

        .butten_area {
          background: #9BAABE;
        }

        .myring-nav {
          height: 0;
        }

        .swiper-container {
          background: #566F91;
          background: linear-gradient(180deg, rgba(86, 111, 145, 1) 0%, rgba(155, 170, 190, 1) 50%);
        }

        .myring_goods .goodsbox .nametext {
          text-align: left;
        }
  