@charset "utf-8";
/* CSS Document */

.fadein {
    opacity: 0;
    transform: translate(0, 30px);
    transition: all 1500ms;
}

.fadein2 {
    opacity: 0;
    transform: translate(0, 0);
    transition: all 1500ms;
}

.fadein3 {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 3000ms;
}

.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}


/*-------------------
ファッションコレクション2026
-------------------*/

body.contest2610 #contents .inner {
    padding: 0;
}

body.contest2610 #contents .kv {
    width: 100%;
    position: relative;
}

body.contest2610 #contents .kv h2 {
    padding: 0;
}

body.contest2610 #contents .kv p {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    position: absolute;
    top: 65%;
    z-index: 10;
    right: 0;
    left: 0;
    margin: auto;
}

body.contest2610 #contents .kv p span {
    font-size: 45px;
    padding: 0 10px;
}

body.contest2610 #contents p em {
    color: #db2c5a;
}

body.contest2610 #contents .contents-main-inner {
    position: relative;
    z-index: 10;
}

body.contest2610 #contents .contents-main-inner div.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

body.contest2610 #contents .contents-main-inner > p {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 2rem;
    position: relative;
    top: 0;
    padding: 5px 30px 0;
}

body.contest2610 #contents .contents-main-inner > p span {
    font-size: 14px;
    font-weight: normal;
    display: block;
    line-height: 1.3rem;
    margin-top: 20px;
}


/* ランキング */

body.contest2610 #contents .contents-main-inner section.rank_cont {
    padding: 20px;
    max-width: 800px;
    margin: auto;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div {
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
}


/* ランキング画像 */

body.contest2610 #contents .contents-main-inner section.rank_cont > div h3 {
    width: 45%;
    margin: 0 auto 20px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div {
    width: 100%;
    margin: auto;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div > div p {
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div > div p > span span {
    font-size: 30px;
    padding: 0 5px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div a.shoplogo {
    display: block;
    aspect-ratio: 2 / 1;
    max-height: 50px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div figure {
    display: block;
    aspect-ratio: 1 / 1;
    background: #eee;
    padding: 0;
    margin: 15px 0;
}


/* 詳細 */

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div div.detail > a {
    display: block;
    font-weight: bold;
    font-size: 18px;
    padding-bottom: 5px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div div.detail > a span {
    display: block;
    font-size: 14px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div div.detail div {
    font-weight: bold;
    margin: 10px auto;
    font-size: 16px;
    border-top: dashed 1px #000;
    padding: 15px 0;
    line-height: 1rem;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div div.detail div span {
    padding-top: 5px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div > div div.detail div a {
    padding: 5px 20px;
    background: #000;
    color: #fff;
    border-radius: 50px;
    font-size: 13px;
}


/* リスト */

body.contest2610 #contents .contents-main-inner section.rank_cont > div ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


body.contest2610 #contents .contents-main-inner section.rank_cont > div ul li {
    background: #d9eddc;
    padding: 20px;
    border-radius: 10px;
    font-size: 14px;
}

body.contest2610 #contents .contents-main-inner section.rank_cont > div ul li:nth-child(odd) {
    background: #fff9d9;
}


body.contest2610 #contents .thank_txt {
    text-align: center;
    font-size: 20px;
    line-height: 1.8rem;
    font-weight: bold;
    position: absolute;
    top: 73%;
    z-index: 10;
    right: 0;
    left: 0;
    margin: auto;
}

body.contest2610 #contents .thank_txt span {
    font-weight: normal;
    font-size: 16px;
    display: block;
    line-height: 1.6rem;
    margin-top: 20px;
}


/*-------------------
SPのみ
-------------------*/
/*body.contest2610.sp #contents .kv {
    height:570px;
}
body.contest2610.sp #contents .kv p {
    top: 50%;
}
body.contest2610.sp #contents .thank_txt {
    font-size: 18px;
    line-height: 1.6rem;
    top: 58%;
    padding: 0 20px 20px;
    max-width: 800px;
    margin: 0 19px;
    background: #fff;
    border-radius: 0 0 15px 15px;
}

body.contest2610.sp #contents .thank_txt span {
    font-size: 14px;
    display: block;
    line-height: 1.4rem;
    margin-top: 10px;
}*/
/*-------------------
SPのみ　修正
-------------------*/
body.contest2610.sp #contents .kv {
    height: auto;
}
body.contest2610.sp #contents .kv p {
    position: relative;   /* 追加:absolute解除 */
    top: auto;            /* 変更:50% → auto */
    margin-top: -72%;     /* 追加:画像の上に引き上げ */
    font-size: 22px;      /* 追加 */
}
body.contest2610.sp #contents .kv p span {   /* 追加:ブロックごと */
    font-size: 38px;
    padding: 0 5px;
}
body.contest2610.sp #contents .thank_txt {
    position: relative;   /* 追加:票数のすぐ下に続くように */
    top: auto;            /* 変更:58% → auto */
    font-size: 18px;
    line-height: 1.6rem;
    padding: 10px 20px 20px;   /* 変更:上に10px */
    max-width: 800px;
    margin: 0 4.3%;            /* 変更:19px → 4.3% */
    background: #fff;
    border-radius: 0 0 15px 15px;
}

body.contest2610.sp #contents .thank_txt span {
    font-size: 14px;
    display: block;
    line-height: 1.4rem;
    margin-top: 10px;
}

/* 画像を「803票！」の少し下で切る */
body.contest2610.sp #contents .kv h2 {
    aspect-ratio: 1 / 0.85;   /* 高さ＝幅の85%で切り取り */
    overflow: hidden;
}

/* 票数:切った画像の下端から引き上げ */
body.contest2610.sp #contents .kv p {
    position: relative;
    top: auto;
    margin-top: -15%;   /* 画像を切ったので -72% → -15% に変更 */
    font-size: 22px;
}
body.contest2610.sp #contents .kv p span {
    font-size: 38px;
    padding: 0 5px;
}

/* 文章の白枠 */
body.contest2610.sp #contents .thank_txt {
    position: relative;
    top: auto;
    z-index: 10;
    margin: 0 5%;       /* 4.3% → 5% */
    padding: 10px 20px 20px;
}

/*-------------------
共通
-------------------*/

body.contest2610 #contents .inner {
    padding-left: 0;
    padding-right: 0;
    position: relative;
    overflow: unset;
    /* margin-top: -360px; */
    background: #83cac7;
    background-image:
        linear-gradient(
            to right,
            rgba(255, 255, 255, 0.3) 1px,
            transparent 1px
        ),
        linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.3) 1px,
            transparent 1px
        );
    background-size: 30px 30px;
}


/*-------------------
PCのみ
-------------------*/

body.contest2610.pc #contents .inner #contents-main {
    position: relative;
}

body.contest2610.pc section.main-section {
    margin: auto;
    position: relative;
}

body.contest2610.pc #contents .kv {
    margin-bottom: 0;
}

body.contest2610.pc #contents .kv p {
    font-size: 40px;
}

body.contest2610.pc #contents .kv p span {
    font-size: 60px;
    padding: 0 10px;
}

body.contest2610.pc #contents .contents-main-inner::before {
    top: -20px;
}

body.contest2610.pc #contents .contents-main-inner > p {
    font-size: 26px;
    font-weight: bold;
    line-height: 2.6rem;
    padding-top: 0;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont {
    max-width: 880px;
    margin: auto;
    width: 882px;
    top: -140px;
    margin-bottom: 0;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div {
    background: #fff;
    border-radius: 15px;
    padding: 30px 20px;
}


/* ランキング画像 */

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div h3 {
    width: 45%;
    margin: 0 auto 20px;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div > div {
    width: 50%;
    margin: auto;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div > div p {
    font-size: 26px;
    align-items: end;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div > div p span span {
    font-size: 40px;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div ul {
    /*flex-direction: column;
    flex-wrap: wrap;
    height: 300px;*/
    /*以下追加*/
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
}

body.contest2610.pc #contents .contents-main-inner section.rank_cont > div ul li {
    /*width: calc(100% / 2 - 10px);*/
    box-sizing: border-box;
    flex: 1 1 80px;
    /*以下追加*/
    display: flex;
    align-items: center;
}