/* 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;
}

@-webkit-keyframes fade-in {
    0% {
        display: none;
        opacity: 0;
    }
    1% {
        display: block;
        opacity: 0;
    }
    100% {
        display: block;
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        display: none;
        opacity: 0;
    }
    1% {
        display: block;
        opacity: 0;
    }
    100% {
        display: block;
        opacity: 1;
    }
}

@-webkit-keyframes fade-out {
    0% {
        display: block;
        opacity: 1;
    }
    99% {
        display: block;
        opacity: 0;
    }
    100% {
        display: none;
        opacity: 0;
    }
}

@keyframes fade-out {
    0% {
        display: block;
        opacity: 1;
    }
    99% {
        display: block;
        opacity: 0;
    }
    100% {
        display: none;
        opacity: 0;
    }
}

body {
    -webkit-text-size-adjust: 100%;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    display: block;
} */

.ski-calendar {
    font-family: '-apple-system', 'BlinkMacSystemFont', 'Hiragino Kaku Gothic ProN', "segoe ui", "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\6E38\30B4\30B7\30C3\30AF   Medium", "Yu Gothic Medium", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", '\30E1\30A4\30EA\30AA', Meiryo, '\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF', 'MS PGothic', sans-serif;
}

.ski-calendar .calendar-title {
    padding-bottom: 20px;
}

.ski-calendar .calendar-title button {
    border: none;
    background-color: transparent;
    position: relative;
    top: 2px;
}

.ski-calendar .calendar-title button:focus {
    outline: none;
}

.ski-calendar .calendar-title span {
    font-weight: bold;
    font-size: 21px;
    line-height: 20px;
    letter-spacing: 1.26px;
    padding: 0 15px;
}

.ski-calendar .explain {
    position: absolute;
    top: -20px;
}

.ski-calendar .explain .unkai_title {
    text-align: center;
    font-size: 13px;
    margin-bottom: 10px;
    font-weight: bold;
}

.ski-calendar .explain ul li {
    display: inline-block;
    text-align: center;
    font-size: 12px;
    line-height: 14px;
    margin: 0 10px;
}

.ski-calendar #ski-calendar {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

.ski-calendar #ski-calendar .table-calendar {
    display: block;
}

.ski-calendar #ski-calendar .table-calendar .week_row {
    width: 100%;
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    padding: 0;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div {
    background-color: #efefef;
    width: 13.7%;
    min-height: 20px;
    padding: 0 0 4px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.today {
    background-color: #61d5ff;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.first_row {
    margin-top: 0.5%;
    min-height: 89px;
    font-size: 13px;
    letter-spacing: 2.86px;
    font-family: Century Gothic, "Muli", Muli, sans-serif;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.week {
    background-color: transparent;
    font-size: 13px;
    letter-spacing: 2.86px;
    font-family: Century Gothic, "Muli", Muli, sans-serif;
    text-align: left;
    min-height: 0;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .day {
    padding: 5px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .cloud, .ski-calendar #ski-calendar .table-calendar .week_row > div .snow_cover {
    text-align: center;
    min-height: 0;
    font-weight: bold;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.68px;
    color: #2D3037;
    padding-bottom: 10px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .cloud, .ski-calendar #ski-calendar .table-calendar .week_row > div .weather_temp {
    text-align: center;
    min-height: 0;
    font-weight: bold;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.68px;
    color: #2D3037;
    padding-bottom: 10px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather {
    min-height: 0;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.sunny {
    background: url(../img/common/sunny.svg?09b78459b9875994aaa106e880910575) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.cloudy {
    background: url(../img/common/cloudy.svg?f6770c60a57b70cc7041a42c33e47a5f) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.cloudy_sunny {
    background: url(../img/common/cloudy_sunny.svg?ecac3c170532b03fd24ea9d16c339ccb) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.rainy {
    background: url(../img/common/rainy.svg?2b49f153f4106f44677c43252a39bba9) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.snowy {
    background: url(../img/common/snowy.svg?edba089c29add71fa6303bd7c49cd5d1) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div .weather.rainy_cloudy {
    background: url(../img/common/rainy_cloudy.svg?09204674403a2181c9496efbb835e9f8) center center no-repeat;
    background-size: 50px 50px;
    height: 40px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell {
    font-size: 10px;
    line-height: 18.5px;
    letter-spacing: 2.2px;
    position: relative;
    min-height: 17px;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell a {
    display: block;
    position: absolute;
    white-space: nowrap;
    border-radius: 15px;
    width: 78%;
    padding: 1px 10px;
    overflow: hidden;
    z-index: 10;
    left: 6px;
    background-color: #ccc;
    border: 1px solid #777;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat1 a {
    background-color: #FC9A94;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat2 a {
    background-color: #FFCE7F;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat3 a {
    background-color: #C0FFBF;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat4 a {
    background-color: #AACADD;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat5 a {
    background-color: #FFDB63;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell.cat6 a {
    background-color: #a0d8ef;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="2"] a {
    width: 195%;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="3"] a {
    width: 305%;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="4"] a {
    width: 405%;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="5"] a {
    width: 512%;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="6"] a {
    width: 611%;
}

.ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="7"] a {
    width: 717%;
}

@media screen and (max-width: 640px) {
    .ski-calendar {
        display: block;
        margin-top: 40px;
    }

    .ski-calendar .calendar-title {
        margin: 0 auto;
        width: auto;
        text-align: center;
    }

    .ski-calendar .explain {
        position: relative;
        width: 240px;
        margin: 20px auto 20px;
    }

    .ski-calendar .explain .unkai_title {
        font-size: 10px;
    }

    .ski-calendar .explain li {
        font-size: 10px;
    }

    .ski-calendar #ski-calendar {
        width: auto;
        margin: 0 auto;
    }

    .ski-calendar #ski-calendar .table-responsive {
        padding: 0 20px;
    }

    .ski-calendar #ski-calendar .table-calendar {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        justify-content: center;
        margin: auto;
        width: auto;
        max-width: 440px;
        height: 385px;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row {
        width: auto;
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        min-width: 24%;
        height: 385px;
    }
    
    .ski-calendar #ski-calendar .table-calendar .week_row.event-0, .ski-calendar #ski-calendar .table-calendar .week_row.event-1, .ski-calendar #ski-calendar .table-calendar .week_row.event-2, .ski-calendar #ski-calendar .table-calendar .week_row.event-3{
        min-width: 16%;
        margin-bottom: 50px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row.event-3 .ski-calendar #ski-calendar .table-calendar .week_row.event-4 .ski-calendar #ski-calendar .table-calendar .week_row.event-5 {
        display: none;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row:last-child {
        display: none;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row.head {
        display: none;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div {
        height: 50px;
        margin-right: 0;
        display: block;
        background-color: #efefef;
        padding: 0.5%;
        margin-top: 0;
        min-height: 0;
        font-size: 13px;
        width: auto;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div.first_row {
        white-space: nowrap;
        margin-top: 0;
        min-height: 0;
        padding-right: 10px;
        height: 50px;
        width: 100px;
        font-size: 13px;
        letter-spacing: 2.86px;
        font-family: Century Gothic, "Muli", Muli, sans-serif;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div.week {
        display: none;
        background-color: transparent;
        font-size: 13px;
        letter-spacing: 2.86px;
        font-family: Century Gothic, "Muli", Muli, sans-serif;
        text-align: left;
        width: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day {
        padding-left: 0;
        letter-spacing: 1px;
        text-align: center;
        width: 28px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day:after {
        display: block;
        font-size: 8px;
        letter-spacing: 0;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.sun:after {
        content: "SUN";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.mon:after {
        content: "MON";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.tue:after {
        content: "TUE";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.wed:after {
        content: "WED";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.thu:after {
        content: "THU";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.fri:after {
        content: "FRI";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day.sat:after {
        content: "SAT";
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .day,
    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud,
    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather {
        text-align: center;
        display: table-cell;
        vertical-align: middle;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather {
        line-height: 1.0;
        height: 40px;
        font-size: 12px;
        letter-spacing: 1px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .snow_cover {
        height: 40px;
        font-size: 10px;
        letter-spacing: 1px;
        display: table-cell;
        vertical-align: middle;
        padding-bottom: 0;
        text-align: center;
        line-height: 1.4;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather_temp {
        height: 40px;
        font-size: 10px;
        letter-spacing: 1px;
        display: table-cell;
        vertical-align: middle;
        padding-bottom: 0;
        text-align: center;
        line-height: 1.4;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud {
        width: 60px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud.l {
        background: url(../img/common/cloud_1.svg?a790e574d44949ae5a1eea730297e0b8) center center no-repeat;
        background-size: 39px 19px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud.m {
        background: url(../img/common/cloud_2.svg?314164758bd363c54843807ac303bd79) center center no-repeat;
        background-size: 40px 20px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud.s {
        background: url(../img/common/cloud_3.svg?aa54c3e88589762bf8683e1ef25b5c26) center center no-repeat;
        background-size: 47px 20px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .cloud.n {
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather {
        width: 60px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.snowy {
        background: url(../img/common/snowy.svg?edba089c29add71fa6303bd7c49cd5d1) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.sunny {
        background: url(../img/common/sunny.svg?09b78459b9875994aaa106e880910575) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.rainy {
        background: url(../img/common/rainy.svg?2b49f153f4106f44677c43252a39bba9) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.cloudy {
        background: url(../img/common/cloudy.svg?f6770c60a57b70cc7041a42c33e47a5f) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.cloudy_sunny {
        background: url(../img/common/cloudy_sunny.svg?ecac3c170532b03fd24ea9d16c339ccb) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div .weather.rainy_cloudy {
        background: url(../img/common/rainy_cloudy.svg?09204674403a2181c9496efbb835e9f8) center center no-repeat;
        background-size: 35px 35px;
        height: 40px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell {
        font-size: 10px;
        line-height: 18.5px;
        letter-spacing: 1px;
        position: relative;
        min-height: 20px;
        padding: 0;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell a {
        display: table;
        position: absolute;
        background-color: #ffdb63;
        overflow: hidden;
        z-index: 10;
        white-space: normal;
        border-radius: 0;
        width: 100%;
        padding: 0 5px;
        font-size: 9px;
        line-height: 1.5;
        height: inherit;
        left: 0;
        margin: 0;
        border: unset;
        text-align: center;
        word-break: break-word;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div.event-cell a div {
        display: table-cell;
        vertical-align: middle;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="2"] a {
        width: 100%;
        height: 105px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="3"] a {
        width: 100%;
        height: 160px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="4"] a {
        width: 100%;
        height: 215px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="5"] a {
        width: 100%;
        height: 270px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="6"] a {
        width: 100%;
        height: 325px;
    }

    .ski-calendar #ski-calendar .table-calendar .week_row > div[colspan="7"] a {
        width: 100%;
        height: 380px;
    }

}