/* =========================
   Decoration
========================= */

.section {
    position: relative;
    overflow: visible;
}

/* 装飾共通 */
.deco {
    position: absolute;
    display: block;

    width: auto;
    height: auto;

    pointer-events: none;
    user-select: none;
}

/* 背面装飾 */
.deco--back {
    z-index: 1;
}

/* 背景に乗算する装飾 */
.deco--multiply {
    z-index: 1;
    mix-blend-mode: multiply;
}

/* 前面装飾 */
.deco--front {
    z-index: 3;
}

.deco--front-top {
    z-index: 12;
}

/* コンテンツ */
.section > .section-title,
.section > .inner {
    position: relative;
    z-index: 10;
}


/* =========================
   FV
========================= */

.fv {
    position: relative;
    overflow: visible;
}

/* FV内コンテンツ */
.fv > .inner {
    position: relative;
    z-index: 10;
}


/* =========================
   個別設定
========================= */


/* ---------- FV 上部右 ---------- */

.fv_ornament_Rtop {
    width: calc(500px * var(--font-scale));
    max-width: 35%;

    right: calc(-25px * var(--font-scale));
    top: calc(100px * var(--font-scale));
}


/* ---------- FV 上部左 ---------- */

.fv_ornament_Ltop {
    width: calc(300px * var(--font-scale));
    max-width: 30%;

    left: calc(40px * var(--font-scale));
    top: calc(400px * var(--font-scale));
}


/* ---------- FV 右キラキラ大 ---------- */

.fv_Rkirakira_big {
    width: calc(800px * var(--font-scale));
    max-width: 40%;

    right: calc(-150px * var(--font-scale));
    top: calc(600px * var(--font-scale));
}


/* ---------- FV 左キラキラ小 ---------- */

.fv_Lkirakira_small {
    width: calc(300px * var(--font-scale));
    max-width: 30%;

    left: calc(100px * var(--font-scale));
    top: calc(700px * var(--font-scale));
}


/* ---------- FV 左キラキラ小 2 ---------- */

.fv_Lkirakira_small_2 {
    width: calc(300px * var(--font-scale));
    max-width: 30%;

    left: calc(-10px * var(--font-scale));
    bottom: calc(500px * var(--font-scale));
}


/* ---------- FV 左キラキラ小 3 ---------- */

.fv_Lkirakira_small_3 {
    width: calc(300px * var(--font-scale));
    max-width: 20%;

    right: calc(25px * var(--font-scale));
    bottom: calc(-150px * var(--font-scale));
}


/* ---------- FV 左キラキラ大 ---------- */

.fv_Lkirakira_big {
    width: calc(800px * var(--font-scale));
    max-width: 60%;

    left: calc(-150px * var(--font-scale));
    bottom: calc(-700px * var(--font-scale));
}


/* ---------- 開催期間 右 ---------- */

.deco_period_R {
    width: calc(400px * var(--font-scale));
    max-width: 30%;

    right: calc(10px * var(--font-scale));
    top: calc(250px * var(--font-scale));
}


/* ---------- 開催期間 左 ---------- */

.deco_period_L {
    width: calc(400px * var(--font-scale));
    max-width: 30%;

    left: calc(15px * var(--font-scale));
    top: calc(500px * var(--font-scale));
}

.period_deco_kirakira_1
{
    width: calc(250px * var(--font-scale));
    max-width: 30%;

    right: calc(300px * var(--font-scale));
    top: calc(400px * var(--font-scale));
}
.period_kirakira_1
{
    width: calc(800px * var(--font-scale));
    max-width: 35%;

    right: calc(-50px * var(--font-scale));
    top: calc(650px * var(--font-scale));
}
.period_ornament_1
{
    width: calc(250px * var(--font-scale));
    max-width: 20%;
    left: calc(50px * var(--font-scale));
    top: calc(1300px * var(--font-scale));
}
.period_kirakira_2
{
    width: calc(600px * var(--font-scale));
    max-width: 20%;

    left: calc(25px * var(--font-scale));
    bottom: calc(-50px * var(--font-scale));
}

/* ---------- 景品紹介 ---------- */
.prize_ornament_1
{
    width: calc(200px * var(--font-scale));
    max-width: 20%;
    left: calc(150px * var(--font-scale));
    top: calc(300px * var(--font-scale));
}
.prize_period_L
{
    width: calc(350px * var(--font-scale));
    max-width: 30%;
    right: calc(5px * var(--font-scale));
    top: calc(700px * var(--font-scale));
}
.prize_period_R
{
    width: calc(350px * var(--font-scale));
    max-width: 30%;
    left: calc(5px * var(--font-scale));
    top: calc(800px * var(--font-scale));
}
.prize_kirakira_small
{
    width: calc(250px * var(--font-scale));
    max-width: 30%;
    right: calc(50px * var(--font-scale));
    top: calc(1300px * var(--font-scale));
}
.prize_ornament_2
{
    width: calc(400px * var(--font-scale));
    max-width: 35%;
    left: calc(-50px * var(--font-scale));
    bottom: 0;
}
.prize_ornament_1_2
{
    width: calc(200px * var(--font-scale));
    max-width: 20%;
    right: calc(200px * var(--font-scale));
    bottom: calc(50px * var(--font-scale));
}

/* ---------- 参加方法 ---------- */
.howto_period_R
{
    width: calc(350px * var(--font-scale));
    max-width: 30%;
    right: calc(5px * var(--font-scale));
    top: calc(300px * var(--font-scale));
}
.howto_kirakira_small
{
    width: calc(250px * var(--font-scale));
    max-width: 20%;
    left: calc(50px * var(--font-scale));
    top: calc(500px * var(--font-scale));
}
.howto_period_L
{
    width: calc(300px * var(--font-scale));
    max-width: 30%;
    left: calc(15px * var(--font-scale));
    top: calc(1000px * var(--font-scale));
}
.howto_Lkirakira_big
{
    width: calc(800px * var(--font-scale));
    max-width: 35%;
    left: calc(50px * var(--font-scale));
    top: calc(1350px * var(--font-scale));
}
.howto_ornament_1
{
    width: calc(200px * var(--font-scale));
    max-width: 20%;
    right: calc(150px * var(--font-scale));
    top: calc(1300px * var(--font-scale));
}
.howto_kirakira
{
    width: calc(600px * var(--font-scale));
    max-width: 20%;
    right: calc(25px * var(--font-scale));
    bottom: calc(-50px * var(--font-scale));
}

/*応募手順*/
.step_L
{
    width: calc(400px * var(--font-scale));
    max-width: 25%;
    left: calc(25px * var(--font-scale));
    top: calc(200px * var(--font-scale));
}
.step_R
{
    width: calc(400px * var(--font-scale));
    max-width: 25%;
    right: calc(25px * var(--font-scale));
    bottom: calc(-100px * var(--font-scale));
}


/*スポット*/
.spot_kirakira_small
{
    width: calc(250px * var(--font-scale));
    max-width: 25%;
    left: calc(25px * var(--font-scale));
    top: calc(250px * var(--font-scale));
}
.spot_period_R
{
    width: calc(400px * var(--font-scale));
    max-width: 35%;
    left: calc(80px * var(--font-scale));
    top: calc(800px * var(--font-scale));
}
.spot_period_L
{
    width: calc(400px * var(--font-scale));
    max-width: 35%;
    right: calc(-5px * var(--font-scale));
    top: calc(300px * var(--font-scale));
}
.spot_kirakira_small_2
{
    width: calc(250px * var(--font-scale));
    max-width: 25%;
    right: calc(25px * var(--font-scale));
    top: calc(850px * var(--font-scale));
}

/*CLAMPについて*/
.about_kirakira_small
{
    width: calc(350px * var(--font-scale));
    max-width: 25%;
    right: calc(25px * var(--font-scale));
    top: calc(200px * var(--font-scale));
}
.about_kirakira_small_2
{
    width: calc(350px * var(--font-scale));
    max-width: 25%;
    left: calc(50px * var(--font-scale));
    top: calc(500px * var(--font-scale));
}
.about_period_R
{
    width: calc(400px * var(--font-scale));
    max-width: 35%;
    right: calc(100px * var(--font-scale));
    top: calc(800px * var(--font-scale));
}
.about_ornament_1
{
    width: calc(200px * var(--font-scale));
    max-width: 20%;
    left: calc(15% * var(--font-scale));
    top: calc(1300px * var(--font-scale));
}
.about_kirakira_small_3
{
    width: calc(450px * var(--font-scale));
    max-width: 25%;
    right: calc(50px * var(--font-scale));
    bottom: calc(150px * var(--font-scale));
}

/*フッター*/
.footer_L
{
    width: calc(450px * var(--font-scale));
    max-width: 25%;
    left: calc(50px * var(--font-scale));
    top: calc(-150px * var(--font-scale));
}
.ornament_footer
{
    width: calc(400px * var(--font-scale));
    max-width: 35%;
    left: calc(80px * var(--font-scale));
    top: calc(500px * var(--font-scale));
}
.kirakira_footer
{
    width: calc(300px * var(--font-scale));
    max-width: 30%;
    right: calc(50px * var(--font-scale));
    top: calc(400px * var(--font-scale));
}
.footer_ornament_1
{
    width: calc(200px * var(--font-scale));
    max-width: 20%;
    right: calc(150px * var(--font-scale));
    bottom:calc(200px * var(--font-scale));
}
