.page-header-event
{
    padding: 30px 0;
}
.event-calendar-block
{
    font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic W3 JIS2004', 'Hiragino Kaku Gothic W3', 游ゴシック, YuGothic, HGSゴシックE, 'ＭＳ Ｐゴシック', serif;

    position: relative;

    width: 90%;
    /* background-color: white; */
    min-height: 100%;
    margin: auto;
    margin-top: 10px;
}

.event-calendar-controller,
.event-calendar-dates
{
    position: relative;

    display: flex;

    width: 100%;
    height: 60px;

    align-items: center;
}

.event-calendar-controller
{
    width: 90%;
    padding: 0 5% 0 5%;

    background: #fff;

    justify-content: center;
}

.event-calendar-selector-container
{
    display: block;
}

.event-calendar-selector-toggle,
.event-calendar-selector-button
{
    display: none;
}

.event-calendar-selector
{
    position: relative;

    display: flex;

    width: 100%;
    padding: 0;

    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
}

.selector-item
{
    font-size: 17px;
    line-height: 1;

    position: relative;

    display: flex;

    box-sizing: border-box;
    width: 10%;
    padding: .7rem 0;

    cursor: pointer;

    color: #fff;
    border-right: 1px solid #fff;
    background-color: #bfbfbf;

    flex: 1 1 auto;
    justify-content: center;
    align-items: baseline;
}
.selector-item::before
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: all .2s ease-in-out 0s;
    pointer-events: none;

    opacity: 0;
    background: inherit;

    -webkit-filter: brightness(.7);
            filter: brightness(.7);
}
.selector-item:hover::before
{
    opacity: 1;
}

.selector-item:last-of-type
{
    border-right: none;
}

.selector-item.selected.floorB1
{
    background-color: #6e3a46;
}
.selector-item.selected.floor1
{
    background-color: #6e413c;
}
.selector-item.selected.floor2
{
    background-color: #6c4f3b;
}
.selector-item.selected.floor3
{
    background-color: #5e4d2b;
}
.selector-item.selected.floor4
{
    background-color: #57572b;
}
.selector-item.selected.floor5
{
    background-color: #2b4438;
}
.selector-item.selected.floor6
{
    background-color: #355755;
}
.selector-item.selected.floor7
{
    background-color: #324f65;
}
.selector-item.selected.floor8
{
    background-color: #3e4162;
}
.selector-item.selected.floorother
{
    background-color: #583b55;
}
.selector-item-text
{
    position: relative;
}
.selector-item-count
{
    font-size: 14px;

    position: relative;

    margin-left: .5em;
}

.selector-item-count::before
{
    content: '(';
}

.selector-item-count::after
{
    content: ')';
}

.event-calendar-controller .centerItem
{
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 游明朝, YuMincho, HGS明朝E, 'ＭＳ Ｐ明朝', serif;
    font-weight: bold;
    line-height: 1rem;

    display: flex;

    padding: 0 2rem;

    border: solid #dfdede;
    border-width: 0 1px;

    align-items: center;
}

.event-calendar-controller .event-target-month
{
    font-size: 28px;

    margin-left: 10px;
}

.event-calendar-controller .event-target-month::after
{
    font-size: 20px;

    margin-left: 10px;

    content: 'のイベント';
}

.event-calendar-dates .dates-item-container
{
    display: flex;
    flex-direction: column;

    box-sizing: content-box;
    height: 100%;

    cursor: pointer;
    text-align: center;

    border: solid rgb(200, 200, 200);
    border-width: 1px 1px 1px 0;
    background: #fff;

    flex: 0 1 7.14%;
    flex: 0 1 calc(100% / 14); /* pcは14日、スマホは7日 */
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.event-calendar-dates .dates-item-container.day-today:hover
{
    background-color: #95bce1;
}
.event-calendar-dates .dates-item-container:not(.day-today):hover
{
    color: #7695b3;
}

.event-calendar-dates .dates-item-container:last-of-type
{
    border-right: none;
}
.dates-item-container .dates-item-date
{
    line-height: 1;

    width: 100%;
}

.dates-item-day
{
    line-height: 1;

    margin-top: .5em;
}

.event-calendar-dates .day-0
{
    background-color: #dae8f4;
}
.event-calendar-dates .day-6
{
    background-color: #ecf3fc;
}

.event-calendar-dates
{
    padding-top: 10px;

    background: #f1f0f0;

    justify-content: space-between;
}

.event-calendar-dates .day-today
{
    color: #fff;
    background-color: #7391ad;
}

.event-calendar-dates .dates-item-number
{
    font-size: 20px;
}
.event-calendar-dates .dates-item-ja
{
    font-size: 12px;
}

.event-calendar-svg
{
    line-height: 1;

    position: relative;

    width: 100%;
    min-height: calc( 100vh - 206.2px );
}

.event-calendar-svg-bg
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    box-sizing: border-box;
    width: 100%;
    height: 100%;

    border: solid rgb(200, 200, 200);
    border-width: 1px 0 1px 0;

    justify-content: stretch;
    align-items: stretch;
}

.event-calendar-svg-bg-cell
{
    box-sizing: content-box;

    border: solid rgb(200, 200, 200);
    border-width: 0 1px 0 0;
    background: #fff;

    flex: 1 1 auto;
}

.event-calendar-svg-bg-cell:last-of-type
{
    border: none;
}
.event-calendar-svg-bg-cell.day-0
{
    background-color: #dae8f4;
}
.event-calendar-svg-bg-cell.day-6
{
    background-color: #ecf3fc;
}
.event-calendar-svg-bg-cell.day-today
{
    background: repeating-linear-gradient(45deg, #dae8f4 0, #e2f2fd 1px, #fff 1px, #fff 8px);
}

.arrow
{
    font-size: 20px;

    position: relative;

    cursor: pointer;
}
.arrow.left
{
    padding: 0 2rem 0 1rem;
}
.arrow.left .arrow-text::before
{
    content: '7日前';
}

.arrow.right
{
    padding: 0 1rem 0 2rem;
}
.arrow.right .arrow-text::before
{
    content: '7日後';
}

.arrow::before,
.arrow::after
{
    position: absolute;
    top: 50%;

    width: 0;
    height: 0;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);

    color: inherit;
    border-style: solid;
}
.arrow.left::before
{
    right: 100%;

    content: '';

    border-width: 7px 10px 7px 0;
    border-color: transparent #000 transparent transparent;
}
.arrow.right::after
{
    left: 100%;

    content: '';

    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent  #000;
}
.arrow:hover
{
    color: #7695b3;
}
.arrow:hover::before
{
    border-color: transparent #7695b3 transparent transparent;
}
.arrow:hover::after
{
    border-color: transparent transparent transparent  #7695b3;
}

.event-calendar
{
    position: relative;

    display: block;
}

.stripe
{
    fill: rgba(255, 255, 255, 1);
    stroke-width: .5;
    stroke: rgb(200,200,200);
}

.stripe.day-0
{
    fill: #dae8f4;
}

.stripe.day-6
{
    fill: #ecf3fc;
}
.stripe.day-today
{
    fill: #f9f4d7;
}

.event-rect-container .event-text-top,
.event-rect-container .event-text-bottom
{
    font-weight: bold;
}
.event-rect-container:hover .event-text-top,
.event-rect-container:hover .event-text-bottom
{
    fill: #7695b3;
}
/* 
.event-rect-container:hover .eventRect.bgRect
{
    fill: #ababa1;
}
 */
.event-text
{
    font-size: 14px;

    /* pointer-events: none; */
}

.event-text-shadow
{
    fill: none;
    stroke-width: 2.5;
}

.event-text-shadow.floorB1
{
    stroke: #6e3a46;
}
.event-text-shadow.floor1
{
    stroke: #6e413c;
}
.event-text-shadow.floor2
{
    stroke: #6c4f3b;
}
.event-text-shadow.floor3
{
    stroke: #5e4d2b;
}
.event-text-shadow.floor4
{
    stroke: #57572b;
}
.event-text-shadow.floor5
{
    stroke: #2b4438;
}
.event-text-shadow.floor6
{
    stroke: #355755;
}
.event-text-shadow.floor7
{
    stroke: #324f65;
}
.event-text-shadow.floor8
{
    stroke: #3e4162;
}
.event-text-shadow.floorother
{
    stroke: #583b55;
}

.eventRect
{
    fill: #f4f4f3;
}

.eventRect.bgRect
{
    transition: all .2s ease-in-out 0s;

    fill: #f4f4e6;
}
.event-text.text-white
{
    fill: #fff;
}

.event-text.floor-text
{
        -ms-writing-mode: tb-rl;

    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
}

.event-rect-container .last-day-background
{
    fill: #7291ad;
}

.floorB1
{
    fill: #6e3a46;
}
.floor1
{
    fill: #6e413c;
}
.floor2
{
    fill: #6c4f3b;
}
.floor3
{
    fill: #5e4d2b;
}
.floor4
{
    fill: #57572b;
}
.floor5
{
    fill: #2b4438;
}
.floor6
{
    fill: #355755;
}
.floor7
{
    fill: #324f65;
}
.floor8
{
    fill: #3e4162;
}
.floorother
{
    fill: #583b55;
}

.event-more
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1;

    display: block;

    margin: 0;
    padding: 26px 0;

    text-align: center;

    color: #7d99b2;
    background: #fff;
}

.event-more.disabled
{
    cursor: none;

    color: #f1f0f0;
}

.event-more-button
{
    cursor: pointer;
}

.event-more.disabled .event-more-button
{
    cursor: default;
}

.event-detail-popup
{
    position: fixed;
    top: 0;
    left: 0;

    display: none;
    overflow: hidden;

    width: 100%;
    height: 100%;

    -webkit-transform: translate3d(0, 0, 1px);
            transform: translate3d(0, 0, 1px);

    opacity: 0;

    align-items: center;
    justify-content: center;
}

.event-detail-popup-items-container
{
    width: 100%;
}
.event-detail-popup.summary .event-detail-popup-items-container
{
    display: block;
    overflow: auto;

    height: 80%;
    padding-bottom: 1px;

    pointer-events: auto;

    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
            overflow-scrolling: touch;
}
.event-detail-popup.summary .event-detail-popup-content
{
    max-width: 1120px;
    padding: 30px;
}

.event-detail-popup.summary .event-detail-popup-item
{
    box-sizing: border-box;
    width: 48%;
    margin: 0;
    padding: 15px 0;

    border: solid #c8c8c7;
    border-width: 0 0 1px 0;
}

.event-detail-popup.summary .event-detail-popup-item-header .event-detail-popup-item-time
{
    width: 50%;
    padding: .4em 0;
}
.event-detail-popup.summary .event-detail-popup-item-header .event-detail-popup-item-place
{
    width: 50%;
    padding: .4em;

    justify-content: center;
}

.event-detail-popup.summary .event-detail-popup-item-image
{
    width: 33.4%;
    margin-right: 20px;
    padding-top: 22.3%;
}
.event-detail-popup.summary .event-detail-popup-item-title
{
    font-size: 17px;

    display: block;
    display: -webkit-box;
    overflow: hidden;

    margin: 0;

    text-overflow: ellipsis;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.event-detail-popup.summary .event-detail-popup-item-content
{
    width: 66.6%;
}

.event-detail-popup.summary .event-detail-popup-item-button-sp
{
    display: none;
}

.event-detail-popup.open
{
    z-index: 2000;

    display: flex;

    -webkit-animation: show .3s ease 0s forwards;
            animation: show .3s ease 0s forwards;

    background: rgba(0, 0, 0, .75);
}

.event-detail-popup-content
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: flex;
    overflow: hidden;

    box-sizing: border-box;
    width: 90%;
    max-width: 876px;
    padding: 38px;

    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background: #fff;

    flex-wrap: wrap;
}


.event-detail-popup-header
{
    font-size: 47px;
    line-height: 1;

    margin: 0 auto 38px;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: transparent;
    background: url(/images/page_header_large_event.png) no-repeat center center;
    background-size: contain;
}

.event-detail-popup-footer
{
    line-height: 1;

    display: none;

    margin: 18px auto 0;

    text-align: center;

    color: #e6e6e6;
}

.event-detail-popup-footer-close
{
    position: relative;

    margin: 0 auto;
    padding-left: 1em;

    color: #000;
}

.event-detail-popup-footer-close::before,
.event-detail-popup-footer-close::after
{
    position: absolute;
    top: 50%;
    left: 0;

    width: .8em;
    height: 1px;

    content: '';
    -webkit-transform-origin: center center;
            transform-origin: center center;

    background: #000;
}

.event-detail-popup-footer-close::before
{
    -webkit-transform: translateY(-50%) rotateZ(45deg);
            transform: translateY(-50%) rotateZ(45deg);
}


.event-detail-popup-footer-close::after
{
    -webkit-transform: translateY(-50%) rotateZ(-45deg);
            transform: translateY(-50%) rotateZ(-45deg);
}

.event-detail-popup .event-detail-popup-summary
{
    display: none;
}

.event-detail-popup.summary .event-detail-popup-summary
{
    font-size: 22px;

    display: block;

    width: 100%;
    margin-bottom: 25px;

    text-align: center;
}

.event-detail-popup-close
{
    position: absolute;
    top: 16px;
    right: 16px;

    display: block;
    display: block;
    overflow: hidden;

    width: 26px;
    height: 26px;

    border-radius: 100%;
    background: #e6e6e6;
}
.event-detail-popup-close::before
{
    position: absolute;
    top: calc(50% - 1px);
    left: 7px;

    width: 12px;
    height: 2px;

    content: '';
    -webkit-transform: rotateZ(45deg);
            transform: rotateZ(45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    pointer-events: none;

    background: #9c9b9b;
}
.event-detail-popup-close::after
{
    position: absolute;
    top: calc(50% - 1px);
    left: 7px;

    width: 12px;
    height: 2px;

    content: '';
    -webkit-transform: rotateZ(-45deg);
            transform: rotateZ(-45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    pointer-events: none;

    background: #9c9b9b;
}
.event-detail-popup-content *
{
    pointer-events: auto;
}

.event-detail-popup-item
{
    display: flex;
    flex-direction: column;

    width: 100%;
    margin: 0 auto;

    text-align: center;
}

.event-detail-popup-item img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.event-detail-popup-item-header
{
    display: flex;

    width: 100%;
    margin: 0 auto;
    margin-bottom: 10px;

    text-align: center;
}

.event-detail-popup-item-header .event-detail-popup-item-time,
.event-detail-popup-item-header .event-detail-popup-item-place
{
    font-size: 16px;

    display: flex;

    box-sizing: border-box;
    width: 45%;
    padding: 1em 1.5em;

    align-items: center;
}
.event-detail-popup-item-header .event-detail-popup-item-time
{
    width: 45%;

    color: #fff;
    background: #7391ad;

    flex: 0 0 auto;
    justify-content: center;
}

.event-detail-popup-item-header .event-detail-popup-item-place
{
    text-align: left;

    flex: 1 1 auto;
    justify-content: flex-start;
}

.event-detail-popup-item-body
{
    display: flex;

    width: 100%;
    margin: 0 auto;

    text-align: center;
}

.event-detail-popup-item-image
{
    position: relative;

    display: block;

    width: 45%;
    height: 0;
    margin-right: 30px;
    padding-top: 30.06%;

    flex: 0 0 auto;
}

.event-detail-popup-item-content
{
    position: relative;
    display: flex;
    flex-direction: column;

    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: flex-start;
}

.event-detail-popup-item-time,
.event-detail-popup-item-place
{
    font-size: 20px;
    line-height: 1.4;

    display: inline-block;

    padding: 6px;
}

.event-detail-popup-item-place
{
    color: #fff;
    background: #354973;
}

.event-detail-popup-item-place.floorB1
{
    background-color: #6e3a46;
}
.event-detail-popup-item-place.floor1
{
    background-color: #6e413c;
}
.event-detail-popup-item-place.floor2
{
    background-color: #6c4f3b;
}
.event-detail-popup-item-place.floor3
{
    background-color: #5e4d2b;
}
.event-detail-popup-item-place.floor4
{
    background-color: #57572b;
}
.event-detail-popup-item-place.floor5
{
    background-color: #2b4438;
}
.event-detail-popup-item-place.floor6
{
    background-color: #355755;
}
.event-detail-popup-item-place.floor7
{
    background-color: #324f65;
}
.event-detail-popup-item-place.floor8
{
    background-color: #3e4162;
}
.event-detail-popup-item-place.floorother
{
    background-color: #583b55;
}

.event-detail-popup-item-title
{
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 游明朝, YuMincho, HGS明朝E, 'ＭＳ Ｐ明朝', serif;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.58;

    overflow: hidden;

    width: 100%;
    height: auto;
    margin: 0;

    text-align: left;

    color: #000;
    background: #fff;
}

.event-detail-popup-item-button
{
    font-size: 16px;
    line-height: 1;

    display: flex;

    margin-top: 6px;
    padding: .75em 0;

    color: #7391ad;

    justify-content: flex-start;
    align-items: center;
}

.event-detail-popup-item-bottoms {
    display: flex;
    flex: 1 1 auto;
    flex-flow: row wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 15px;
    width: 100%;
}
.event-detail-popup-item-bottoms-sp {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    flex: 1 1 auto;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    padding: 10px;
}

.event-detail-popup-item-calendar {
    display: flex;
    position: relative;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    background: #fff;
    transition: all 0.3s ease 0s;
}
.event-detail-popup-item-calendar:hover {
    opacity: 0.8;
}
.event-detail-popup-item-calendar-wrapper {
    display: flex;
    position: relative;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
}
.event-detail-popup-item-calendar-text {
    display: inline-block;
    flex: 0 0 auto;
    color: #8fabcc;
    font-size: 16px;
    line-height: 1.2;
}
.event-detail-popup-item-calendar-plus {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 30%;
    height: 30%;
    box-shadow: 0 0 0 4px #62758b, 0 0 0 5px #fff;
    background: #fff;
    border-radius: 100%;
    transform: translate(15%, 15%);
}
.event-detail-popup-item-calendar-plus::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 25%;
    height: 75%;
    margin: auto;
    background: #62758b;
}
.event-detail-popup-item-calendar-plus::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 75%;
    height: 25%;
    margin: auto;
    background: #62758b;
}
.event-detail-popup-item-calendar .event-detail-popup-item-calendar-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
}
.event-detail-popup-item-calendar-date {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    margin: auto;
    background: #fff;
    text-align: center;
    color: #62758b;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.04em;
}
.event-detail-popup-item-button-sp
{
    font-size: 14px;
    line-height: 18px;

    display: none;

    margin-top: 11px;

    text-align: center;

    color: #718ca8;
}

.event-detail-popup-item-button::after
{
    display: inline-block;

    width: .5em;
    height: .5em;
    margin-top: -.2em;

    content: '';
    -webkit-transform: rotateZ(45deg);
            transform: rotateZ(45deg);

    border: solid #7391ad;
    border-width: 1px 1px 0 0;
    background: rgba(255, 255, 255, 0);
}

.event-detail-popup-item-button.no-detail,
.event-detail-popup-item-button-sp.no-detail
{
    display: none !important;
}

@media screen and (min-width:401px)
{
    .event-calendar-block
    {
        margin-top: 0;
        padding-top: 80px;
    }

    .event-detail-popup.summary .event-detail-popup-content
    {
        height: calc(100% - 50px);
    }
    .event-detail-popup-items-container
    {
        margin-right: -8px;
    }
    .event-detail-popup-items-container::-webkit-scrollbar
    {
        width: 8px;

        background: #e9e8e8;
    }
    /*スクロールバーの軌道*/
    .event-detail-popup-items-container::-webkit-scrollbar-track
    {
        border-radius: 10px;
    }

    /*スクロールバーの動く部分*/
    .event-detail-popup-items-container::-webkit-scrollbar-thumb
    {
        background-color: #9e9c9c;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
    }
    .event-detail-popup.summary .event-detail-popup-header
    {
        margin-bottom: 18px;
    }
    .event-detail-popup.summary .event-detail-popup-item
    {
        display: inline-flex;
    }
    .event-detail-popup.summary .event-detail-popup-item:nth-child(1),
    .event-detail-popup.summary .event-detail-popup-item:nth-child(2)
    {
        margin-bottom: 0;
        padding-bottom: 15px;

        border-top-width: 1px;
    }
    .event-detail-popup.summary .event-detail-popup-item:nth-last-child(1),
    .event-detail-popup.summary .event-detail-popup-item:nth-last-child(2)
    {
        margin-bottom: 0;
        padding-bottom: 15px;

        border-bottom-width: 1px;
    }
    .event-detail-popup.summary .event-detail-popup-item:nth-child(2n)
    {
        margin-left: 2%;
    }
    .event-detail-popup.summary .event-detail-popup-item-title
    {
        height: 2.9em;
    }
    .event-detail-popup-item-header
    {
        letter-spacing: .05em;
    }
}

@media screen and (max-width:400px)
{
    /* カレンダーの要素をfixedにしたときヘッダーが一瞬消える対策 */
    #header,
    #container
    {
        transition: none;
    }

    #smartbanner:not([style*='display: none']) ~ .event-calendar-block > .event-calendar-selector-container
    {
        top: 127px;
    }
    .contents
    {
        padding: 49px 0 0;
    }
    .arrow
    {
        font-size: 15px;
    }
    .arrow.left
    {
        padding: 0 0 0 .5rem;
    }
    .arrow.left .arrow-text::before
    {
        content: '前週';
    }

    .arrow.right
    {
        padding: 0 .5rem 0 0;
    }
    .arrow.right .arrow-text::before
    {
        content: '翌週';
    }

    .event-calendar-block
    {
        width: 100%;
        margin-top: 0;
        padding-top: 165px;

        transition: all .3s linear 0s;
    }
    .event-calendar-block ~ #container > .contents
    {
        padding: 0;
    }
    /* カレンダーのルート要素に detail-button を付けると曜日が表示される */
    .event-calendar-block.isDay .dates-item-day
    {
        display: block;

        margin-top: 5px;
    }
    .event-calendar-block.isDay .event-calendar-dates
    {
        height: 45px;
    }
    .event-calendar-dates .dates-item-number
    {
        font-size: 15px;
    }
    .event-calendar-dates .dates-item-ja
    {
        font-size: 10px;
    }
    .event-calendar-dates .dates-item-day
    {
        font-size: 11px;
    }
    .event-text
    {
        font-size: 11px;
    }
    .event-text.floor-text
    {
        font-size: 13px;
    }
    .event-calendar-selector-container
    {
        position: absolute;
        z-index: 10;
        top: auto;
        right: 0;
        bottom: auto;
        left: 0;
    }

    .isPosFix .event-calendar-selector-container
    {
        position: fixed;
        top: 40px;
        bottom: auto;
    }

    .event-calendar-selector-button
    {
        font-size: 14px;
        line-height: 1;

        position: relative;

        display: flex;

        padding: .6rem 0;

        border-top: 1px solid #c8c8c8;
        border-bottom: 1px solid #c8c8c8;
        background: #fff;

        justify-content: center;
        align-items: center;
    }
    .event-calendar-selector-button::after
    {
        position: absolute;
        top: 50%;
        right: 19%;

        width: .4em;
        height: .4em;

        content: '';
        transition: all .1s linear 0s;
        -webkit-transform: translateY(calc(-50% + .1em)) rotateZ(-45deg);
                transform: translateY(calc(-50% + .1em)) rotateZ(-45deg);

        border: solid #303131;
        border-width: 1px 1px 0 0;
        background: rgba(255, 255, 255, 0);
    }
    .event-calendar-selector-toggle:checked ~ .event-calendar-block
    {
        padding-top: 246px;
    }
    .event-calendar-selector-toggle:checked ~ .event-calendar-block > .event-calendar-selector-container > .event-calendar-selector
    {
        display: flex;
    }
    .event-calendar-selector-toggle:checked ~ .event-calendar-block > .event-calendar-selector-container > .event-calendar-selector-button::after
    {
        -webkit-transform: translateY(-75%) rotateZ(135deg);
                transform: translateY(-75%) rotateZ(135deg);
    }
    .event-calendar-selector-count::before
    {
        content: '(';
    }

    .event-calendar-selector-count::after
    {
        content: ')';
    }
    .event-calendar-selector
    {
        display: none;

        height: auto;

        flex-wrap: wrap;
    }
    .selector-item
    {
        font-size: 14px;

        width: 20%;

        border-right: none;

        flex-wrap: wrap;
    }
    .selector-item:nth-of-type(5)
    {
        border-right: none;
    }
    .selector-item-count
    {
        font-size: 10px;

        text-align: center;
    }
    .event-calendar-dates
    {
        height: 30px;
    }
    .dates-item-day
    {
        display: none;
    }
    .event-calendar-dates .dates-item-container
    {
        flex: 0 1 14.28%;
        flex: 0 1 calc(100% / 7);
    }
    .event-calendar-controller
    {
        height: 35px;

        justify-content: space-between;
    }
    .event-calendar-controller .centerItem
    {
        padding: 0;

        border: none;
    }
    .event-calendar-controller .event-target-month
    {
        font-size: 18px;
        font-weight: 700;
    }
    .event-calendar-controller .event-target-month::after
    {
        display: none;
    }
    .event-more
    {
        font-size: 14px;

        padding: 15px 0;

        border: solid rgb(200, 200, 200);
        border-width: 0 0 1px 0;
    }
    .event-detail-popup.summary .event-detail-popup-content
    {
        overflow: hidden;

        height: calc(100% - 30px);
        padding: 19px;
    }
    .event-detail-popup.summary .event-detail-popup-header
    {
        margin-bottom: 12px;
    }
    .event-detail-popup.summary .event-detail-popup-summary
    {
        font-size: 16px;

        margin-bottom: 6px;
    }
    .event-detail-popup.summary .event-detail-popup-item
    {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
        padding: 0;
    }
    .event-detail-popup.summary .event-detail-popup-item:nth-child(1)
    {
        padding-top: 10px;

        border-top-width: 1px;
    }
    .event-detail-popup.summary .event-detail-popup-item:nth-last-child(1)
    {
        margin-bottom: 0;

        border-bottom-width: 1px;
    }

    .event-detail-popup.summary .event-detail-popup-item:nth-child(2n)
    {
        margin-left: 0;
    }
    .event-detail-popup.summary .event-detail-popup-item-header
    {
        flex-direction: row;

        margin-bottom: 10px;
        margin-left: 0;
    }
    .event-detail-popup.summary .event-detail-popup-item-header .event-detail-popup-item-time,
    .event-detail-popup.summary .event-detail-popup-item-header .event-detail-popup-item-place
    {
        font-size: 11px;
    }
    .event-detail-popup.summary .event-detail-popup-item-image
    {
        margin-right: 10px;
    }
    .event-detail-popup.summary .event-detail-popup-item-title
    {
        font-size: 13px;

        min-height: 36px;
        max-height: none;

        -webkit-line-clamp: 3;
    }
    .event-detail-popup.summary .event-detail-popup-item-body
    {
        flex-direction: row;
    }
    .event-detail-popup.summary .event-detail-popup-item-button
    {
        font-size: 13px;

        display: flex;

        padding: 0;

        color: #718ca8;
    }
    .event-detail-popup-close
    {
        display: none;
    }
    .event-detail-popup-content
    {
        overflow-y: scroll;

        width: 90%;
        max-height: calc(100% - 30px);
        padding: 19px;
    }
    .event-detail-popup-header
    {
        font-size: 18px;

        width: 100%;
        margin-bottom: 18px;
    }
    .event-detail-popup-item-body
    {
        flex-direction: column-reverse;
    }
    .event-detail-popup-footer
    {
        display: block;
    }
    .event-detail-popup-item
    {
        flex-direction: column;
    }
    .event-detail-popup-item + .event-detail-popup-item
    {
        margin-top: 38px;
    }
    .event-detail-popup-item-image
    {
        width: 100%;
        margin-right: 10px;
        padding-top: 75%;
    }
    .event-detail-popup-item-content
    {
        margin-bottom: 11px;
        padding: 0;

        align-items: flex-start;
    }
    .event-detail-popup-item-header
    {
        flex-direction: column;

        margin-bottom: 10px;
    }
    .event-detail-popup-item-header .event-detail-popup-item-time,
    .event-detail-popup-item-header .event-detail-popup-item-place
    {
        font-size: 14px;

        width: 100%;
        padding: .8em 1em;
    }
    .event-detail-popup-item-header .event-detail-popup-item-place
    {
        text-align: center;

        justify-content: center;
    }
    .event-detail-popup-item-title
    {
        font-size: 14px;
        line-height: 18px;

        height: auto;
        min-height: 1.5em;
        max-height: 5em;
        margin: 0;

        text-align: left;
    }
    .event-detail-popup-item-button,
    .event-detail-popup-item-button::after
    {
        display: none;
    }
    .event-detail-popup-item-button-sp
    {
        display: block;
    }
    .event-detail-popup-item-bottoms {
        display: none;
    }
    .event-detail-popup-item-bottoms-sp {
        display: flex;
        max-width: 30%;
    }
    .event-detail-popup-item-calendar {
        width: 34px;
        height: 34px;
    }
    .event-detail-popup-item-calendar-text {
        display: none;
    }
    .event-detail-popup-item-calendar-date {
        width: 18px;
        height: 18px;
        font-size: 12px;
    }
}

@-webkit-keyframes show
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}

@keyframes show
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 1;
    }
}
