@charset 'UTF-8';
@-webkit-keyframes pyonAction
{
    35%
    {
        -webkit-transform: scale(.97);
                transform: scale(.97);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}
@keyframes pyonAction
{
    35%
    {
        -webkit-transform: scale(.97);
                transform: scale(.97);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@-webkit-keyframes pyonAction_large
{
    35%
    {
        -webkit-transform: scale(.87);
                transform: scale(.87);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

@keyframes pyonAction_large
{
    35%
    {
        -webkit-transform: scale(.87);
                transform: scale(.87);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

/* ------------------------
  Print Styles
------------------------ */
@media print
{
    *,
    *:before,
    *:after
    {
        color: #000 !important;
        background: transparent !important;
        -webkit-box-shadow: none !important;
                box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited
    {
        text-decoration: underline;
    }
    tr,
    img
    {
        page-break-inside: avoid;
    }
    img
    {
        max-width: 100% !important;
    }
    p,
    h2,
    h3
    {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3
    {
        page-break-after: avoid;
    }
}

@media screen and (max-width: 768px)
{
    .xo-event-calendar
    {
        margin-top: 23.4375vw !important;
    }
}

.xo-event-calendar table.xo-month
{
    border: 1px solid #ccc9c2 !important;
    border-width: 1px 0 1px 1px !important;
}

.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td
{
    border-width: 1px 1px 0 0 !important;
}

.holiday-open
{
    position: relative;

    background-color: transparent !important;
}
.holiday-open::before
{
    position: absolute;
    top: 30px;
    left: 50%;

    width: 16px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); 

    border: 1px solid red;
    border-radius: 50%;
}
@media screen and (max-width: 768px)
{
    .holiday-open::before
    {
        top: 1.8%;

        width: 4.0625vw;
        height: 4.0625vw;
    }
}

.holiday-close
{
    position: relative;

    background-color: #eceff7 !important;
}
.holiday-close::before
{
    position: absolute;
    top: 30px;
    left: 50%;

    width: 1px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%) rotate(45deg);
        -ms-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg); 

    background-color: blue;
}
@media screen and (max-width: 768px)
{
    .holiday-close::before
    {
        top: 1.8%;

        height: 4.0625vw;
    }
}
.holiday-close::after
{
    position: absolute;
    top: 30px;
    left: 50%;

    width: 1px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%) rotate(-45deg);
        -ms-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg); 

    background-color: blue;
}
@media screen and (max-width: 768px)
{
    .holiday-close::after
    {
        top: 1.8%;

        height: 4.0625vw;
    }
}

.other-month
{
    display: none;
}

.xo-event-calendar
{
    max-width: 744px;
    margin: 0 auto;
}

.xo-event-calendar table.xo-month > caption
{
    color: white; 
    background-color: #094;
}
@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month > caption
    {
        height: 9.375vw !important;
    }
}

.xo-event-calendar table.xo-month .month-header
{
    margin: 6px 0 !important;
}
@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-header
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        height: 100%;
        margin: 0 !important; 

        -webkit-box-align: center; 

            -ms-flex-align: center; 

                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}

@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month > thead th
    {
        font-size: 3.75vw !important;
    }
}

.xo-event-calendar table.xo-month .month-header > span
{
    font-size: 22px !important;
}
@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-header > span
    {
        font-size: 5vw !important;
    }
}

.xo-event-calendar table.xo-month .month-event-space
{
    height: 3.5rem !important;
}
@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-event-space
    {
        height: 7.03125vw !important;
    }
}

.xo-event-calendar table.xo-month .month-dayname td div.today
{
    color: #000 !important;
}

.xo-event-calendar table.xo-month .month-dayname td div
{
    font-size: 22px !important;
    font-weight: bold; 

    padding: 3px 10px !important;

    text-align: left !important;
}
@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-dayname td div
    {
        font-size: 12px !important; 

        padding: 3px 3px !important;
    }
}

.xo-event-calendar table.xo-month .month-dayname td div.other-month
{
    opacity: 1 !important; 
    background-color: #f5f5f5 !important;
}

@media screen and (min-width: 769px)
{
    .xo-event-calendar table.xo-month .month-next
    {
        position: absolute;
        top: 56%;
        right: -55px;

        float: inherit !important;

        width: 40px;
        height: 40px;

        -webkit-transition: opacity .3s cubic-bezier(.25, .1, .25, 1);

        transition: opacity .3s cubic-bezier(.25, .1, .25, 1); 
        -webkit-transform: translateY(-50%); 
            -ms-transform: translateY(-50%); 
                transform: translateY(-50%);

        color: white;
        border-radius: 50%;
        background-color: #094;
    }
    .xo-event-calendar table.xo-month .month-next:not(:disabled):hover
    {
        opacity: .5;
    }
    .xo-event-calendar table.xo-month .month-next::before
    {
        font-size: 16px; 

        position: absolute;
        bottom: -33px;

        content: '翌月';

        color: #4b4b4b;
    }
}

@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-next
    {
        position: absolute;
        top: -35px;
        right: 0;

        width: 9.375vw;
        max-width: 40px;
        height: 9.375vw;
        max-height: 40px;

        -webkit-transform: translateY(-50%);

            -ms-transform: translateY(-50%);

                transform: translateY(-50%); 

        color: white;
        border-radius: 50%;
        background-color: #094;
    }
    .xo-event-calendar table.xo-month .month-next::before
    {
        font-size: 3.75vw;

        position: absolute;
        top: 50%;
        right: 11.71875vw;

        width: 8.59375vw;

        content: '翌月';
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); 
        text-decoration: underline;

        color: #4b4b4b;
    }
}

.xo-event-calendar table.xo-month .month-next:disabled
{
    display: none;
}

@media screen and (min-width: 769px)
{
    .xo-event-calendar table.xo-month .month-prev
    {
        position: absolute;
        top: 56%;
        left: -65px;

        float: inherit !important;

        width: 40px;
        height: 40px;

        -webkit-transition: opacity .3s cubic-bezier(.25, .1, .25, 1);

        transition: opacity .3s cubic-bezier(.25, .1, .25, 1); 
        -webkit-transform: translateY(-50%); 
            -ms-transform: translateY(-50%); 
                transform: translateY(-50%);

        color: white;
        border-radius: 50%;
        background-color: #094;
    }
    .xo-event-calendar table.xo-month .month-prev:not(:disabled):hover
    {
        opacity: .5;
    }
    .xo-event-calendar table.xo-month .month-prev::before
    {
        font-size: 16px; 

        position: absolute;
        bottom: -33px;

        content: '前月';

        color: #4b4b4b;
    }
}

@media screen and (max-width: 768px)
{
    .xo-event-calendar table.xo-month .month-prev
    {
        position: absolute;
        top: -35px;
        left: 0;

        width: 9.375vw;
        max-width: 40px;
        height: 9.375vw;
        max-height: 40px;

        -webkit-transform: translateY(-50%);

            -ms-transform: translateY(-50%);

                transform: translateY(-50%); 

        color: white;
        border-radius: 50%;
        background-color: #094;
    }
    .xo-event-calendar table.xo-month .month-prev::before
    {
        font-size: 3.75vw;

        position: absolute;
        top: 50%;
        left: 11.71875vw;

        width: 8.59375vw;

        content: '前月';
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); 
        text-decoration: underline;

        color: #4b4b4b;
    }
}

.xo-event-calendar table.xo-month .month-prev:disabled
{
    display: none;
}

.xo-event-calendar table.xo-month button .dashicons-arrow-right-alt2::before
{
    content: '\f139';
}

.xo-event-calendar table.xo-month button .dashicons-arrow-left-alt2::before
{
    content: '\f141';
}

.holiday-titles
{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;

    width: 100%;
}
@media screen and (max-width: 768px)
{
    .holiday-titles
    {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;

        margin-top: 7px; 

        -webkit-box-orient: vertical; 

        -webkit-box-direction: normal; 

            -ms-flex-flow: column; 

                flex-flow: column;
    }
}
.holiday-titles .holiday-title
{
    font-size: 16px !important;
    font-weight: bold;
}
.holiday-titles .holiday-title > span
{
    border: inherit !important;
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title > span
    {
        margin: 0 1.5625vw 0 0 !important;
    }
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title:nth-of-type(1) > span
    {
        display: inline-block;

        width: 4.6875vw;
        height: 4.6875vw;
        margin-top: 1.25vw;
        padding-left: 4.6875vw;

        -webkit-transform: translateY(1vw);

            -ms-transform: translateY(1vw);

                transform: translateY(1vw);
    }
}
.holiday-titles .holiday-title:nth-of-type(2)
{
    margin-right: 60px; 
    margin-left: auto;
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title:nth-of-type(2)
    {
        margin-left: inherit;
    }
}
.holiday-titles .holiday-title:nth-of-type(2) > span
{
    position: relative;

    background-color: transparent !important;
}
.holiday-titles .holiday-title:nth-of-type(2) > span::before
{
    position: absolute;
    top: 2px;
    left: 50%;

    width: 16px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); 

    border: 1px solid red;
    border-radius: 50%;
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title:nth-of-type(2) > span::before
    {
        width: 4.0625vw;
        height: 4.0625vw;
    }
}
.holiday-titles .holiday-title:nth-of-type(3) > span
{
    position: relative;

    border: inherit !important; 
    background-color: transparent !important;
}
.holiday-titles .holiday-title:nth-of-type(3) > span::before
{
    position: absolute;
    top: 2px;
    left: 50%;

    width: 1px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%) rotate(45deg);
        -ms-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg); 

    background-color: blue;
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title:nth-of-type(3) > span::before
    {
        height: 4.0625vw;
    }
}
.holiday-titles .holiday-title:nth-of-type(3) > span::after
{
    position: absolute;
    top: 2px;
    left: 50%;

    width: 1px;
    height: 16px;

    content: '';
    -webkit-transform: translateX(-50%) rotate(-45deg);
        -ms-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg); 

    background-color: blue;
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title:nth-of-type(3) > span::after
    {
        height: 4.0625vw;
    }
}
@media screen and (max-width: 768px)
{
    .holiday-titles .holiday-title
    {
        font-size: 3.75vw !important;
    }
}

.xo-event-calendar table .dayname td:nth-of-type(7)
{
    background-color: #f4f4f5;
}
