
.menu-button{

    position:relative;

    display:block;

    padding:7px 30px;

    color:white;

    text-decoration:none;

    font-size:26px;

    letter-spacing:.25em;

    border:1px solid rgba(255,255,255,.25);

    border-radius:40px;

    background:rgba(255,255,255,.03);

    backdrop-filter:blur(6px);

    transition:
        transform .35s,
        color .35s,
        border-color .35s,
        box-shadow .35s;

}

body {
    margin: 0;
    overflow: hidden;

    background-color:#3a0d16;

    background-image: url("images/background.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;

    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-family: "Yu Mincho", "YuMincho", serif;
}

/* タイトル全体 */
.title-area{
    position: relative;
    z-index: 100;

    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ロゴ */
.logo{
    width: 400px;
    user-select: none;
}
/* CHARACTERボタン */


.menu-button:hover{

    transform:translateY(-3px);

    color:#ffd8ea;

    border-color:#ffd8ea;

    box-shadow:0 0 20px rgba(255,200,230,.4);

}

/* 花びら */

#petals{
    position:fixed;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:40;
}

.petal{
    position:fixed;
    background-repeat:no-repeat;
    background-size:contain;
    background-position:48% 45%;
    pointer-events:none;
    will-change:transform;
}

/* 光 */

#lights{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:30;
}

.light{

    position:absolute;

    width:3px;
    height:3px;

    border-radius:50%;

    background:white;

    opacity:.25;

    box-shadow:0 0 12px white;

}

/* 霧 */

#fog{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:20;
}

.fog{

    position:absolute;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.12),
            rgba(255,255,255,.04),
            transparent 70%
        );

    filter:blur(70px);

    will-change:transform;

}
.menu{

    display:flex;
    flex-direction:column;
    align-items:center;

    gap:48px;

    margin-top:20px;

}
/* サブタイトル表示 */

/* サブタイトル */


/* サブタイトル */

.menu-button{

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

}

.menu-button span{

    font-size:26px;

    letter-spacing:.25em;

    text-shadow:
        0 1px 3px rgba(0,0,0,.65),
        0 0 10px rgba(120,20,40,.30);

}
.menu-button small{

    margin-top:-5px;

    font-size:13px;

    font-weight:600;

    letter-spacing:.08em;

    color:#fff;

    opacity:1;

    text-shadow:
        0 1px 3px rgba(0,0,0,.65),
        0 0 8px rgba(120,20,40,.35);

}


@media(max-width:700px){

.menu-button span{

    font-size:19px;

}

.menu-button small{

    font-size:11px;

    margin-top:-4px;

}

}
/*==================================
    TOP スマホ最適化
==================================*/

@media (max-width:700px){

body{

    background-position:48% 45%;

}

.title-area{

    transform:translateY(-50px);

}

.logo{

    width:350px;
    transform:translateX(10px);
}

.menu{

    gap:20px;

    margin-top:12px;

}

.menu-button{

    width:200px;

    padding:5px 0;

    font-size:19px;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    background:rgba(110,22,40,.22);

    backdrop-filter:blur(8px);

    border:1px solid rgba(235,170,190,.30);

    text-shadow:
        0 1px 2px rgba(0,0,0,.55),
        0 0 10px rgba(120,20,40,.20);

}
}   /*
/*==============================
  Copyright
==============================*/

.copyright{
    position: fixed;

    left: 0;
    right: 0;

    bottom: calc(5px + env(safe-area-inset-bottom));

    text-align: center;

    color: rgba(255,255,255,.45);
    font-size: 12px;
    letter-spacing: .12em;

    z-index: -1;
    pointer-events: none;
}

/*==================================
  iPad mini調整
==================================*/

@media (min-width:701px) and (max-width:900px){

.title-area{
    transform:translateY(-60px);
}

.logo{
    width:360px;
}

.menu{
    margin-top:10px;
    gap:28px;
}

}

