@charset "utf-8";
/* CSS Document */
.kirakira01,
.kirakira02 {
    position: absolute;
    z-index: -1;
    top: 0;
    background-size: 150px;
    width: 150px;
    height: 100%;
    background: url(/2026/images/special/background.svg) repeat-y left top;
}
.kirakira01 {
    left: calc(50% - 750px);
}
.kirakira02 {
    right: calc(50% - 750px);
}
main {
    /* background: #fff; */
    width: 100%;
    margin: auto;
    min-height: calc(100vh - 204px);
    padding-top: 120px;
    position: relative;
}
main::after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -4;
    top: 0;
    left: 0;
    background: #e5f4be;
}

main article .area01 {
    overflow: hidden;
    position: relative;
}
main article .area01::after {
    content:"";
    width:120%;
    height:600px;
    position:absolute;
    z-index: -3;
    bottom:0;
    left:50%;
    background: #d2ed90;
    transform:translate(-50%,50%);
    border-radius:100%;
}
main article .area01 .conteiner {
    max-width: 1340px;
    margin: auto;
}
section.titles {
    position: relative;
}
section.titles h2 {
    margin-top: 20px;
    text-align: center;
    margin-bottom: 50px;
}
section.titles h2 img {
    display: block;
    margin: 0 auto 20px;
    width: 37%;
    filter: drop-shadow(2px 2px 5px color(srgb 0 0 0 / 0.2));
}
section.titles h2 span {
    display: block;
    font-family: YakuHanJP, "Zen Maru Gothic", serif;
    font-size: 62px;
    font-weight: 900;
    color: var(--deepblue);
    line-height: 1.4;
}
section.titles p {
    text-align: center;
    color: var(--deepblue);
    font-family: YakuHanJP, "Zen Maru Gothic", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 2.5;
}
section.titles .illust_main {
    width: 65%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
}
section.titles figure span, section.titles figure img.star {
    position: absolute;
}
section.titles figure img.illust {
    width: 100%;
}
main article .area02 {
    position: relative;
    padding-bottom: 100px;
}
main article .area02::after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -3;
    top: 0;
    left: 0;
    background: #d2ed90;
}
main article .area02 .note{
    padding-top:60px;
    margin-top:0;
}
section.theme_link nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1340px;
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
}
section.theme_link nav a {
    display: block;
    width: 19%;
    margin: 40px 0 0;
    position: relative;
    min-height: 270px;
    padding-top: 20px;
    background-size: contain;
    filter: drop-shadow(2px 2px 5px color(srgb 0 0 0 / 0.2));
    font-family: YakuHanJP, "Zen Maru Gothic", serif;
    cursor: default;
}
section.theme_link nav a.typeA {
    background: url(/2026/images/special/bg_card01.svg) no-repeat left
    top;
}
section.theme_link nav a.typeB {
    background: url(/2026/images/special/bg_card02.svg) no-repeat left
    top;
}
section.theme_link nav a.typeC {
    background: url(/2026/images/special/bg_card03.svg) no-repeat left
    top;
}
section.theme_link nav a.typeD {
    background: url(/2026/images/special/bg_card04.svg) no-repeat left
    top;
}
section.theme_link nav a.typeE {
    background: url(/2026/images/special/bg_card05.svg) no-repeat left
    top;
}
section.theme_link nav a.typeF {
    background: url(/2026/images/special/bg_card06.svg) no-repeat left
    top;
}
section.theme_link nav a img {
    width: 70%;
    position: relative;
    z-index: 10;
    border: 3px solid #fff;
    border-radius: 10px;
    margin-left: 15%;
    margin-right: 15%;
    transition: all 0.3s ease;
}
section.theme_link nav a p {
    text-align: center;
    margin-top: 10px;
    color: var(--deepblue);
    line-height: 1.4;
}
section.theme_link nav a p small {
    display: block;
    font-size: 14px;
    font-weight: 700;
    /* height: calc(1em*2.8); */
}
section.theme_link nav a p b {
    display: block;
    font-size: 22px;
    margin: 0.1em 0 0;
    letter-spacing: -0.02em;
    font-weight: 900;
}
section.theme_link nav a.typeA p b {
    color: #9178d1;
}
section.theme_link nav a.typeB p b {
    color: #2dcba2
}
section.theme_link nav a.typeC p b {
    color: #f07995;
}
section.theme_link nav a.typeD p b {
    color: #f7a838;
}
section.theme_link nav a.typeE p b{
    color: #00c1e3;
}
section.theme_link nav a.typeF p b{
    color: #6ec800;
}
section.theme_link nav a:not(.active){
    background: inherit;
    /*background: rgb(220 220 220);*/
}
section.theme_link nav a:not(.active)::after{
    content:'';
    width:100%;
    height:100%;
    background: rgb(215 215 215 / 80%);
    mix-blend-mode:multiply;
    display:block;
    position:absolute;
    top:0;
    left:0;
    border-radius: 26px;
}
section.theme_link nav a:not(.active) figure{
    width: 82%;
    display: block;
    position: absolute;
    top: -24%;
    left: 9%;
    z-index: 10;
    background:#999;
}
section.theme_link nav a:not(.active) img{
    width:100%;
    display: block;
    position:static;
    opacity:0.6;
    mix-blend-mode:multiply;
}

 .note{
    text-align:center;
    margin-top:60px;
}
 .note b{
    display:block;
    font-size:60px;
    font-family:'Oswald',sans-serif;
    color:var(--deepblue);
    margin-bottom:0.4em;
    letter-spacing:0.05em;
}
 .note span{
    font-weight:700;
    font-size:20px;
    color:var(--deepblue);
}
/*rollover-------------------------------------- */
@media screen and (min-width: 768px) {
    section.theme_link nav:not(.linkEnd) a.active:hover img {
        width: 88%;
        left: 5%;
        top: -24%;
        transform: rotate(-1deg);
    }
    section.theme_link nav:not(.linkEnd) a.active:nth-child(odd):hover img {
        transform: rotate(1deg);
    }
}
@media screen and (max-width: 1340px) {
    .kirakira01 {
        left: calc(50% - 51%);
    }
    .kirakira02 {
        right: calc(50% - 51%);
    }
    main article .area01::after {
        height:500px;
    }
    section.theme_link nav a {
        width: 24%;
        margin: 4vw 0 0;
        min-height: 25.4vw;
        padding-top: 20px;
    }
    section.theme_link nav a p small {
        font-size: 1.15vw;
    }
    section.theme_link nav a p b {
        font-size: 2.06vw;
    }
}
@media screen and (max-width: 1100px) {
    .kirakira01 {
        left: calc(50% - 55%);
    }
    .kirakira02 {
        right: calc(50% - 55%);
    }
    main {
        min-height: calc(100vh - 204px);
        padding-top: 100px;
        overflow: hidden;
    }
    main article .area01::after {
        height:400px;
    }
    section.titles h2 {
        margin-top: 1.8vw;
        text-align: center;
        margin-bottom: 4.5vw;
    }
    section.titles h2 img {
        margin: 0 auto 1.8vw;
    }
    section.titles h2 span {
        font-size: 5.6vw;
        font-weight: 900;
        color: var(--deepblue);
        line-height: 1.4;
    }
    section.titles p {
        font-size: 1.8vw;
    }
    main article .area02 {
        padding-bottom: 50px;
    }
    main article .area02 .note{
        padding-top:5.4vw;
        margin-top:0;
    }
    section.theme_link nav a p small {
        font-size: 1.15vw;
    }
    section.theme_link nav a p b {
        font-size: 2vw;
    }
     .note{
        margin-top:5.4vw;
    }
     .note b{
        font-size:5.4vw;
    }
     .note span{
        font-size:1.8vw;
    }
    section.theme_link nav a:not(.active)::after{
        border-radius: 2.37vw;
    }
}
@media screen and (max-width: 767px) {
    .kirakira01,
    .kirakira02 {
        background-size: 20vw;
        width: 20vw;
    }
    .kirakira01 {
        left: calc(50% - 55%);
    }
    .kirakira02 {
        right: calc(50% - 55%);
    }
    main {
        min-height: unset;
        padding-top: 20px;
        background-size: 20vw;
    }
    main article .area01::after {
        height:200px;
    }
    section.titles h2 {
        margin-top: 25vw;
        margin-bottom: 4vw;
    }
    section.titles h2 img {
        margin: 0 auto 2vw;
        width: 80%;
    }
    section.titles h2 span {
        font-size: 7.8vw;
        margin-bottom: 6vw;
    }
    section.titles p {
        font-size: 3.6vw;
    }
    section.titles .illust_main {
        width: 90%;
        margin-top: 10vw;
    }
    main article .area02 {
        padding-bottom: 10vw;
    }
    main article .area02 .note{
        padding-top:6vw;
        margin-top:0;
    }
    section.theme_link nav a {
        width: 48%;
        min-height: 49.6vw;
        padding-top: 3vw;
        margin: 6vw 0 0;
    }
    section.theme_link nav a p {
        margin-top: 1.5vw;
    }
    section.theme_link nav a p small {
        font-size: 2.4vw;
    }
    section.theme_link nav a p b {
        font-size: 3.6vw;
        margin: 0.1em 0;
    }
     .note{
        margin-top:6vw;
    }
     .note b{
        font-size:12vw;
    }
     .note span{
        font-size:4vw;
    }
}