@charset "utf-8";

/*------------------------------------------------------------
[SP]
------------------------------------------------------------ */
@media screen and (max-width:767px){

    /*------------------------------------------------------------
    [SP] schedule_title
    ------------------------------------------------------------ */
    #suntory_contents .schedule_title {
        margin: 0 5.3333333333333vw 5.3333333333333vw;
        padding: 9.3333333333333vw 0 0;
        text-align: center;
        position: relative;
    }
    #suntory_contents .schedule_title .prev a {
        width: 21.3333333333333vw;
        height: 12vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 9.3333333333333vw;
        left: 0;
        background: #bb0000 url(../img/arrow_prev.png) no-repeat 3.3333333333333vw center;
        background-size: 1.6vw auto;
        color: #fff;
        text-decoration: none;
        border-radius: 0.2666666666667vw;
        padding-left: 4vw;
        box-sizing: border-box;
        font-size: 3.2vw;
    }
    #suntory_contents .schedule_title .next a {
        width: 21.3333333333333vw;
        height: 12vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 9.3333333333333vw;
        right: 0;
        background: #bb0000 url(../img/arrow_next.png) no-repeat right 3.3333333333333vw center;
        background-size: 1.6vw auto;
        color: #fff;
        text-decoration: none;
        border-radius: 0.2666666666667vw;
        padding-right: 4vw;
        box-sizing: border-box;
        font-size: 3.2vw;
    }
    #suntory_contents .schedule_title h2 {
        font-size: 5.3333333333333vw;
        font-weight: bold;
        line-height: 12vw;
    }
    #suntory_contents .schedule_title h2 span {
        font-size: 6.4vw;
        font-family: 'Roboto',sans-serif;
    }
    #suntory_contents .btn_other {
        margin-bottom: 5.3333333333333vw;
        text-align: center;
    }
    #suntory_contents .btn_other a {
        color: #bb0000;
        text-decoration: none;
        position: relative;
        font-size: 3.7333333333333vw;
        line-height: 25px;
        display: inline-block;
    }
    #suntory_contents .btn_other a:hover {
        color: #bb0000;
        text-decoration: underline;
    }
    #suntory_contents .btn_other a::after {
        content: '';
        width: 8vw;
        height: 6.6666666666667vw;
        background: #bb0000 url(../img/arrow_down.png) no-repeat center center;
        background-size: 2.6666666666667vw auto;
        position: absolute;
        top: 0;
        right: -11.733333333333333vw;
        border-radius: 0.2666666666667vw;
    }
    
    /*------------------------------------------------------------
    [SP] schedule_table
    ------------------------------------------------------------ */
    #suntory_contents .schedule_table {
        margin: 0 auto 8vw;
        width: 94.666666666666667vw;
 

    }
    #suntory_contents .schedule_table.schedule_table_head {
        margin: 0 auto 2.6666666666667vw;
        position: sticky;
        top: 0;
    }
    #suntory_contents .schedule_table thead {
        background: #444;
    }    
    #suntory_contents .schedule_table thead th {
        font-size: 3.4666666666667vw;
        color: #fff;
        padding: 3.3333333333333vw 0;
        text-align: center;
        background: #444444;
    }
    
    #suntory_contents .schedule_table tbody tr {
        width: 94.666666666666667vw;
        margin: 0 auto 2.6666666666667vw;
        display: grid;
        grid-template-columns: 9.3333333333333vw 6.6666666666667vw 78.666666666666667vw;
        grid-template-rows: auto auto auto;
    }
    #suntory_contents .schedule_table tbody .day {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        padding: 4vw 0;
    }
    #suntory_contents .schedule_table tbody .week {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        padding: 4vw 0;
    }
    #suntory_contents .schedule_table tbody .time {
        grid-column: 3 / 4;
        grid-row: 1 / 2;
        padding: 2vw 2.6666666666667vw 0;
    }
    #suntory_contents .schedule_table tbody .summary {
        grid-column: 3 / 4;
        grid-row: 2 / 3;
        padding: 0 2.6666666666667vw 2vw;
    }
    #suntory_contents .schedule_table tbody tr:first-child {  
    }
    #suntory_contents .schedule_table tbody td {
        background: #fff;
        padding: 0;
        vertical-align: middle;
    }
    #suntory_contents .schedule_table tbody .flag_sat td {
        background: #ddeeff;
    }
    #suntory_contents .schedule_table tbody .flag_sun td {
        background: #ffe4e4;
    }
    #suntory_contents .schedule_table tbody td.summary {
        border-right: none;
    }
    #suntory_contents .schedule_table tbody td.day {
        font-size: 4.8vw;
        font-weight: bold;
        font-family: 'Roboto',sans-serif;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody td.week {
        font-size: 3.7333333333333vw;
        line-height: 4.8vw;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody .flag_sat td.day,
    #suntory_contents .schedule_table tbody .flag_sat td.week {
        color: #0077bb;
    }
    #suntory_contents .schedule_table tbody .flag_sun td.day,
    #suntory_contents .schedule_table tbody .flag_sun td.week {
        color: #ee5577;
    }
    #suntory_contents .schedule_table tbody td.time p {
        font-size: 4vw;
        line-height: 1.375;
        text-align: left;
        padding: 2vw 0;
    }
    #suntory_contents .schedule_table tbody td.visit {
        font-size: 3.7333333333333vw;
        text-align: left;
    }
    #suntory_contents .schedule_table tbody td.visit p {
        display: inline-block;
        padding: 2vw 0;
        
    }
    #suntory_contents .schedule_table tbody td.visit p.yes {
        font-size: 3.7333333333333vw;
        line-height: 6.4vw;
        color: #bb0000;
    }
    #suntory_contents .schedule_table tbody td.visit p.yes::before {
        content: '見学';
        font-size: 3.7333333333333vw;
        line-height: 6.4vw;
        color: #bb0000;
        margin-right: 1.0666666666667vw;
    }
    #suntory_contents .schedule_table tbody td.visit p.no {
        font-size: 3.7333333333333vw;
        line-height: 4.8vw;
    }
    #suntory_contents .schedule_table tbody td.visit p.access {
        margin: 0 0 0 0;
    }
    #suntory_contents .schedule_table tbody td.visit p.access a {
        width: 20vw;
        height: 6.4vw;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        background: #bb0000 url(../img/arrow_access.png) no-repeat right 2.6666666666667vw center;
        background-size: 0.9333333333333vw auto;
        font-size: 2.9333333333333vw;
        border-radius: 0.2666666666667vw;
        padding-right: 2.4vw;
        box-sizing: border-box;
    }
    #suntory_contents .schedule_table tbody .flag_game td.summary dt {
        font-weight: bold;
    }
    #suntory_contents .schedule_table tbody td.summary dl {
        font-size: 3.7333333333333vw;
        line-height: 1.375;        
        text-align: left;
        padding: 2vw 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #suntory_contents .schedule_table tbody td.summary dl .ico span {
        width: 9.3333333333333vw;
        height: 6.6666666666667vw;
        background: #ff3322;
        color: #fff;
        font-size: 2.1333333333333vw;
        border-radius: 0.2666666666667vw;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 1.466666666666667vw;
        box-sizing: border-box;
    }
    #suntory_contents .schedule_table tbody td.summary dl.blank {
        display: none;
        height: 0;
    }
    
    
     /*------------------------------------------------------------
    [SP] other_schedule
    ------------------------------------------------------------ */
    #suntory_contents #other_schedule {
        background: #fff;
        margin: 0 auto;
        width: 94.666666666666667vw;
        padding: 5.3333333333333vw 0;
    }
    #suntory_contents #other_schedule h2 {
        margin-bottom: 5.3333333333333vw;
        font-size: 5.3333333333333vw;
        font-weight: bold;
        display: flex;
        align-items: center;
        padding: 1.3333333333333vw 0 1.3333333333333vw 5.3333333333333vw;
        border-left: 2.6666666666667vw #bb0000 solid;
    }
    #suntory_contents #other_schedule h3 {
        margin: 0 4vw 4vw;
        background: #f4f4f4;
        font-size: 3.7333333333333vw;
        font-weight: bold;
        padding: 4vw 4vw;
    }
    #suntory_contents #other_schedule p {
        margin: 0 8vw 4.6666666666667vw;
        font-size: 3.4666666666667vw;
        line-height: 1.666666666666667;
    }
    #suntory_contents #other_schedule p:last-child {
        margin: 0 8vw;
    }

    
    /*------------------------------------------------------------
    [SP] schedule_note
    ------------------------------------------------------------ */
    #suntory_contents .schedule_note {
        margin: 8vw 6.6666666666667vw;
        list-style: none;
    }
    #suntory_contents .schedule_note li {
        font-size: 2.9333333333333vw;
        line-height: 1.666666666666667;
    }

    /*------------------------------------------------------------
    [SP] month_nav
    ------------------------------------------------------------ */
    #suntory_contents .month_nav {
        margin: 0 auto;
        height: 29.3333333333333vw;
        position: relative;
        background:#fff;
    }
    #suntory_contents .month_nav .prev a {
        width: 21.3333333333333vw;
        height: 12vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 8vw;
        left: 5.3333333333333vw;
        background: #bb0000 url(../img/arrow_prev.png) no-repeat 3.3333333333333vw center;
        background-size: 1.6vw auto;
        color: #fff;
        text-decoration: none;
        border-radius: 0.2666666666667vw;
        padding-left: 4vw;
        box-sizing: border-box;
        font-size: 3.2vw;
    }
    #suntory_contents .month_nav .next a {
        width: 21.3333333333333vw;
        height: 12vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 8vw;
        right: 5.3333333333333vw;
        background: #bb0000 url(../img/arrow_next.png) no-repeat right 3.3333333333333vw center;
        background-size: 1.6vw auto;
        color: #fff;
        text-decoration: none;
        border-radius: 0.2666666666667vw;
        padding-right: 4vw;
        box-sizing: border-box;
        font-size: 3.2vw;
    }
 
}
/*------------------------------------------------------------
[PC]
------------------------------------------------------------ */
@media print, screen and (min-width:768px) {

    /*------------------------------------------------------------
    [PC] schedule_title
    ------------------------------------------------------------ */
    #suntory_contents .schedule_title {
        margin: 0 auto 25px;
        padding: 50px 0 0;
        width: 980px;
        height: 55px;
        text-align: center;
        position: relative;
    }
    #suntory_contents .schedule_title .prev a {
        width: 210px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50px;
        left: 0;
        background: #bb0000 url(../img/arrow_prev.png) no-repeat 30px center;
        background-size: 7px auto;
        color: #fff;
        text-decoration: none;
        border-radius: 2px;
        padding-left: 20px;
        box-sizing: border-box;
        font-size: 18px;
    }
    #suntory_contents .schedule_title .prev a:hover {
        background: #ee0000 url(../img/arrow_prev.png) no-repeat 30px center;
        background-size: 7px auto;
    }
    #suntory_contents .schedule_title .next a {
        width: 210px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50px;
        right: 0;
        background: #bb0000 url(../img/arrow_next.png) no-repeat right 30px center;
        background-size: 7px auto;
        color: #fff;
        text-decoration: none;
        border-radius: 2px;
        padding-right: 20px;
        box-sizing: border-box;
        font-size: 18px;
    }
    #suntory_contents .schedule_title .next a:hover {
        background: #ee0000 url(../img/arrow_next.png) no-repeat right 30px center;
        background-size: 7px auto;
    }
    
    #suntory_contents .schedule_title h2 {
        font-size: 28px;
        font-weight: bold;
        line-height: 55px;
    }
    #suntory_contents .schedule_title h2 span {
        font-size: 32px;
        font-family: 'Roboto',sans-serif;
    }
    #suntory_contents .btn_other {
        margin-bottom: 25px;
        text-align: center;
    }
    #suntory_contents .btn_other a {
        color: #bb0000;
        text-decoration: none;
        position: relative;
        font-size: 15px;
        line-height: 25px;
        display: inline-block;
    }
    #suntory_contents .btn_other a:hover {
        color: #bb0000;
        text-decoration: underline;
    }
    #suntory_contents .btn_other a::after {
        content: '';
        width: 30px;
        height: 25px;
        background: #bb0000 url(../img/arrow_down.png) no-repeat center center;
        background-size: 12px auto;
        position: absolute;
        top: 0;
        right: -45px;
        border-radius: 2px;
    }
    
    /*------------------------------------------------------------
    [PC] schedule_table
    ------------------------------------------------------------ */
    #suntory_contents .schedule_table {
        margin: 0 auto 45px;
        width: 1080px;
    }
    #suntory_contents .schedule_table.schedule_table_head {
        margin: 0 auto;
        position: sticky;
        top: 0;
    }
    #suntory_contents .schedule_table thead {
        border-top: 15px #444 solid;
        border-bottom: 15px #444 solid;
        background: #444;
    }    
    #suntory_contents .schedule_table thead th {
        font-size: 15px;
        color: #fff;
        padding: 0;
        text-align: center;
    }
    #suntory_contents .schedule_table thead .day {
        border-right: 1px #666 solid;
    }
    #suntory_contents .schedule_table thead .week {
        border-right: 1px #666 solid;
    }
    #suntory_contents .schedule_table thead .time {
        border-right: 1px #666 solid;
    }
    #suntory_contents .schedule_table thead .visit {
        border-right: 1px #666 solid;
    }
    #suntory_contents .schedule_table thead .summary {
    }
    #suntory_contents .schedule_table .day {
        width: 110px;
    }
    #suntory_contents .schedule_table .week {
        width: 110px;
    }
    #suntory_contents .schedule_table .time {
        width: 200px;
    }
    #suntory_contents .schedule_table .summary {
        width: 660px;
    }
    #suntory_contents .schedule_table tbody tr {
        border-bottom: 5px #f1f1f1 solid;
        display: block;
    }
    #suntory_contents .schedule_table tbody tr:first-child {
        border-top: 5px #f1f1f1 solid;
    }
    #suntory_contents .schedule_table tbody td {
        background: #fff;
        padding: 0 0;
        vertical-align: middle;
        border-top: 18px #fff solid;
        border-bottom: 18px #fff solid;
        border-right: 1px #eeeeee solid;
    }
    #suntory_contents .schedule_table tbody .flag_sat td {
        background: #ddeeff;
        border-top: 18px #ddeeff solid;
        border-bottom: 18px #ddeeff solid;
        border-right: 1px #bbddff solid;
    }
    #suntory_contents .schedule_table tbody .flag_sun td {
        background: #ffe4e4;
        border-top: 18px #ffe4e4 solid;
        border-bottom: 18px #ffe4e4 solid;
        border-right: 1px #ffd3d3 solid;
    }
    #suntory_contents .schedule_table tbody td.summary {
        border-right: none;
    }
    #suntory_contents .schedule_table tbody td.day {
        font-size: 20px;
        font-weight: bold;
        font-family: 'Roboto',sans-serif;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody td.week {
        font-size: 15px;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody .flag_sat td.day,
    #suntory_contents .schedule_table tbody .flag_sat td.week {
        color: #0077bb;
    }
    #suntory_contents .schedule_table tbody .flag_sun td.day,
    #suntory_contents .schedule_table tbody .flag_sun td.week {
        color: #ee5577;
    }
    #suntory_contents .schedule_table tbody td.time {
        font-size: 15px;
        line-height: 1.375;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody td.visit {
        font-size: 15px;
        text-align: center;
    }
    #suntory_contents .schedule_table tbody td.visit p {
        display: inline-block;
    }
    #suntory_contents .schedule_table tbody td.visit p.yes {
        font-size: 15px;
        line-height: 24px;
        color: #bb0000;
    }
    #suntory_contents .schedule_table tbody td.visit p.yes::before {
        content: '見学';
        font-size: 15px;
        line-height: 24px;
        color: #bb0000;
        margin-right: 4px;
    }
    #suntory_contents .schedule_table tbody td.visit p.no {
        font-size: 15px;
    }
    #suntory_contents .schedule_table tbody td.visit p.access {
        margin: 0 0 0 12px;
    }
    #suntory_contents .schedule_table tbody td.visit p.access a {
        width: 70px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        background: #bb0000 url(../img/arrow_access.png) no-repeat right 8px center;
        background-size: 4px auto;
        font-size: 11px;
        border-radius: 2px;
        padding-right: 10px;
        box-sizing: border-box;
    }
    #suntory_contents .schedule_table tbody td.visit p.access a:hover {
        background: #ee0000 url(../img/arrow_access.png) no-repeat right 8px center;
        background-size: 4px auto;
    }    
    #suntory_contents .schedule_table tbody td.summary {
        font-size: 15px;
        line-height: 1.375;        
        padding: 18px 30px;
    }
    #suntory_contents .schedule_table tbody td.summary dl {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #suntory_contents .schedule_table tbody .flag_game td.summary dt {
        font-weight: bold;
    }
    #suntory_contents .schedule_table tbody td.summary dl .ico span {
        width: 60px;
        height: 40px;
        background: #ff3322;
        color: #fff;
        font-size: 12px;
        border-radius: 2px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 1em;
        box-sizing: border-box;
    }
    
    /*------------------------------------------------------------
    [PC] other_schedule
    ------------------------------------------------------------ */
    #suntory_contents #other_schedule {
        background: #fff;
        margin: 0 40px;
        padding: 40px 0 50px;
    }
    #suntory_contents #other_schedule h2 {
        margin-bottom: 30px;
        font-size: 28px;
        font-weight: bold;
        display: flex;
        align-items: center;
        padding: 15px 0 15px 40px;
        border-left: 10px #bb0000 solid;
    }
    #suntory_contents #other_schedule h3 {
        margin: 0 50px 20px;
        background: #f4f4f4;
        font-size: 18px;
        font-weight: bold;
        padding: 20px 30px;
    }
    #suntory_contents #other_schedule p {
        margin: 0 80px 30px;
        font-size: 15px;
        line-height: 1.666666666666667;
    }
    #suntory_contents #other_schedule p:last-child {
        margin: 0 80px 0;
    }

    
    /*------------------------------------------------------------
    [PC] schedule_note
    ------------------------------------------------------------ */
    #suntory_contents .schedule_note {
        margin: 50px 90px;
        list-style: none;
    }
    #suntory_contents .schedule_note li {
        font-size: 15px;
        line-height: 1.666666666666667;
    }

    /*------------------------------------------------------------
    [PC] month_nav
    ------------------------------------------------------------ */
    #suntory_contents .month_nav {
        margin: 0 auto;
        width: 980px;
        height: 55px;
        position: relative;
    }
    #suntory_contents .month_nav .prev a {
        width: 210px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        background: #bb0000 url(../img/arrow_prev.png) no-repeat 30px center;
        background-size: 7px auto;
        color: #fff;
        text-decoration: none;
        border-radius: 2px;
        padding-left: 20px;
        box-sizing: border-box;
        font-size: 18px;
    }
    #suntory_contents .month_nav .prev a:hover {
        background: #ee0000 url(../img/arrow_prev.png) no-repeat 30px center;
        background-size: 7px auto;
    }
    #suntory_contents .month_nav .next a {
        width: 210px;
        height: 55px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        right: 0;
        background: #bb0000 url(../img/arrow_next.png) no-repeat right 30px center;
        background-size: 7px auto;
        color: #fff;
        text-decoration: none;
        border-radius: 2px;
        padding-right: 20px;
        box-sizing: border-box;
        font-size: 18px;
    }
    #suntory_contents .month_nav .next a:hover {
        background: #ee0000 url(../img/arrow_next.png) no-repeat right 30px center;
        background-size: 7px auto;
    }

}