@charset "utf-8";

/*------------------------------------------------------------
  common
  ------------------------------------------------------------ */

#suntory_contents .contents_wrap {
    padding: 0;
}

#suntory_contents .breadcrumbs {
    margin-bottom: 22px;
}


@media screen and (max-width: 767px) {
    #suntory_contents .breadcrumbs {
        margin: 0 4vw 4vw;
    }
}

#suntory_contents img {
    vertical-align: top;
}

#suntory_contents .contents_wrap a {
    text-decoration: none;
}

/*------------------------------------------------------------
  main
  ------------------------------------------------------------ */

.contents_wrap>section {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.clearfix::after,
.contents_wrap>section::after,
.contents_wrap>section>.wrap::after {
    content: "";
    display: block;
    clear: both;
}

.contents_wrap>section>.wrap p {
    text-align: center;
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 1em;
}

.contents_wrap>section a[href]:hover {
    opacity: .7;
}

ruby[data-ruby] {
    position: relative;
}

ruby[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.5em;
}

ruby[data-ruby] rt {
    display: none;
}

ruby.ruby_lsw {
    letter-spacing: .25em;
    padding-left: .15em;
    padding-right: .1em;
}

ruby.ruby_lsw::before {
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 0;
    margin-left: -.5em;
}

@media screen and (min-width:768px) {
    .forSP {
        display: none !important;
    }

    .flexcontainer {
        display: flex;
        flex-wrap: wrap;
    }

    .fatten {
        padding-left: .25em;
        padding-right: .25em;
    }
}

@media print {
    .forSP {
        display: none !important;
    }

    .flexcontainer {
        display: flex;
        flex-wrap: wrap;
    }

    #key .wrap,
    #specialday_nav .wrap,
    #intro .wrap,
    #museum .wrap .wrap {
        width: 100% !important;
    }
}

@media screen and (max-width:767px) {
    .forPC {
        display: none !important;
    }
}


/*------------------------------------------------------------
  keyVisual
  ------------------------------------------------------------ */

#key {
    background: #fff url("../img/bg_img_01.png") no-repeat center/cover;
    padding: 0;
}

#key .wrap {
    width: 1164px;
    margin: 0 auto;
    position: relative;
}

#key .wrap .title {
    padding-top: 21px;
}

#key .wrap .sns {
    position: absolute;
    top: 59px;
    right: 5px;
}

#key .wrap .sns ul {
    list-style: none;
}

#key .wrap .sns ul li:first-child a {
    position: absolute;
    top: 90px;
    right: 155px;
}

#key .wrap .sns ul li:last-child a {
    position: absolute;
    top: 90px;
    right: 24px;
}

#key .wrap>div.img {
    position: absolute;
    bottom: -49px;
}

@media screen and (max-width:767px) {
    #key {
        background: #fff
    }

    #key .wrap {
        width: 100vw;
        overflow: hidden;
    }

    #key .wrap .title {
        padding: 0;
    }

    #key .wrap .title img {
        width: 100%;
        height: auto;
    }

    #key .wrap .sns ul li a img {
        width: 9.43vw;
        height: auto;
    }

    #key .wrap .sns {
        top: 67vw;
        right: 2vw;
    }

    #key .wrap .sns ul li:first-child a {
        top: 0;
        right: 17.5vw;
    }

    #key .wrap .sns ul li:last-child a {
        top: 0;
        right: 4vw;
    }

    #key .wrap>div.img {
        top: 52vw;
        left: 4vw;
    }

    #key .wrap>div.img img {
        width: 30vw;
        height: auto;
    }
}

/*------------------------------------------------------------
  specialday_nav
  ------------------------------------------------------------ */

#specialday_nav {
    background: #0068B7;
    border-top: 3px solid #221815;
    border-bottom: 3px solid #221815;
}

#specialday_nav .wrap {
    width: 685px;
    margin: 0 auto;
    position: relative;
}

#specialday_nav .wrap h2 {
    position: absolute;
    top: -18px;
    left: 13px;
    color: #fff;
    background: #ea5550;
    border: 3px solid #221815;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    width: 197px;
    padding: 14px 0;
}

#specialday_nav .wrap h2 span:first-child {
    font-size: 31px;
}

#specialday_nav .wrap h2 span:last-child {
    font-size: 22px;
}

#specialday_nav .close h2 {
    display: none;
}

#specialday_nav .wrap div div {
    margin: 19px 0 16px;
    padding: 0 38px;
    text-align: center;
}

#specialday_nav .close div div {
    width: 43%;
}

#specialday_nav .wrap div div a {
    color: #fff;
}

#specialday_nav .wrap div div>a>span {
    font-weight: bold;
    text-align: center;
}

#specialday_nav .wrap div div>a>span:first-child {
    display: block;
    width: fit-content;
    width: 137px;
    height: 35px;
    box-sizing: border-box;
    margin: 0 auto -10px;
    padding: 3px 0;
    font-size: 0;
    color: #0058be;
    background: #fff;
    border: 3px solid #221815;
}

#specialday_nav .wrap .flexcontainer {
    flex-wrap: nowrap;
}

#specialday_nav .wrap div div:first-child {
    margin-left: 212px;
    border-right: 3px solid #221815;
}

@media screen and (min-width:768px) {


    #specialday_nav .close div div:first-child {
        margin-left: 0;
    }
    #specialday_nav .close div div:first-child>a>span:last-child {}
    #specialday_nav .close div div:first-child>a>span:last-child img {width: 234px;}

    #specialday_nav .close div div:last-child {}
    #specialday_nav .close div div:last-child>a>span:last-child img {width: 164px;}
    #specialday_nav .close div div>a>span:first-child img {width: 80px;height: 22px;}
}

#specialday_nav .wrap div div:last-child>a>span:first-child {
    color: #ea5550;
}

#specialday_nav .wrap div div>a::after {
    content: url(../img/arrow_down.svg);
    width: 15px;
    height: 15px;
    margin: 0 0 0 4px;
    vertical-align: text-bottom;
    display: inline-block;
}

#specialday_nav .wrap div div .nav {
    margin-bottom: 0;
}

#specialday_nav .wrap div div .nav::before {
    content: url(../img/search.svg);
    width: 15px;
    height: 15px;
    margin: 0 7px 0 0;
    vertical-align: text-top;
}

#specialday_nav .wrap div div .nav a {
    font-size: 16px;
    border-bottom: 1px solid #fff;
}

#specialday_nav .wrap div div>a>span:last-child {
    font-size: 24px;
}

@media screen and (max-width:767px) {

    #specialday_nav .wrap div div>a>span img {
        height: 100%;
    }

    #specialday_nav .wrap div div a {
        display: flex;
        justify-content: left;
        align-items: center;
        position: relative;
    }

    #specialday_nav .wrap {
        width: 100%;
    }

    #specialday_nav .wrap h2 {
        border-width: 0.8vw;
        top: -4vw;
        left: 27.5vw;
        font-size: 2.4vw;
        width: 45vw;
        padding: 1vw 1.5vw;
    }

    #specialday_nav .wrap h2 span:first-child {
        font-size: 4.8vw;
    }

    #specialday_nav .wrap h2 span:last-child {
        font-size: 3.47vw;
    }

    #specialday_nav .wrap .flexcontainer {
        flex-wrap: wrap;
        padding: 4vw 5.6vw 0;
    }

    #specialday_nav .close .flexcontainer {
        padding-top: 0;
    }

    #specialday_nav .wrap div div {
        margin: 3vw 0 1vw;
        padding: 0 0 3vw 0;
        text-align: left;
        width: auto;
    }

    #specialday_nav .wrap div div>a>span:first-child {
        margin: 2vw 2vw 0 0;
        padding: 0.533333vw 3.46666666vw;
        box-sizing: border-box;
        width: 27.2vw;
        height: 8vw;
        text-align: center ;
        border-width: 0.8vw;
    }

    #specialday_nav .wrap div div>a>span:first-child img {
        width: 100%;
    }

    #specialday_nav .wrap div div:first-child {
        margin-left: 0;
        border-right: 0;
        border-bottom: 3px solid #221815;
    }

    #specialday_nav .wrap div div>a::after,
    #specialday_nav .wrap div div .nav::before {
        width: 4vw;
        height: 4vw;
        margin: 0 0 0 1.4vw;
        vertical-align: bottom;
        content: "";
        background: url(../img/arrow_down.svg) center/cover no-repeat;
        ;
    }

    #specialday_nav .wrap div div .nav a {
        font-size: 3.73vw;
    }

    #specialday_nav .wrap div div>a>span:last-child {
        font-size: 0;
        display: inline-block;
        height: 8vw;
    }

    #specialday_nav .wrap div div:last-child>a>span:first-child {}

    #specialday_nav .wrap div div>a::after {
        position: absolute;
        display: inline-block;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
    }
}

.wrap {
    width: 1164px;
    margin: 0 auto;
}

.noteIndent {
    padding-left: 1em;
    text-indent: -1em;
}

/*------------------------------------------------------------
  intro
  ------------------------------------------------------------ */
#intro {
    padding: 0;
}

#intro .wrap {
    width: 1164px;
    margin: 0 auto;
    padding: 70px 0 45px;
    position: relative;
}

#intro .wrap p {
    font-size: 20px;
    line-height: 2;
}

#intro .wrap p ruby[data-ruby]::before {
    top: -1.5em;
}

ruby {
    text-align: center;
}

ruby[data-ruby]::before {
    top: -1.2em;
    font-size: 0.4em;
    width: 130%;
    left: -15%;
}

@media screen and (max-width:767px) {
    ruby[data-ruby]::before {
        top: -1.5em;
        width: 160%;
        left: -30%;
    }

    .wrap {
        width: 90vw;
        margin: 0 auto;
    }

    #intro .wrap {
        width: auto;
        padding: 12vw 5.33vw 12vw;
    }

    #intro .wrap p,
    .contents_wrap>section>.wrap p {
        font-size: 4.8vw;
        text-align: left;
    }

    #intro .wrap p {
        margin-bottom: 0;
    }

    .ico img {
        width: 100%;
    }
}

/*------------------------------------------------------------
  onlineProgram
  ------------------------------------------------------------ */
#onlineProgram {
    background: #FFFAEB url(../img/bg_img_02.png) no-repeat top center/cover;
}

#onlineProgram .wrap {
    position: relative;
    padding: 60px 0 70px;
}

#onlineProgram .wrap>.ico {
    position: absolute;
    top: -77px;
    left: 0;
}

#onlineProgram .wrap h2 {
    text-align: center;
}

#onlineProgram .wrap h2 img {}

#onlineProgram .wrap .wrap {
    padding: 40px 0 0;
}

#onlineProgram .wrap .wrap .movieList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#onlineProgram .wrap .wrap .movieList .movieItem {
    list-style: none;
    background: #fff;
    border-radius: 30px;
    border: 3px solid #221815;
}

#onlineProgram .wrap .wrap .movieList .movieItem01 {
    overflow: hidden;
    width: 564px;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 {
    position: relative;
    width: 100%;
    margin-top: 40px;
    padding: 54px 40px 35px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#onlineProgram .wrap .wrap .movieList .movieItem .movieThumb {}
.deactivate a {pointer-events: none;}
#onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb.deactivate a:after {display: none;}
#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn.deactivate a {background: #aaa;color: #707070;}

#onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a {
    position: relative;
    display: block;
    width: 100%;
    height: 316px;
}
#onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a img {width: 100%;}
#onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a:after {
    content: url(../img/player_ico_01.png);
    width: 116px;
    height: 116px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a:not([href]):after {
    display: none;
}

#onlineProgram .wrap .wrap .movieList .movieItem01 .txtBox {
    padding: 35px 40px 35px;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .txtBox {}

#onlineProgram .wrap .wrap .movieList .movieItem .ttl {
    color: #0068B7;
    font-size: 24px;
    margin-bottom: 20px;
    line-height: 1.8;
    text-align: center;
}

#onlineProgram .wrap .wrap .movieList .movieItem .infoTxt {
    text-align: left;
    font-size: 20px;
}

#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn {
    margin-bottom: 0;
}

#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn a,
#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn span {
    display: flex;
    margin: 0 auto;
    width: 202px;
    height: 60px;
    justify-content: center;
    align-items: center;
    background: #0068B7;
    border-radius: 100px;
    box-shadow: 0 3px 0 #000;
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    box-sizing: border-box;
    padding-top: 4px;
}
#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn span {
    background: #eb6063;
}

#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn a .ico {
    margin-left: 15px;
    margin-top: -1px;
}

#onlineProgram .wrap .wrap .movieList .movieItem .linkBtn a .ico img {
    vertical-align: middle;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb,
#onlineProgram .wrap .wrap .movieList .movieItem02 .txtBox {
    width: 522px;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb a {
    height: 380px;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb a:after {
    content: url(../img/player_ico_02.png);
}

#onlineProgram .wrap .wrap .movieList .movieItem02>.ico {
    position: absolute;
    font-size: 0;
    top: -22px;
    right: 21px;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .ttl {
    line-height: 1.85;
    text-align: left;
    padding-bottom: 20px;
    color: #EB6063;
    border-bottom: 2px solid #221514;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .ttl .big {
    font-size: 30px;
    font-weight: 800;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .schedule {
    font-weight: bold;
    font-size: 22px;
    text-align: left;
}

#onlineProgram .wrap .wrap .movieList .movieItem .noteIndent {
    font-size: 14px;
    text-align: left;
    margin-bottom: 0;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .linkBtn {
    width: 100%;
}

#onlineProgram .wrap .wrap .movieList .movieItem02 .linkBtn a {
    background: #EB6063;
    width: 257px;
    margin-top: 25px;
}



@media screen and (max-width:767px) {
    #onlineProgram {
        background: #FFFAEB url(../img/bg_img_02_sp.png) no-repeat top center/cover;
    }

    #onlineProgram .wrap {
        padding: 13.333333vw 0;
    }

    #onlineProgram .wrap>.ico {
        width: 29.86666vw;
        height: 22.4vw;
        top: -9.866666vw
    }

    .ico img {
        height: 100%;
    }

    #onlineProgram .wrap h2 {}

    #onlineProgram .wrap h2 img {
        width: 100%;
    }

    #onlineProgram .wrap .wrap {
        padding: 8vw 0 0;
    }

    #onlineProgram .wrap .wrap .movieList {}

    #onlineProgram .wrap .wrap .movieList .movieItem {
        border-width: 0.8vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem+.movieItem {
        margin-top: 8vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem01 {
        width: 100%;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb,
    #onlineProgram .wrap .wrap .movieList .movieItem02 .txtBox {
        width: 100%;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .txtBox {
        padding: 10vw 5.33vw 9.333333vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .txtBox {
        padding-bottom: 0;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 {
        width: 100%;
        box-sizing: border-box;
        margin-top: 8vw;
        padding: 0;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .movieThumb {
        overflow: hidden;
        border-radius: 25px 25px 0 0;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a {
        height: 49.866666vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .movieThumb a:after {
        width: 17.9vw;
        height: 17.9vw;
        content: "";
        background: url(../img/player_ico_01.png) center/cover no-repeat;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .ttl {
        font-size: 5.333333vw;
        line-height: 1.8;
        margin-bottom: 0;
        text-align: center;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .infoTxt {
        font-size: 4.8vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .linkBtn {}

    #onlineProgram .wrap .wrap .movieList .movieItem .linkBtn a {
        width: 45.33333vw;
        height: 13.33333vw;
        font-size: 4.8vw;
        padding-top: 0;
        box-shadow: 0 .8vw 0 #000;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .linkBtn a .ico {
        margin-left: 4vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .movieThumb a:after {
        background: url(../img/player_ico_02.png) center/cover no-repeat;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .ttl {
        text-align: center;
        padding-bottom: 2.666666vw;
        margin-bottom: 5.3333333vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .ttl .big {
        font-size: 6.93333333vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .schedule {
        line-height: 1.4;
        font-size: 5.333333vw;
    }

    .noteIndent {
        font-size: 3.2vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem .noteIndent {
        font-size: 3.2vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 .linkBtn a {
        margin: 4vw auto 0;
        width: 59.466666vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02 {
        padding-bottom: 9.3333333vw;
    }

    #onlineProgram .wrap .wrap .movieList .movieItem02>.ico {
        width: 17.06666vw;
        height: 24.53333vw;
        top: auto;
        bottom: -9.666667vw;
        /*ボタン追加後こっちに変更
        bottom: 5.333333vw;*/
        right: -5.5vw;
    }

}


/*------------------------------------------------------------
  sns
  ------------------------------------------------------------ */
#sns {
    background: #FFF0F0;
    padding: 70px 0;
}

#sns .wrap {
    width: 845px;
    height: 194px;
    margin: 0 auto;
    position: relative;
    display: flex;
    background: url(../img/bg_img_03.png) center/cover no-repeat;
    padding: 30px 40px;
    box-sizing: border-box;
}

#sns .wrap>.ico {
    position: absolute;
    right: -120px;
    top: 13px;
}

#sns .wrap .leftBox {
    text-align: left;
    width: 523px;
    margin-right: 20px;
}

#sns .wrap .leftBox h2 {
    font-size: 24px;
    font-weight: bold;
    margin: 10px auto 20px;
}

#sns .wrap .leftBox p {
    font-size: 20px;
    text-align: left;
}

#sns .wrap .rightBox {}

#sns .wrap .rightBox .snsBtn {
    margin-bottom: 0;
}

#sns .wrap .rightBox .snsBtn+.snsBtn {
    margin-top: 20px;
}

#sns .wrap .rightBox .snsBtn a {
    display: -webkit-flex;
    display: flex;
    color: #221815;
    background: #fff;
    font-weight: bold;
    font-size: 18px;
    width: 220px;
    height: 56px;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    padding-right: 20px;
    align-items: center;
    border-radius: 100px;
    border: 3px solid #221815;
    box-sizing: border-box;
    box-shadow: 0 3px 0 #000;
    padding-top: 3px;
}

#sns .wrap .rightBox .snsBtn a .ico {
    margin-left: 6px;
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-top: -3px;
}

#sns .wrap .rightBox .snsBtn a .ico img {
    width: 100%;
    height: 100%;
}

#sns .wrap .rightBox .snsBtn a img {}

@media screen and (max-width:767px) {
    #sns {
        padding: 13.33333vw 0;
    }

    #sns .wrap {
        width: calc(100% - 10.66vw);
        padding: 5.33vw;
        flex-wrap: wrap;
        height: 98.4vw;
        background: url(../img/bg_img_03_sp.png) center/cover no-repeat;
    }

    #sns h2 {
        font-size: 6.4vw;
        line-height: 1.25;
        margin-bottom: 3vw;
        text-align: center;
    }

    #sns .wrap p {
        font-size: 4.8vw;
    }

    #sns .wrap>.ico {
        width: 14.93333vw;
        height: 17.33333vw;
        right: auto;
        left: 0;
        top: -12.533333vw;
    }

    #sns .wrap .leftBox {
        width: 100%;
        margin-right: 0;
    }

    #sns .wrap .leftBox h2 {
        margin: 0 auto 2.66666vw;
        font-size: 6.4vw;
    }

    #sns .wrap .leftBox p {
        font-size: 4.8vw;
    }

    #sns .wrap .rightBox {
        width: 100%;
    }

    #sns .wrap .rightBox .snsBtn {
        text-align: center;
        margin-bottom: 0;
    }

    #sns .wrap .rightBox .snsBtn+.snsBtn {
        margin-top: 5.33333vw;
    }

    #sns .wrap .rightBox .snsBtn.twitter a .ico {
        margin-left: 3.2vw;
        margin-top: 0;
    }

    #sns .wrap .rightBox .snsBtn a {
        border-width: 0.8vw;
        padding-top: 0;
        width: 58.66666vw;
        height: 14.93333vw;
        font-size: 4.8vw;
        margin: auto;
        box-shadow: 0 .8vw 0 #000;
    }

    #sns .wrap .rightBox .snsBtn a .ico {
        width: 8vw;
        height: 8vw;
        margin-left: 1.6vw;
    }

    #sns .wrap .rightBox .snsBtn a img {}

}

/*------------------------------------------------------------
  kannaiProgram
  ------------------------------------------------------------ */
#kannaiProgram {
    background: url(../img/bg_img_04.png) no-repeat top center/cover;
}

#kannaiProgram .wrap {
    margin: 0 auto;
    padding: 70px 0;
    position: relative;
}

#kannaiProgram .wrap h2 {
    text-align: center;
    margin-bottom: 30px;
}

#kannaiProgram .wrap h2 .close {
    margin-top: 20px;
}

#kannaiProgram .wrap .subTtl {
    text-align: left;
    font-size: 24px;
    font-weight: bold;
    color: #0068B7;
    margin-bottom: 0;
}

#kannaiProgram .wrap .subTtl .big {
    font-weight: 800;
    font-size: 34px;
}

#kannaiProgram .wrap .infoTxt {
    text-align: left;
    font-size: 20px;
}

#kannaiProgram .wrap .noteIndent {
    text-align: left;
    font-size: 16px;
    margin-bottom: 0;
}

#kannaiProgram .wrap .noteIndent .linkTxt {
    color: #EA5550;
    text-decoration: underline;
}

#kannaiProgram .wrap .program {
    clear: both;
    margin: 0 auto;
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
}

#kannaiProgram .wrap .program li {
    list-style: none;
    position: relative;
    width: 32%;
}

#kannaiProgram .wrap .program li .ico {
    position: absolute;
}

#kannaiProgram .wrap .program li:nth-child(1) .ico {
    top: 94px;
    right: -7px;
}

#kannaiProgram .wrap .program li:nth-child(2) .ico {
    top: -170px;
    right: -43px;
}

#kannaiProgram .wrap .program li:nth-child(3) .ico {
    bottom: 24px;
    right: -44px;
}

#kannaiProgram .wrap .program li .title {
    box-sizing: border-box;
    background: #FEEC04;
    border: 3px solid #221514;
    border-radius: 15px 15px 0 0;
    padding: 13px 16px;
    font-size: 22px;
    font-weight: bold;
    line-height: 29px;
    min-height: 121px;
    display: flex;
    align-items: center;
}

#kannaiProgram .wrap .program li .title .num {
    font-size: 16px;
}

#kannaiProgram .wrap .program li .text {
    box-sizing: border-box;
    min-width: 315px;
    max-width: 388px;
    background: #0068B7;
    border-radius: 0 0 15px 15px;
    font-size: 18px;
    line-height: 34px;
    color: #FFFFFF;
    padding: 13px 16px;
    border: 3px solid #221514;
    border-top: none;
    min-height: 418px;
}

#kannaiProgram .wrap .program li .text p {
    text-align: left;
    font-size: 18px;
}

#kannaiProgram .program li .text p:first-of-type {
    padding-top: 0;
}

#kannaiProgram .wrap .program li .text p a {
    color: #FFFFFF;
    text-decoration: underline;
}

#kannaiProgram .wrap .program li .text p a:hover {
    text-decoration: none;
}
#kannaiProgram .wrap .program li .text p a.minatokuLink{transition: none;}
#kannaiProgram .wrap .program li .text p a.minatokuLink:hover {opacity: 1;}
#kannaiProgram .wrap .program li .text p .btn {
    box-sizing: border-box;
    display: flex;
    width: 266px;
    height: 56px;
    background: #EB6063;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    border: 3px solid #221514;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    margin: 12px auto 15px;
}

#kannaiProgram .wrap .program li .ls-1 {}

#kannaiProgram .wrap .program li .text p .minatoku {
    display: inline-block;
    background: #FFFFFF;
    color: #EB6063;
    font-weight: bold;
    padding: 0 6px;
    margin: 7px 0 10px;
    font-size: 18px;
    line-height: 28px;
}

@media screen and (max-width:767px) {
    #kannaiProgram {
        background: url(../img/bg_img_04_sp.png) no-repeat top center/cover;
        background-size: 100% 100%;
    }

    #kannaiProgram .wrap {
        padding: 13.33333vw 0;
    }

    #kannaiProgram .wrap h2 .close {
        width: 100%;
    }

    #kannaiProgram .wrap h2 {}

    #kannaiProgram .wrap h2 img {
        width: 100%;
    }

    #kannaiProgram .wrap .subTtl {
        font-size: 5.86666vw;
        margin-bottom: 2.6666vw;
    }

    #kannaiProgram .wrap .subTtl .big {
        font-size: 7.46666vw;
    }

    #kannaiProgram .wrap .infoTxt {
        font-size: 4.8vw;
    }

    #kannaiProgram .wrap .noteIndent {
        font-size: 3.733333vw;
    }

    #kannaiProgram .wrap .program {
        flex-wrap: wrap;
    }

    #kannaiProgram .wrap .program li {
        width: 100%;
    }

    #kannaiProgram .wrap .program li+li {
        margin-top: 8vw;
    }

    #kannaiProgram .wrap .program li:nth-child(1) .ico {
        width: 30.93333vw;
        height: 33.86666vw;
    }

    #kannaiProgram .wrap .program li:nth-child(2) .ico {
        width: 20.133333vw;
        height: 26.8vw;
        top: 2%;
        right: -4%;
    }

    #kannaiProgram .wrap .program li:nth-child(3) .ico {
        width: 24.266666vw;
        height: 19.2vw;
        margin-bottom: 0;
        bottom: 2%;
        right: -3%;
    }

    #kannaiProgram .wrap .program li .title {
        font-size: 5.866666vw;
        line-height: 1.8;
        border-width: 0.8vw;
    }

    #kannaiProgram .wrap .program li .title .num {
        font-size: 4.26666vw;
    }

    #kannaiProgram .wrap .program li .text {
        border-width: 0.8vw;
        min-width: auto;
        min-height: auto;
        max-width: 100%;
    }

    #kannaiProgram .wrap .program li .text p {
        font-size: 4.8vw;
    }

    #kannaiProgram .wrap .program li .text p .ls-1 {
        font-size: 4.8vw;
    }

    #kannaiProgram .wrap .program li .text p a {}

    #kannaiProgram .wrap .program li .text p .btn {
        width: 67.733333vw;
        height: 14.933333vw;
        font-size: 4.8vw;
        border-width: 0.8vw;
        box-shadow: 0 .8vw 0 #000;
    }

    #kannaiProgram .wrap .program li .ls-1 {
        font-size: 5.866666vw
    }

    #kannaiProgram .wrap .program li .text p .minatoku {
        font-size: 4.8vw;
        line-height: 7.46666vw;
        padding: 0 1.6vw;
        margin: 2.6666vw 0;
    }
}


/*------------------------------------------------------------
  exhibition
  ------------------------------------------------------------ */
#exhibition {
    background: url(../img/bg_img_05.png) repeat-x top left/cover;
    padding: 70px 0;
}

#exhibition .wrap {
    position: relative;
    width: 845px;
    height: 197px;
    box-sizing: border-box;
    border: 3px solid #221815;
    background: #FFCC4E;
}

#exhibition .wrap p {
    text-align: left;
}

#exhibition .wrap .ico {
    position: absolute;
    top: 7px;
    left: -121px;
}

#exhibition .wrap .ico img {}

#exhibition .wrap .ttl {
    position: relative;
    top: -30px;
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
}
#exhibition .wrap .ttl img {width: 156px;height: 56px;}

#exhibition .wrap .innerBox {
    display: flex;
    justify-content: space-between;
    padding: 45px 40px 25px;
    box-sizing: border-box;
    margin-top: -60px;
    align-items: center;
}

#exhibition .wrap .leftBox {
    width: 485px;
}

#exhibition .wrap .leftBox .subTtl {
    font-size: 24px;
    margin-bottom: 15px;
}

#exhibition .wrap .leftBox .infoTxt {
    font-size: 20px;
}

#exhibition .wrap .leftBox .noteIndent {
    font-size: 14px;
}

#exhibition .wrap .rightBox {
    width: 260px;
}

#exhibition .wrap .rightBox .linkBtn {}

.contents_wrap section div a {
    transition: .3s ease;
}

#exhibition .wrap .rightBox .linkBtn a {
    display: flex;
    width: 260px;
    height: 60px;
    box-sizing: border-box;
    box-shadow: 0 3px 0 #000;
    border: 3px solid #221815;
    color: #FF4500;
    font-size: 18px;
    background: #fff;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    font-weight: bold;
    padding-top: 3px;
}

#exhibition .wrap .rightBox .linkBtn a img {}



@media screen and (max-width:767px) {
    #exhibition {
        padding-bottom: 13.33333vw;
    }

    #exhibition .wrap {
        width: 90vw;
        height: auto;
        border-width: 0.8vw;
    }

    #exhibition .wrap .ico {
        width: 21.86666vw;
        height: 26.666666vw;
        left: -4.5%;
        top: -19%;
    }

    #exhibition .wrap .ico img {}

    #exhibition .wrap .ttl {
        width: 35.2vw;
    }


    #exhibition .wrap .ttl img {
        width: 100%;
        height: auto;
    }

    #exhibition .wrap .innerBox {
        flex-wrap: wrap;
        padding: 15vw 5.33333vw 8vw;
    }

    #exhibition .wrap .leftBox {
        width: 100%;
    }

    #exhibition .wrap .leftBox .subTtl {
        font-size: 5.866666vw;
        text-align: center;
        margin-bottom: 5.333333vw;
    }

    #exhibition .wrap .leftBox .infoTxt {
        font-size: 4.8vw;
        text-align: center;
    }

    #exhibition .wrap .leftBox .noteIndent {
        font-size: 3.73333333vw;
        text-align: center;
    }

    #exhibition .wrap .rightBox {
        width: 100%;
    }

    #exhibition .wrap .rightBox .linkBtn {
        text-align: center;
        margin: 0;
    }

    #exhibition .wrap .rightBox .linkBtn a {
        margin: auto;
        border-width: 0.8vw;
        box-shadow: 0 0.8vw 0 #000;
        font-size: 4.8vw;
        width: 69.333333vw;
        height: 16vw;
        padding-top: 0;
    }

    #exhibition .wrap .rightBox .linkBtn a img {}
}

/*------------------------------------------------------------
  supplement
  ------------------------------------------------------------ */
#supplement {
    background: #E8F3F1;
    padding: 25px 0 70px;
}

#supplement .wrap {
    width: 1164px;
    margin: auto;
}

#supplement .wrap .flexcontainer {
    padding: 136px 0 0;
}

#supplement .box {
    position: relative;
    width: 564px;
    background: #fff;
    border: 3px solid #221815;
    border-top: none;
    border-radius: 0 0 10px 10px;
    box-sizing: border-box;
}

#supplement .box h2 {
    position: absolute;
    top: -136px;
}

#supplement #notice h2 {
    left: -20px;
    top: -128px;
}

#supplement #educational h2 {
    left: -3px;
    top: -141px;
}

#supplement #notice {
    margin-right: 16px;
}

#supplement .box div {
    padding: 36px 38px 110px;
}

#supplement .box div ul {
    padding-left: 20px;
}

#supplement .box div ul li {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: .5em;
}

#supplement div ul {
    color: #0068B7;
}

#supplement .box div ul li ul {
    padding-right: 1em;
    padding-left: 0;
    margin-top: 10px;
}

#supplement .box div ul li ul li {
    list-style: none;
    padding-left: 0.75em;
    text-indent: -0.77em;
    font-size: 18px;
    font-weight: normal;
}

#supplement .box div ul li ul li:before {
    content: "- ";
}

#supplement #notice div ul li {
    margin-bottom: .7em;
}

#supplement .box div ul li span {
    font-size: 15px;
}

#supplement .box div h4 {
    display: inline-block;
    color: #fff;
    background: #0068B7;
    padding: 0.4em 0.7em 0.3em;
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0;
}

#supplement .box div p {
    font-size: 18px;
    text-align: left;
}

#supplement .box div .nav,
.modal_content .nav {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
}

#supplement #educational .nav {
    margin-top: 50px;
}

#supplement .box div .nav a,
.modal_content .nav a,
.modal_content .dl a {
    display: block;
    width: 340px;
    height: 60px;
    margin: auto;
    color: #fff;
    background: #ea5550;
    border: 2px solid #221815;
    border-radius: 40px;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    box-shadow: 0 3px 0 #000;
    font-weight: bold;
}

.modal_content .dl a {
    background: #eb6100;
    text-align: left;
}

#supplement .wrap #archive {
    content: "";
    display: block;
    clear: both;
}

@media screen and (max-width:767px) {
    #supplement {
        padding: 0 0 13.3333vw;
    }

    #supplement .wrap {
        width: 100vw;
    }

    #supplement .wrap .flexcontainer {
        padding: 5.33vw 0;
    }

    #supplement .box {
        width: calc(100vw - 12.75vw);
        margin-top: 30vw;
        margin-bottom: 40vw;
        margin-left: 6.333vw;
        padding: 0;
        border-width: 0.8vw;
    }

    #supplement #notice {
        margin-bottom: 33vw;
    }

    #supplement #educational {
        margin-bottom: 0;
    }

    #supplement .box div {
        margin: 0;
        padding: 4vw 5vw 5vw;
    }

    #supplement #notice div ul li,
    #supplement .box div ul li {
        font-size: 4.8vw;
        margin-bottom: 0;
    }

    #supplement .box div h4 {
        font-size: 4.8vw;
        margin: 6vw auto;
    }

    #supplement .box div p {
        font-size: 4.8vw;
    }

    #supplement #notice div p.text {
        margin: 6vw 0 12vw;
    }

    #supplement .box div ul {
        padding-left: 1em;
    }

    #supplement .box div ul li span {
        font-size: 3.73333vw;
    }

    #supplement #notice {
        margin-right: 0;
    }

    #supplement #notice h2,
    #supplement #educational h2 {
        top: -36vw;
        left: -1.6vw;
        right: unset;
    }

    #supplement #notice h2 {
        top: -29vw;
        left: -3.25vw;
    }

    #supplement #notice h2 img {
        width: calc(100vw - 10.4vw);

    }

    #supplement #educational h2 {
        top: -30vw;
        left: -0.85vw;
    }

    #supplement #educational h2 img {
        width: calc(100vw - 12.55vw);
    }

    #supplement .box h2 img,
    #supplement .box h2 img {
        height: auto;
        right: unset;
        left: unset;
    }

    #supplement .box div .nav {
        position: relative;
        width: 100%;
        margin: 1.5em auto 0;
    }

    #supplement .box div .nav a {
        width: 74.67vw;
        font-size: 4.8vw;
        line-height: 15vw;
        height: 15vw;
        margin: 0;
        border-radius: 16vw;
        border-width: 0.8vw;
        box-shadow: 0 0.8vw 0 #000;
    }

    #supplement .box div ul li ul li {
        font-size: 4.8vw;
    }

    #supplement #educational .nav {
        margin-top: 12vw;
    }
}

/*------------------------------------------------------------
  aiding
  ------------------------------------------------------------ */

#aiding {
    width: 1164px;
    box-sizing: border-box;
    padding: 29px 0;
    margin: 0 auto;
    text-align: right;
}

#aiding img {}

@media screen and (max-width:767px) {

    #aiding {
        width: 90vw;
        padding-bottom: 0;
    }

    #aiding img {
        width: 100%;
    }
}

/*------------------------------------------------------------
  archive
  ------------------------------------------------------------ */
#archive {
    width: 1110px;
    margin: 40px auto 0;
    text-align: center;
}

#archive p {
    font-size: 20px;
    margin-bottom: 20px;
    line-height: 1.5;
}

#archive h2 {
    margin-bottom: 20px;
    font-size: 24px;
    color: #0068B7;
    font-weight: bold;
}

#archive ul {
    width: 880px;
    margin: 0 auto 70px;
    list-style: none;
}

#archive ul li {
    padding: 0 8px 0 4px;
    position: relative;
    margin-bottom: .2em;
    list-style: none;
    display: inline-block;
    margin-bottom: 10px;
}

#archive ul li:after {
    content: "";
    width: 1px;
    height: 70%;
    background: #0068B7;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -60%);
}

#archive ul li:last-child:after {
    display: none;
}

#archive ul li a {
    display: inline-block;
    font-size: 20px;
    color: #0068B7;
    line-height: 1;
    border-bottom: 1px solid transparent;
    padding: 2px 0;
    white-space: nowrap;
}

#archive ul li a:hover {
    text-decoration: underline;
    opacity: 1;
}

@media screen and (max-width:767px) {
    #archive {
        width: 90vw;
        padding: 0 5vw;
        padding-bottom: 9.7vw;
        border-bottom: 1px #ccc solid;
        margin-bottom: 4vw;
    }

    #archive p {
        font-size: 4.8vw;
        margin: 0 auto 5.3333vw;
        text-align: left;
    }

    #archive h2 {
        font-size: 5.866666vw;
        line-height: 1.5;
    }

    #archive ul {
        margin: 0 3vw;
        width: auto;
    }

    .wrap #archive ul li {
        padding: .8vw 2.5vw .8vw 1vw;
        border: none;
    }

    .wrap #archive ul li:nth-child(odd) {
        border-right: solid 1px #0068B7;
    }

    #archive ul li a {
        font-size: 4.26666vw;
    }
}



/*------------------------------------------------------------
  modal
  ------------------------------------------------------------ */

.modal {
    box-sizing: border-box;
    z-index: 100;
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}

.modal_bg {
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal_content .js-modal-close {
    content: '';
    width: 37px;
    height: 37px;
    position: absolute;
    top: -3vw;
    right: -2vw;
    opacity: 0.8;
    background: url('../img/icon_close.svg') no-repeat center;
}

.modal_content {
    box-sizing: border-box;
    background: #fff;
    left: 50%;
    padding: 30px 72px 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1110px;
    text-align: left;
    border-radius: 20px;
}

#museum .modal .modal_content a:hover {
    opacity: .7;
}

#museum .modal .modal_content .modal_nav a:hover,
.modal_content .js-modal-close:hover {
    opacity: .7;
}

.narrow_head_modal .js-modal-close {
    top: .2vw;
    right: -3.2vw;
}

.modal_viewarea_wrap.movie {
    text-align: center;
}

.modal_content .modal_viewarea_text {
    width: 560px;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.modal_content ul.modal_nav,
.modal_content ul.modal_nav li {
    list-style: none;
}

.modal_content ul.modal_nav li a {
    display: block;
    border: 0;
    position: absolute;
    top: calc(50% - 31px);
    width: 60px;
    height: 62px;
    overflow: hidden;
    text-indent: -50em;

}

.modal_content ul.modal_nav li.prev a {
    left: -3.1%;
    background: url('../img/arrow_left.png') no-repeat center;
    background-size: contain;
}

.modal_content ul.modal_nav li.next a {
    right: -3.1%;
    background: url('../img/arrow_right.png') no-repeat center;
    background-size: contain;
}

.modal_content h4 {
    margin-bottom: 20px;
}

.modal_content .text {
    font-size: 16px;
    line-height: 1.6;
    width: 580px;
    float: left;
}

.modal_content .bottomRow {
    width: 100% !important;
}

.modal_content .text p {
    margin-bottom: 1em;
}

.modal_content .small {
    font-size: smaller;
}

.modal_content .rightCol {
    float: right;
}

.modal_content .bottom {
    position: absolute;
    bottom: 30px;
    left: 45px;
}

.modal_content hr {
    border-width: 2px 0 0;
    border-color: #c9c9c9;
    border-style: dotted;
}

.modal_content .nav,
.modal_content .dl {
    width: 224px;
    margin-top: 20px;
}

.modal_content .nav a,
.modal_content .dl a {
    width: 180px;
    height: 46px;
    font-size: 14px;
    line-height: 46px;
    padding-left: 2.5vw;
}

.modal_content .nav a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    float: right;
    transform: rotate(-45deg);
    margin: 1.2em 18px 0 0;
}

.modal_content .dl a::after {
    content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAZCAYAAADaILXQAAABOklEQVRIieWUsUoDQRCG/40xpbaCbYrgA2hj4QukEQsLH0bwKQK2drHxCYS8QASxEpIitiYRVCzMJ4NzeIa7uBsvhfg3dzM7883ssLtKEbAFhKSkGAFnfOp8FfBrhw9ic2pL1IkeyzLwaP0PePIuUxI2/Pv6KzjQAo6AesHyWy6uDhwCO1HVgHVg4mf6Cmi4v+++vtsNXzc9ZXE/dT6TNPH/tqTufKLbXV83PUp6j+2+CYz4knV459ZNrmM8rhkFXlAg0zQaDHSAZ+A4oUAp2DjO65gx9uDLhB2UdmwcjxnXcg/RWlFwCOFe0r6kF3fZUTxwf5EyToi6RCGEoaQ9SReSdheAv6nokpQVuJV0EhuvP/0q5sdi78lpBcxW9hPsHZG0WQF0XlMbS28FYFPPOrdzuV3x/GeSHj4AsmJHi1r3PI0AAAAASUVORK5CYII=');
    width: 20px;
    height: 20px;
    float: right;
    margin: 7px 21px 0 0;
}

.modal_content .icon_dlEnded {
    float: left;
    margin: 25px 0 0 30px;
    padding: 9px 15px;
    background: #e54b15;
    border-radius: 50px;
    color: #fff;
    text-align: center;
    line-height: 1.2em;
    font-weight: normal;
}

#modal_room_01 .modal_content .text {
    width: 652px;
}

#modal_room_01 .modal_content .rightCol {
    margin-right: -40px;
}

#modal_room_01 .modal_content .text p {
    margin-bottom: 1.2em;
}

#modal_room_03b .modal_content .text p {
    margin-bottom: .2em;
}

#modal_room_03b .modal_content .dl,
#modal_room_04 .modal_content .dl {
    width: 100%;
    margin-top: 12px;
    margin-bottom: 18px;
}

#modal_room_03b .modal_content .dl a,
#modal_room_04 .modal_content .dl a {
    width: calc(100% - 2vw);
    padding-left: 1.5vw;
    margin: auto;
    font-weight: bold;
}

#modal_room_03b .modal_content .text a,
#modal_room_03b .modal_content .text a:link,
#modal_room_03b .modal_content .text a:visited,
#modal_room_04 .modal_content .text a,
#modal_room_04 .modal_content .text a:link,
#modal_room_04 .modal_content .text a:visited {
    color: #0068B7;
    text-decoration: underline;
}

#modal_room_03b .rightCol .img {
    display: block;
    margin-bottom: 20px;
}

#modal_room_03b .rightCol .img:last-child {
    position: absolute;
    bottom: 5px;
    right: 125px;
}

#modal_room_03b h4:after,
forPC,
#modal_room_03b h4:after {
    content: "";
    display: block;
    clear: both;
}

#modal_room_03b h4 img.forPC,
#modal_room_03b h4 img.forPC {
    float: left;
}

#modal_room_04 .nav {
    margin: -68px 0 0;
}

#modal_room_04 .nav a {
    width: 190px;
}

#modal_room_03b .modal_content .text,
#modal_room_04 .modal_content .text {
    width: 650px;
}

#modal_room_05 .modal_content .text,
#modal_room_06 .modal_content .text {
    width: 100%;
}

#modal_room_05 .modal_content .text .img,
#modal_room_06 .modal_content .text .img {
    position: absolute;
    right: 74px;
    top: 42px;
}


.modal_content .text div article {
    width: 469px;
    margin: 10px 25px 0 0;
}

.modal_content .text div article:last-child {
    margin-right: 0;
}

.modal_content .text div article h5 {
    height: 42px;
    font-size: 16px;
    font-weight: bold;
    line-height: 42px;
    padding-left: 44px;
    background: url('../img/q1.png') no-repeat 0% 15%;
    background-size: 9%;
    margin: 0 0 23px;
}

.modal_content .text div article:last-child h5 {
    background-image: url('../img/q2.png');
}

.modal_content .text div article h5::after {
    content: '';
    display: block;
    width: 469px;
    height: 8px;
    border-radius: 8px;
    background: #0058be;
    margin: 0 0 0 -44px;
}

.modal_content .text article .staff_1st dt,
.modal_content .text article .staff_2nd dt,
.modal_content .text article .staff_3rd dt,
.modal_content .text article .staff_4th dt {
    height: 43px;
    font-size: 16px;
    font-weight: bold;
    line-height: 43px;
    padding-left: 54px;
    background: url('../img/staff_red.png') no-repeat 0% 50%;
    background-size: contain;
}

.modal_content .text article .staff_2nd dt {
    background-image: url('../img/staff_blue.png');
}

.modal_content .text article .staff_3rd dt {
    background-image: url('../img/staff_green.png');
}

.modal_content .text article .staff_4th dt {
    background-image: url('../img/staff_orange.png');
}

.modal_content .text article:last-child dl dt {
    visibility: hidden;
}

.modal_content .text article dl dd {
    font-size: 16px;
    line-height: 1.5;
    margin: 10px 0;
}

.modal_content .text article dl.staff_1st dd,
.modal_content .text article dl.staff_3rd dd {
    padding-bottom: 15px;
    border-bottom: 2px dotted #C9C9C9;
}

.modal_content .text article dl.staff_1st dd {
    color: #ea5550;
    height: 7.5em;
}

.modal_content .text article dl.staff_2nd dd {
    color: #0058be;
}

.modal_content .text article dl.staff_3rd dd {
    color: #477800;
    height: 6.5em;
}

.modal_content .text article dl.staff_4th dd {
    color: #eb6100;
}

#modal_room_05 .modal_content .text p:last-child,
#modal_room_06 .modal_content .text p:last-child {
    font-size: 16px;
    font-weight: bold;
    text-align: right;
    margin-bottom: 0;
}

@media screen and (max-width:767px) {
    /* .modal .modal_content .forSP { display: inline-block; } */
    /* .modal .modal_content .forPC { display: none; } */

    .modal_content .js-modal-close {
        top: -10vw;
        right: -6vw;
    }

    .modal_content,
    #modal_room_03a .modal_content {
        padding: 3vw 0 3vw 3vw;
        margin: -4vw 0 0;
        width: 85vw;
        max-height: 84vh;
        padding-bottom: 2vh;
    }

    .modal_content .modal_viewarea_wrap {
        width: 92%;
        max-height: 80vh;
        overflow: auto;
        padding: 0 3vw 0 3vw;
    }

    .modal_content .modal_viewarea_text {
        width: 90%;
        margin: 2vw auto;
        font-size: 4.1vw;
        line-height: 1.5;
    }

    .modal_viewarea_wrap img,
    .modal_viewarea_text img {
        width: 100%;
        height: auto;
    }

    #modal_room_02a .modal_content,
    #modal_room_02b .modal_content,
    #modal_room_02c .modal_content {
        padding-right: 3vw;
    }

    #modal_room_02a .modal_content .modal_viewarea_wrap,
    #modal_room_02b .modal_content .modal_viewarea_wrap,
    #modal_room_02c .modal_content .modal_viewarea_wrap {
        padding-right: 0;
    }

    .modal_content ul.modal_nav li a {
        opacity: 1.0;
        display: block;
        top: calc(50% - 3vw);
        width: 9vw;
        height: 9.3vw;
        background-size: cover;
    }

    .modal_content ul.modal_nav li.prev a {
        left: -8%;
        background-size: cover;
    }

    .modal_content ul.modal_nav li.next a {
        right: -8%;
        background-size: cover;
    }

    .modal_content h4 {
        margin-bottom: 1em;
    }

    .modal_content h4 img {
        max-width: 74vw;
    }

    .modal_content .text p {
        font-size: 4.1vw;
    }

    .modal_content .text .small {
        font-size: smaller;
    }

    .modal_content .text,
    #modal_room_05 .modal_content .text {
        width: auto !important;
    }

    .modal_content .rightCol {
        float: none;
        text-align: center;
    }

    .modal_content .bottom {
        position: initial;
        display: block;
        margin: 1em 0 0;
        text-align: center;
    }

    .modal_content .movie {
        width: 96%;
        padding: 56.25% 0 0 0;
        position: relative;
    }

    .modal_content .movie iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 10px;
    }

    #modal_room_03b h4 img.forPC,
    #modal_room_04 h4 img.forPC {
        float: none;
    }

    #modal_room_03b .bottomRow .img,
    #modal_room_04 .bottomRow .img {
        text-align: center;
    }

    #modal_room_03b .bottomRow .img img,
    #modal_room_04 .bottomRow .img img {
        width: 32%;
    }

    .modal_content .icon_dlEnded {
        display: block;
        float: none;
        width: 80%;
        margin: 4vw 0 0;
        padding: 1.8vw 2.5vw;
        border-radius: 6.5vw;
        font-size: 4.2vw;
    }

    .modal_content .nav a,
    .modal_content .dl a {
        padding-left: 9vw;
    }

    #modal_room_03b .modal_content .dl a,
    #modal_room_04 .modal_content .dl a {
        width: calc(100% - 3vw);
        padding-left: 3vw;
    }

    #modal_room_03b .modal_content .text,
    #modal_room_03b .modal_content .rightCol img,
    #modal_room_04 .modal_content .text,
    #modal_room_04 .modal_content .rightCol img {
        width: 100%;
    }

    #modal_room_01 .modal_content .img img {
        width: 73vw;
    }

    #modal_room_05 .modal_content .text .img,
    #modal_room_06 .modal_content .text .img {
        position: static;
        margin: 0 29vw 2vw;
    }

    .modal_content .text .flexcontainer dl,
    .modal_content .text .flexcontainer dl dd::before {
        width: 100%;
    }

    .modal_content .text div article {
        font-size: 4.26vw;
        width: 74vw;
        margin: 6vw 0;
    }

    .modal_content .text div article h5 {
        line-height: 1.4;
        background-size: 14%;
        margin: 0 0 26px;
    }

    .modal_content .text div article h5::after {
        width: 72vw;
    }

    .modal_content .text article dl dt {
        line-height: 1.4 !important;
        font-size: 4.26vw !important;
    }

    .modal_content .text article dl.staff_1st dd,
    .modal_content .text article dl.staff_3rd dd {
        height: auto;
    }

    .modal_content .text .flexcontainer dl:first-child dt {
        line-height: 7vw;
    }

    .modal_content .text .flexcontainer dl:last-child dd {
        margin-top: 5vw;
    }

    .modal_content .text article:last-child dl dt {
        visibility: unset;
    }

    #modal_room_05 .modal_content .text p:last-child,
    #modal_room_06 .modal_content .text p:last-child {
        text-align: center;
    }
}