@charset "UTF-8";
/* Color Pallet

*/

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

/*========================================
    base & common
========================================*/
html,body {
    line-height: 1.6;
	-webkit-text-size-adjust: 100%;
    background: #fff;
    color: #333;
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.4rem;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "游明朝", YuMincho, "ＭＳ Ｐ明朝", serif;
    font-weight: 500;
}

img {
    vertical-align: bottom;
}

a {
    text-decoration: none;
}   
a:hover {
    text-decoration: underline;
}

.breakCtrl {
    display: inline-block;
}

.brd-black,
.brd-white {
    border: 15px solid;
    -moz-border-image: url(../img/brd-black.png) 15 repeat;
    -webkit-border-image: url(../img/brd-black.png) 15 repeat;
    -o-border-image: url(../img/brd-black.png) 15 repeat;
    border-image: url(../img/brd-black.png) 15 repeat;
    box-sizing: border-box;
}
.brd-white {
    -moz-border-image: url(../img/brd-white.png) 15 repeat;
    -webkit-border-image: url(../img/brd-white.png) 15 repeat;
    -o-border-image: url(../img/brd-white.png) 15 repeat;
    border-image: url(../img/brd-white.png) 15 repeat;
}
.btn-common {
    color: #fff;
    font-size: 1.2rem;
    background: #000;
    border-radius: 5px;
    line-height: 22px;
    height: 22px;
    display: inline-block;
    text-align: center;
    padding: 0 15px;
    min-width: 120px;
    box-sizing: border-box;
}
.btn-common:hover {
    opacity: 0.75;
    text-decoration: none;
}
.btn-common:after {
    content: '';
    display: inline-block;
    border: 4px solid transparent;
    margin-left: 5px;
    border-left: 4px solid #fff;
}

/*========================================
    keyvisual
========================================*/
.section,
.section-alt {
    color: #000;
}
    .section-alt {
        color: #fcffe9;
    }
.section-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 0;
    text-align: center;
}
    #keyvisual .section-inner {
        display: flex;
        flex-direction: row-reverse;
        align-items: stretch;
        padding: 0;
        text-align: left;
    }
    #concert .section-inner {
        padding: 60px 0 100px;
    }

.section-title {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.15em;
    display: inline-block;
    padding: 0 70px;
    margin: 0 auto 45px;
    position: relative;
    line-height: 1;
}
    .section-title:before,
    .section-title:after  {
        content: '';
        background: url(../img/img-title_parts.svg) no-repeat left top;
        width: 17px;
        height: 64px;
        position: absolute;
        left: 0;
        top:50%;
        margin-top: -32px;
    }
    .section-title:after  {
        right: 0;
        background: url(../img/img-title_parts_alt.svg) no-repeat left top;
    }
    .section-alt .section-title:before,
    .section-alt .section-title:after  {
        content: '';
        background: url(../img/img-title_parts_white.svg) no-repeat left top;
    }
    .section-alt .section-title:after  {
        background: url(../img/img-title_parts_white_alt.svg) no-repeat left top;
    }

#header {
    position: fixed;
    width: 390px;
    padding: 70px 20px;
    box-sizing: border-box;
    height: 100%;
    right: 0;
    top: 0;
    color: #fff;
    display: flex;
    flex-direction: row-reverse;
    z-index: 100000;
    left: 100%;
}
#header.active {
    left: auto;
}
#header:before {
    content: '';
    top:0;
    right: 0;
    width: 0;
    height: 0;
    display: block;
    border: 50px solid transparent;
    border-top: 50px solid #160e0d;
    border-right: 50px solid #160e0d;
    box-sizing: border-box;
    position: fixed;
    transition: border 0.3s;
    z-index: 100001;
}
#header.active:before {
    border-left: 195px solid transparent;
    border-right: 195px solid #160e0d;
    border-top: 50vh solid #160e0d;
    border-bottom: 50vh solid transparent;
}
#header:after {
    content: '';
    top:0;
    right: 0;
    width: 0;
    height: 0;
    display: block;
    background-color: #160e0d;
    box-sizing: border-box;
    position: fixed;
    transition: width 0.3s,height 0.3s;
    z-index: 100002;
}    
#header.active:after {
    width: 390px;
    height: 100vh;
    transition-delay: 0.1s;
}
    .header-btn {
        position: fixed;
        right: 15px;
        top:15px;
        z-index: 100010;
    }
    .header-btn a {
        display: block;
        width: 24px;
        height: 24px;
        text-indent: -10000px;
        color: #fff;
        text-decoration: none;
        background: url(../img/btn-menu.svg) no-repeat center center;
        outline: none;
    }
    .active .header-btn a {
        background: url(../img/btn-close.svg) no-repeat center center;
    }
    .header-title {
        display: none;
        position: relative;
        top: -15px;
        min-width: 150px;
        z-index: 100003;
    }
    .header-title h1 {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        padding-top: 134px;
        background: url(../img/logo.png) no-repeat center top;
        background-size: contain;
        min-width: 150px;
        font-size: 3.0rem;
        box-sizing: border-box;
        text-align: left;
        line-height: 1.133;
        padding-right: 40px;
    }
    .header-title h1 span {
        font-size: 1.5rem;
        font-weight: 700;
    }
    .header-menu {
        padding-top: 134px;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        line-height: 2;
        font-size: 1.6rem;
        z-index: 100010;
        display: none;
        position: relative;
        top: -15px;
    }
    #header.active.active .header-title,
    #header.active.active .header-menu {
        display: block;
        opacity: 0;
        animation:fadeIn ease 0.7s;
        animation-fill-mode:forwards;
        animation-duration:1s;
    }
    #header.active.active .header-menu {
        animation-delay: 0.2s;
    }
    .header-menu li a {
        padding-top: 25px;
        display: inline-block;
        background: url(../img/icn-menu.svg) no-repeat center top;
        cursor: pointer;
        color: #fff;
    }
    .header-menu li a:hover {
        text-decoration: none;
        opacity: 0.75;
    }

#keyvisual {
    background: url(../img/bg-keyvisual.jpg) no-repeat center center;
    background-size: cover;
    box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 10;
}
    .keyvisual-title {
        padding-top: 70px;
        width: 17.4%;
        text-align: center;
    }
    .keyvisual-title h1 {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        padding-top: 134px;
        background: url(../img/logo.png) no-repeat center top;
        background-size: contain;
        min-width: 150px;
        padding-right: 40px;
        font-size: 3.0rem;
        display: inline-block;
        text-align: left;
        line-height: 1.133;
        box-sizing: border-box;
        font-weight: 700;
    }
    .keyvisual-title h1 span {
        font-size: 1.5rem;
    }
    .keyvisual-image {
        width: 65.2%;
        text-align: center;
    }
    .keyvisual-image img {
        max-width: 100%;
        height: auto;
    }
    .keyvisual-text {
        text-align: center;
        width: 17.4%;
        padding-top: 70px;
    }
    .keyvisual-text p {
        padding: 10px 15px;
        font-size: 1.6rem;
        display: inline-block;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
            text-align: left;
        line-height: 1.583;
    }
    .keyvisual-text p em {
        font-size: 2.4rem;
    }

#alert {
    background: #c10808;
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    left: 0;
    text-align: center;
}
#alert a {
    color: #fff;
    text-decoration: underline;
}
#alert a:hover {
    text-decoration: none;
}
    #alert .section-inner {
        padding: 15px 0;
    }
    
    .alert-modal-content {
        padding-top: 2em;
        padding-bottom: 5em;
        font-weight: 400;
    }

    .alert-modal-content h1 {
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
    }
    .alert-modal-content h2 {
        font-size: 2.0rem;
        font-weight: bold;
        margin-top: 2.5em;
        border-bottom: 1px solid #fff;
    }
    .alert-modal-content h3 {
        font-size: 1.6rem;
        font-weight: bold;
        margin-top: 2.5em;
    }
    .alert-modal-content p {
        font-size: 1.4rem;
        margin-top: 0.7em;
        line-height: 1.7;
    }
    .alert-modal-content p.center {
        text-align: center;
        margin-top: 1.5em;
    }

    .alert-modal-content h2 + p,
    .alert-modal-content h3 + p {
        margin-top: 1em;
    }
    .alert-modal-content ul {
        list-style: disc;
        padding-left: 2em;
        list-style-position: outside;
    }
    .alert-modal-content ul li {
        margin-top: 0.7em;
        line-height: 1.7;
    }
    .alert-modal-content a {
        color: #fff;
        text-decoration: underline;
    }
    .alert-modal-content a:hover {
        color: #fff;
        text-decoration: none;
    }
    .alert-modal-content .brd-white {
        margin-top: 3em;
    }
    .alert-modal-content .brd-white h3 {
        margin-top: 0;
    }
    .alert-modal-content p:last-child {
        margin-top: 3em;
    }
    .btn-alert {
        color: #000 !important;
        font-weight: bold;
        font-size: 1.6rem;
        background: #fff;
        border-radius: 5px;
        line-height: 34px;
        height: 34px;
        display: inline-block;
        text-align: center;
        min-width: 300px;
        padding: 0 25px 0 15px;
        box-sizing: border-box;
        text-decoration: none !important;
        position: relative;
    }
    .btn-alert:hover {
        opacity: 0.75;
        text-decoration: none;
    }
    .btn-alert:after {
        content: '';
        display: block;
        border: 4px solid transparent;
        border-left: 4px solid #000;
        position: absolute;
        right: 10px;
        top:50%;
        margin-top: -4px;
    }

#cd {
    position: relative;
    background: url(../img/bg-cd.gif) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    z-index: 9;
    box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.3) inset;
}
#cd:after {
    content: url(../img/img-paper.png);
    position: absolute;
    left: 50%;
    top:0;
    margin-left: -650px;
}
    .cd-description {
        font-size: 1.8rem;
        line-height: 1.8;
        text-align: left;
        max-width: 680px;
        margin: 0 auto;
    }
    .cd-description em {
        font-size: 2.2rem;
    }

#bonus {
    background: url(../img/bg-flower.jpg) no-repeat center center;
    background-size: cover;
    overflow: hidden;
    position: relative;
    z-index: 8;
}
    .bonus-layout {
        display: flex;
        justify-content: center;
        align-items: stretch;
        text-align: left;
    }
    .bonus-column {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .bonus-column + .bonus-column {
        margin-left: 40px;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
    }
    .bonus-title {
        font-size: 2.4rem;
    }
    .bonus-title span {
        display: block;
        font-size: 1.8rem;
    }
    .bonus-note {
        font-size: 1.2rem;
        margin-top: 17px;
    }
    .bonus-image {
        position: relative;
    }
    .bonus-image img {
        visibility: hidden;
    }
    .bonus-image:after {
        content: url(../img/img-clearfile_large.png);
        position: absolute;
        right: -30px;
        top: -115px;
    }
    .bonus-animate {
        margin-top: 40px;
    }
    .bonus-animate a {
        display: inline-block;
        text-indent: -10000px;
        background: url(../img/btn-animate.png) no-repeat left top;
        width: 135px;
        height: 30px;
    }
    .bonus-animate a:hover {
        opacity: 0.75;
    }

#concert {
    background: url(../img/bg-stripe.gif) repeat center top;
    position: relative;
    z-index: 7;
    box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.3);
}
#concert:after {
    content: '';
    display: block;
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 5px;
    background: url(../img/bg-border_double.gif) repeat-x left top;
}
    .concert-layout {
        display: flex;
        justify-content: center;
        align-items: stretch;
        text-align: left;
        flex-wrap: wrap;
    }
    .concert-lead {
        font-size: 1.6rem;
        text-align: left;
        margin-bottom: 30px;
        width: 100%;
        max-width: 780px;
        line-height: 1.8;
    }
    .concert-column {
        max-width: 390px;
        width: 35.454%;
    }
    .concert-column + .concert-column {
        flex-grow: 1;
        width: 35.454%;
        position: relative;
        padding-top: 35.4545%;
        max-height: 390px;
        margin-left: 40px;
    }
    .concert-column iframe {
        position: absolute;
        left: 0;
        top:0;
        width: 100%;
        height: 100%;
    }
    .concert-title {
        font-size: 2.4rem;
        text-align: center;
    }
    .concert-title .concert-subtitle {
        font-size: 1.8rem;
        margin-right: 0.5rem;
        display: inline-block;
    }
    .concert-date {
        margin-top: 30px;
        font-size: 1.8rem;
    }
    .concert-date .concert-additional {
        font-size: 2rem;
        display: block;
    }
    .concert-detail {
        margin-top: 10px;
    }
    .concert-detail th,
    .concert-detail td {
        line-height: 2.285;
        font-size: 1.6rem;
    }
    .concert-detail th {
        font-weight: bold;
        padding-right: 1em;
        white-space: nowrap;
    }
    .concert-note {
        margin-top: 0.6em;
        font-size: 1.4rem;
        line-height: 1.4;
        display: inline-block;
    }

#pianist {
    background: url(../img/bg-flower.jpg) no-repeat center center;
    background-size: cover;
    position: relative;
    z-index: 6;
}
    .pianist-list {
        display: flex;
        justify-content: center;
    }
    .pianist-item {
        position: relative;
    }
    .pianist-item a {
        text-decoration: none;
        cursor: pointer;
    }
    .pianist-item + .pianist-item {
        margin-left: 24px;
    }
    .pianist-name {
        background: #fff;
        position: absolute;
        right: 0;
        top:0;
        color: #333333;
        text-align: left;
        line-height: 1;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }
    .pianist-name .pianist-name-ja {
        font-size: 1.8rem;
        padding: 30px 15px 30px 0;
        display: inline-block;

    }
    .pianist-name .pianist-name-en {
        font-size: 1.0rem;
        line-height: 2;
        padding: 30px 0 30px 15px;
        display: inline-block;
    }
    .pianist-image {
        display: block;
        background: #fff;
    }
    .pianist-image img {
        width: 100%;
        height: auto;
        transition: opacity 0.3s;
    }
    .pianist-item:hover .pianist-image img {
        opacity: 0.75;
    }
    .pianist-profile {
        display: none;
    }

    .pianist-modal,
    .alert-modal {
        position: fixed;
        background: rgba(0,0,0,0.8);
        width: 100%;
        height: 100%;
        left: -100%;
        opacity: 0;
        top:0;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: opacity 0.3s;
        cursor: pointer;
        overflow-y: auto;
        z-index: 100000;
        color: #fff;
    }
    .alert-modal {
        background: rgba(0,0,0,0.9);
    }
    .pianist-modal.active,
    .alert-modal.active {
        opacity: 1;
        left: 0;
    }
    
    .pianist-modal-spacer,
    .alert-modal-spacer {
        max-height: 100%;
        box-sizing: border-box;
        width: 87.5%;
        padding: 25px 0 0;
    }
    .pianist-modal-box,
    .alert-modal-box {
        opacity: 0;
        transition: opacity 0.3s, margin-top 0.3s;
        transition-delay: 0.1s;
        cursor: default;
        max-width: 640px;
        padding: 0 10px;
        margin: 0 auto;
    }
    .alert-modal-box {
        max-width: 780px;
    }
    .pianist-modal.active .pianist-modal-box,
    .alert-modal.active .alert-modal-box {
        margin-top: 0;
        opacity: 1;
    }
        .pianist-modal-box a:hover,
        .alert-modal-box a:hover {
            opacity: 0.75;
        }

    .pianist-modal-close {
        text-align: right;
    }
    .alert-modal-close {
        text-align: right;
    }
    .pianist-modal-name br {
        display: none;
    }
    .pianist-modal .pianist-name-ja {
        font-size: 3.6rem;
    }
    .pianist-modal .pianist-name-en {
        font-size: 2.4rem;
        margin-left: 20px;
    }
    .pianist-modal-profile {
        margin-top: 30px;
        line-height: 1.714;
        font-size: 1.4rem;
    }

#score {
    background: url(../img/bg-stripe.gif) repeat center top;
    position: relative;
    z-index: 7;
    box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.3);
}
#score:after {
    content: '';
    display: block;
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 5px;
    background: url(../img/bg-border_double.gif) repeat-x left top;
}
    .score-layout {
        display: flex;
        justify-content: center;
    }
    .score-image {
        order: 2;
    }
    .score-image img {
        width: 100%;
        height: auto;
    }
    .score-detail {
        max-width: 460px;
        margin-right: 40px;
        text-align: left;
        order: 1;
    }
    .score-title {
        font-size: 2.4rem;
        text-align: center;
    }
    .score-title span {
        font-size: 1.8rem;
    }
    .score-description {
        font-size: 1.6rem;
        line-height: 1.6;
        margin-top: 20px;
    }
    .score-note {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 20px;
    }
    .score-note .btn-common {
        margin-top: 10px;
    }
    
#track {
    background: url(../img/bg-cd.gif) no-repeat center center;
    background-size: cover;
    padding-bottom: 70px;
    position: relative;
    z-index: 6;
}
    .track-note {
        font-size: 1.8rem;
        margin-top: 17px;
    }
    .track-list-layout {
        display: flex;
        text-align: left;
        justify-content: center;
    }
    .track-list {
        margin-top: 10px;
        font-size: 1.8rem;
        margin-left: 1em;
        box-sizing: border-box;
        padding-right: 15px;
    }
    .track-list + .track-list {
        padding-left: 15px;
        padding-right: 0;
    }
    .track-list li {
        margin-top: 0.5em;
        text-indent: -3em;
        padding-left: 3em;
    }
    .track-arranger {
        font-size: 1.4rem;
        display: inline-block;
        text-indent: 0;
    }
    .track-icon {
        text-indent: 0;
        display: inline;
        width: 3em;
    }

#footer {
    background: #160e0d;
    color: #fff;
    text-align: center;
    position: relative;
    font-family: "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: relative;
    z-index: 10;
}
    #footer .footer-inner {
        padding: 50px 30px;
    }
    .footer-pgtp {
        position: absolute;
        margin-left: -20px;
        left: 50%;
        top:-40px;
        width: 40px;
        height: 40px;
    }
    .footer-pgtp a {
        display: block;
        width: 40px;
        height: 40px;
        background: #160e0d url(../img/icn-arrow_up_white.svg) no-repeat center center;
        background-size: 18px 12px;
        text-indent: -99999px;
        outline: none;
    }
    .footer-sns {
        margin-top: 30px;
    }
    .footer-sns li {
        display: inline-block;
    }
    .footer-sns li + li {
        margin-left: 15px;
    }
    .footer-sns li img {
        width: 30px;
        height: 30px;
    }
    .footer-copy {
        margin-top: 30px;
        font-size: 1.0rem;
        line-height: 2;
    } 
    .footer-copy span {
        display: block;
    }

@media (min-width: 821px) {
    .sp_only {
        display: none;
    }
    .score-layout {
        margin-top: 17px;
    }
    
    .score-title span {
        margin-right: 0.5em;
    }
    .score-image {
        padding-bottom: 40px;
    }
}

@media (max-width: 1100px) {
    
    .section-inner {
        margin:0 20px;
    }
    .keyvisual-title {
    }
    .keyvisual-title h1 {
        padding: 0;
        padding-top: 114px;
        background: url(../img/logo.png) no-repeat center top;
        background-size: contain;
        min-width: 150px;
        padding-right: 40px;
        margin: 0 0 0 10px;
    }
    .keyvisual-title h1 span {
        font-weight: 700;
    }
    .keyvisual-text {
    }
    .keyvisual-text p {
        font-size: 1.2rem;
    }
    .keyvisual-text p em {
        font-size: 1.8rem;
    }
}

@media (max-width: 820px) {
    .pc_only {
        display: none;
    }
    #keyvisual {
        background: url(../img/bg-keyvisual_sp.jpg) no-repeat top center;
        background-size: cover;
    }
    
    .keyvisual-image img {
        width: 100%;
        max-width: auto;
    }
    
    #keyvisual .section-inner {
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: center;
        margin: 0;
    }
    .keyvisual-image {
        width: 100%;
        text-align: center;
        order: 4;
    }
    #alert {
        font-size: 1.4rem;
        position: relative;
        order: 3;
    }
    .keyvisual-title {
        order: 1;
        width: auto;
        padding: 70px 0;
        margin-left: 20px;
    }
    .keyvisual-title h1 {
        margin: 0;
    }
    
    .keyvisual-text {
        order: 2;
        width: auto;
        padding: 70px 0;
    }
    
    #cd:after {
        content: '';
        display: none;
    }
    .bonus-layout {
        display: block;
    }
    .bonus-column {
        display: block;
        text-align: center;
    }
    .bonus-column + .bonus-column {
        margin-left: 0;
    }
    .bonus-title {
        display: inline-block;
        margin-top: 30px;
    }
    .bonus-image:after {
        content: '';
        display: none;
    }
    .bonus-image {
        text-align: center;
    }
    .bonus-image img {
        visibility: visible;
        max-width: 100%;
        height: auto;
    }
    .concert-layout {
        display: block;
    }
    .concert-column {
        width: 100%;
        max-width: inherit;
    }
    .concert-date {
        text-align: center;
    }
    .concert-detail {
        margin: 30px auto;
    }
    .concert-column + .concert-column {
        margin-left: 0;
        margin-top: 30px;
        padding-top: 70%;
        width: 100%;
        max-width: inherit;
    }
    .concert-title {
        text-align: center;
    }
    .pianist-item + .pianist-item {
        margin-left: 5px;
    }
    .pianist-name .pianist-name-ja {
        padding: 30px 10px 30px 0;

    }
    .pianist-name .pianist-name-en {
        padding: 30px 0 30px 10px;
    }
    
    .score-layout {
        display: block;
    }
    .score-title {
        font-size: 2.0rem;
        text-align: center;
    }
    .score-title span {
        display: block;
        font-size: 1.4rem;
    }
    .score-image img {
        width: auto;
        max-width: 100%;
    }
    .score-detail {
        max-width: 100%;
        margin-right: 0;
        margin-top: 30px
    }

    #footer .footer-inner {
        padding: 30px 15px;
    }
}

@media (max-width: 480px) {
    #alert {
    }
    .btn-alert {
        min-width: 0;
    }
    .alert-modal-content h1 {
        font-size: 2.0rem;
    }
    .alert-modal-content h2 {
        font-size: 1.8rem;
        margin-top: 2em;
    }
    .alert-modal-content h3 {
        font-size: 1.6rem;
        margin-top: 1em;
    }
    .alert-modal-content p.center + h3 {
        margin-top: 2em;
    }

    #header {
        width: 100%;
        max-width: 390px;
    }
    .header-title {
        min-width: 100px;
    }
    .header-title h1 {
        font-size: 2.0rem;
        min-width: 0;
        padding: 80px 30px;
        white-space: nowrap;
    }
    .header-menu {
        padding-top: 80px;
        white-space: nowrap;
    }
    .section-title {
        font-size: 2.4rem;
    }
    #keyvisual .section-inner {
        justify-content: center;
    }
    .keyvisual-title,
    .keyvisual-text {
        width: 40%;
        box-sizing: border-box;
        margin: 0;
    }
    .keyvisual-title {
        min-width: 0;
        white-space: nowrap;
    }
    .keyvisual-title h1 {
        font-size: 2.0rem;
        min-width: 0;
        padding: 80px 30px;
    }
    .keyvisual-title h1 span {
        font-size: 1.2rem;
    }
    .keyvisual-text {
    }
    .keyvisual-text p {
        font-size: 1.2rem;
    }
    .keyvisual-text p em {
        font-size: 1.6rem;
        white-space: nowrap;
    }
    #cd {
        background: url(../img/bg-cd.gif)repeat center center;
        background-attachment: initial;
    }
    #cd:after {
        display: none;
        content: '';
    }
        .cd-description {
            font-size: 1.4rem;
            line-height: 1.8;
            text-align: left;
        }
        .cd-description em {
            font-size: 1.8rem;
        }
        #cd .section-inner {
            padding: 30px 0;
        }

    
    .bonus-title {
        font-size: 2.0rem;
    }
    .bonus-title span {
        display: block;
        font-size: 1.4rem;
    }

    .concert-title {
        font-size: 2.0rem;
    }
    .concert-title .concert-subtitle {
        font-size: 1.4rem;
        margin-right: 0;
        display: block;
    }
    .concert-date {
        margin-top: 20px;
    }
    
    .concert-lead {
        font-size: 1.4rem;
        margin-bottom: 40px;
    }
    .concert-detail {
        margin-top: 20px;
    }
    .concert-detail th,
    .concert-detail td {
        font-size: 1.4rem;
    }
    .concert-note {
        font-size: 1.2rem;
    }
    .pianist-list {
        align-items: stretch;
    }
    .pianist-item {
        display: block;
        background: #fff;
    }
    .pianist-name {
        position: static;
        width: 100%;
        max-height: 220px;
    }
    .pianist-name .pianist-name-en {
        margin-top: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 15px;
    }
    .pianist-name .pianist-name-ja {
        padding-top: 15px;
        padding-bottom: 15px;
        padding-right: 15px;
    }
    
    .pianist-modal-close {
        margin-bottom: 10px;
    }
    .pianist-modal .pianist-name-ja {
        font-size: 3rem;
    }
    .pianist-modal .pianist-name-en {
        font-size: 2rem;
        display: block;
        margin-left: 0;
    }
    .pianist-modal-profile {
        margin-top: 30px;
        line-height: 1.714;
        font-size: 1.4rem;
    }
    
    .track-note {
        font-size: 1.6rem;
        margin-top: 0;
    }
    .track-list-layout {
        display: inline-block;
        text-align: left;
    }
    .track-list {
        font-size: 1.6rem;
        margin-left: 0;
        padding-right: 0;
    }
    .track-list + .track-list {
        padding-left: 0;
        padding-right: 0;
    }
    .track-list li {
        margin-top: 1em;
    }
}

@keyframes fadeIn { 
	from {
		top:-15px;
		opacity:0;
	} to {
		top:0;
		opacity:1;
	}
}
@keyframes fadeOut { 
	from {
		top:0;
		opacity:1;
	} to {
		top:-15px;
		opacity:0;
	}
}