.@charset "UTF-8";/* CSS Document */html {    overflow-x: hidden;}:root {    --color-bottom: #000d1a;    --color-top: #001528;    --pattern-size: 80px;    --pattern-line-color: rgba(255, 255, 255, 0.15);    --fade-start: 10%;    --fade-end: 90%;}body {    position: relative;    min-height: 100vh;    margin: 0;    background-color: var(--color-bottom);    /* ---------------------------------------------------- */    /* 1. 複数背景の定義 (カンマ区切りで手前から奥へ) */    /* ---------------------------------------------------- */    background-image: linear-gradient(to top, transparent 0%, transparent calc(100% - var(--fade-end)), var(--color-top) calc(100% - var(--fade-start)), var(--color-top) 100%), url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' width='40' height='40' patternTransform='scale(2)' patternUnits='userSpaceOnUse'><rect width='100%' height='100%' fill='transparent'/><path fill='currentColor' d='M4 0v2.667h13.333V0zm0 2.667H0V16h4zM4 16v6.667h13.333V16zm13.333 6.667V36H24V22.667h-4zm6.667 0h13.333V16H24ZM37.333 16H40V2.667h-2.667zm0-13.333V0H24v2.667ZM24 36v4h13.333v-4zm-6.667 0H4v4h13.333z'/></pattern></defs><rect width='100%' height='100%' fill='url(%23a)' style='color:var(--pattern-line-color);'/></svg>"), linear-gradient(to top, var(--color-bottom), var(--color-top));    background-size: auto, var(--pattern-size) var(--pattern-size), auto;    background-attachment: fixed;    background-repeat: no-repeat, repeat, no-repeat;}body.no-scroll, html.no-scroll {    overflow: hidden;}img {    width: 100%;    height: auto;}*, *::before, *::after {    box-sizing: border-box;}#nav {    width: 100%;    position: relative;    z-index: 99;}#nav-pc {    display: block;    position: fixed;    top: 0;    left: 0;    background-image: url("../images/pc-nav/nav_bg.webp");    background-size: contain;    background-position: left top;    background-repeat: repeat-x;    width: 100%;    min-height: 100px;}#nav-pc ul li {    list-style: none;}#nav-pc ul {    display: flex;    flex-wrap: nowrap;    width: 98%;    margin: 0 auto;    padding-left: 0;    padding-top: 18px;    justify-content: center;/*    justify-content: space-between;*/    align-items: center;}#nav-pc ul li img {    height: 24px;    width: auto;    transition: all ease .3s;}#nav-pc ul li:first-child img {    height: 60px;    width: auto;    margin-right: 12px;}#nav-pc ul li img:hover {    filter: contrast(200%);}#nav-pc ul li.passive {    cursor: not-allowed;}#nav-pc ul li.passive img {    filter: brightness(50%);}#navArea {    display: block;    position: relative;    width: 100%;}#navAreaSp {    display: none;    position: fixed;    top: 0;    left: 0;    width: 100%;    z-index: 9998;}#top {    padding-top: 100px;    width: 100%;    position: relative;    background: #000;}.mv-logo {    position: absolute;    left: 27%;    bottom: 0;    width: 45%;}section {    width: 100%;    margin: 0;    padding: 60px 0;}section h1 {    width: 50%;    margin: 0 auto;}#news .news-inner {    background: rgba(0, 0, 0, 0.6);    border: 1px solid #64a094;    border-radius: 10px;    padding: 20px;    width: 80%;    max-width: 1000px;    margin: 0 auto;}#news .news-wrapper {    max-height: 300px;    overflow-y: auto;    padding-right: 10px;}#news .news-list {    display: flex;    gap: 10px;    padding: 8px 0;    font-family: noto-sans-cjk-jp, sans-serif;    font-style: normal;    font-size: 1em;}#news .news-list dt {    color: #64a094;    min-width: 120px;    font-weight: 700;}#news .news-list dd {    color: #faf3de;    margin-left: 0;    font-weight: 400;}.news-wrapper::-webkit-scrollbar {    width: 10px;    border-radius: 0 10px 10px 0;}/* スクロールバーの背景色を指定 */.news-wrapper::-webkit-scrollbar-track {    background-color: #64a094;    border-radius: 0 10px 10px 0;}/* スクロールバーのつまみ（つまみ部分）の色を指定 */.news-wrapper::-webkit-scrollbar-thumb {    background-color: #3a5f58;    border-radius: 5px;}/* つまみ部分にホバーした時の色を指定 */.news-wrapper::-webkit-scrollbar-thumb:hover {    background-color: #548b81;}#about {    width: 100%;    background-image: url("../images/about-bg.webp");    background-repeat: no-repeat;    background-position: center center;    background-attachment: fixed;    min-height: 100vh;    position: relative;    z-index: 1;}.about_inner {    width: 90%;    max-width: 1200px;    margin: 60px auto 0 auto;    font-family: "zen-antique", sans-serif;    font-weight: 400;    font-style: normal;    color: #fff;    font-size: 20px;    text-align: left;    text-shadow: 0px 0px 6px rgba(0, 0, 0, 1);    line-height: 1.8em;    letter-spacing: 2px;}.about_hl {    color: #ff6c00;    font-size: 28px;}#system {    background: #000;    position: relative;    overflow: hidden;}.sys-inner {    width: 90%;    max-width: 1200px;    margin: 42px auto 0 auto;}#system a {    display: block;    padding: 6px 12px;    border: 1px solid #b99b69;    transition: all ease .3s;    text-decoration: none;    color: #b99b69;    font-size: 24px;    text-align: center;    margin: 24px auto 0 auto;    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;}#system a:hover {    background: #b99b69;    color: #000;}#smokeCanvas {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    z-index: 0;    pointer-events: none;}.system_inner {    width: 90%;    max-width: 1200px;    margin: 60px auto 0 auto;    color: #fff;    text-align: center;    font-size: 72px;    position: relative;    z-index: 1;}#system h1 {    position: relative;    z-index: 1;}section#character {    padding-bottom: 0;}.character-inner {    max-width: 1200px;    width: 90%;    margin: 0 auto;    padding-top: 24px;}.chr-icon ul li, .chr-wrap ul li {    list-style: none;}.chr-icon ul {    width: 50%;    display: flex;    flex-wrap: wrap;    justify-content: flex-start;    gap: 6px 12px;    padding: 0;    margin: 0 auto 24px auto;}.chr-icon li {    width: 15%;    cursor: pointer;    opacity: 0.7;    transition: opacity 0.3s ease;}.chr-icon li.active, .chr-icon li:hover {    opacity: 1.0;}.chr-wrap {    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 25%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0) 100%);    padding: 24px 0;}.chr-wrap ul {    width: 100%;    padding: 0;}.chr-wrap li {    display: flex;    flex-wrap: nowrap;    justify-content: center;    column-gap: 36px;    align-items: flex-end;}.chr-wrap li img {    display: block;    max-width: 400px;    height: auto;}.chr-wrap li a {    display: block;    padding: 6px 36px;    border: 1px solid #b99b69;    transition: all ease .3s;    text-decoration: none;    color: #b99b69;    font-size: 24px;    text-align: center;    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    margin-bottom: 28px;}.chr-wrap li a:hover {    background: #b99b69;    color: #000;}#gallery {    position: relative;    width: 100%;    background-image: url("../images/evcg_bg.webp");    background-repeat: no-repeat;    background-position: center center;    background-attachment: fixed;    overflow: hidden;    z-index: 1;    padding-bottom: 0;}.gallery-container {    display: flex;    flex-wrap: wrap;    row-gap: 20px;    column-gap: 12px;    justify-content: flex-start;    width: 90%;    max-width: 1200px;    margin: 60px auto 0 auto;}.gallery-wrapper.expanded .gallery-container {    padding-bottom: 120px;    transition: padding-bottom 0.8s ease;}.thumbnail {    cursor: pointer;    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);    transition: transform 0.2s;    width: calc((100% - 60px) / 4);}.thumbnail:hover {    transform: scale(1.05);}.thumbnail img {    display: block;    width: 100%;    height: auto;}.bracket {    display: block;}#popup-caption {    color: #fff5dd;    font-size: 14px;    text-align: center;    margin-top: 16px;    max-width: 90vw;    word-break: break-word;    font-family: noto-sans-cjk-jp, sans-serif;    font-weight: 400;    font-style: normal;}#gallery-dialog {    border: none;    padding: 0;    background: transparent;    box-shadow: none;    position: relative;    display: flex;    flex-direction: column;    align-items: center;}#gallery-dialog::-webkit-scrollbar {    display: none;}#gallery-dialog {    -ms-overflow-style: none;    scrollbar-width: none;}#gallery-dialog img {    display: block;    max-width: 90vw;    max-height: 90vh;    height: auto;    width: auto;    border: 2px solid #A68855;    box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);}.close-button {    position: absolute;    top: 10px;    right: 10px;    background: rgba(0, 0, 0, 0.7);    color: white;    border: 1px solid white;    border-radius: 50%;    width: 30px;    height: 30px;    font-size: 20px;    line-height: 1;    cursor: pointer;    z-index: 100;}#gallery-dialog::backdrop {    background-color: rgba(0, 0, 0, 0.85);}.gallery-wrapper {    position: relative;    width: 100%;    margin: 0 auto;    overflow: hidden;    transition: max-height 0.8s ease;}.gallery-wrapper.collapsed {    max-height: 450px;}.gallery-wrapper.expanded {    max-height: 2000px;}.gallery-wrapper::after {    content: "";    position: absolute;    bottom: 0;    left: 0;    width: 100%;    height: 160px;    background: linear-gradient(to top, var(--color-bottom) 0%, rgba(0, 0, 0, 0) 100%);    pointer-events: none;    z-index: 2;    transition: opacity 0.5s ease;}.gallery-wrapper.expanded::after {    opacity: 0;}.gallery-toggle {    position: absolute;    bottom: 30px;    left: 50%;    transform: translateX(-50%);    background: rgba(0, 0, 0, 0.6);    border: 2px solid #A68855;    color: #fff;    font-family: "zen-antique", sans-serif;    font-size: 20px;    padding: 10px 40px;    cursor: pointer;    transition: background 0.3s ease, transform 0.3s ease, bottom 0.8s ease;    z-index: 3;}.gallery-wrapper.expanded .gallery-toggle {    bottom: 12px;}.gallery-toggle:hover {    background: #A68855;    transform: translateX(-50%) scale(1.05);}#gallery-dialog:not([open]) {    display: none;}#spec {    width: 100%;    position: relative;    background-image: url("../images/spec-bg.webp");    background-position: top center;    background-size: cover;    background-repeat: no-repeat;    background-attachment: fixed;}.spec_inner {    display: flex;    flex-wrap: nowrap;    width: 90%;    max-width: 1200px;    margin: 60px auto 0 auto;    column-gap: 24px;}.spec_pk,.pkg-wrap {    width: 48%;}.product-group {    background: rgba(0, 0, 0, 0.6);    border: solid 2px #67a398;    box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, 0.5);    padding: 24px 28px;    width: 50%;}.pkg {    display: flex;    flex-wrap: nowrap;    justify-content: space-between;    align-items: flex-start;    width: 100%;}.spec-note {    display: block;    width: 100%;}.spec-note p {    font-family: "noto-sans-cjk-jp", sans-serif;    font-weight: 400;    font-style: normal;    font-size: 14px;    margin: 0;    color: #fff5dd;    line-height: 1.5em;}.product-group h3 {    font-family: "fot-chiaro-std", sans-serif;    font-weight: 700;    font-style: normal;    text-align: center;    margin-top: 0;    margin-bottom: 20px;    padding-bottom: 10px;    font-size: 28px;    color: #b99b69;}.product-group h4 {    font-family: "fot-chiaro-std", sans-serif;    font-weight: 400;    font-style: normal;    text-align: left;    margin: 0;    font-size: 20px;    color: #b99b69;}.product-info-grid {    display: grid;    grid-template-columns: 150px 1fr;    gap: 12px 15px;}.product-info-grid dt, .product-info-grid dd {    font-family: "noto-sans-cjk-jp", sans-serif;    font-weight: 400;    font-style: normal;    font-size: 14px;    line-height: 1.4em;    margin: 0;}.product-info-grid dt {    color: #67a398;}.product-info-grid dd {    color: #fff5dd;    line-height: 1.5em;}.product-info-grid dt.dt-cast, .product-info-grid dd.dd-cast {    margin-top: 1.5em;}.price-content {    white-space: pre-wrap;}.product-info-grid dd.price-list-container {    display: block;    line-height: 0.8em;}.price-item {    display: block;    font-size: 14px;}footer {    background: #000;    width: 100%;    padding: 48px 0;}.footer-link {    display: flex;    flex-wrap: nowrap;    justify-content: center;    column-gap: 12px;    width: 8%;    margin: 0 auto;}.footer-link a {    width: 50%;    transition: all ease .25s;}.footer-link a:hover {    transform: scale(1.05);}/*/////////////////////////　　キャラクター紹介ページ設定/////////////////////////*/#character-spec {    width: 100%;    position: relative;    padding-top: 10%;    background-image: url("../images/chr-spec-bg.webp");    background-repeat: no-repeat;    background-attachment: fixed;    background-size: cover;    background-position: center center;}.chr-icon-wrap {    display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 0 12px;    width: 50%;    margin: 36px auto 0 auto;}.chr-icon-wrap a {    display: block;    width: 15%;}.chr-icon-wrap img.chr-active {    opacity: 0.6;}.name {    font-family: "vdl-gigag", sans-serif;    font-weight: 500;    font-style: normal;    color: whitesmoke;    font-size: 72px;    text-align: center;}.chr-spec-inner {    width: 100%;    margin: 0 auto;    position: relative;    padding-top: 36px;}.chr-spec-inner img {    margin-top: 36px;    position: relative;    z-index: 1;}.copy-a {    position: absolute;    top: 7%;    left: 5%;    font-family: zen-antique, sans-serif;    font-weight: 400;    font-style: normal;    color: darkcyan;    text-shadow: 0 0 10px #006666, 0 0 20px #006666, 0 0 40px #006666;    filter: hue-rotate(90deg);    font-size: 36px;    opacity: 0.5;    z-index: 0;}.copy-b {    text-align: right;    position: absolute;    top: 12%;    right: 5%;    font-family: zen-antique, sans-serif;    font-weight: 400;    font-style: normal;    color: darkcyan;    text-shadow: 0 0 10px #006666, 0 0 20px #006666, 0 0 40px #006666;    filter: hue-rotate(90deg);    font-size: 36px;    opacity: 0.5;    z-index: 0;}.chr-txt-wrap {    width: 30%;    font-family: noto-sans-cjk-jp, sans-serif;    font-weight: 400;    font-style: normal;    color: whitesmoke;    font-size: 16px;    line-height: 1.8em;    padding: 12px 24px;    box-sizing: border-box;    border: 1px solid whitesmoke;    border-radius: 10px;    background: rgba(0, 0, 0, 0.6);    position: absolute;    top: 30%;    left: 5%;    z-index: 2;}.ill {    color: #40665f;    text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    font-size: 24px;    margin: 12px auto;    position: absolute;    top: 26.5%;    left: 7%;}.voice-wrap {    position: absolute;    top: 25%;    right: 5%;    width: 40%;    z-index: 2;}.cv {    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    font-size: 24px;    text-align: center;    color: #40665f;    text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff, -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff, 0px -1px 1px #ffffff;}.voice-wrap h3 {    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    color: whitesmoke;    font-size: 28px;    text-align: center;    margin: 0;    padding: 0;    text-shadow: 0px 0px 6px rgba(0, 0, 0, 1);}.voice-icon {    display: flex;    flex-wrap: nowrap;    justify-content: center;    align-items: flex-start;    column-gap: 24px;}.voice-icon img {    margin: 0;    width: 15%;    cursor: pointer;    transition: all ease .3s;}.voice-icon img:hover {    transform: scale(1.1);}/*/////////////////////////////////　　　　特典ページ&システムページ設定/////////////////////////////////*/#products {    width: 100%;    position: relative;    background-image: url("../images/products-bg.webp");    background-position: center center;    background-repeat: no-repeat;    background-attachment: fixed;    padding-top: 10%;    background-size: cover;}#system {    width: 100%;    position: relative;    background: #000;    padding-top: 10%;}#products ul li,#system ul li {    list-style: none;}#products ul.p-list,#products ul.dl-list {    display: flex;    justify-content: center;    flex-wrap: wrap;    gap: 10px;    width: 90%;    margin: 36px auto 72px auto;    padding: 0;}ul.p-list li,ul.dl-list li {    width: calc((100% - 20px) / 3);}#system ul.sys-list {    display: flex;    flex-wrap: wrap;    margin: 36px auto 72px auto;    padding: 0;    width: 70%;    justify-content: center;    gap: 0 10px;}ul.sys-list li {    width: 22%;}ul.p-list li a,ul.sys-list li a,ul.dl-list li a {    display: block;    border: 1px solid #b99b69;    padding: 6px 0;    transition: all ease .3s;    text-decoration: none;    color: #b99b69;    font-size: 24px;    text-align: center;    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    background: rgba(0, 0, 0, 0.6);}#system ul.sys-list li a {    font-size: 18px;}ul.p-list li a:hover,ul.sys-list li a:hover,ul.dl-list li a:hover {    background: #b99b69;    color: #000;}ul.p-list li.btn-pssive {    display: block;    border: 1px solid #4d402c;    padding: 6px 0;    color: #4d402c;    font-size: 24px;    text-align: center;    font-family: fot-chiaro-std, sans-serif;    font-weight: 700;    font-style: normal;    background: rgba(0, 0, 0, 0.6);    cursor: not-allowed;}.sys-inner {    width: 90%;    max-width: 1200px;    margin: 0 auto;}.p-items,.dl-items {    max-width: 1200px;    width: 90%;    margin: 0 auto;}.p-items-flex-h2 {    font-family: zen-antique, sans-serif;    font-weight: 400;    font-style: normal;    color: whitesmoke;    font-size: 42px;    margin: 0 auto;    display: flex;    justify-content: center;    align-items: center;    position: relative;    width: fit-content;    margin-left: auto;    margin-right: auto;    text-shadow: 0px 0px 6px rgba(103, 163, 152, 1);}.p-items-flex-h2::before, .p-items-flex-h2::after {    content: "";    display: block;    width: 52px;    height: 46px;    background-size: cover;    flex-shrink: 0;}.p-items-flex-h2::before {    background-image: url('../images/wing-l.webp');    margin-right: 10px;}.p-items-flex-h2::after {    background-image: url('../images/wing-r.webp');    margin-left: 10px;}.p-items-flex-h2 span {    display: block;}.a-inner, .b-inner, .c-inner, .d-inner, .e-inner {    max-width: 1200px;    background: rgba(0, 0, 0, 0.6);    border: solid 2px #67a398;    box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, 0.5);    padding: 48px 28px;    border-radius: 10px;    font-family: noto-sans-cjk-jp, sans-serif;    font-style: normal;    text-align: center;    margin: 36px auto 72px auto;    box-sizing: border-box;}.p-title {    font-size: 28px;    font-weight: 500;    margin: 0 auto 36px auto;    color: whitesmoke;    text-shadow: 0px 0px 6px rgba(103, 163, 152, 1);}.a-inner img.products-jkt,.b-inner img.products-jkt {    display: block;    width: 60%;    margin: 48px auto;}.p-data {    font-size: 24px;    font-weight: 400;    margin: 18px;    line-height: 1.5em;    color: #fff5dd;}.p-data span {    font-size: 28px;    color: #ffbfa1;}.p-small {    font-size: 14px;    color: whitesmoke;}.p-title-small {    font-size: 24px;}.append-contents {    display: flex;    flex-wrap: nowrap;    justify-content: space-around;    align-items: flex-start;}.append-contents img {    width: 40%;    display: block;}.contents-txt {    width: 55%;    text-align: left;}.contents-txt h3 {    font-size: 24px;    font-weight: 400;    line-height: 1.5em;    color: #fff5dd;}.contents-txt p {    font-size: 14px;    font-weight: 300;    line-height: 1.5em;    color: #fff5dd;}.contents-txt span.a-highlight {    font-size: 18px;    line-height: 2em;    color: #fff;}.contents-txt span.append-note {    font-size: 14px;    color: whitesmoke;}.contents-txt span.attention {    color: #ffbfa1;}.d-inner, .e-inner {    display: flex;    flex-wrap: wrap;    justify-content: flex-start;    align-items: flex-start;    gap: 12px;}.d-inner .d-contents, .e-inner .e-contents {    box-sizing: border-box;    width: calc(33.333% - 8px);    background: #222;    border: solid 1px whitesmoke;    border-radius: 5px;}.d-contents img, .e-contents img {    width: 100%;}.d-contents a, .e-contents a {    display: block;    padding: 24px 0;    text-align: center;    color: #67a398;    text-decoration: none;    font-size: 20px;    line-height: 1.3em;    transition: all ease .3s;}.d-contents a:hover, .e-contents a:hover {    color: #a1ffee;}.d-contents p.no-link,.e-contents p.no-link {    display: block;    padding: 24px 0;    text-align: center;    color: #67a398;    text-decoration: none;    font-size: 20px;    line-height: 1.3em;    margin: 0;}.d-inner .official {    width: 100%;    margin-bottom: 12px;}/* --- 「トップへ戻る」ボタンのデザイン --- */#page-top {    position: fixed;    bottom: 20px;    right: 20px;    display: block;    width: 80px;    height: 80px;    z-index: 999;}#page-top img {    transition: all ease .3s;}#page-top img:hover {    filter: brightness(150%);    transform: scale(1.1);}/* --- スクロールフェードイン用CSS --- */.js-fade-in {    opacity: 0;    transform: translateY(30px);    transition: opacity 1.2s ease, transform 1.2s ease;}.js-fade-in.is-animated {    opacity: 1;    transform: translateY(0);}/* --- ローディング画面（プリローダー）のCSS --- *//* 画面全体を覆い、最前面に表示 */#loading-screen {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: var(--color-bottom); /* bodyと同じ背景色を使用 */    z-index: 9999; /* 他の要素より常に前面に */    display: flex;    flex-direction: column;    justify-content: center;    align-items: center;    opacity: 1;    visibility: visible;    transition: opacity 0.8s ease, visibility 0.8s ease; /* 非表示時のトランジション */}/* 読み込みが完了したら適用するクラス */#loading-screen.is-loaded {    opacity: 0;    visibility: hidden;    pointer-events: none; /* クリックやタッチ操作を無効化 */}/* ローダーのアニメーション（例: スピナー） */.loader {    border: 4px solid #f3f3f3;     border-top: 4px solid #b99b69; /* ブランドカラーを使用 */    border-radius: 50%;    width: 40px;    height: 40px;    animation: spin 1s linear infinite; /* 1秒で無限に回転 */    margin-bottom: 20px;}#loading-screen p {    color: #fff5dd;    font-family: 'noto-sans-cjk-jp', sans-serif;    font-size: 16px;}#loading-screen img {    display: block;    width: 30%;    margin: 0 auto;}@keyframes spin {    0% { transform: rotate(0deg); }    100% { transform: rotate(360deg); }}/*/////////////////////////////        DL Contents設定/////////////////////////////*/.ban-inner {    display: flex;    flex-wrap: wrap;    justify-content: center;    align-items: flex-start;    width: 100%;    gap: 12px 24px;    max-width: 1200px;    background: rgba(0, 0, 0, 0.6);    border: solid 2px #67a398;    box-shadow: 0px 0px 10px 10px rgba(0, 0, 0, 0.5);    padding: 48px 28px;    border-radius: 10px;    font-family: noto-sans-cjk-jp, sans-serif;    font-style: normal;    text-align: center;    margin: 36px auto 72px auto;}.exp {    display: block;    font-size: 14px;    line-height: 1.5em;    font-family: "noto-sans-cjk-jp", sans-serif;    font-weight: 400;    font-style: normal;    color: #fff5dd;    width: 75%;    text-align: left;    margin-bottom: 28px;}.footer_exp {    display: block;    font-size: 14px;    line-height: 1.5em;    font-family: "noto-sans-cjk-jp", sans-serif;    font-weight: 400;    font-style: normal;    color: #fff5dd;    width: 100%;    text-align: center;    margin-top: 28px;}.ban_600 {    width: 60%;    max-width: 600px;}.ban_200 {    width: 38%;    max-width: 200px;}.ban_150 {    width: 50%;    display: flex;    flex-wrap: wrap;    justify-content: space-between;    align-items: flex-start;    margin-top: 28px;}.ban_h40 {    width: 38%;    max-width: 200px;    margin-top: 28px;}.ban_items {    width: 100%;}.item-150 {    width: 14%;}.ban_items:nth-child(n+3) {    margin-top: 28px;}.item-150:nth-child(n+2) {    margin: 0;}.banner-url-container {    display: flex;    align-items: center;    justify-content: center;    margin-top: 1px;    padding: 0 0 0 12px;    border: 1px solid #b99b69;    border-radius: 3px;    background: rgba(0, 0, 0, 0.4);    width: 100%;    margin-left: auto;    margin-right: auto;    position: relative;    box-sizing: border-box;}.banner-url-text {    flex-grow: 1;    text-align: left;    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;    font-size: 12px;    color: #fff5dd;    font-family: 'noto-sans-cjk-jp', sans-serif;}.copy-button {    background: #b99b69;    color: #000d1a;    border: none;    padding: 8px 12px;    border-radius: 0 2px 2px 0;    cursor: pointer;    font-size: 16px;    transition: background 0.3s ease;    flex-shrink: 0;}.copy-button:hover {    background: #876A3A;    color: #fff;}.local-toast-notification {    visibility: hidden;    min-width: 80px;    background-color: #67a398;    color: #000d1a;    text-align: center;    border-radius: 2px;    padding: 4px 8px;    position: absolute;     top: 100%;    right: 0;    transform: translateY(5px);    z-index: 100;    font-size: 12px;    opacity: 0;    transition: opacity 0.3s ease-in-out, visibility 0.3s;    font-family: 'noto-sans-cjk-jp', sans-serif;    white-space: nowrap;}.local-toast-notification.show {    visibility: visible;    opacity: 1;}.ban_200 .banner-url-container,.ban_150 .banner-url-container,.ban_h40 .banner-url-container {    padding: 0 0 4px 8px;    min-height: auto;}.ban_200 .banner-url-text,.ban_150 .banner-url-text,.ban_h40 .banner-url-text {    white-space: normal;    overflow: visible;    text-overflow: clip;    word-break: break-word;    line-height: 1.4;}.ban_200 .copy-button,.ban_150 .copy-button,.ban_h40 .copy-button {    align-self: flex-start;    height: auto;    padding: 6px 10px;    margin-left: 3px;}.ban-inner h6 {    font-family: "noto-sans-cjk-jp", sans-serif;    font-weight: 700;    font-style: normal;    color: aliceblue;    font-size: 18px;    margin: 0 auto 6px auto;    text-align: left;    letter-spacing: 0.2em;}.ban_150 h6 {    width: 100%;}/* //////////////////////////////////     DL Contents MOVIEセクション用CSS ////////////////////////////////// */.movie-list {    list-style: none;    padding: 0;    margin: 0;}.movie-item {    margin-bottom: 48px;}.p-title-movie {    font-family: "fot-chiaro-std", sans-serif;    font-weight: 700;    font-style: normal;    font-size: 28px;    margin: 0 auto 20px auto;    color: #fff5dd;    text-shadow: 0px 0px 6px rgba(103, 163, 152, 1);}.youtube-container {    position: relative;    width: 80%;    padding-bottom: 45%;    height: 0;    margin: 0 auto;    overflow: hidden;    max-width: 800px;}.youtube-container iframe {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    border: 0;}@media screen and (max-width:1024px) {    #nav-pc {        min-height: 85px;    }        #nav-pc ul li:first-child img {        height: 50px;    }    #nav-pc ul li img {    height: 25px;}    .chr-icon-wrap {    width: 60%;}    .voice-icon img {    width: 25%;}}@media screen and (max-width:1024px) {  #navAreaSp {        display: none;    }    #nav-pc ul li img {    height: 16px;}    #nav-pc ul li:first-child img {    height: 46px;}    #top {    padding-top: 80px;}    #news .news-inner {    margin: 36px auto 0 auto;}    .about_inner {    width: 85%;}    .chr-icon ul {        width: 70%;    }    .pkg {        flex-direction: column-reverse;        flex-wrap: wrap;    }    .spec_pk {        width: 100%;    }    .pkg-wrap {        width: 100%;        margin-bottom: 48px;    }    .footer-link {        width: 15%;        column-gap: 24px;    }    #character-spec {        padding-top: 18%;    }    .voice-icon {        justify-content: center;        row-gap: 12px;        flex-direction: column;        align-items: center;        margin-top: 12px;    }    .chr-txt-wrap {        width: 35%;        top: 40%;    }    .voice-icon img {        width: 25%;    }    .copy-a {        top: 0%;        font-size: 28px;    }    .copy-b {        font-size: 28px;    }    #products {    padding-top: 18%;}    #products ul.p-list,    #products ul.dl-list {    width: 80%;}    .ban_150 {    width: 87%;}.ban_h40 {    width: 89%;    max-width: max-content;    margin-top: 28px;    display: flex;    flex-wrap: wrap;    justify-content: center;    gap: 12px;}.ban_h40 .ban_items {    width: 200px;}.ban_h40 h6 {    width: 100%;}.ban_h40 .ban_items:nth-child(n+3) {    margin-top: auto;}}@media screen and (max-width:768px) {    #nav {        display: none;    }        #navAreaSp {    width: 100%;    background-image: url("../images/sp-nav_bg.webp");    background-size: cover;    background-repeat: no-repeat;    background-position: center top;    height: 115px;    display: block!important;    box-sizing: border-box;    padding: 24px 0 0 0;}    .sp-header-inner {        height: 100%;        width: 90%;        max-width: 1200px;        margin: 0 auto;        display: flex;        justify-content: space-between;        align-items: center;    }        .spNav-logo {        width: 25%;    }    section h1 {    width: 60%;}    .about_inner {    font-size: 18px;}    .about_hl {    font-size: 24px;}    .chr-icon li {    width: 14.5%;}    #gallery-dialog {    padding-top: 50px;    margin: 0 auto;}    .spec_inner {    flex-wrap: wrap;    margin: 0 auto;}    .footer-link {    width: 20%;}    .product-group {    width: 100%;}    .product-group:nth-child(n+1) {        margin-top: 36px;    }    #system.sys-common {    padding-top: 25%;}    #system ul.sys-list {    width: 90%;    margin: 36px auto;}    ul.sys-list li {    width: 30%;}    .sys-inner {    width: 100%;}    #character-spec {    padding-top: 25%;}    .chr-icon-wrap {    width: 80%;}    .chr-txt-wrap {    width: 90%;    top: auto;    bottom: 5%;}    .voice-icon img {    width: 35%;}    .youtube-container {        width: 95%;        padding-bottom: 53.4375%;    }    ul.p-list li a,    ul.sys-list li a,    ul.dl-list li a {    font-size: 18px;}    .d-inner .d-contents, .e-inner .e-contents {    width: 48%;}}@media screen and (max-width:425px) {    #loading-screen img {    width: 50%;}    #navAreaSp {        height: 100px;        padding: 0;}    .spNav-bg {        height: 100px;    }    .sp-header-inner {    width: 95%;}    .spNav-logo {    width: 35%;}    .toggle_btn {    width: 45px;    height: 45px;}    .toggle_btn .open {    width: 10px;    height: 45px;}    .toggle_btn .open:nth-child(2) {    margin: 6px 0;}    #top {    padding-top: 100px;}    .mv-logo {    left: 20%;    bottom: 5%;    width: 60%;}    section h1 {    width: 90%;}    #news .news-inner {    padding: 12px;    width: 95%;}    .about_inner {    font-size: 16px;    margin: 36px auto 0 auto;}    .about_hl {    font-size: 20px;}    #system a {    padding: 6px 36px;    width: fit-content;}    .chr-icon ul {    width: 90%;    justify-content: center;    gap: 6px 6px;}    .chr-wrap ul {    width: 90%;    margin: 0 auto;}    .chr-wrap li {    flex-wrap: wrap;    row-gap: 16px;}    .gallery-container {    row-gap: 10px;    column-gap: 18px;}    .thumbnail {    width: 30%;}        .product-group {    box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.3);}    .product-group h3 {    font-size: 24px;}    .product-info-grid {    grid-template-columns: 100%;    gap: 6px 6px;}    .price-item {    line-height: 1.3em;}    .footer-link {    width: 30%;}    #character-spec {    padding-top: 30%;}    .chr-icon-wrap a {    width: 25%;}    .copy-a,    .copy-b {    display: none;}    .name-wrap {    width: 90%;        margin: 0 auto;        flex-wrap: wrap;}    .name {    font-size: 48px;}    .chr-txt-wrap .ill, .cv {    font-size: 16px;    width: 100%;}    .cv {        text-align: center;    }        .chr-spec-inner {    padding-top: 6%;}    .chr-txt-wrap {    width: 90%;    position: relative;}    .voice-wrap {    position: relative;    width: 100%;    margin-top: 24px;        top: auto;        right: auto;}    .voice-icon {    flex-direction: row;}    .voice-icon img {    width: 25%;}   #products {    padding-top: 30%;}    ul.p-list li,    ul.dl-list li {    width: 48%;}    ul.p-list li a,    ul.sys-list li a,    ul.dl-list li a {    font-size: 16px;}    .p-title {    font-size: 20px;    font-weight: 500;    margin-bottom: 24px;}    .a-inner img.products-jkt, .b-inner img.products-jkt {    width: 100%;    margin: 24px auto;}    .p-items-flex-h2 {    font-size: 28px;}    .a-inner, .b-inner, .c-inner, .d-inner, .e-inner {    padding: 36px 24px;    margin: 24px auto 36px auto;}    .p-data {    font-size: 16px;    text-align: left;    line-height: 1.8em;}    .p-data span {    font-size: 20px;}    .p-small {    font-size: 12px;    text-align: left;}    .append-contents {    flex-wrap: wrap;    flex-direction: column;}    .append-contents img {    width: 100%;}    .contents-txt {    width: 100%;    text-align: left;    margin-top: 24px;}    .contents-txt h3 {    font-size: 20px;}    .d-inner .d-contents, .e-inner .e-contents {    width: 100%;}    .d-contents a, .e-contents a {    padding: 12px 0;    font-size: 16px;    line-height: 1.5em;}        #products ul.p-list, #products ul.dl-list {    margin: 12px auto;}        ul.p-list li {    width: 100%;}        .p-title-movie {    font-size: 20px;}    .ban-inner {    padding: 24px 12px;}    .exp {    font-size: 12px;    width: 100%;    margin-bottom: 24px;}    .ban_600 {    width: 100%;    max-width: fit-content;}    .ban_200 {    width: 100%;    max-width: fit-content;    display: flex;    flex-wrap: wrap;    justify-content: space-between;    gap: 12px;}    .ban_200 .ban_items {        width: 48%;    }    .ban_200 h6 {    width: 100%;}    .ban_200 .ban_items:nth-child(n+3) {    margin-top: auto;}    .ban_150 {    width: 100%;    justify-content: space-around;    row-gap: 12px;}    .item-150 {    width: 150px;}        #page-top {    width: 70px;    height: 70px;}    .ill {    position: relative;    top: auto;    left: auto;    padding-left: 1em;}    #system.sys-common {    padding-top: 35%;}    #system ul.sys-list a {    width: 90%;    margin: 36px auto;}        ul.sys-list li {    width: 48%;}        #system ul.sys-list li a {    width: 100%;    font-size: 14px;    margin: 12px auto 0 auto;    padding: 6px 3px;}}