@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Ibarra+Real+Nova:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');
:root {
    --add_color1: #fbc977;
    --add_color2: #541586;
    --jpmin: 'Noto Serif JP', serif;
    --number: 'Ibarra Real Nova', serif;
}
::selection {
    background: var(--add_color1);
    color: var(--add_color2);
}
::-moz-selection {
    background: var(--add_color1);
    color: var(--add_color2);
}
body{
    color: #fff;
    font-family: var(--jpmin);
}
img{
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}
.bg{
    background: url(../../img/special-page/2025-seven-announcement/bg.jpg);
    background-size: cover;
    height: 100vh;
    width: 100%;
    z-index: -1;
    position: fixed;
}
/* header */
header{
    position: fixed;
    top: 40px;
    left: 40px;
    width: 15%;
    max-width: 216px;
    min-width: 90px;
    z-index: 10;
}
/* main */
#main{
    padding: 13.75vw 0 16.89vw 0;
}
#main .wrap{
    width: 100%;
    max-width: initial;
}
#main h1{
    text-align: center;
}
#main h1 img{
    width: 80%;
    max-width: 1152px;
    margin: 0 auto;
}
/* detail */
#detail .wrap{
    width: 100%;
    max-width: 1296px;
    margin: 0 auto;
}
#detail .txtbox{
    margin-bottom: 13.89vw;
}
#detail .txtbox h2{
    font-family: var(--jpmin);
    color: var(--add_color1);
    font-size: clamp(30px, calc(1.875rem + ((1vw - 3.78px) * 5.6497)), 90px);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    letter-spacing: normal;
}
#detail .txtbox h2 span{
    text-align: center;
    display: block;
    margin-bottom: 4.44vw;
}
#detail .txtbox h2 span img{
    width: 12.96%;
    max-width: 168px;
}
#detail .txtbox p{
    font-size: clamp(20px, calc(1.25rem + ((1vw - 5px) * 2.6596)), 45px);
    text-align: center;
    line-height: 1.8;
    margin-bottom: 5.56vw;
    letter-spacing: normal;
}
#detail .txtbox a.link{
    color: #fff;
    border: 1px solid #fff;
    font-size: clamp(16px, calc(1rem + ((1vw - 5px) * 2.1277)), 36px);
    text-align: center;
    padding: 3.47vw 5.56vw;
    border-radius: 100px;
    display: block;
    position: relative;
    font-family: var(--jpmin);
    font-weight: 700;
    transition: 0.4s all;
    max-width: 540px;
    width: 62.19%;
    margin: 0 auto;
}
#detail .txtbox a.link::after{
    content: "";
    background: url(../../img/special-page/lupin/arrow.gif);
    width: 20px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 60px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-size: contain;
    transition: 0.4s all;
    background-repeat: no-repeat;
}
#detail .txtbox a.link:hover{
    background-color: var(--add_color1);
    color: var(--add_color2);
}
#detail .txtbox a.link:hover::after{
    background: url(../../img/special-page/lupin/arrow-black.gif);
    right: 20px;
    width: 9px;
    height: 14px;
    background-size: contain;
}
footer{
    padding: 2.78vw 0;
    background: linear-gradient(150deg, rgb(139 139 139) 0%, rgb(245 245 245) 50%, rgb(107 107 107) 100%);
}
footer p.copy{
    text-align: center;
    font-size: 1rem;
    color: var(--add_color2);
}
@media screen and (max-width: 1296px){
    #detail .wrap{
        width: 90%;
        max-width: initial;
    } 
}
@media screen and (max-width: 500px){
    .bg{
        background: url(../../img/special-page/2025-seven-announcement/bg-sp.jpg);
        background-size: cover;
    }
    header {
        top: 20px;
        left: 20px;
    }
    #main {
        padding-top: 100px;
    }
    #main h1 img{
        width: 90%;
    }
    #detail .txtbox p{
        text-align: left;
    }
    #detail .txtbox a.link {
        width: 90%;
        max-width: initial;
        padding: 24px 0;
        font-size: 1.4rem;
    }
    #detail .txtbox a.link::after {
        width: 10px;
        height: 14px;
        right: 20px;
    }
}
@media screen and (max-width: 320px){
    #detail .txtbox h2{
        font-size: 2.3rem;
    }
    #detail .txtbox p{
        font-size: 1.4rem;
    }
}