/*
* { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; }
*/

* { vertical-align: baseline; }

html {
    overflow-y: scroll;
    overflow-x: hidden;
}

html, body {
    min-height: 100%;
    width: 100vw;
    margin: 0;
    padding: 0;
}

body {
    /* background-color: rgba(166,0,21,1); */
    /*    background-image: linear-gradient(to bottom right, rgba(239,236,242,1), rgba(238,229,216,1)); background-size: cover;*/
    background-color: rgba(255,255,255,1);
    color: rgba(20,0,0,1);
    --color1: rgba(255,255,255,1);
    /* --color2: rgba(145,111,176,1); */
    --color2: rgba(0,0,0,1);
    --color3: rgba(183,43,35,1);
    font-family: 'Open Sans', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body sup {
    vertical-align:top;
    color: rgba(161,41,25,1);
}

.smartphonescrollfix {
    overflow-x:hidden;
}

.fade-in { opacity: 0; transition: all .5s ease-in; transform: translateY(25px); }
.fade-in.appear { opacity: 1; transform: translateY(0); }

section {
    display: flex;
    align-items: center;
    
}

.s-image {
    margin: 0 auto 10px auto;
    display: block;
}

.flexible {
    display: flex;
    width: 940px;
    margin: 0 auto;
    justify-content: space-between;
}

.verticalfix {
    align-items: center;
}

/*
#toppage {
    height: 90vh;
}
*/

#message, #video, #musicians, #musiclist, #lyrics, #gifts, #related {
    height: auto;
    /*
    margin: 75px 0 10px 0;
    */
}

/* WHITE BACKGROUND */
#information, #comment, #musicians, #credits, #links {
    background-color: rgba(255,255,255,1);
    color: black;
}

/* RED BACKGROUND */
#details, #video, #musiclist {
    background-color: rgba(161,41,25,1);
    color: white;
    /*
    background-image: linear-gradient(rgba(255,255,255,1),rgba(235,209,160,1),rgba(186,76,56,1));
    */
}

#video.english-color-fix {
    background-color: rgba(255,255,255,1);
}

/* INFORMATION BACKGROUND */
.inner-information {
    background-image: url(./resources/top_2.jpg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
}

/* INFORMATION BACKGROUND */
/*
.inner-smartphone-fix {
    background-image: url(./resources/BG_information.jpg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain;
}
*/


/* DETAILS BACKGROUND */
/*
.inner-details {
    background-image: url(./resources/BG_details.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
*/

/* DETAILS BACKGROUND */
/*
.inner-links {
    background-image: url(./resources/BG_musiclist.jpg);
    background-repeat: no-repeat;
    background-position: bottom;
    padding-top: 150px;
}
*/

/* SEPARATOR GRAPHIC */
.seperator-buffer { height: 75px; }
.seperator { position: relative; height: 0; height: 30px; }
.seperator img { display: block; margin-top: -34px; height: 100px; position: absolute; left: 0; right: 0; margin-inline: auto; width: auto; }
.seperator { background-color: black; }
.seperator.reverse { transform: rotate(180deg); }

/*
#credits {
    height: auto;
    margin: 50px 0 10px 0;
}
*/

.copyright {
    margin: 0;
    /* background-color: rgba(169,3,27,1); */
}

a {
    text-decoration: none;
}

a:hover {
    color: var(--color2);
}

p {
    margin: 0;
}

h1 {
    /*
    color: black;
    mix-blend-mode: screen;
    */
    color: var(--color1);
    font-size: 35px;
    margin: 0 auto 50px auto;
    padding: 0;
    width: 100%;
    font-weight: 700;
    text-align: center;
    line-height: 75px;
}
 /*
h2 {
    font-size: 25px;
    margin: 10px;
    font-weight: 400;
}
*/

h3 {
    font-size: 17px;
    opacity: 1;
    margin: 20px 0 5px 0;
    color: white;
    text-shadow: 1px 1px 5px black;
}

h4 {
    font-size: 17px;
    text-align: center;
    font-weight: 400;
    margin: 0 0 5px 0;
}

h5 {
    width: 930px;
    margin: 0 auto;
    font-size: 20px;
    text-align: center;
    padding: 35px 0 15px 0;
    font-weight: 700;
}

h6 {
    font-weight: 700;
    font-size: 20px;
    margin: 5px 0 15px 0;
}

h6.type {
    border-bottom: 1px solid white;
    font-weight: 400;
    font-size: 15px;
    margin: 0;
}

table th {
    font-weight: 300;
}

table td {
    font-weight: 400;
}

.v-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 930px;
    height: 35px;
    border: 5px solid white;
    font-size: 25px;
    font-weight: 700;
    margin: 10px auto 0 auto;
}

.v-button .text {
    position: relative;
    color: transparent;
    background-image: linear-gradient(0deg,var(--color2) 0%, var(--color2) 50%, var(--color1) 50%, var(--color1) 100%);
    background-repeat: repeat;
    background-size: 100% 200%;
    background-position: 0 0;
    -webkit-background-clip: text;
    background-clip: text;
    transition: background-position 300ms;
}

.v-button::before {
    content:'';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    transform-origin: 0 0;
    transform: scale3d(1,0,1);
    transition: transform 300ms;
}

.v-button:hover > .text {
    background-position: 0 100%;
}

.v-button:hover::before {
    transform-origin: 0 100%;
    transform: scale3d(1,1,1);
}

.h-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 250px;
    height: 45px;
    border: 5px solid rgba(161,41,25,1);
    font-size: 25px;
    font-weight: 700;
    margin: 10px;
}

.h-button .text {
    position: relative;
    color: transparent;
    background-image: linear-gradient(90deg,white 0%, white 50%, rgba(161,41,25,1) 50%, rgba(161,41,25,1) 100%);
    background-repeat: repeat;
    background-size: 200%;
    background-position: 0 0;
    -webkit-background-clip: text;
    background-clip: text;
    transition: background-position 300ms;
}

.h-button::before {
    content:'';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(161,41,25,1);
    transform-origin: 0 0;
    transform: scale3d(1,1,1);
    transition: transform 300ms;
}

.h-button:hover > .text {
    background-position: 100% 0;
}

.h-button:hover::before {
    transform-origin: 100% 0;
    transform: scale3d(0,1,1);
}

/* Header */

#header {
    opacity: 0;
    top: -50px;
    position: fixed;
    background-color: rgba(161,41,25,1);
    width: 100%;
    height: 50px;
    z-index: 3;
    transition: top .5s ease, opacity .1s linear 1s;
    color: rgba(0,0,0,.2);
}

#header .nav {
    margin: 0 0 0 30px;
}

#header a {
    line-height: 49px;
    font-size: 20px;
    font-weight: 700;
    margin: 0 15px 0 0;
    color: var(--color1);
    opacity: .3;
    transition: opacity .3s ease;
}

#header a:hover {
    opacity: 1;
}

#header .active {
    opacity: 1;
}

#header #language {
    float: right;
    margin: 0 10px 0 0;
}

#header #language a {
    font-size: 17px;
    margin: 0;
}

/* M Header */
/*
#m-header {
    position: fixed;
    background-color: var(--color1);
    width: 63px;
    height: 49px;
    right: 0;
    top: 0;
    display: none;
    opacity: 0;
    transition: height .3s ease, width .3s ease, opacity .3s linear 2s;
    z-index: 9999;
}

#m-header #activate {
    position: absolute;
    top: 0px;
    right: 0;
    width: 35px;
    height: 1px;
    margin: 14px 14px 0 25px;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
    z-index: 9999;
}

#m-header #activate span {
    display: block;
    position: absolute;
    height: 5px;
    width: 100%;
    background: var(--color2);
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

#m-header #activate span:nth-child(1) {
    top: 0px;
}

#m-header #activate span:nth-child(2), #m-header #activate span:nth-child(3) {
    top: 8px;
}

#m-header #activate span:nth-child(4) {
    top: 16px;
}

#m-header #activate.start span:nth-child(1) {
    top: 15px;
    width: 0%;
    left: 50%;
}

#m-header #activate.start span:nth-child(2) {
    transform: rotate(45deg);
}

#m-header #activate.start span:nth-child(3) {
    transform: rotate(-45deg);
}

#m-header #activate.start span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}

#m-header .m-element {
    font-size: 0;
    transition: font-size .3s ease .3s;
    width: 300px;
}

#m-header a {
    display: block;
    color: var(--color2);
    z-index: -1;
    font-weight: 700;
    text-align: center;
    margin: 15px auto;
}

#m-header a:hover {
    opacity: 1;
}

#m-header .active {
    opacity: 1;
}

#m-header .language {
    text-align: center;
    margin: 0 auto;
}

#m-header .language a {
    display: inline-block;
}

#m-header .language span {
    color: black;
}
*/

/* Loading Screen */

#loading-screen {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(161,41,25,1);
    /*
    background-image: linear-gradient(to bottom, rgba(239,236,242,1), rgba(238,229,216,1));
    */
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    max-height: 2000px;
    transition: opacity .5s ease .3s, max-height 1s ease 1.3s;
}

#loading-screen img {
    width: 150px;
    opacity: 1;
    margin: 0;
    transition: opacity .5s ease .3s, margin 1s ease 1.5s;
}

#toppage, #information, #message, #video, #musicians, #musiclist, #lyrics, #gifts, #credits, #related, #details, #links {
    opacity: 0;
    transition: opacity .5s linear 1s;
}

.seperator {
    opacity: 0;
    transition: opacity .5s linear 1s;
}

/* Top */
/*
#toppage:hover {
    cursor: pointer;
}
*/

#toppage img {
    width: 100%;
}

/* Scroll */

#scrolldown {
    opacity: 0;
    width: 100%;
    box-shadow: 0 8px 4px -4px #000000;
    transition: all .3s ease;
    transition: opacity .1s linear 1s;
}

#scrolldown:hover {
    cursor: pointer;
    opacity: .9;
}

#scrolldown img {
    height: 100%;
    display: block;
}

#scrolldown .center-positioner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#scrolldown .center-positioner .positioner {
    height: 80%;
    margin: 0 5px;
}

#scrolldown a {
    position: relative;
    left: 50%;
    z-index: 2;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: black;
    font-size: 12px;
    letter-spacing: .1em;
    text-decoration: none;
    transition: opacity .3s;
}

#scrolldown a:hover {
    opacity: .5;
}

#scrolldown a span {
    position: absolute;
    margin-top: 5px;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 4px solid black;
    border-bottom: 4px solid black;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: scrollindicator 1.5s infinite;
    animation: scrollindicator 1.5s infinite;
    box-sizing: border-box;
}

/* information */

.inner-information {
    margin: 0 auto;
    width: 100%;
}

.inner-information .flexible {
    display: block;
    width: 100%;
}

.inner-information .jacket {
    margin-bottom: 25px;
}

.inner-information .jacket img {
    max-width: 475px;
    width: 95%;
    margin: 0 auto;
    display: block;
    box-shadow: 1px 1px 5px #000000;
}

.inner-information .logo img {
    width: 300px;
    margin: 0 auto;
    display: block;
}

.inner-information .top-info {
    right: 0;
}

.inner-information h1.inner-information {
    font-size: 17px;
    margin: 10px 0 0 0;
    font-weight: 700;
    text-align: center;
}

.inner-information h2 {
    background-color: white;
    color: black;
    font-size: 15.5px;
    margin: 0 auto;
    padding: 2px 0;
    mix-blend-mode: screen;
    width: 342px;
    font-weight: 700;
    text-align: center;
}

.inner-information h4 {
    font-size: 19px;
    margin: 0;
    font-weight: 700;
}

.inner-information h3 {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 0;
}

.inner-information .top-info h3 {
    text-align: center;
}

.inner-information .top-info .divider {
    margin: 15px 0;
}

.inner-information .top-info .divider span {
    font-size: 33px;
    font-weight: 700;
}

.inner-information p.center {
    text-align: center;
}

.inner-information p {
    font-size: 16px;
}

.inner-information .text-block {
    max-width: 600px;
    width: 90%;
    margin: 0 auto;
}

.inner-information .text-block p {
    padding: 10px 0;
}

.inner-information .dl h3 {
    text-align: center;
    font-weight: 700;
    margin-top: 25px;
}

/*
.inner-information th {
    text-align: right;
}

.inner-information th:after {
    content: '：';
}
*/

.inner-information .haishin {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.inner-information .haishin p {
    margin: 25px auto;
}

.spinline {
    display: none;
}

.inner-information .haishin a {
    color: var(--color2);
}

.inner-information .haishin a:hover {
    color: var(--color1);
}

.inner-information .hrbanner {
    transition: opacity .2s linear;
}

.inner-information .hrbanner:hover {
    opacity: .9;
    cursor: pointer;
}

.inner-information .hrbanner img {
    width: 940px;
    margin: 25px auto;
    display: block;
}

/* Details Jacket Image */
#details img {
    display: block;
    margin: 0 auto 75px auto;
    width: 95%;
    max-width: 600px;
}

/* Inner Details */
.inner-details {
    margin: 0 auto;
    width: 100%;
}

/* ********* */
/* ********* */
/* ********* */
/* ********* */
/* ********* */

/* game image slideshow */
.image-carousel-container { display: flex; margin: 50px 0; }
.image-carousel-container .image-carousel ul { display: flex; list-style-type: none; padding-left: 0; margin: 0; }
.image-carousel-container .image-carousel ul li { width: 100%; }
.image-carousel-container .image-carousel ul li img { display: block; height: 200px; }
.image-carousel-container.paused { animation-play-state: paused !important; }

/* length edit */
/*
＜SP計算式＞
number of images x 355.5px x 2 = .image-carousel-container width
number of images x 13s = image-carousel-movement seconds
＜PC計算式＞
number of images x 711px x 2 = .image-carousel-container width
number of images x 20s = image-carousel-movement seconds
*/
.image-carousel-container.game { width: 7110px; animation: image-carousel-movement 130s linear infinite; }
/* animation */
@keyframes image-carousel-movement { 
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
/* PC size */
@media only screen and (min-width: 1000px) {
    .image-carousel-container .image-carousel ul li img { height: 400px; }
    .image-carousel-container.game { width: 14220px; animation: image-carousel-movement 200s linear infinite; }
}

/* product information */
.inner-details table { width: 90%; max-width: 600px; margin: 0 auto; border-collapse: collapse;  }
.inner-details table tr th { text-align: left; width: 120px; padding: 15px 0 0 0; font-size: 16px; }
.inner-details table tr td { font-size: 16px; }
/* .product-page .information table { max-width: 370px; } */
/* line break border */
.inner-details table tr.bottom-break td, .inner-details table tr.bottom-break th { padding: 0 0 15px 0; } 
.inner-details table tr.bottom-break.single th { padding: 15px 0 15px 0; }
.inner-details table th.tabletitle { padding: 25px 0 10px 0; text-align: center; }
.inner-details table td.tablesubtitle { font-weight: 700; }
.inner-details table th.tablelist { padding: 8px 0 0 0; width: 25px; }
.inner-details table tr.bottom-break th.tablelist { padding: 8px 0 15px 0; }
.inner-details table tr th.small-text { font-size: 14px; }
.inner-details table tr td.small-text { font-size: 14px; }
.inner-details table tr td img { width: 100%; }
.inner-details table tr.bottom-break { border-bottom: 1px solid rgba(255,255,255,.3); }

/* No Word Wrap Setting */
span.nowrap { white-space: nowrap; }


/*　other product　*/
.other-product { height: 335px; /* box-sizing: border-box; */ padding: 25px; background-color: rgba(31,31,31,1); width: 90%; display: flex; justify-content: space-between; align-items: center; margin: 0 auto 0 auto; max-width: 600px; border-radius: 25px; border: 2px solid rgba(31,31,31,.1); }
.other-product .image { /* width: 47%; */ height: 100%; text-align: center; }
.other-product .image img { /* height: 250px !important; */ height: 100%; margin: 0 !important; padding: 0 !important; box-shadow: 1px 1px 5px #000000; }
.other-product .text { width: 47%; }
.other-product .text h1 { transition: all .5s ease-in; width: 90% !important; text-align: center !important; font-size: 17px !important; border-bottom: 2px solid rgba(31,31,31,.1); padding-bottom: 10px; background: none; margin: 0 0 0 auto !important; line-height: 25px; color: black; }
.other-product .text h2 { font-size: 17px !important; font-size: 900; letter-spacing: 3px; width: 90% !important; margin: 5px 0 0 auto !important; padding: 0 0 0 0 !important; background-color: rgba(0,0,0,0) !important; }
/* other product color settings */
.other-product { background-color: rgba(31,31,31,0); color: rgba(244,244,244,1); }
.other-product:hover { border: 2px solid rgba(31,31,31,.5); }
.other-product:hover .text h1 { border-bottom: 2px solid rgba(31,31,31,.5); }

.other-product p { color: rgba(0,0,0,.5); width: 90%; margin: 15px 0 0 auto; text-align: center; }
.other-product:hover p { color: rgba(0,0,0,.5); }

.bio p { font-size: 16px; }

/* ********* */
/* ********* */
/* ********* */
/* ********* */

.showpc {
    display: block;
}

.showsp {
    display: none;
}

#album-info-plus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    transition: opacity .3s ease;
}

#album-info-plus:before, #album-info-plus:after {
    content: '';
    position: absolute;
    background-color: white;
}

    /* vertical */
#album-info-plus:before {
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    margin-left: -2px;
}

    /* horizontal */
#album-info-plus:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#album-info-button:hover > #album-info-plus:before, #album-info-button:hover > #album-info-plus:after, #album-info-button:hover > #album-info-minus:after {
    background-color: var(--color2);
}

#album-info-minus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    z-index: 5;
    opacity: 0;
    transition: opacity .3s ease;
}

#album-info-minus:after {
    content: '';
    position: absolute;
    background-color: var(--color1);
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#album-info {
    width: 930px;
    margin: 0 auto;
    height: 0;
    border: 0 solid white;
    transition: all .3s ease;
}

#album-info-infobox {
    display: none;
    margin: 0 auto;
}

#album-info-infobox table {
    margin: 25px;
}

#album-info-infobox table th {
    font-weight: 700;
}

#album-info-infobox p {
    margin: 25px;
}

/* Music List */

/**********************************************************************
MUSIC LIST
**********************************************************************/
#musiclist ul { max-width: 600px; }
/* disc */
#musiclist ul.disc { list-style-type: none; display: block; width: 90%; margin: 35px auto 5px auto; z-index: 2; position: relative; }
#musiclist ul.disc li { display: flex; font-weight: 700; font-size: 20px; z-index: 2; position: relative; }
#musiclist ul.disc li .spacing { width: 28px; }
/* disc background image */
/*
.product-page .musiclist ul.disc::after { position: absolute; opacity: .1; content:''; z-index: 1; }
.product-page.xbtb .musiclist ul.disc::after { background-image: url(../img/decoration/decoration-xbtb-black.png); background-size: 150px; height: 150px; width: 150px; margin: -89px 0 0 0; }
.product-page.xb3 .musiclist ul.disc::after { background-image: url(../img/decoration/decoration-xb3-white.png); background-size: 150px; height: 150px; width: 150px; margin: -89px 0 0 -12.5px; }
.product-page.xb2 .musiclist ul.disc::after { background-image: url(../img/decoration/decoration-xb2-white_1.png); background-size: 150px; height: 150px; width: 150px; margin: -79px 0 0 0; }
.product-page.xbde .musiclist ul.disc::after { background-image: url(../img/decoration/decoration-xbde-white_1.png); background-size: 150px; height: 150px; width: 150px; margin: -90px 0 0 -14px; }
*/
/* track */
#musiclist ul.tracks { list-style-type: none; display: block; width: 90%; margin: 0 auto; z-index: 2; position: relative; padding: 0; }
#musiclist ul.tracks li { margin: 5px 0; padding: 5px 0; display: flex; z-index: 2; position: relative; }
/* border color */
#musiclist ul.tracks li { border-bottom: 1px solid rgba(255,255,255,.3); }
/* numbering */
#musiclist ul.tracks li .number { width: 35px; }
/* artist */
#musiclist ul.tracks li span { opacity: .5; }
/* info */
#musiclist p { text-align: center; font-size: 16px; }
/*
.product-page .musiclist ul.info { list-style-type: none; display: block; width: 90%; margin: 0 auto -50px auto; z-index: 2; position: relative; font-size: 14px; }
.product-page .musiclist ul.info li { margin: 5px 0; padding: 5px 0; display: flex; z-index: 2; position: relative; }
.product-page .musiclist ul.info li .number { width: 35px; }
*/
#musiclist p.music-list-information { width: 90%; margin: 0 auto; }


/*
#music-list-plus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    transition: opacity .3s ease;
}

#music-list-plus:before, #music-list-plus:after {
    content: '';
    position: absolute;
    background-color: white;
}

#music-list-plus:before {
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    margin-left: -2px;
}

#music-list-plus:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#music-list-button:hover > #music-list-plus:before, #music-list-button:hover > #music-list-plus:after, #music-list-button:hover > #music-list-minus:after {
    background-color: var(--color2);
}

#music-list-minus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    z-index: 5;
    opacity: 0;
    transition: opacity .3s ease;
}

#music-list-minus:after {
    content: '';
    position: absolute;
    background-color: var(--color1);
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#music-list {
    width: 930px;
    margin: 0 auto;
    height: 0;
    border: 0 solid white;
    transition: all .3s ease;
}

#music-list-infobox {
    display: none;
    margin: 0 auto;
}

#music-list-infobox p {
    margin: 25px;
}
*/

/* About Album */

#about-album-plus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    transition: opacity .3s ease;
}

#about-album-plus:before, #about-album-plus:after {
    content: '';
    position: absolute;
    background-color: white;
}

#about-album-plus:before {
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    margin-left: -2px;
}

#about-album-plus:after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#about-album-button:hover > #about-album-plus:before, #about-album-button:hover > #about-album-plus:after, #about-album-button:hover > #about-album-minus:after {
    background-color: var(--color2);
}

#about-album-minus {
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10px;
    z-index: 5;
    opacity: 0;
    transition: opacity .3s ease;
}

#about-album-minus:after {
    content: '';
    position: absolute;
    background-color: var(--color1);
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    margin-top: -2px;
}

#about-album {
    width: 930px;
    margin: 0 auto;
    height: 0;
    border: 0 solid white;
    transition: all .3s ease;
}

#about-album-infobox {
    display: none;
    margin: 0 auto;
}

#about-album-infobox p {
    margin: 25px;
}

/* Horizontal End */

#boxa .links, #boxb .links{
    text-align: center;
    margin: 20px 0;
}

#boxa a {
    text-decoration: none;
    font-size: 20px;
    display: block;
    margin: 10px 0;
}

#boxa h4 {
    text-align: right;
    margin: 10px 13px 10px 0;
}

#boxa img {
    width: 100%;
}

.inner-credits {
    width: 100%;
}

/* Message */
/*
.inner-message, .inner-credits {
    width: 940px;
    margin: 0 auto;
}

.inner-message p {
    width: 81%;
    margin: 0 auto;
    text-align: justify;
}

.inner-message img.sign {
    float: right;
    width: 300px;
}
*/

/* Video */

.inner-video {
    padding: 1px 0 0 0;
    width: 100%;
}

.inner-video .resize {
    width: 95%;
    max-width: 1300px;
    margin: 0 auto 25px auto;
}

.inner-video .video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.inner-video .video-container iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

/* Comment */
.inner-comment {
    width: 100%;
}

.inner-comment .flexible {
    display: block;
    margin: 50px auto;
    max-width: 600px;
    width: 90%;
}

.inner-comment .flexible img {
    max-width: 600px;
    width: 100%;
}

.inner-comment .bio {
    max-width: 600px;
}

.inner-comment .bio a:hover {
    color: rgba(169,3,27,1);
    transition: all .2s;
}

.inner-comment .english-name {
    opacity: .5;
    font-size: 15px;
}

.inner-comment .row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.inner-comment .row .item {
    width: 200px;
    text-align: center;
    margin: 10px;
}

.inner-comment .row .item img {
   width: 100%;
}

.inner-comment .imageonly {
    display: block;
    margin: 0 auto;
    width: 600px;
    justify-content: space-evenly;
}

.inner-comment a.imageonlylink {
    width: 600px;
    transition: all .2s;
}

.inner-comment a.imageonlylink h6  {
    transition: all .2s;
    font-size: 15px;
}

.inner-comment a.imageonlylink h6.type  {
    margin-top: 25px;
}

.inner-comment.english a:hover h6  {
    border-color: rgba(169,3,27,1);
    color: rgba(169,3,27,1);
}

.inner-comment.english a:hover  {
    opacity: .8;
}

.inner-comment.english a h6  {
    transition: all .3s;
    margin-bottom: 0;
}

.inner-comment.english a img  {
    transition: all .3s;
}

.inner-comment .imageonly img {
    max-width: 600px;
    margin: 0 auto;
    transition: all .2s;
}

.inner-comment a.imageonlylink:hover img  {
    opacity: .7;
}

/* Musicians */

.inner-musicians {
    width: 100%;
}

.inner-musicians .flexible {
    display: block;
    margin: 50px auto;
    width: 600px;
}

.inner-musicians .flexible img {
    max-width: 600px;
}

.inner-musicians .bio {
    max-width: 600px;
}

.inner-musicians .bio a:hover {
    color: rgba(169,3,27,1);
    transition: all .2s;
}

.inner-musicians .english-name {
    opacity: .5;
    font-size: 15px;
}

.inner-musicians .row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.inner-musicians .row .item {
    width: 200px;
    text-align: center;
    margin: 10px;
}

.inner-musicians .row .item img {
   width: 100%;
}

.inner-musicians .imageonly {
    display: block;
    margin: 0 auto;
    width: 600px;
    justify-content: space-evenly;
}

.inner-musicians a.imageonlylink {
    width: 600px;
    transition: all .2s;
}

.inner-musicians a.imageonlylink h6  {
    transition: all .2s;
    font-size: 15px;
}

.inner-musicians a.imageonlylink h6.type  {
    margin-top: 25px;
}

.inner-musicians.english a:hover h6  {
    border-color: rgba(169,3,27,1);
    color: rgba(169,3,27,1);
}

.inner-musicians.english a:hover  {
    opacity: .8;
}

.inner-musicians.english a h6  {
    transition: all .3s;
    margin-bottom: 0;
}

.inner-musicians.english a img  {
    transition: all .3s;
}

.inner-musicians .imageonly img {
    max-width: 600px;
    margin: 0 auto;
    transition: all .2s;
}

.inner-musicians a.imageonlylink:hover img  {
    opacity: .7;
}

/* Music List */

.inner-musiclist {
    width: 100%;
}

.inner-musiclist ol {
    margin: 0;
}

.inner-musiclist li {
    font-size: 16px;
    padding: 6px;
}

.inner-musiclist ul {
    margin: 0;
    list-style-type: none;
}

.inner-musiclist ul li {
    font-size: 16px;
    padding: 6px;
}

/*
.inner-musiclist span {
    font-size: smaller;
}
    */

.inner-musiclist span.english {
    font-size: x-small;
}

/* Lyrics */

.inner-lyrics {
    width: 100%;
}

.inner-lyrics h2 {
    font-size: 22px;
    text-align: center;
    margin: 0;
}

.inner-lyrics h3 {
    font-size: 18px;
    text-align: center;
    opacity: .6;
    font-weight: 400;
    margin: 5px 0 30px 0;
}

.inner-lyrics p {
    font-size: 15px;
    line-height: 23px;
}

.inner-lyrics .english-lyrics {
    margin: 0 auto;
    display: block;
    width: 480px;
}

/* Gifts */

.inner-gifts {
    width: 100%;
}

.inner-gifts h2 {
    font-size: 22px;
    text-align: center;
}

.inner-gifts .links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 25px 0;
}

.inner-gifts .links .h-button {
    width: 250px;
}

/* Credits */

.inner-credits ul {
    list-style-type: none;
    width: 90%;
    max-width: 600px;
    display: block;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.inner-credits ul.credits-heading {
    font-size: 20px;
    font-weight: 700;
    margin: 35px auto 5px auto;
}

.inner-credits ul.credits-list {
    font-size: 16px;
}

.inner-credits ul.credits-list li {
    margin: 0 auto 15px auto;
}

.inner-credits ul.credits-list li span {
    opacity: .5;
}

.inner-credits p {
    width: 90%;
    max-width: 600px;
    /*text-align: center;*/
    display: block;
    margin: 0 auto;
}

.inner-credits img {
    width: 90%;
    max-width: 600px;
    display: block;
    margin: 100px auto;
}

/*
#credits table {
    margin: 0 auto;
}

#credits table th, #credits table td {
    width: 500px;
    padding: 4px 10px;
}

#credits table th {
    text-align: right;
}

#credits h3 {
    margin: 40px 0 20px 0;
    text-align: center;
}

#mobile-inner-credits {
    display: none;
    margin: 0 auto;
    width: 100%;
}

#credits dt, #credits dd {
    text-align: center;
    font-weight: 400;
}

#credits dt {
    margin: 20px 0 0 0;
    font-size: 12px;
}

#credits dd {
    margin: 0;
    font-weight: 400;
    font-size: 15px;
}
*/

/* Links */

#links {
    /* padding-top: 100px; */
    /* padding-bottom: 50px; */
}

#links a {
    display: block;
    width: 100%;
    height: 100%;
}

#links .imgcon {
    height: 100%;
    display: flex;
}

#links img {
    margin: auto;
}

#links #l4 img {
    width: 65%;
}

#links #l0 img {
    width: 65%;
}

#links #l1 img {
    width: 85%;
}

#links #l2 img {
    width: 85%;
}

#links #l3 p {
    display: block;
    margin: auto;
    font-size: 45px;
    font-weight: 700;
}

#links #l3 a:hover {
    color: var(--color1);
}

#links #l1, #links #l2, #links #l0, #links #l4 {
    margin: 10px auto;
    position: relative;
    width: 300px;
    height: 150px;
    border: 1px solid rgb(255,255,255,.5);
    border-radius: 10px;
    -webkit-transition: border-color .3s linear; /* Saf3.2+, Chrome */
     -moz-transition: border-color .3s linear; /* FF3.7+ */
       -o-transition: border-color .3s linear; /* Opera 10.5 */
          transition: border-color .3s linear;
}

#links #l1:hover, #links #l2:hover, #links #l0:hover, #links #l4:hover {
    border: 1px solid rgb(255,255,255,0);
}

#links #l1:after, #links #l2:after, #links #l0:after, #links #l4:after {
    content: '';
    width: 100%;
    height: 100%;
    opacity: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -1;
    border-radius: 10px;
    transition: opacity .15s linear;
}

#links #l4:after {
    background-color: rgba(161,41,25,1);
}

#links #l0:after {
    background-color: rgba(161,41,25,1);
}

#links #l1:after {
    background-color: rgba(161,41,25,1);
}

#links #l2:after {
    background-color: rgba(161,41,25,1);
}

#links #l0:hover:after, #links #l1:hover:after, #links #l2:hover:after, #links #l4:hover:after {
    opacity: 0.7;
}

#links .flexible {
    display: block;
    width: 100%;
}

/* Copyright */

.album-copyright p {
    font-size: 10px !important;
    font-weight: 300;
}

.copyright p {
    text-align: center;
    padding: 20px;
    font-size: 12px;
    font-weight: 300;
}

/* Final Edits */

a.amazon-tokuten-link {
    color:rgba(35,31,134,1);
    text-decoration: underline;
}
a.amazon-tokuten-link:hover {
    color: rgba(183,43,35,1);
}

/* Media Queries */


.pc {
    display: flex !important;
}

.sp {
    display: none !important;
}

.haishin-sp {
    display: none !important;
}

/* Keyframes */

@-webkit-keyframes scrollindicator {
    0% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      -webkit-transform: rotate(-45deg) translate(-8px, 8px);
      opacity: 0;
    }
}
  
@keyframes scrollindicator {
    0% {
      transform: rotate(-45deg) translate(0, 0);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform: rotate(-45deg) translate(-8px, 8px);
      opacity: 0;
    }
}