* {
    padding: 0;
    margin: 0;
}

:root{
    --Hello_Blue: #4f8bc2;
}

.strikethrough {
    text-decoration: line-through;
}

.br_on {
    display: none;
}

.mobile {
    display: none;
}

[v-cloak] {
    display: none;
}


.header {
    width:100%;
    max-width:720px;
    overflow-x: scroll;
	dl {
		display: inline-block;
		width: 19%;
		margin: 0;
		text-align: center;
	}
	dt {
		padding: 10px 0;
		background-color: #5c87a6;
		font-size: 12px;
		color: #ffffff;
	}
	dd {
		padding: 10px 20px;
		margin-left: 0;
		background-color: #f1f1f1;
		font-size: 10px;
	}
}
.list {
    width:100%;
    max-width:720px;
    overflow-x: scroll;
	dl {
		display: inline-block;
		width: 19%;
		margin: 2px auto;
		text-align: center;
	}
	dt {
		padding: 10px 20px;
		font-size: 12px;
		color: #ffffff;
	}
	dd {
		padding: 10px 0;
		margin-left: 0;
		font-size: 12px;
        display: flex;
    align-items: center;
    justify-content: center;
	}
}


.news-alert {
    padding:4vh 2vw;
    text-align: center;
    font-size: 1.5em;
    font-weight:bold;
    text-shadow: 0 0 20px #48c8ff;
    background: rgb(60, 81, 131, 0.99);
    border-radius: 10px;
    box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.4);
}

.news-alert:nth-child(1) {
    margin-bottom:2vh;
}

.alert-message {
    position:fixed;
    z-index:999;
    bottom:1%;
    
    right:2%;
    .top {
        color: #3def69;
    }
    .bottom {
        color: #f6fc3a;
    }
}

.modal {
    .message {
        .title {
            background:rgba(210, 210, 210,0.6);
            h4 {
                font-size: 1em;
                text-align: center;
                line-height: 2em;
                margin-bottom: 6vh;
            }
        }
        ul.entrants {
            list-style-type: none;
            padding:0;
            li {
                font-size: 0.8em;
                line-height: 2em;
                span {
                    color:rgb(108, 86, 86);
                }
            }
        }
        p {
            font-size: 0.8em;
            line-height: 2em;
        }
        p.text-p {
            font-size: 0.9em;
        }
    }
    .close-modal {
        padding:5px 10px;
        color:#fff;
        background:#2f1764;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
    }
    .short-message {
        margin-top: 2vh;
        border-top: 1px solid rgb(188, 188, 188);
        padding-top: 3vh;
    }
}

.news {
    padding:6vh 0;
    h3 {
        font-size: 1.15em;
        text-decoration: underline;
        text-align: center;
        margin-bottom:3vh;
    }
    p.align-right {
        text-align: right;
    }
    p {
        line-height: 2em;
    }
}


.anchor {
    scroll-margin-top: calc(90px + 2.5em);
}

body {
    font-family: "Noto Sans JP", sans-serif !important;
    scroll-behavior: smooth;
}

.bg-kmax {
    background-color: transparent !important;
    transition: 0.5s ease-in;
}


.small-smph-connect {
    display: block;
}

@keyframes entry_btn {
    0%{
        filter: brightness(100%);
    }
    50%{
        filter: brightness(120%);
    }
    100%{
        filter: brightness(100%);
    }
}
.register {
  position:fixed;
  bottom: 0;
  right: 0;
  z-index:99999;
  display: none;
  a {
    color: #fff;
    text-decoration: none;
    font-family: 'Noto Sans JP';
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 0.5em 0.6em 0.5em 1.7em;
    background: linear-gradient(-90deg, #eb5331, #950b04);
    background: linear-gradient(-90deg, #d079a7, #0ba2db);
    clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
    display: block;
    font-size: 2vw;
    animation: entry_btn 2s infinite;
    transition: .3s;
    filter: brightness(1);
    text-shadow: 1px 1px #555;
    &:hover {
        filter: brightness(1.3);
        animation: unset;
        color: #fff;
    }
  }
  p {
    color:rgb(66,66,66);
    color:#fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    font-size: 0.8em;
    font-weight: bold;
    margin:0;
  }
}
@media screen and (max-width:790px) {
    .register {
        a {
          font-size: 5vw;
        }
      }
}

.bottomMenu {
    position: fixed;
    bottom: 0%;
    right: 0%;
    left: 0;
    z-index: 99999;
    color: #fff;
    .banner-left {
        background: rgba(21, 96, 172, 0.6);
    }
    .banner-right {
        background: rgb(211, 101, 5, 0.6);
    }
}

.smph_br {
    display: none;
}

.confetti-box {
    background: linear-gradient(to bottom, #8f0b57 60%, #eadf33 100%);
    color: #fff;
}



.main-title {
    padding-top: 4vh;
    h4 {
        font-size: 3em;
        font-weight: bolder;
        text-align: center;
        color: rgb(156, 10, 10);
        -webkit-text-stroke: 1px rgb(255, 255, 255);
    }
    h5 {
        color:rgb(4, 42, 111);
        text-shadow: 1px 3px 3px #fff;
        margin:3vh auto;
        font-weight: bold;
        font-size: 2.5em;
        padding:5px 10px;
        span {
            font-size: 1.5em;
            padding:5px 20px;
            background: linear-gradient(140deg, rgba(253,231,21,1) 0%, rgba(237,137,10,1) 100%);
            border:3px solid rgb(255, 255, 255);
            box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.4);
        }
    }

    h2 {
        line-height: 1.8em;
        strong {
            font-size: 1.25em;
        }
        span {
            font-size: 0.9em;
        }
    }
    h2.top {
      font-weight: bold;
      margin-bottom: 6vh;
    }
    h3 {
        font-size: 3.5em;
        font-family: "Oswald", sans-serif;
        span {
            writing-mode: vertical-rl;
            text-orientation: upright;
            font-size: 8px;
            padding-left: 8px;
        }
    }
}

.sect01 {
    padding: 8vh 0;
    h5 {
        color:rgb(190, 54, 54);
        font-size: 1em;
        line-height: 1.5em;
    }
    .dark {
        background: rgb(12, 22, 49);
        padding: 3vh 0;
        width: 95%;
        margin: 0 auto;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
        grid-template-columns: max-content auto;
        grid-template-rows: auto max-content;
        background-size: cover;
        color: white;
        p {
            font-size: 1.25em;
            text-shadow: 0 0 20px #48c8ff;
        }
        #timer {
            font-size: 3em;
            font-weight: 100;
            color: white;
            text-shadow: 0 0 20px #48c8ff;
            text-align: center;

            div {
                display: inline-block;
                width: 1.8em;
                span {
                    color: #b1cdf1;
                    display: block;
                    font-size: 0.3em;
                    font-weight: 400;
                }
            }
        }
    }
}

.sect01 .dark {
    background: #fff;
    color: var(--Hello_Blue);
    width: 95%;
    clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
}
.sect01 .dark p,
.sect01 .dark #timer {
    color: var(--Hello_Blue);
    font-size: 1.25em;
    text-shadow: unset;
}

.main {
    padding: 5vh 0 0;
    background: linear-gradient(rgba(255, 255, 255, 1),rgba(255, 255, 255, 95%), rgb(255 226 240 / 90%)), url(../images/2025/kami1-2025_emblem.png) no-repeat;
    background-position: center;
    background-size: 40%;
    background-attachment: fixed;
    .sect02 {
        padding: 4vh 0;
        .inner-nav {
            padding: 0;
            list-style-type: none;
            li {
                display: inline-block;
                margin: 0 10px;
            }
        }
        .heading {
            h3 {
                margin: 3vh auto;
                line-height: 1.5em;
                span {
                    color: rgb(175, 2, 2);
                    strong {
                        font-size: 1.5em;
                        padding: 0 5px;
                    }
                }
            }
            p.body {
                line-height: 2em;
                font-size: 1em;
                span {
                    font-size: 1.25em;
                    font-weight: 800;
                }
                .title {
                    color: rgb(174 43 118);
                }
            }
            .video-area {
                padding:4vh 0 0;
                video {
                    width: 100% !important;
                    height: auto !important;
                }
            }
        }
    }

    .sect03 {
        padding: 4vh 0;
        .qualifications {
            .qualification-list {
                ul {
                    list-style: square;
                    margin: 4vh 0;
                    li {
                        line-height: 1.5em;
                        font-size: 1.25em;
                    }
                }
            }
            .body {
                ul {
                    li {
                        font-size: 0.9em;
                        line-height: 2em;
                    }
                }
            }
        }
    }

    .sect04 {
        padding: 4vh 0;
        .entry {
            .entry-qual {
                ul {
                    list-style-type: none;
                    margin: 4vh 0;
                    padding:0;
                    li {
                        line-height: 1.5em;
                        font-size: 1.4em;
                        color: #333;
                        font-weight: 600;
                        span {
                          font-size: 0.9em;
                        }
                    }
                }
            }
            .body {
                ul {
                    li {
                        font-size: 0.9em;
                    }
                }
            }
        }
    }

    .sect05 {
        padding: 4vh 0;
        .steps-to-enter {
            h3 {
                font-size: 1.25em;
                margin: 4vh auto 2vh;
                line-height: 2em;
                span {
                    font-size: 2em;
                    font-weight: 400;
                    color: rgb(70, 70, 70);
                    padding: 0 5px;
                }
            }
            p {
                font-size: 0.9em;
                margin-top: 10px;
            }
        }
        .steps {
            h4 {
                color: red;
                font-size: 10em;
            }
            .content {
                margin-top: 3vh;
                height: 100%;
                border-radius: 0.3em;
                filter: drop-shadow(2px 2px 2px #999);
                background: var(--Hello_Blue);
                color: #fff;
                position: relative;
                .steps-title {
                    position: absolute;
                    top: -1em;
                    left: -0.5em;
                    padding: 0.1em 1em 0.3em;
                    background: rgb(235, 123, 7);
                    background: linear-gradient(140deg, rgb(235, 123, 7) 0%, rgb(253, 230, 22) 66%);
                    border-radius: 0.3em;
                    transform: rotate(-10deg);
                    color: #fff;
                    text-shadow: 1px 1px 0px #999;
                }
                .img-area {
                    background: rgb(255, 255, 255);
                    padding-top: 20px;
                    border-radius: 0.3em 0 0 0.3em;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    img {
                        padding-bottom: 20px;
                    }
                    video {
                        width: 100% !important;
                        height: auto !important;
                    }
                }
                .text-area {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    p {
                        font-size: 0.8em;
                        padding: 20px 10px 10px;
                        margin-bottom: 0;
                        strong {
                            font-size: 1.2vw;
                            width: 100%;
                            display: block;
                            text-align: center;
                        }
                    }
                }
            }
        }
    }

    .sect06 {
        .requirements {
            .requirement-table {
                h3 {
                    font-size: 2.5vw;
                    margin: 4vh auto 2vh;
                    line-height: 2em;
                    span {
                        font-size: 2em;
                    }
                }

                .schedule-row,
                .req-row {
                    border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
                    &:nth-child(odd) {
                        border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
                    }
                    &:nth-last-child(1) {
                        border-bottom: none;
                    }
                    video {
                        width: 100% !important;
                        height: auto !important;
                    }
                    .title {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        h4 {
                            font-size: 1em;
                            text-align: center;
                            font-weight: bold;
                        }
                    }
                    .text {
                        justify-content: center;
                        p {
                            line-height: 1.8em;
                            margin-bottom: 0;
                            span {
                                font-size: 0.9em;
                                strong {
                                    color: rgb(185, 7, 7);
                                    padding: 0 5px;
                                }
                            }
                            em {
                              font-style: normal;
                              font-size: 0.9em;
                            }
                            .small {
                              font-size: 0.8em;
                              padding-top: 10px;
                            }
                        }
                        ul {
                            margin-top:10px;
                            li {
                                font-size: 0.8em;
                                span {
                                    font-weight: bold;
                                    color: rgb(185, 7, 7);
                                    em {
                                        font-style: normal;
                                        color:blue;
                                        font-size: 0.8em;
                                        padding:0 3px 0 5px;
                                    }
                                }
                            }
                        }
                    }
                }
                
                .schedule-row {
                    .stylist {
                        text-align: center;
                        h5 {
                            font-size: 6px;
                            margin-bottom: 0;
                        }
                        p {
                            font-size: 8px;
                        }
                    }
                }
                .req-row {
                    .notice {
                        border: 1px dashed rgba(50,50,50,0.8);
                        padding: 10px;
                        margin:2vh auto;
                        p {
                            margin-top: 0;
                            padding-top: 0;
                        }
                    }
                    
                    .other {
                        border: 1px solid rgba(0,0,255,0.7);
                    }
                }
            }
        }
    }
}

.footer {
    background-color: rgb(217, 217, 217);
    padding: 2vh 0 8vh;
    .container {
        .links {
            text-align: center;
            margin-bottom: 2vh;
            ul {
                list-style: none;
                padding: 0;
                margin: 0 auto;
                li {
                    font-size: 0.7em;
                    display: inline-block;
                    padding-right: 10px;
                    padding-left: 5px;
                    a {
                        text-decoration: none;
                    }
                    &:nth-last-child(1) {
                        border-right: none;
                        padding-right: 0;
                    }
                }
            }
        }
        h1 {
            font-size: 1em;
            text-align: center;
            font-weight: bold;
        }
        p {
            text-align: center;
            font-size: 0.8em;
            margin-bottom: 0;
        }
    }
}

@media screen and (max-width: 768px) {
    .sect06 {
        .requirements {
            .requirement-table {
                .schedule-row,
                .req-row {
                    &:nth-child(odd) {
                        border-bottom: none;
                    }
                    &:nth-last-child(1) {
                        border-bottom: none;
                    }
                    .title {
                        h4 {
                            font-size: 1em;
                            text-align: center;
                            font-weight: bold;
                            margin-bottom: 0;
                            padding: 1vh 0;
                        }
                    }
                    .text {
                        justify-content: center;
                        p {
                            margin-bottom: 0;
                            span {
                                font-size: 0.9em;
                                strong {
                                    color: rgb(185, 7, 7);
                                    padding: 0 5px;
                                }
                            }
                        }
                    }
                }
                .schedule-row {
                    .stylist {
                        text-align: center;
                        h5 {
                            font-size: 6px;
                            margin-bottom: 0;
                        }
                        p {
                            font-size: 8px;
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 576px) {

    .mobile-break {
        display: block;
    }
    .smph_br {
        display: block;
    }
    .br_on {
        display: block;
    }
    .main-title {
        h4 {
            font-size: 2.5em;
        }
    }

    .alert-message {
        left:2%;
    }
    .main {
        .sect05 {
            .steps {
                .content {
                    margin-top: 0;
                    .text-area {
                        p {
                            padding: 10px 3px;
                        }
                    }
                }
            }
        }
        .sect06 {
            .requirements {
                .requirement-table {
                    h3 {
                        font-size: 1.5em;
                        margin: 4vh auto 2vh;
                        line-height: 2em;
                        font-weight: bold;
                        span {
                            font-size: 2em;
                        }
                    }

                    .schedule-row,
                    .req-row {
                        border-bottom: none !important;
                        &:nth-child(odd) {
                            border-bottom: none;
                        }
                        &:nth-last-child(1) {
                            border-bottom: none;
                        }
                        .title {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-bottom: 1px dashed rgba(0, 0, 0, 0.4);
                            background: unset;
                            width: 90%;
                            margin: auto;
                            h4 {
                                font-size: 5vw;
                                text-align: center;
                                font-weight: bold;
                                color: #333;
                                margin-top: 1em;
                                margin-bottom: 0;
                                padding: 1vh 0;
                            }
                        }
                        .text {
                            justify-content: center;
                            p {
                                margin-bottom: 0;
                                font-size: 1.1em;
                                span {
                                    font-size: 1em;
                                    strong {
                                        color: rgb(185, 7, 7);
                                        padding: 0 5px;
                                    }
                                }
                            }
                        }
                    }
                    .schedule-row {
                        .stylist {
                            text-align: center;
                            h5 {
                                font-size: 7px;
                                margin-bottom: 0;
                            }
                            p {
                                font-size: 8px;
                            }
                        }
                    }
                    
                }
            }
        }
    }
}

@media screen and (max-width: 446px) {
    .sect01 {
        .dark {
            #timer {
                font-size: 2.5em;
            }
        }
    }
}

@media screen and (max-width: 428px) {
  .main-title {
    h2 {
      strong {
        font-size: 1em;
      }
    }
    h2.top {
      font-size: 1.5em;
    }
  }

  .small-smph-connect {
        display: none;
    }

  .main {
     .sect05 {
        .steps-to-enter {
            h3 {
                font-size: 1.25em;
                span {
                    font-size: 1.5em;
                    padding: 0 3px;
                }
            }
        }
    }
  }
}

@media screen and (max-width: 414px) {
    .main-title {
        h2.top {
            font-size: 1.3em;
        }
        h4 {
            font-size: 2.25em;
        }
        h5 {
            span {
                font-size: 1.25em;
            }
        }
    }



    .sect05 {
        .steps-to-enter {
            h3 {
                font-size: 1em;
                span {
                    font-size: 1.5em;
                    padding: 0 3px;
                }
            }
        }
    }
}

@media screen and (max-width: 400px) {

    .main-title {
        h4 {
            font-size: 2em;
        }
        h2 {
            font-size: 1.4em;
        }
        h2.top {
            font-size: 1.2em;
        }

    }


    .main {
        .sect02 {
            .heading {
                p.body {
                    font-size: 0.9em;
                }
            }
        }
        .sect03 {
            .qualifications {
                .qualification-list {
                    ul {
                        li {
                            font-size: 1em;
                        }
                    }
                }
            }
        }
        .sect04 {
            .entry {
                .entry-qual {
                    ul {
                        li {
                            font-size: 1.3em;
                        }
                    }
                }
            }
        }
        .sect05 {
        .steps-to-enter {
            h3 {
                font-size: 1em;
                span {
                    font-size: 1.5em;
                    padding: 0 3px;
                }
            }
        }
    }
    }
}

@media screen and (max-width: 414px) {
    .modal {
    .message {
        h4 {
            font-size: 1.25em;
            text-align: center;
        }
        ul.entrants {
            list-style-type: none;
            padding:0;
            li {
                font-size: 0.8em;
               
            }
        }
        p {
            font-size: 0.7em;
        }
    }
}
}

@media screen and (max-width: 385px) {
    .modal {
    .message {
        h4 {
            font-size: 1.25em;
            text-align: center;
        }
        ul.entrants {
            list-style-type: none;
            padding:0;
            li {
                font-size: 0.7em;
            }
        }
        p {
            font-size: 0.7em;
        }
    }
}

.main {
    .sect06 {
        .requirements {
            .requirement-table {               
                .schedule-row {
                    .stylist {
                        text-align: center;
                        h5 {
                            font-size: 6px;
                            margin-bottom: 0;
                        }
                        p {
                            font-size: 8px;
                        }
                    }
                }
                
            }
        }
    }
}
}

@media screen and (max-width: 378px) {
    .main-title {
        h2 {
            font-size: 1.25em;
        }
    }
    .sect01 {
        .dark {
            #timer {
                font-size: 2em;
                div {
                    min-width: 70px;
                }
            }
        }
    }
    .main {
        .sect03 {
            .qualifications {
                .qualification-list {
                    ul {
                        li {
                            font-size: 1em;
                        }
                    }
                }
            }
        }
        .sect04 {
            .entry {
                .entry-qual {
                    ul {
                        li {
                            font-size: 1em;
                            span {
                              font-size: 0.9em;
                            }
                        }
                    }
                }
            }
        }
        .sect05 {
          .steps-to-enter {
            h3 {
              font-size: 1em;
            }
          }
        }
    }
    .footer {
        .container {
            .links {
                ul {
                    li {
                        display: block;
                        border-right: none;
                        line-height: 2em;
                    }
                }
            }
        }
    }
}


/* 2024_add */
.sp_on{
    display: none;
}
.kami1-2024_catch{
    position: absolute;
    top: 4vh;
    margin-left: -57vh;
    filter: drop-shadow(2px 4px 6px #333);
    height: 54%;
    img{
        height: 100%;
    }
}
.kami1-2024_emblem{
    width: 34vh;
    display: block;
    margin: -43vh auto 0;
}
.kami1-2024_prize{
    width: 17vh;
    display: block;
    margin-top: -12vh;
    margin-right: -46vh;
}

.kami1-2024_deadline{
    padding: 3vh 0;
    width: 95%;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    color: #333333;
    width: 95%;
    clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
    h3{
        font-size: 1.2em;
        line-height: 2em;
        font-weight: 600;
        color: #333;
    }
}
#kami1-2024_count_down{
    color: #333;
    .cd_day,
    .cd_time{
        width: fit-content;
        margin: auto;
        small{
            font-size: 0.6em;
        }
    }
    .cd_day{
        font-size: 3vw;
    }
    .cd_time{
        font-size: 2vw;
    }
}

.kami1-2024_h2 {
    color: rgb(231 44 44);
    font-weight: 600;
    font-size: 2em;
    span {
        color: #333;
        position: relative;
    }
    span::before {
        content: "";
        position: absolute;
        top: 100%;
        width: calc(100% + 2em);
        left: -1.5em;
        height: 0.2em;
        clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
        background: linear-gradient(111.3deg, rgb(235 49 49) 9.6%, rgb(175 43 118) 93.6%);
    }
}

.kami1-2024_thema{
    font-size: 2.5vw;
    margin-top: 0.7em;
    font-weight: 600;
    text-shadow: 2px 3px #dcdcdc;
}

.kami1-2024_sample_movie .splide__slide {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.kami1-2024_sample_movie .splide__pagination__page.is-active {
    background: var(--Hello_Blue)!important;
}

.kami1-2024_schedule{
    width: 100%;
    margin: 5vw auto;
}

.kami1-2024_judges{
    margin: auto!important;
}

.kami1-2024_navarea{
    nav{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 1.5em;
        column-gap: 0em;
        width: 40em;
        margin: 3em auto;
        font-size: 1.7vw;
    }
}

.shadow_parent{
    position: relative;
    .shadow_child{
        position: absolute;
        bottom: -0.2em;
        right: -0.2em;
        display: block;
        width: 11em;
        height: 3.5em;
        clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
        background: #ddd;
        transition: .3s;
    }
    &:nth-child(1){
        .kami1-2024_nav_a{
            content: "01";
            clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
        }
        .shadow_child{
            clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 0 50%);
        }
    }
    &:nth-child(2){
        .kami1-2024_nav_a{
            &::before{
                content: "02";
            }
            animation-delay: .3s;
        }
    }
    &:nth-child(3){
        .kami1-2024_nav_a{
            &::before{
                content: "03";
            }
            animation-delay: .6s;
        }
    }
    &:nth-child(4){
        .kami1-2024_nav_a{
            &::before{
                content: "04";
            }
            animation-delay: .9s;
        }
    }
    &:nth-child(5){
        .kami1-2024_nav_a{
            &::before{
                content: "05";
            }
            animation-delay: 1.2s;
        }
    }
    &:nth-child(6){
        .kami1-2024_nav_a{
            &::before{
                content: "06";
            }
            animation-delay: 1.4s;
            clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
        }
        .shadow_child{
            clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 5% 50%);
        }
    }
    
}
.kami1-2024_nav_a{
    z-index: 1;
    width: 11em;
    height: 3.5em;
    font-weight: 600;
    line-height: 1.3em;
    letter-spacing: 0.05em;
    background: linear-gradient(-90deg, #d079a7, #0ba2db);
    background: linear-gradient(90deg, #bd2a80, #eaaa33);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
    animation: entry_btn 3s infinite;
    transition: .3s;
    position: relative;
    text-align: center;
    text-align: center;
    text-shadow: 1px 1px #555;
    &::before{
        content: "01";
        position: absolute;
        left: 1em;
        top: 0.1em;
        color: #fff;
        font-size: 1.2em;
    }
    &:hover{
        color: #fff;
        filter: brightness(1.3);
        animation: unset;
        transform: translate(0.2em ,0.2em);
    }
}

.kami1-2024_entryflow{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2vw;
    margin: 3em auto;
    div{
        width: fit-content;
        margin: 1em auto;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30%;
        img{
            width: 100%;
            height: 27vw;
            object-fit: cover;
            border-radius: 0.5em;
            filter: drop-shadow(4px 4px 0px #bbb);
        }
        p{
            font-size: 1.3vw;
            position: absolute;
            bottom: 0;
            width: 100%;
            color: #fff;
            text-align: center;
            padding: 1em 1em;
            background: #0009;
            line-height: 0em;
            filter: drop-shadow(2px 2px 4px #888);
            strong{
                line-height: 1.8em;
            }
            small{
                display: block;
                margin-top: 0.5em;
                font-size: 0.7em;
                line-height: 1.6em;
            }
        }

        &::before{
            content: "";
            font-size: 1.5vw;
            position: absolute;
            font-weight: 600;
            top: -1em;
            left: -0.5em;
            padding: 0.1em 1em 0.3em;
            background: linear-gradient(111.3deg, rgb(235 49 49) 9.6%, rgb(255 182 59) 93.6%);
            border-radius: 0.3em;
            transform: rotate(-10deg);
            color: #fff;
            text-shadow: 1px 1px 0px #999;
            z-index: 1;
        }
        &:nth-child(1){
            &::before{
                content: "Step 1";
            }
        }
        &:nth-child(2){
            &::before{
                content: "Step 2";
            }
        }
        &:nth-child(3){
            &::before{
                content: "Step 3";
            }
        }
    }
}

.kami1-2024_entryarea{
    position: relative;
    background: url(../images/2025/kami1-2025_bg_main.png);
    background-size: cover;
    background-position: bottom;
    color: #fff;
    padding: 5em 0 3em;
    &::before{
        content: "";
        width: 100%;
        height: 100%;
        background: #333a;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }
    h2{
        font-size: 3vw;
        position: relative;
        z-index: 1;
        text-align: center;
        font-family: "Noto Serif JP", serif;
        font-weight: 300;
        line-height: 2em;
        text-shadow: 0.05em 0.05em 1em #999;
        strong{
            font-family: "Noto Sans JP";
            font-weight: 700;
        }
        span{
            font-family: "Noto Sans JP";
            font-weight: 500;
        }
    }
    a{
        position: relative;
        color: #fff;
        text-decoration: none;
        font-family: "Noto Sans JP";
        font-weight: 600;
        letter-spacing: 0.06em;
        text-align: center;
        padding: 0.7em 0.6em 0.7em 1.7em;
        background: linear-gradient(-90deg, #d079a7, #0ba2db);
        background: linear-gradient(90deg, #bd2a80, #484848);
        clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
        display: block;
        font-size: 2.5vw;
        animation: entry_btn 2s infinite;
        transition: 0.3s;
        filter: brightness(1);
        text-shadow: 1px 1px #555;
        width: 20em;
        margin: 3em auto;
        z-index: 1;
        &:hover {
            filter: brightness(1.3);
            color: #fff;
            animation: unset;
            transform: translate(0.2em ,0.2em);
        }

        &::before{
            content: "";
            position: absolute;
            width: 87%;
            height: 90%;
            border: 0.15em solid #fff;
            top: 5%;
            left: 6.5%;
            transform: skew(-24.5deg);
        }
    }
    .shadow_parent{
        display: block;
        width: fit-content;
        margin: auto;
        .shadow_child {
            font-size: 2.5vw;
            height: 4.3em;
            width: 20em;
            padding: 0.7em 0.6em 0.7em 1.7em;
            clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
        }
    }
}

.underline {
    width: fit-content;
    border-bottom: 3px solid #c33;
}

.kami1-2024_h3 {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    font-size: 2vw;
    font-family: "Oswald", sans-serif;
    font-weight: 600;
    line-height: 1.8em;
    margin: 2em auto 0em;
    width: fit-content;
    strong{
        font-size: 1.2em;
        margin-bottom: 0.5em;
        align-self: center;
    }
    .v_wave{
        transform: rotate(90deg);
        display: block;
        width: fit-content;
        align-self: center;
    }
}

.smple_movie{
    text-align: center;
}

@media screen and (max-width:1100px) {
    .kami1-2024_thema{
        font-size: 3.5vw;
    }
    .kami1-2024_h3 {
        font-size: 3vw;
    }
}
@media screen and (max-width:790px) {
    .sp_on{
        display: block;
    }
    .sp_off{
        display: none;
    }
    .main{
        background-size: 80%;
    }
    .confetti-land {
        background-size: cover!important;
        background-position: center!important;
        padding-top: 10vw;
        padding-bottom: 10vw;
        height: 138vw;
    }
    .kami1-2024_catch {
        position: absolute;
        top: 3.5vh;
        right: 8%;
        img {
            max-height: 125vw;
        }
    }
    .kami1-2024_emblem {
        width: 48%;
        max-width: 500px;
        display: block;
        margin: -46vw auto 0;
    }
    .kami1-2024_prize {
        width: 30%;
        max-width: 400px;
        display: block;
        margin: -17vw auto 0 2vw;
    }

    #kami1-2024_count_down{
        .cd_day,
        .cd_time{
            width: fit-content;
            margin: auto;
        }
        .cd_day{
            font-size: 9vw;
        }
        .cd_time{
            font-size: 6vw;
        }
    }

    .kami1-2024_navarea{
        nav{
            width: fit-content;
            font-size: 4.3vw;
        }
    }

    .main-title h2.top{
        font-size: 6vw;
        margin-bottom: 1em;
    }

    .kami1-2024_thema{
        font-size: 7vw;
        margin-top: 1.1em;
        font-weight: 600;
        text-align: center;
    }

    .kami1-2024_schedule{
        width: 100%;
        margin: 10vw auto 0;
    }


    .steps {
        .content {
            .text-area {
                p {
                    strong {
                        font-size: 3.8vw!important;
                    }
                }
            }
        }
    }

    .kami1-2024_entryflow{
        div{
            width: 80%;
            img{
                width: 100%;
                height: 80vw;
            }
            p{
                font-size: 4vw;
            }
            &::before{
                font-size: 4.5vw;
            }
        }
    }
    .kami1-2024_entryarea{
        padding: 5em 0 3em;
        h2{
            font-size: 5.5vw;
        }
        a{
            font-size: 4.5vw;
        }
        &::before{
            content: "";
            width: 100%;
            height: 100%;
            background: rgba(51, 51, 51, 0.6666666667);
            display: block;
            position: absolute;
            background-image: url(../images/2025/kami1-2025_emblem.png);
            background-size: 60%;
            background-repeat: no-repeat;
            background-position: 50% -10%;
            filter: brightness(0.3);
            top: 0;
            left: 0;
        }
        .shadow_parent{
            .shadow_child {
                font-size: 4.5vw;
            }
        }
    }
    .kami1-2024_h3 {
        font-size: 5vw;
    }
    .schedule p {
        text-align: center;
    }
}

@media screen and (min-width:1550px) {
    .kami1-2024_h3 {
        font-size: 28px;
    }
    .kami1-2024_navarea nav{
        font-size: 26px;
    }
    .kami1-2024_entryflow div {
        font-size: 20px;
    }
    .kami1-2024_entryflow div p {
        font-size: unset;
    }
    .kami1-2024_entryflow div img {
        height: 20em;
    }
    .kami1-2024_entryarea{
        padding: 7em 0 4em;
        h2{
            font-size: 40px;
        }
        a{
            font-size: 35px;
        }
        .shadow_parent{
            .shadow_child {
                font-size: 35px;
            }
        }
    }
    .schedule p {
        text-align: center;
    }
}

.kami1-2025_result{
    display: flex;
    width: 100vw;
    background: #fff;
}
.kami1-2025_result_btn{
    width: 50%;
    color: #fff;
    text-decoration: none;
    font-family: "Noto Sans JP";
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 0.7em;
    display: block;
    font-size: 1.7vw;
    animation: entry_btn 2s infinite;
    transition: 0.3s;
    filter: brightness(1);
    text-shadow: 1px 1px #555;
    border: unset;
    &.left{
        background: linear-gradient(90deg, #bd2a80, #eaaa33);
        -webkit-clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
        clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
        padding-right: 1em;
    }
    &.right{
        background: linear-gradient(-90deg, #5447ca, #dfa452);
        -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
        padding-left: 1em;
    }
    &:hover{
        opacity: .7;
    }
}

.kami1-2025_entry{
    display: flex;
    width: 100vw;
    background: #fff;
    a{
        width: 50%;
        color: #fff;
        text-decoration: none;
        font-family: "Noto Sans JP";
        font-weight: 600;
        letter-spacing: 0.06em;
        text-align: center;
        padding: 0.7em;
        display: block;
        font-size: 1.7vw;
        animation: entry_btn 2s infinite;
        transition: 0.3s;
        filter: brightness(1);
        text-shadow: 1px 1px #555;
        border: unset;
        &.left{
            background: linear-gradient(90deg, rgb(235 49 49) 9.6%, rgb(175 43 118) 93.6%);
            background: #f00;
            -webkit-clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
            clip-path: polygon(0% 0, 100% 0, 90% 100%, 0 100%);
            padding-right: 1em;
        }
        &.right{
            background: linear-gradient(90deg, #bd2a80, #eaaa33);
            background: #00209f;
            -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
            padding-left: 1em;
        }
        &:hover{
            opacity: .7;
        }
    }
}

.kami1-2025_modal{
    position: fixed;
    z-index: 100000;
    width: 100vw;
    height: 100vh;
    background: #0008;
    display: flex;
    justify-content: center;
    align-items: center;
    .modal_content{
        background: #fff;
        padding: 2em 1em;
        width: 90%;
        height: 80%;
        overflow: scroll;
        border-radius: 0.5em;
        h4{
            color: #ec9623;
            &.sec{
                color: #084298;
            }
        }
        p{
            font-size: 0.9em;
            line-height: 1.8em;
            margin: 1em auto;
            strong{
                font-size: 1.2em;
                color: #ec9623;
                &.sec{
                    color: #084298;
                }
            }
        }
        div{
            padding: 0.5em 0.3em;
            border-bottom: 1px #eee solid;
            small{
                font-size:0.8em;
            }
        }
    }
}

.kami1-2025_thanks{
    text-align: center;
    font-size: 1.4em;
    line-height: 2em;
    margin: 2.5em auto 0em;
    font-weight: 600;
    .title{
        font-size: 1.5em;
    }
    strong{
        font-size: 2.1em;
        color: #e4ff54;
        margin: 1em auto 0;
        padding-bottom: 0.35em;
        display: block;
        border-bottom: 0.2em double;
        width: 7em;
        filter: drop-shadow(6px 4px 0px #666);
        span{
            font-size: 1.5em;
            font-style: italic;
            font-family: 'Oswald';
            margin-right: 0.2em;
        }
    }
}

@media screen and (max-width: 790px) {
    .kami1-2025_result_btn {
        font-size: 3.5vw;
    }
    .kami1-2025_entry{
        a{
            font-size: 3.5vw;
            padding: 0.8em;
        }
    }
}

.kami-1_lang_UI{
    display: none;
    position: fixed;
    top: 0.5em;
    right: 0.5em;
    z-index: 10000;
    padding: 0.3em 1em;
    background: #333;
    color: #fff;
    clip-path: polygon(0 0, 90% 0%, 100% 100%, 10% 100%);
    a.EN,a.JP{
      text-decoration: none;
      color: #fff;
      transition: .3s;
      cursor: pointer;
      &:hover{
        color: #aaa;
      }
    }
}

.summary{
    font-size: 1em;
}
.accordion-001 {
    width: 100%;
    max-width: 100%;
    background-color: #fff;
    margin: 1em auto;
}
.accordion-001:not([open]) {
    margin-bottom: 7px;
}
.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background: #8f0b57;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    &.tate{
        background: #00209f;
    }
    &.yoko{
        background: #f00;
    }
}
.accordion-001 summary::-webkit-details-marker {
    display: none;
}
.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}
.accordion-001[open] summary {
    margin-bottom: .5em;
}
.accordion-001[open] summary::after {
    transform: rotate(225deg);
}
.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}
.accordion-001[open] p {
    transform: none;
    opacity: 1;
}
.accordion-001 tr:nth-child(2n){
    background: #ffeff6;
}
.accordion-001 th,
.accordion-001 td {
    padding: 0.5em;
    border: 1px solid #eee;
    &.name{
        white-space: nowrap;
        width: 9em;
    }
    &.salon{
        width: 100%;
    }
    &.team{
        white-space: nowrap;
        width: 3em;
        text-align: center;
    }
}
@media screen and (max-width:790px) {
    .accordion-001{
        font-size: 3.5svw;
        th,td{
            &.name{
                white-space: nowrap;
                width: 9em;
            }
            &.salon{
                
            }
            &.team{
                white-space: nowrap;
                width: 3em;
            }
        }
    }
}