@font-face {
    font-family: 'KouzanMouhitu';
    src: url('../font/KouzanMouhitu.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}




html {
    font-size: 62.5%;
    /*rem用。10px、標準サイズ*/
}

body {
    background-color: #333333;
}

h2 {
    position: relative;
    border: 0px solid green;
    font-size: 3rem;
    text-align: center;
    color: #ffffff;
    padding-top: 1em;
    text-shadow: 1px 0 10px black,
        /*textshadow:X軸方向のオフセット Y軸方向のオフセット ぼかしの半径 色;*/
        0 1px 10px black,
        -1px 0 10px black,
        0 -1px 10px black;

    font-family: "KouzanMouhitu", serif;
    font-weight: 400;
    font-style: normal;
}

h2::before {
    content: "";
    position: absolute;
    /* ← 絶対位置指定を忘れずに */
    top: 84%;
    left: 50%;
    transform: translate(-100%, -50%);
    width: 110px;
    /* 画像サイズまたは表示させたいサイズ */
    height: 110px;
    background-image: url(../img/headLine2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* または cover, auto 等 */
    z-index: -1;
    /* テキストの後ろにしたい場合 */
}

.alphabet {
    font-family: "Jim Nightshade", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 2.7rem;
}

.pinpoint {
    font-family: "Yuji Mai", serif;
    font-weight: 400;
    font-style: normal;
}

/* ローディング画面 */
#loading {
    border: 0px solid yellow;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    opacity: 1;
    transition: opacity 1s ease;
    /* フェードアウト用 */
}

/* 画像サイズ調整 */
#loading-image {
    width: 100%;
    height: 100%;
    /* margin-bottom: 20px; */
}

/* コンテンツを隠しておく */
#content {
    border: 0px solid magenta;
    display: none;
    opacity: 0;
    transition: opacity 2s ease;
    /* フェードイン用 */
}


/*====== Swiperの設定 ======*/

/* スライダーコンテナにrelativeを追加 */
.swiper-container {
    border: 0px solid green;
    position: relative;
    /* これでページネーションを正しく配置 */
    width: 40%;
    height: auto;
    /* 高さはアスペクト比に合わせる */
    aspect-ratio: 16 / 9;
    box-sizing: border-box;
    margin: 0 auto;
    overflow: hidden;
    /* 次の画像がはみ出さないようにする */
}


/* swiper-containerのサイズを設定 */
.slider1 {
    position: fixed;
    border: 0px solid red;
    width: 84%;
    max-width: 1000px;
    height: auto;
    /* 高さはアスペクト比に合わせる */
    aspect-ratio: 16 / 9;
    /* アスペクト比設定 */
    box-sizing: border-box;
    inset: 0;
    margin: auto;
    margin-top: 42px;
    /* top: 0;
    left: 17.5%; */
    overflow: hidden;
    /* 次の画像がはみ出さないようにする */
}

.intro-heroine {
    border: 0px solid blue;
    background-color: rgb(0, 0, 0, 0.75);
    width: 84%;
    max-width: 1000px;
    height: 71vw;
    max-height: 930px;
    min-height: 930px;
    aspect-ratio: 16 / 9;
    box-sizing: border-box;
    margin: 0 auto;
    overflow: hidden;
    text-align: center;
    padding-top: 10vw;
}

/* スライドの設定 */
.swiper-wrapper {
    border: 0px solid green;
    display: flex;
    /* スライドが横並びになるように設定 */
    transition: transform 0.3s ease;
    /* スライドの切り替えのトランジション */
}

.swiper-slide {
    border: 0px solid cyan;
    flex-shrink: 0;
    /* スライドが縮小しないように */
    width: 100%;
    /* 各スライドがスライドコンテナの幅を占める */
    height: 100%;
    display: flex;
    justify-content: center;
    /* 画像を中央に配置 */
}

.swiper-slide img {
    border: 0px solid green;
    /* width: 100%; */
    /* 画像の幅をスライドに合わせる */
    height: 100%;
    object-fit: cover;
    /* 画像が枠に収まるように調整 */
    object-position: center;
    /* 画像を中央に配置 */
}

/* Slider1 のページネーション */
/* Slider2 のページネーション */
/* .slider1 .swiper-pagination, */
/* .slider2 .swiper-pagination { */
/* border: 0px; */
/* position: absolute;
     bottom: 10px;
    left: 50%; 
    transform: translateX(-50%); */
/* } */

@media screen and (max-width: 790px) {
    /*メニュー*/
    /* 790px以下に適用されるCSS（スマホ用） */

    /* swiper-containerのサイズを設定 */
    .slider1 {
        position: fixed;
        border: 0px solid red;
        width: 84vw;
        height: auto;
        /* 高さはアスペクト比に合わせる */
        aspect-ratio: 16 / 9;
        /* アスペクト比設定 */
        box-sizing: border-box;
        margin: 40px auto 0 auto;
        top: 0;
        left: 0;
        overflow: hidden;
        /* 次の画像がはみ出さないようにする */
    }
}

/*========== ヘッダー ==========*/
.headerContents {
    text-align: center;
}

.nav-bg {
    border: 0px solid green;
    background-color: #000;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    height: 44px;
}


.headerContents ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: fixed;
    inset: 0;
    top: 0;
    width: 84%;
    min-width: 576px;
    max-width: 1000px;
    height: 44px;
    color: #fff;
    z-index: 110;
    margin: 0 auto;
    padding: 0;
    border: 0px solid cyan;
}

.headerContents li {
    /* 既存のスタイルそのままでOK */
    position: relative;
    /* ← 念のため追加してもOK */
    border: 0px solid red;
    font-size: 2rem;
    text-align: center;
    line-height: 4rem;
    width: clamp(100px, 150px, 150px);
    height: clamp(1rem, 40px, 40px);

    background-image: url(../img/menuButton.svg);
    background-repeat: no-repeat;
    background-position: left center;
    /* background-size: 1em; */
    filter: brightness(1);
    transition: filter 0.3s ease;
    overflow: hidden;
    /* はみ出し防止用に一応 */

    font-family: "KouzanMouhitu", serif;
    font-weight: 400;
    font-style: normal;
}

.headerContents li a {
    display: block;
    /* インライン → ブロック化 */
    width: 100%;
    height: 100%;
    color: inherit;
    /* 親の色を継承 */
    text-decoration: none;
    /* 下線消す */
    line-height: 4rem;
    /* liと合わせるか調整して */
}

.headerContents li:hover {
    filter: brightness(1.4);
}


.MainVisual {
    /*swiperと使い分け*/
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background-image: url(../img/kuramewa1.png);
    background-repeat: repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    margin: 35px auto 0 auto;
    padding-top: 45%;
}

.none {
    display: none;
}

@media screen and (max-width: 690px) {
    /*メニュー*/
    /* 690px以下に適用されるCSS（スマホ用） */

    .headerContents {
        border: 0px solid green;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;
        width: 91vw;
        padding: 0;
    }

    .none {
        display: none;
    }

    #nav-content {
        top: 6.5%;
        transform: translateX(-200%);
    }

    #nav-open {
        border: 0px solid cyan;
        display: inline-block;
        vertical-align: middle;
        position: absolute;
        top: 4px;
        right: 0px;
        z-index: 130;
        width: 35px;
        height: 35px;
    }

    #nav-open span,
    #nav-open span:before,
    #nav-open span:after {
        border-radius: 3px;
        background-color: #777;
        position: absolute;
        top: 16px;
        left: 0;
        content: "";
        width: 100%;
        height: 3px;
        transition: 0.5s;
    }

    #nav-open span:before {
        top: -8px;
    }

    #nav-open span:after {
        top: 8px;
    }

    #drawer_input:checked~#nav-open span:before {
        top: 0;
        transform: rotate(45deg);
    }

    #drawer_input:checked~#nav-open span:after {
        top: 0;
        transform: rotate(-45deg);
    }

    #drawer_input:checked~#nav-open span {
        background-color: rgb(0, 0, 0, 0);
        transition: 0.5s;
    }

    #drawer_input:checked~#nav-open span {
        background-color: rgb(0, 0, 0, 0);
        transition: 0.5s;
    }

    #drawer_input:checked~#nav-close {
        border: 0px solid magenta;
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 120;
        width: 100%;
        height: 100vh;
        background-color: rgb(0, 0, 0, 0.5);
        transition: 0.5s;
    }

    #drawer_input:checked~#nav-content {
        display: block;
        border: 0px solid purple;
        position: fixed;
        top: 10%;
        left: 50%;
        z-index: 120;
        /* background-color: rgb(0, 0, 0, 0.5); */
        transform: translate(-10%, -50%);
        transition: 0s ease-in-out;
        /*瞬間表示*/
    }

    #drawer_input:checked~#nav-content li {
        border: 0px solid yellow;
        /* width: 60%; */
        margin-bottom: 16px;
    }
}

/*========== 更新ボックス ==========*/
.UpDateBox {
    border: 0px solid red;
    position: relative;
    z-index: 2;
    width: 84%;
    max-width: 1000px;
    /* padding-top: 24%; */
    margin: 0 auto;
    margin-top: clamp(190px, 30vw, 380px);
    margin-bottom: 6vw;


    /*幅が一定の大きさを超えると、
    「headerContents」、「MainVisual」で
    「position: fixed;」を設定しても固定されずに
    動いてしまうので注意。
    「margin」も「margin-top」の値をいじると
    スライダーも一緒に動いてしまうので、
    「top」で位置調整する事。*/
}

.UpDateBox-title {
    border: 0px solid yellowgreen;
    border-radius: 5px 5px 0 0;
    background-color: #4c6cb3;
    color: #ffffff;
    width: clamp(100px, 40%, 100%);
    font-size: clamp(24px, 1.6rem, 36px);
    text-align: center;
    margin-left: 20px;

    font-family: "Jim Nightshade", cursive;
    font-weight: 400;
    font-style: normal;
}

.UpDateBox-contents {
    border: 0px solid dodgerblue;
    overflow: auto;
    background-color: rgb(0, 0, 0, 0.5);
    width: clamp(25%, 40%, 60%);
    margin-left: 20px;
    height: clamp(10px, 14vh, 180px);
    max-height: 200px;

    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

.UpDateBox-contents dt {
    border: 0px solid orange;
    width: 100%;
    font-size: clamp(12px, 0.9rem, 36px);
    font-weight: bold;
    color: #fff;
    margin-left: 16px;
}

.UpDateBox-contents dd {
    border: 0px solid plum;
    width: 100%;
    font-size: clamp(16px, 1vw, 36px);
    /*clamp(最小値,理想値,最大値)*/
    color: #fff;
    margin-bottom: 1.4rem;
    margin-left: 16px;
}


@media screen and (max-width: 790px) {
    /* 790px以下に適用されるCSS（スマホ用） */

    .UpDateBox {
        border: 0px solid red;
        position: relative;
        z-index: 2;
        width: 84%;
        /* padding-top: clamp(75%, 75%, 100%); */
        margin: 58% auto 2% auto;
    }

    .UpDateBox-title {
        border: 0px solid yellowgreen;
        border-radius: 5px 5px 0 0;
        background-color: #4c6cb3;
        color: #ffffff;
        width: 30%;
        font-size: clamp(12px, 1vw, 36px);
        text-align: center;
        margin: -25px 0 0px 29px;
    }

    .UpDateBox-contents {
        border: 0px solid dodgerblue;
        position: relative;
        z-index: 2;
        background-color: rgb(0, 0, 0, 0.5);
        width: 90%;
        height: 20vw;
        min-height: 130px;
        margin: 0 auto;
    }

    .UpDateBox-contents dt {
        border: 0px solid orange;
        width: 30%;
        font-size: 1rem;
        font-weight: bold;
        color: #fff;
    }

    .UpDateBox-contents dd {
        border: 0px solid plum;
        width: 90%;
        font-size: 1.6rem;
        color: #fff;
        margin-bottom: 1.7rem;
    }


}

@media screen and (min-width: 1280px) {
    .UpDateBox {
        border: 0px solid red;
        position: relative;
        z-index: 2;
        width: 84%;
        /* padding-top: clamp(75%, 75%, 100%); */
        margin-top: 400px;
        margin-bottom: 3vw; /*製品と体験版追加後は「-2vw」*/
    }
}

/*========== マスターアップイラスト ==========*/
/* .masterUp{
    border: 0px solid red;
    position: relative;
    z-index: 2;
    background-color: rgb(0, 0, 0, 0.75);
    width: 84%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
} */

.fullscreen-image {
    cursor: url("../img/plus_cursor.png"), pointer; /* マウスポインタを指定 */
    display: inline-block;   /* 横方向に並べる指定 */
    margin: 0px 5px 5px 0px; /* 周囲の余白量(右と下に5pxずつ) */
 }

 .fullscreen-image img{
    display: block;
    object-fit: cover;
    width: 300px;
}

/*========== 製品と体験版 ==========*/
.product{
    border: 0px solid red;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    background-color: rgb(0, 0, 0, 0.75);
    width: 84%;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: clamp(20px, 4vw, 60px);
    padding-top: 3vw;
    padding-bottom: 32px;
    padding-left: 46px;
}

.product__box{
    border: 0px solid blue;
    text-align: center;
    width: 50%;
    margin: 0 auto; /*リンクが一つだけの時のみ使用*/
}

.product__box div{
    border: 0px solid cyan;
    background-color: aquamarine;
    width: 300px;
    height: 110px;
    margin: 0 auto;
    margin-bottom: 1.6vw;
}

.product__box img{
    border: 0px solid orange;
    display: block;
    object-fit: cover;
    width: auto;
    height: 110px;
    margin: 0 auto;
    box-shadow: 0 2px 1px rgba(200, 200, 200, 0.5);
}

.product__box a img {
    transition: filter 0.3s ease; /* 変化を滑らかに */
}
  
.product__box a:hover img {
    filter: brightness(1.2); /* 明るさを20%アップ */
    cursor: pointer; /* 手のカーソルに */
}

@media screen and (max-width: 690px) {
    /* 690px以下に適用されるCSS（スマホ用） */
    .product{
        flex-direction: column;
        padding-left: 0;
    }

    .product__box{
        width: 100%;
        margin: 0 auto;
    }
}

/*========== トレーラー ==========*/
.trailer {
    border: 0px solid red;
    position: relative;
    z-index: 2;
    background-color: rgb(0, 0, 0, 0.75);
    text-align: center;
    width: 84%;
    max-width: 1000px;
    margin: 0 auto;
}

.trailer video {
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 16 / 9;
}

@media screen and (max-width: 790px) {
    /* 790px以下に適用されるCSS（スマホ用） */

    .trailer {
        border: 0px solid blue;
        background-color: rgb(0, 0, 0, 0.75);
        width: 84%;
        margin: 0 auto;
        padding: 6px;
    }

    .trailer video {
        width: 94%;
        height: auto;
        margin: 0;
        aspect-ratio: 16 / 9;
    }


}

/*========== あらすじ ==========*/
.synopsis {
    border: 0px solid blue;
    position: relative;
    z-index: 2;
    background-color: rgb(0, 0, 0, 0.75);
    color: #fff;
    width: 84%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 10vw;
}

.synopsis dt {
    position: relative;
    border: 0px solid green;
    font-size: 3rem;
    text-align: center;
    padding-top: 1em;
    text-shadow: 1px 0 10px black,
        /*textshadow:X軸方向のオフセット Y軸方向のオフセット ぼかしの半径 色;*/
        0 1px 10px black,
        -1px 0 10px black,
        0 -1px 10px black;

    font-family: "Yuji Mai", serif;
    font-weight: 400;
    font-style: normal;
}

.synopsis dt::before {
    content: "";
    position: absolute;
    /* ← 絶対位置指定を忘れずに */
    top: 84%;
    left: 50%;
    transform: translate(-100%, -50%);
    width: 110px;
    /* 画像サイズまたは表示させたいサイズ */
    height: 110px;
    background-image: url(../img/headLine2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* または cover, auto 等 */
    z-index: -1;
    /* テキストの後ろにしたい場合 */
}

.synopsis dd {
    border: 0px solid yellow;
    font-size: 1.5rem;
    line-height: 1.7;
    text-align: center;
    white-space: pre-line;
    padding: 2em 2em;

    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

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

    /* 790px以下に適用されるCSS（スマホ用） */
    .synopsis {
        border: 0px solid blue;
        position: relative;
        z-index: 2;
        background-color: rgb(0, 0, 0, 0.75);
        color: #fff;
        width: 84%;
        margin: 0 auto;
    }

    .synopsis dt {
        border: 0px solid green;
        font-size: 3rem;
        text-align: center;
        padding-top: 1.6em;
        padding-bottom: 1.6rem;
    }

    .synopsis dt::before {
        top: 72%;
    }

    .synopsis dd {
        border: 0px solid yellow;
        font-size: 1.6rem;
        line-height: 1.7;
        text-align: left;
        padding: 2em 2em;
        white-space: normal;
    }
}


/*========== キャラクター紹介 ==========*/
/*Swiperのコンテンツ――ここから*/
.swiper-wrapper img {
    border: 0px solid yellow;
}

.sp-layout {
    border: 0px solid red;
    display: flex;
    flex-wrap: wrap;
    margin-top: 32px;
}

.swiper-wrapper dl {
    border: 0px solid orange;
    z-index: 60;
    position: relative;
    color: #ffffff;
    max-width: 288px;
    height: auto;
    margin-left: 6vw;
    padding: 0 1em;
    width: 33.3%;
    box-sizing: border-box;
}

.swiper-wrapper dt {
    border: 0px solid yellow;
    font-size: 4rem;
    text-align: left;
    text-shadow: 1px 0 10px black, 0 1px 10px black, -1px 0 10px black, 0 -1px 10px black;
    width: 420px;
    margin: 20px 0 1em 0;
    font-family: "Klee", serif;
    font-weight: 400;
    font-style: normal;
}

.swiper-wrapper dt p {
    line-height: 50%;
    font-size: 70%;
    /* font-family: Meiryo; */
}

.swiper-wrapper dd {
    border: 0px solid lavender;
    line-height: 200%;
    width: 30vw;
    max-width: 350px;
    height: 450px;
    margin: 0px 0 0 0;
}

.cv {
    border: 0px solid #000;
    font-family: Meiryo;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
    text-shadow: 1px 0 10px black,
        0 1px 10px black,
        -1px 0 10px black,
        0 -1px 10px black;
    margin: 20px 0 0px 0;

    font-family: "Jim Nightshade", cursive;
    font-weight: 400;
    font-style: normal;
}

.cv a {
    text-decoration: none;
    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

.smpVoice {
    border: 0px solid #ffffff;
    margin: 0 0 50px 0;
    text-align: left;
}

.smpVoice h3 {
    margin-top: 16px;
    margin-left: 32px;
    font-size: 1.4rem;
    text-shadow: 1px 0 1px #c1a35f,
        0 1px 1px #c1a35f,
        -1px 0 1px #c1a35f,
        0 -1px 1px #c1a35f;

    font-family: "Yuji Mai", serif;
    font-weight: 400;
    font-style: normal;
}

.chara-profile p {
    border: 0px solid pink;
    line-height: 1.5em;
    text-align: justify;
    font-size: 1.6rem;
    font-family: Meiryo;
    text-shadow: 1px 0 5px black,
        0 1px 5px black,
        -1px 0 5px black,
        0 -1px 5px black;
    /* white-space: pre; */
    white-space: pre-line;
    /* margin: -1em 0 0 0; */

    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

/* 顔サムネイル用のスライダー */
.face-slider {
    border: 0px solid firebrick;
    position: relative;
    width: 84%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: rgb(0, 0, 0, 0.8);
}

/* .slider2-thumbs {
    height: 100px;
    margin-top: 10px;
    box-sizing: border-box;
    width: 320px;
}

.slider2-thumbs .swiper-slide {
    width: auto;
    height: 100%;
    opacity: 0.4;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.slider2-thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 2px solid #fff;
} */

.bustup-1 {
    border: 0px solid pink;
    width: clamp(10px, 35vw, 35vw);
    max-width: 430px;
    margin-top: 0px;
    margin-left: -3vw;
    box-sizing: border-box;
}

.standup-1 {
    border: 0px solid cadetblue;
    width: 14vw;
    max-width: 150px;
    z-index: 60;
    box-sizing: border-box;
    width: 30%;
    min-width: 80px;
    position: absolute;
    top: 7vw;
    right: 13.2vw;
}

.bustup-2 {
    z-index: 40;
    position: absolute;
    top: 50px;
    left: 400px;
    /*ここでバストアップのｘ位置を決める*/
}

.standup-2 {
    z-index: 60;
    position: absolute;
    bottom: 20px;
    left: 650px;
    /*ここで立ち絵のｘ位置を決める*/
}

.bustup-3 {
    z-index: 40;
    position: absolute;
    top: 20px;
    left: 250px;
    /*ここでバストアップのｘ位置を決める*/
}

.standup-3 {
    z-index: 60;
    position: absolute;
    bottom: 20px;
    left: 650px;
    /*ここで立ち絵のｘ位置を決める*/
}

.bustup-4 {
    z-index: 40;
    position: absolute;
    top: 20px;
    left: 500px;
    /*ここでバストアップのｘ位置を決める*/
}

/*Swiperのコンテンツ――ここまで*/

.outfit-buttons button {
    border: 0px solid red;
    border-radius: 8px;
    background-color: rgba(100, 100, 100, 0.8);
    width: 60px;
    height: 40px;
    text-align: center;
    font-size: 1.6rem;
    margin: 8px 8px 8px 0;
    text-shadow: 1px 0 5px black,
        0 1px 5px black,
        -1px 0 5px black,
        0 -1px 5px black;

    font-family: "Yuji Mai", serif;
    font-weight: 400;
    font-style: normal;
}

.heroine img {
    transition: opacity 0.5s ease;
    opacity: 1;
}

.heroine img.fade-out {
    opacity: 0;
}


/*サンプルボイスプレイヤーの設定――ここから*/
.audio-button {
    border: 0px solid salmon;
    display: inline-block;
    width: 60px;
    margin-top: 8px;
    margin-bottom: 16px;
    filter: invert(84%) sepia(4%) saturate(4232%) hue-rotate(1deg) brightness(77%) contrast(99%);
}

/*サンプルボイスプレイヤーの設定――ここまで*/

@media screen and (max-width: 790px) {
    .intro-heroine {
        border: 0px solid blue;
        background-color: rgb(0, 0, 0, 0.75);
        width: 84%;
        height: 78vh;
        min-height: 820px;
        /* 高さはアスペクト比に合わせる */
        aspect-ratio: 16 / 9;
        /* アスペクト比設定 */
        box-sizing: border-box;
        margin: 0 auto;
        overflow: hidden;
        /* 次の画像がはみ出さないようにする */
    }

    .swiper-wrapper dl {
        border: 0px solid orange;
        z-index: 60;
        position: absolute;
        top: 0;
        left: 0;
        color: #ffffff;
        max-width: 100%;
        height: auto;
        margin-left: auto;
        padding: 0 1em;
        order: 3;
        width: 100%;
    }

    .swiper-wrapper dt {
        border: 0px solid yellow;
        font-size: 4rem;
        text-align: left;
        text-shadow: 1px 0 10px black,
            /*textshadow:X軸方向のオフセット Y軸方向のオフセット ぼかしの半径 色;*/
            0 1px 10px black,
            -1px 0 10px black,
            0 -1px 10px black;
        width: 100%;
        max-width: 210px;
        margin: 20px 0 0 0;
    }

    .swiper-wrapper dt p {
        line-height: 50%;
        font-size: 70%;
        font-family: Meiryo;
    }

    .swiper-wrapper dd {
        border: 0px solid lavender;
        line-height: 200%;
        width: 73vw;
        max-width: 1000px;
        height: auto;
        margin: 35vw 0 0 0;
    }

    .sp-layout {
        border: 0px solid red;
        flex-direction: row;
        position: relative;
    }

    .chara-profile p {
        border: 0px solid pink;
        line-height: 1.5em;
        text-align: justify;
        font-size: 1.4rem;
        /* font-family: Meiryo; */
        text-shadow: 1px 0 5px black,
            0 1px 5px black,
            -1px 0 5px black,
            0 -1px 5px black;
        /* white-space: pre; */
        white-space: pre-line;
        /* margin: -1em 0 0 0; */
    }

    .bustup-1 {
        display: none;
        border: 0px solid pink;
        vertical-align: top;
        width: clamp(10px, 49vw, 49vw);
        max-width: 430px;
        min-width: 240px;
        margin-top: 6vw;
        margin-left: 1vw;
    }

    .standup-1 {
        border: 0px solid cadetblue;
        width: 14vw;
        max-width: 150px;
        z-index: 1;
        box-sizing: border-box;
        width: 30%;
        min-width: 90px;
        margin-right: 16vw;
        position: absolute;
        top: 0;
        left: 22vw;
    }
}

/*========== ゲーム画面 ==========*/
/*ゲーム画面・スクショ――ここから*/
.contents_frame4 {
    border: 0px solid skyblue;
    z-index: 20;
    background: rgba(0, 0, 0, 0.75);
    /*「opacity」よりこっちのがいいかも*/
    position: relative;
    /*これを指定しないと「z-index」が反映されない*/
    text-align: center;
    height: auto;
    /* ブロックの高さ */
    width: 84%;
    max-width: 1000px;
    margin: 0px auto 0 auto;
    padding: 10vw 0 20px 0;
}

.screenshot {
    border: 0px solid #ffffff;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 90%;
    margin: 32px auto 0 auto;
    max-width: 1000px;
}

.screenshot>a {
    margin: 6px;
}

.screenshot img {
    width: 90%;
}

.screenshot-sp {
    display: none;
}

.lg-backdrop {
    background-color: rgba(0, 0, 0, 0.9);
    /* 背景がある？ */
    z-index: 1000;
}

.attention {
    border: 0px solid red;
    font-size: 1.6rem;
    color: #ffffff;
    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

@media screen and (max-width: 790px) {
    .contents_frame4 {
        border: 0px solid skyblue;
        z-index: 20;
        background: rgba(0, 0, 0, 0.75);
        /*「opacity」よりこっちのがいいかも*/
        position: relative;
        /*これを指定しないと「z-index」が反映されない*/
        text-align: center;
        height: 100%;
        /* ブロックの高さ */
        width: 84%;
        margin: 0px auto 0 auto;
        padding: 1px 0 20px 0;
    }

    .screenshot {
        display: none;
    }

    .screenshot-sp {
        border: 0px solid #ffffff;
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: center;
        align-content: center;
        width: 60vw;
        margin: 32px auto 16px auto;
    }

    .screenshot-sp>a {
        margin: 0 20px 20px 0;
    }

    .lg-backdrop {
        background-color: rgba(0, 0, 0, 0.9);
        /* 背景がある？ */
        z-index: 1000;
    }
}

/*ゲーム画面・スクショ――ここまで*/

/*製品情報　――ここから*/

.contents_frame6 {
    border: 0px solid skyblue;
    z-index: 20;
    background-color: rgba(0, 0, 0, 0.75);
    position: relative;
    text-align: center;
    height: auto;
    width: 84%;
    max-width: 1000px;
    margin: 0px auto 9vw auto;
    padding: 10vw 0 20px 0;
}

.allList {
    display: flex;
    justify-content: center;
    column-gap: 10px;
    margin: 32px auto 0 auto;

    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

.detail-list {
    border: 0px solid #ffffff;
    /* font-family: Meiryo; */
    font-size: 1.5rem;
    width: 27%;
    text-align: left;
}

.detail-list div {
    border: 0px solid red;
    color: #ffffff;
    font-size: 2rem;
    margin-bottom: 16px;
    text-shadow: 1px 0 1px #c1a35f,
        0 1px 1px #c1a35f,
        -1px 0 1px #c1a35f,
        0 -1px 1px #c1a35f;
    font-family: "Klee One", serif;
    font-weight: 400;
    font-style: normal;
}


.detail-list dt {
    border-left: solid 6px #c1a35f;
    /*左線*/
    display: inline-block;
    text-decoration: none;
    color: #c1a35f;
    /*文字色*/
    font-weight: bold;
    margin: 0;
    padding: 2.5px 10px;
}

.detail-list dd {
    /* border-bottom: 2px dotted #ffffff; */
    font-size: 120%;
    /* font-weight: bold; */
    color: #ffffff;
    margin: 5px 0 20px 10px;
    padding: 0;
}

.detail-list p {
    margin: 0 0 -10px 0;
}

.detail-list span {
    font-size: 72%;
}

.material-list {
    border-top: 1px solid #fff;
    width: 84%;
    max-width: 1000px;
    height: auto;
    margin: 30px auto 0 auto;
    padding-top: 16px;

    font-family: "Klee One", cursive;
    font-weight: 400;
    font-style: normal;
}

.material-list dl {
    display: flex;
    justify-content: center;
    column-gap: 12vw;
    font-size: 1.5rem;
}

.material-list div {
    display: flex;
    flex-direction: column;
}

.material-list dt {
    border: 0px;
    border-left: solid 6px #c1a35f;
    text-decoration: none;
    color: #c1a35f;
    font-weight: bold;
    text-align: left;
    padding-left: 10px;
}

.material-list dd {
    border: 0px;
    color: #fff;
    margin: 5px 0 20px 10px;
}

@media screen and (max-width: 870px) {
    .allList {
        display: block;
    }

    .detail-list {
        border: 0px solid #ffffff;
        /* font-family: Meiryo; */
        font-size: 1.5rem;
        width: 84%;
        text-align: left;
        margin: 0 auto;
    }
}

@media screen and (max-width: 700px) {
    .material-list dl {
        display: block;
        font-size: 1.5rem;
    }

    .material-list div {
        display: flex;
        flex-direction: column;
        text-align: left;
    }
}

/*製品情報　――ここまで*/

/*========== フッター ==========*/

.footer {
    border: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: rgb(10, 20, 30, 1);
    text-align: center;
    width: 100%;
    height: 20vh;
    color: #fff;
}

.footer img {
    width: 32%;
    filter: invert(99%) sepia(99%) saturate(2%) hue-rotate(237deg) brightness(111%) contrast(101%);
}

.footer p {
    margin: 17px 0;
}

/*フッター　――ここまで*/


/* トップへ戻るボタンのスタイル――ここから */
.page-top {
    /* buttonタグのリセットCSS */
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;

    /* ボタンの装飾 */
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 100;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

/* 矢印のスタイル */
.page-top::before {
    content: "";
    width: 12px;
    height: 12px;
    margin-bottom: -6px;
    border-top: solid 3px #444444;
    border-right: solid 3px #444444;
    transform: rotate(-45deg);
}

/* ホバー時のスタイル */
.page-top:hover {
    transform: scale(1.1);
}

/* トップへ戻るボタンのスタイル――ここまで */