@charset "UTF-8";

/* ========================================================================================================================
COMMON
======================================================================================================================== */
.brUpcomingExhSpecial {
    display: none;
}
.emptyPost {
    width: 100%;
    text-align: center !important;
    color: #E1E1E1;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print {
    .emptyPost {
        font-size: 1rem;
        padding: 2rem 0;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    .emptyPost {
        font-size: 12px;
        padding: 20px 0;
    }
}

/* ------------------------------------------------------------
listCateArea
-------------------------------------------------------------*/
.contentList .listCateArea {
    font-size: 0;
}
.contentList .listCateTtl {
    font-weight: 400;
}
.contentList .listCateList li a .hoverLine::after {
    filter:alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0; 
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print {
    .contentList .listCateArea {
        position: absolute;
        top: 1.5rem;
        left: 1.5rem;
    }
    .contentList .listCateTtl {
        display: inline-block;
        font-size: 0.75rem;
        margin-right: 1rem;
    }
    .contentList .listCateList {
        display: inline-block;
    }
    .contentList .listCateList li {
        display: inline-block;
        font-size: 0.875rem;
        margin-right: 1rem;
    }
    .contentList .listCateList li a:hover .hoverLine::after,
    .contentList .listCateList li a.current .hoverLine::after{
        filter:alpha(opacity=100);
        -moz-opacity: 1;
        opacity: 1; 
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    .contentList .listCateTtl {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 13px;
        padding: 4vw;
        background: url(../img/common/arrow_bottom_15.svg) no-repeat center right;
        background-size: 10px auto;
    }
    .contentList .listCateList {
        padding-bottom: 8vw;
    }
    .contentList .listCateArea.hide .listCateList {
        display: none;
    }
    .contentList .listCateList li {
        display: block;
        font-size: 1rem;
        padding: 0 4vw;
        text-align: center;
    }
}

/* ------------------------------------------------------------
listYearArea
-------------------------------------------------------------*/
.contentList .listYearArea {
    display: none;
}
/* ------------------------------------------------------------------------------------------------------------------------
listPagerArea
------------------------------------------------------------------------------------------------------------------------- */
.contentList .listPagerArea {
    width: 100%;
    text-align: center;
}
.contentList .listPagerArea a,
.contentList .listPagerArea span {
    display: inline-block;
}
.contentList .listPagerArea .previouspostslink,
.contentList .listPagerArea .nextpostslink {
    text-indent: -1000rem;
}
.contentList .listPagerArea .previouspostslink:hover, 
.contentList .listPagerArea .nextpostslink:hover {
	filter:alpha(opacity=25);
    -moz-opacity: 0.25;
    opacity: 0.25;
}
.contentList .listPagerArea .current {
    border: #000 1px solid;
}
.contentList .listPagerArea .page {
    border: #E1E1E1 1px solid;
}
.contentList .listPagerArea .page:hover {
    border: #000 1px solid;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    .contentList .listPagerArea {
        margin-top: 4rem;
    }
    .contentList .listPagerArea a,
    .contentList .listPagerArea span {
        width: 3rem;
        height: 3rem;
        font-size: 1rem;
        line-height: 3rem;
        margin: 0 0.5rem;
        transition: all 0.3s ease-in-out;
    }
    .contentList .listPagerArea .previouspostslink {
        background-image: url(../img/common/arrow_pager_left_16.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto 1rem;
    }
    .contentList .listPagerArea .nextpostslink {
        background-image: url(../img/common/arrow_pager_right_16.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto 1rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    .contentList .listPagerArea {
        margin-top: 45px;
    }
    .contentList .listPagerArea a,
    .contentList .listPagerArea span {
        width: 10.6666vw;
        height: 10.6666vw;
        font-size: 4.8vw;
        line-height: 10.6666vw;
        margin: 0 5px;
    }
    .contentList .listPagerArea .previouspostslink {
        background-image: url(../img/common/arrow_pager_left_16.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto 5.6vw;
    }
    .contentList .listPagerArea .nextpostslink {
        background-image: url(../img/common/arrow_pager_right_16.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto 5.6vw;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
listSearchArea
------------------------------------------------------------------------------------------------------------------------- */
.contentList .searchForm input {
    transition: all 0.3s ease-in-out;
}
.contentList .listSearchArea {
    width: 100%;
}
.contentList .listSearchArea .searchForm {
    position: relative;
    margin: 0 auto;
}
.contentList .listSearchArea .searchForm .searchBox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border: none;
    border-bottom: #000 1px solid;
}
.contentList .listSearchArea .searchForm .btnSearch {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) translateX(0);
    -webkit- transform: translateY(-50%) translateX(0);
    text-indent: -1000em;
    cursor: pointer;
}
.contentList .listSearchArea .searchForm .btnSearch:hover {
	filter:alpha(opacity=25);
    -moz-opacity: 0.25;
    opacity: 0.25;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    .contentList .listSearchArea {
        margin-top: 4rem;
    }
    .contentList .listSearchArea .searchForm,
    .contentList .listSearchArea .searchForm .searchBox {
        height: 4rem;
    }
    .contentList .listSearchArea .searchForm .searchBox {
        font-size: 1rem;
        line-height: 4rem;
    }
    .contentList .listSearchArea .searchForm .btnSearch {
        width: 2rem;
        height: 2rem;
        background-image: url(../img/common/arrow_right_32.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
    }
    .contentList .listSearchArea .searchForm {
        width: 59.49%;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    .contentList .listSearchArea {
        margin-top: 45px;
    }
    .contentList .listSearchArea .contentInner {
        padding: 0 8vw;
    }
    .contentList .listSearchArea .searchForm,
    .contentList .listSearchArea .searchForm .searchBox {
        height: 13.6vw;
    }
    .contentList .listSearchArea .searchForm .searchBox {
        font-size: 4vw;
        line-height: 13.6vw;
    }
    .contentList .listSearchArea .searchForm .btnSearch {
        width: 5.6vw;
        height: 13.6vw;
        background-image: url(../img/common/arrow_right_32.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 5.6vw auto;
    }
    .contentList .listSearchArea .searchForm {
        width: 100%;
    }
}



/* ========================================================================================================================
EXHIBITIONS
======================================================================================================================== */
/* ------------------------------------------------------------------------------------------------------------------------
currentExhibition 
------------------------------------------------------------------------------------------------------------------------- */
#exhibitions .currentExhibition .exhPh {
    position: relative;
    width: 100%;
    background-color: #F5F5F5;
}
#exhibitions .currentExhibition .exhPh::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/null_white.svg) no-repeat center center;
    background-size: contain;
}
#exhibitions .currentExhibition .exhPh img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}
#exhibitions .currentExhibition .exhPh .statusBadge {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: #F02D2D;
    border-radius: 50%;
}
#exhibitions .currentExhibition .exhPh .statusBadge.statusBadgePostpone {
    background: #000;
}
#exhibitions .currentExhibition .exhCategory {
    width: 100%;
    text-align: center;
    line-height: 1;
}
#exhibitions .currentExhibition .exhSubTtl {
    width: 100%;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}
#exhibitions .currentExhibition .exhTtl {
    width: 100%;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}
#exhibitions .currentExhibition .exhSession {
    width: 100%;
    text-align: center;
    line-height: 1.5;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #exhibitions .currentExhibition .exhCont {
        padding-bottom: 3rem;
        margin-bottom: 3rem;
        border-bottom: #E1E1E1 1px solid;
    }
    #exhibitions .currentExhibition .exhCont:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
    }
    #exhibitions .currentExhibition .exhPh {
        height: 49.3125rem;
    }
    #exhibitions .currentExhibition .exhPh .statusBadge {
        bottom: 1.5rem;
        right: 1.5rem;
        width: 6.5rem;
        height: 6.5rem;
        font-size: 1.3125rem;
        letter-spacing: 0.05em;
    }
    #exhibitions .currentExhibition .exhPh .statusBadge.lanEnEuropa {
        font-size: 0.875rem;
        letter-spacing: 0;
    }
    #exhibitions .currentExhibition .exhCategory {
        font-size: 0.75rem;
        margin: 2rem 0 1.5rem;
    }
    #exhibitions .currentExhibition .exhSubTtl {
        font-size: 1rem;
        margin-top: 0.25rem;
    }
    #exhibitions .currentExhibition .exhTtl {
        font-size: 1.3125rem;
        margin-top: 0.25rem;
    }
    #exhibitions .currentExhibition .exhSession {
        font-size: 1.3125rem;
        margin-top: 0.5rem;
    }
    #exhibitions .currentExhibition .exhData {
        line-height: 1.75;
        text-align: center;
        margin-top: 0.5rem;
    }
    #exhibitions .currentExhibition .exhData .dataPlace {
        display: inline-block;
        font-size: 0.875rem;
    }
    #exhibitions .currentExhibition .exhData .dataRoom {
        display: inline-block;
        font-size: 0.875rem;
    }
    #exhibitions .currentExhibition .exhData .dataRoom::before {
        content: '｜';
    }
    #exhibitions .currentExhibition .linkBtn {
        margin-top: 1rem;
    }
    #exhibitions .currentExhibition .linkBtn li {
        margin: 0 auto;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #exhibitions .currentExhibition .contentInner {
        padding: 0;
    }
    #exhibitions .currentExhibition .exhCont {
        margin-bottom: 45px;
    }
    #exhibitions .currentExhibition .exhCont:last-child {
        margin-bottom: 0;
    }
    #exhibitions .currentExhibition .exhPh {
        height: 61.3333vw;
    }
    #exhibitions .currentExhibition .exhPh .statusBadge {
        bottom: 0.5rem;
        right: 0.5rem;
        width: 16vw;
        height: 16vw;
        font-size: 3.2vw;
    }
    #exhibitions .currentExhibition .exhPh .statusBadge.lanEnEuropa {
        font-size: 2.6666vw;
    }
    #exhibitions .currentExhibition .exhTxtArea {
        padding: 0 4vw;
    }
    #exhibitions .currentExhibition .exhCategory {
        font-size: 10px;
        margin: 20px 0 15px;
    }
    #exhibitions .currentExhibition .exhSubTtl {
        font-size: 12px;
        margin-top: 5px;
    }
    #exhibitions .currentExhibition .exhTtl {
        font-size: 1rem;
        margin-top: 5px;
    }
    #exhibitions .currentExhibition .exhSession {
        font-size: 12px;
        margin-top: 10px;
    }
    #exhibitions .currentExhibition .exhData {
        display: none;
    }
    #exhibitions .currentExhibition .linkBtn {
        margin-top: 15px;
    }
    #exhibitions .currentExhibition .linkBtn li {
        margin: 0 auto;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
upcomingExhibition 
------------------------------------------------------------------------------------------------------------------------- */
#exhibitions .upcomingExhibition .emptyPost {
    border-top: #E1E1E1 1px solid;
}
/* exhMonthTtlArea */
#exhibitions .upcomingExhibition .exhMonthTtl .year {
    display: block;
    font-weight: bold;
}
#exhibitions .upcomingExhibition .exhMonthTtl .lanJp {
    display: block;
    font-weight: bold;
    line-height: 1.5;
    vertical-align: middle;
}
#exhibitions .upcomingExhibition .exhMonthTtl .lanEnEuropa {
    display: block;
    font-weight: normal;
    vertical-align: middle;
}
#exhibitions .upcomingExhibition .exhMonthTtl .lanEnEuropa .month {
    display: inline-block;
}
/* exhContWrap */
#exhibitions .upcomingExhibition .exhPh {
    position: relative;
    background-color: #F5F5F5;
}
#exhibitions .upcomingExhibition .exhPh::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/null_white.svg) no-repeat center center;
    background-size: contain;
}
#exhibitions .upcomingExhibition .exhPh img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}
#exhibitions .upcomingExhibition .exhPh .statusBadge {
    position: absolute;
    display: block;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    background: #F02D2D;
    border-radius: 50%;
}
#exhibitions .upcomingExhibition .exhCont .exhPh .statusBadge.lanEnEuropa,
#exhibitions .upcomingExhibition .exhCont.exhContBig .exhPh .statusBadge.lanEnEuropa {
    letter-spacing: 0;
}
#exhibitions .upcomingExhibition .exhCont .exhPh .statusBadge.statusBadgePostpone,
#exhibitions .upcomingExhibition .exhCont.exhContBig .exhPh .statusBadge.statusBadgePostpone {
     background: #000;
}
#exhibitions .upcomingExhibition .exhCategory {
    line-height: 1;
}
#exhibitions .upcomingExhibition .exhSubTtl {
    font-weight: 600;
    line-height: 1.5;
}
#exhibitions .upcomingExhibition .exhTtl {
    font-weight: 600;
    line-height: 1.5;
}
#exhibitions .upcomingExhibition .exhSession {
    line-height: 1.5;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #exhibitions .upcomingExhibition .exhMonth {
        display: table;
        width: 100%;
    }
    #exhibitions .upcomingExhibition .exhMonth .exhMonthTtlArea {
        display: table-cell;
        width: 10.14%;
        vertical-align: top;
        padding-right: 0.5rem;
    }
    #exhibitions .upcomingExhibition .exhContWrap {
        display: table-cell;
        width: 89.86%;
        vertical-align: top;
    }
    /* exhMonthTtlArea */
    #exhibitions .upcomingExhibition .exhMonthTtlArea .inner {
        padding-top: 2rem;
        padding-right: 2rem;
        border-top: #E1E1E1 1px solid;
    }
    #exhibitions .upcomingExhibition .exhMonthTtlArea .year {
        font-size: 1rem;
        line-height: 1.5;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .lanJp {
        font-size: 0.9375rem;
        margin-bottom: 0.25rem;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .ttlMonth {
        font-size: 1.5625rem;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .lanEnEuropa {
        font-size: 0.75rem;
        line-height: 1.4;
    }
    /* exhContWrap */
    #exhibitions .upcomingExhibition .exhCont {
        margin-bottom: 4rem;
    }
    #exhibitions .upcomingExhibition .exhCont,
    #exhibitions .upcomingExhibition .exhCont a {
        display: table;
        width: 100%;
    }
    #exhibitions .upcomingExhibition .exhCont .exhPh {
        display: table-cell;
        width: 54.88%;
        height: 24.3125rem;
        vertical-align: top;
    }
    #exhibitions .upcomingExhibition .exhCont .exhPh .statusBadge {
        bottom: 1.5rem;
        right: 1.5rem;
        width: 5rem;
        height: 5rem;
        font-size: 1rem;
        line-height: 5rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhPh .statusBadge.lanEnEuropa {
        font-size: 0.75rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhTxtArea {
        display: table-cell;
        width: 45.12%;
        vertical-align: top;
        padding-left: 0.5rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhTxtArea .inner {
        padding: 2rem;
        border-top: #E1E1E1 1px solid;
    }
    #exhibitions .upcomingExhibition .exhCont .exhCategory {
        font-size: 0.75rem;
        margin-bottom: 1.5rem;
    }
    #exhibitions .upcomingExhibition .exhCont .linkBtn {
        margin-top: 2rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhSubTtl {
        font-size: 0.875rem;
        margin-bottom: 0.25rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhTtl {
        font-size: 1.125rem;
        margin-bottom: 0.25rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhSession {
        font-size: 0.875rem;
        margin-top: 0.5rem;
    }
    #exhibitions .upcomingExhibition .exhCont .exhData .dataPlace,
    #exhibitions .upcomingExhibition .exhCont .exhData .dataRoom {
        display: inline-block;
        font-size: 0.875rem;
        line-height: 1.5;
    }
    #exhibitions .upcomingExhibition .exhCont .exhData .dataRoom::before{
        content: '｜';
    }
    /* exhContBig */
    #exhibitions .upcomingExhibition .exhCont.exhContBig {
        margin-bottom: 6rem;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig,
    #exhibitions .upcomingExhibition .exhCont.exhContBig a {
        display: block;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhPh {
        position: relative;
        display: block;
        width: 100%;
        height: 44.3125rem;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhPh .statusBadge {
        width: 6.5rem;
        height: 6.5rem;
        font-size: 1.3125rem;
        line-height: 6.5rem;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhPh .statusBadge.lanEnEuropa {
        font-size: 0.875rem;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhTxtArea {
        padding: 0;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhTxtArea .inner {
        display: table;
        width: 100%;
        margin-top: 1.5rem;
        padding: 0;
        border-top: none;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhCategory {
        display: table-cell;
        width: 11.27%;
        line-height: 1.5;
        text-align: center;
        vertical-align: middle;
        margin-bottom: 0;
        padding: 0 1rem;
        border-right: #E1E1E1 1px solid;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhCategory .brUpcomingExhexhContBig {
        display: block;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhInfo {
        display: table-cell;
        width: auto;
        padding-left: 2rem;
        vertical-align: top;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .linkBtn {
        display: table-cell;
        width: 14px;
        vertical-align: top;
        margin-top: 0;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhSubTtl {
        font-size: 1rem;
    }
    #exhibitions .upcomingExhibition .exhCont.exhContBig .exhTtl {
        font-size: 1.3125rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #exhibitions .upcomingExhibition .exhMonth {
        margin-bottom: 60px;
    }
    /* exhMonthTtlArea */
    #exhibitions .upcomingExhibition .exhMonthTtlArea .inner {
        text-align: center;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl {
        margin-bottom: 20px;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .year {
        font-size: 4.8vw;
        line-height: 1;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .lanJp {
        font-size: 4.8vw;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .ttlMonth {
        font-size: 6.4vw;
    }
    #exhibitions .upcomingExhibition .exhMonthTtl .lanEnEuropa {
        font-size: 10px;
        line-height: 1.5;
    }
    /* exhContWrap */
    #exhibitions .upcomingExhibition .exhCont {
        margin-bottom: 45px;
    }
    #exhibitions .upcomingExhibition .exhCont:last-child {
        margin-bottom: 0;
    }
    #exhibitions .upcomingExhibition .exhPh {
        width: 100%;
        height: 61.3333vw;
    }
    #exhibitions .upcomingExhibition .exhPh .statusBadge {
        bottom: 0.5rem;
        right: 0.5rem;
        width: 16vw;
        height: 16vw;
        font-size: 3.2vw;
        line-height: 16vw;
    }
    #exhibitions .upcomingExhibition .exhPh .statusBadge.lanEnEuropa {
        font-size: 2.6666vw;
    }
    #exhibitions .upcomingExhibition .exhTxtArea {
        padding: 0 4vw;
    }
    #exhibitions .upcomingExhibition .exhCategory {
        font-size: 10px;
        margin: 20px 0 15px;
        width: 100%;
        text-align: center;
    }
    #exhibitions .upcomingExhibition .exhSubTtl {
        font-size: 12px;
        margin-top: 5px;
        width: 100%;
        text-align: center;
    }
    #exhibitions .upcomingExhibition .exhTtl {
        font-size: 1rem;
        margin-top: 5px;
        width: 100%;
        text-align: center;
    }
    #exhibitions .upcomingExhibition .exhSession {
        font-size: 12px;
        margin-top: 10px;
        width: 100%;
        text-align: center;
    }
    #exhibitions .upcomingExhibition .exhData {
        display: none;
    }
    #exhibitions .upcomingExhibition .linkBtn {
        margin-top: 15px;
    }
    #exhibitions .upcomingExhibition .linkBtn li {
        margin: 0 auto;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
exhibitionListFoot 
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #exhibitions .exhibitionListFoot .linkBtn {
        width: 89.87%;
        padding-top: 2rem;
        margin-left: 10.13%;
        border-top: #E1E1E1 1px solid;
    }
}

/* ========================================================================================================================
ARCHIVES
======================================================================================================================== */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archType {
        margin-bottom: 6rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) { 
    #archives .archType {
        margin-bottom: 80px;
    }
}

/* ------------------------------------------------------------------------------------------------------------------------
archTypeTtl 
------------------------------------------------------------------------------------------------------------------------- */
#archives .archTypeTtlArea {
    position: relative;
    width: 100%;
    border-top: #E1E1E1 1px solid;
}
#archives .archTypeTtlArea .archTypeTtl {
    line-height: 1;
}
#archives .archTypeTtlArea .archTypeTtlJp {
    line-height: 1;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archTypeTtlArea {
        padding-top: 2rem;
        margin-bottom: 2rem;
    }
    #archives .archTypeTtlArea .archTypeTtl {
        font-size: 1.5rem;
    }
    #archives .archTypeTtlArea .archTypeTtlJp {
        font-size: 0.875rem;
        margin-top: 1rem;
    }
    #archives .archTypeTtlArea .archCateBtn a {
        position: absolute;
        top: 2rem;
        right: 0;
        display: inline-block;
        height: 1.5rem;
        font-size: 0.75rem;
        line-height: 1.5rem;
        padding: 0 0.5rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archTypeTtlArea {
        padding-top: 20px;
        margin-bottom: 30px;
        text-align: center;
    }
    #archives .archTypeTtlArea .archTypeTtl {
        font-size: 4.8vw;
    }
    #archives .archTypeTtlArea .archTypeTtlJp {
        font-size: 12px;
        margin-top: 10px;
        text-align: center;
    }
    #archives .archType01 .archTypeTtlArea .archTypeTtlJp,
    #archives .archType02 .archTypeTtlArea .archTypeTtlJp {
        display: none;
    }
    #archives .archTypeTtlArea .archCateBtn {
        font-size: 12px;
        line-height: 1;
        margin-top: 10px;
    }
    #archives .archTypeTtlArea .archCateBtn a {
        border: none;
        border-bottom: #000 1px solid;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archContWrap 
------------------------------------------------------------------------------------------------------------------------- */
#archives .archContWrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
#archives .archCont {
    vertical-align: top;
}
#archives .archCont .archPh {
    position: relative;
    width: 100%;
    background-color: #F5F5F5;
}
#archives .archCont .archPh img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}
#archives .archCont .archPh::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/null_white.svg) no-repeat center center;
    background-size: contain;
}
#archives .archCont .archCategory {
    display: none;
}
#archives.listSearchResult .archCont .archCategory {
    display: block;
    width: 100%;
    line-height: 1;
    text-align: center;
}
#archives .archCont .archSubTtl {
    width: 100%;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}
#archives .archCont .archTtl {
    width: 100%;
    text-align: center;
    line-height: 1.5;
}
#archives .archCont .archSession {
    width: 100%;
    text-align: center;
    line-height: 1.5;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archCont .archTxtArea {
        padding: 0 1rem;
        margin-top: 1.5rem;
    }
    #archives.listSearchResult .archCont .archCategory {
        font-size: 0.75rem;
        margin-bottom: 1rem;
    }
    #archives .archCont .archSubTtl {
        margin-top: 0.25rem;
    }
    #archives .archCont .archTtl {
        margin-top: 0.25rem;
    }
    #archives .archCont .archSession {
        margin-top: 0.5rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archCont .archTxtArea {
        padding: 0 4vw;
        margin-top: 20px;
    }
    #archives.listSearchResult .archCont .archCategory {
        font-size: 10px;
        margin-bottom: 15px;
    }
    #archives .archCont .archSubTtl {
        margin-top: 5px;
    }
    #archives .archCont .archTtl {
        margin-top: 5px;
    }
    #archives .archCont .archSession {
        margin-top: 10px;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archType01 
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print {
    #archives .archType01 .archCont {
        width: 50%;
        margin-bottom: 3rem;
    }
    #archives .archType01 .archCont:nth-child(even) {
        padding-left: 0.5rem;
    }
    #archives .archType01 .archCont:nth-child(odd) {
        padding-right: 0.5rem;
    }
    #archives .archType01 .archCont .archPh {
        height: calc( ( ( 100vw - 8rem * 2 ) / 2 - 0.5rem ) / 3 * 2 );
    }
    #archives .archType01 .archCont .archSubTtl {
        font-size: 1rem;
    }
    #archives .archType01 .archCont .archTtl {
        font-size: 1.125rem;
    }
    #archives .archType01 .archCont .archSession {
        font-size: 0.875rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archType01 .archCont {
        width: 100%;
        margin-top: 45px;
    }
    #archives .archType01 .archCont:first-child {
        margin-top: 0;
    }
    #archives .archType01 .archCont .archPh {
        height: 61.3333vw;
    }
    #archives .archType01 .archCont .archSubTtl {
        font-size: 12px;
    }
    #archives .archType01 .archCont .archTtl {
        font-size: 1rem;
    }
    #archives .archType01 .archCont .archSession {
        font-size: 10px;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archType02 
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archType02 .archCont {
        width: 33.33%;
        margin-bottom: 3rem;
    }
    #archives .archType02 .archCont:nth-child(3n-2) {
        padding-right: 0.66rem;
    }
    #archives .archType02 .archCont:nth-child(3n-1) {
        padding: 0 0.33rem;
    }
    #archives .archType02 .archCont:nth-child(3n) {
        padding-left: 0.66rem;
    }
    #archives .archType02 .archCont .archPh {
        height: calc( ( ( 100vw - 8rem * 2 ) * 0.3243 ) / 3 * 2 );
    }
    #archives .archType02 .archCont .archSubTtl {
        font-size: 1rem;
    }
    #archives .archType02 .archCont .archTtl {
        font-size: 1.125rem;
    }
    #archives .archType02 .archCont .archSession {
        font-size: 0.875rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archType02 .archCont {
        width: 100%;
        margin-top: 45px;
    }
    #archives .archType02 .archCont:first-child {
        margin-top: 0;
    }
    #archives .archType02 .archCont .archPh {
        height: 61.3333vw;
    }
    #archives .archType02 .archCont .archSubTtl {
        font-size: 12px;
    }
    #archives .archType02 .archCont .archTtl {
        font-size: 1rem;
    }
    #archives .archType02 .archCont .archSession {
        font-size: 10px;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archType03
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archType03 .archCont {
        width: 25%;
        margin-bottom: 3rem;
    }
    #archives .archType03 .archCont:nth-child(4n-3) {
        padding-right: 0.75rem;
    }
    #archives .archType03 .archCont:nth-child(4n-2) {
        padding-left: 0.25rem;
        padding-right: 0.5rem;
    }
    #archives .archType03 .archCont:nth-child(4n-1) {
        padding-left: 0.5rem;
        padding-right: 0.25rem;
    }
    #archives .archType03 .archCont:nth-child(4n) {
        padding-left: 0.75rem;
    }
    #archives .archType03 .archCont .archPh {
        height: calc( ( ( 100vw - 8rem * 2 ) * 0.239864 ) / 3 * 2 );
    }
    #archives .archType03 .archCont .archSubTtl {
        font-size: 0.875rem;
    }
    #archives .archType03 .archCont .archTtl {
        font-size: 1rem;
    }
    #archives .archType03 .archCont .archSession {
        font-size: 0.75rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archType03 .archCont {
        width: 50%;
        margin-top: 30px;
    }
    #archives .archType03 .archCont:nth-child(1),
    #archives .archType03 .archCont:nth-child(2) {
        margin-top: 0;
    }
    #archives .archType03 .archCont:nth-child(even) {
        padding-left: 0.5em;
    }
    #archives .archType03 .archCont:nth-child(odd) {
        padding-right: 0.5em;
    }
    #archives .archType03 .archCont .archPh {
        height: 29.3333vw;
    }
    #archives .archType03 .archCont .archSubTtl {
        font-size: 10px;
    }
    #archives .archType03 .archCont .archTtl {
        font-size: 12px;
    }
    #archives .archType03 .archCont .archSession {
        font-size: 10px;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archiveYear
------------------------------------------------------------------------------------------------------------------------- */
#archives .archiveYear .archYearList {
    display: flex;
    flex-wrap: wrap;
}
#archives .archiveYear .archYearList .archYearCont {
    vertical-align: top;
}
#archives .archiveYear .archYearList .archYearCont a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
#archives .archiveYear .archYearPh {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}
#archives .archiveYear .archYearPh::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/null_white.svg) no-repeat center center;
    background-size: contain;
}
#archives .archiveYear .archYearPh img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;'
}
#archives .archiveYear .archYearTtl {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    color: #fff;
    z-index: 10;
}
#archives .archiveYear .archYearList .archYearCont a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0, 0.2);
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archiveYear .archYearList .archYearCont {
        width: 20%;
        margin-bottom: 1rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(5n-4) {
        padding-right: 0.8rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(5n-3) {
        padding-left: 0.2rem;
        padding-right: 0.6rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(5n-2) {
        padding-left: 0.4rem;
        padding-right: 0.4rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(5n-1) {
        padding-left: 0.6rem;
        padding-right: 0.2rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(5n) {
        padding-left: 0.8rem;
    }
    #archives .archiveYear .archYearPh {
        height: calc( ( ( 100vw - 8rem * 2 ) * 0.1891 ) / 3 * 2 );
    }
    #archives .archiveYear .archYearTtl {
        font-size: 1.125rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) { 
    #archives .archiveYear .archYearList .archYearCont {
        width: 33.33%;
        margin-bottom: 1rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(3n-2) {
        padding-right: 0.66rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(3n-1) {
        padding: 0 0.33rem;
    }
    #archives .archiveYear .archYearList .archYearCont:nth-child(3n) {
        padding-left: 0.66rem;
    }
    #archives .archiveYear .archYearPh {
        height: 18.6666vw;
    }
    #archives .archiveYear .archYearTtl {
        font-size: 3.2vw;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
archCatePage
------------------------------------------------------------------------------------------------------------------------- */
#archives .archCatePage {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
    transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out;
}
#archives .archCatePage.open {
    visibility: visible;
    opacity: 1;
}
#archives .archCatePage.close {
    visibility: hidden;
    opacity: 0;
}
#archives .archCatePage .inner {
    position: relative;
    width: 100%;
    height: 100%;
}
#archives .archCatePage .inner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0, 0.2);
}
#archives .archCatePage .archCateTxtArea {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    background: #fff;
    z-index: 100;
}
#archives .archCatePage .archCateTtl {
    width: 100%;
    line-height: 1;
    text-align: center;
}
#archives .archCatePage .archCateTtlEn {
    width: 100%;
    text-align: center;
    line-height: 1;
}
#archives .archCatePage .closeBtn {
    width: 100%;
    text-align: center;
}
#archives .archCatePage .closeBtn a {
    display: block;
    margin: 0 auto;
}
#archives .archCatePage .archCatePhSlideWrap {
    position: relative;
    width: 100%;
}
#archives .archCatePage .archCatePh {
    position: relative;
    width: 100%;
    height: 100%;
}
#archives .archCatePage .archCatePh img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #archives .archCatePage .archCateTxtArea {
        width: 44rem;
        padding: 4rem 8rem;
    }
    #archives .archCatePage .archCateTtl {
        font-size: 1.125rem;
        margin-bottom: 1rem;
    }
    #archives .archCatePage .archCateTtlEn {
        font-size: 0.875rem;
        margin-bottom: 2rem;
    }
    #archives .archCatePage .closeBtn {
        font-size: 0.875rem;
        margin-top: 2rem;
    }
    #archives .archCatePage .closeBtn a {
        height: 1.125rem;
        line-height: 1.125rem;
    }
    #archives .archCatePage .closeBtn .icon {
        background: url(../img/common/close_32.svg) no-repeat center left;
        background-size: 1.125rem auto;
        padding-left: 1.625rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #archives .archCatePage .archCateTxtArea {
        width: 92vw;
        max-height: 92vh;
        padding: 8vw;
        overflow-y: auto;
    }
    #archives .archCatePage .archCateTtl {
        font-size: 4.8vw;
        margin-bottom: 15px;
    }
    #archives .archCatePage .archCateTtlEn {
        font-size: 12px;
        margin-bottom: 20px;
    }
    #archives .archCatePage .archCateDesc {
        font-size: 13px;
    }
    #archives .archCatePage .closeBtn {
        font-size: 4vw;
        margin-top: 30px;
    }
    #archives .archCatePage .closeBtn a {
        height: 5.6vw;
        line-height: 5.6vw;
    }
    #archives .archCatePage .closeBtn .icon {
        background: url(../img/common/close_32.svg) no-repeat center left;
        background-size: 5.6vw auto;
        padding-left: 8vw;
    }
}

/* ========================================================================================================================
PUBLICATION
======================================================================================================================== */
/* ------------------------------------------------------------------------------------------------------------------------
publicationContList 
------------------------------------------------------------------------------------------------------------------------- */
.publicationContList {
    font-size: 0;
}

/* ========================================================================================================================
NEWS
======================================================================================================================== */
/* ------------------------------------------------------------------------------------------------------------------------
newsContList 
------------------------------------------------------------------------------------------------------------------------- */
#news .newsContList .newsCont {
    width: 100%;
}
#news .newsContList .newsCont a {
    display: table;
    width: 100%;
    border-top: #E1E1E1 1px solid;
}
#news .newsContList .newsCont a .newsDate {
    display: table-cell;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    border-right: #E1E1E1 1px solid;
}
#news .newsContList .newsCont a .newsTtlArea {
    display: table-cell;
    vertical-align: middle;
}
#news .newsContList .newsCont a .newsCategory {
    line-height: 1;
}
#news .newsContList .newsCont a .newsTtl {
    line-height: 1.5;
    font-weight: bold;
}
#news .newsContList .newsCont a .newsTtl br {
    display: none;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #news .newsContList .newsCont a {
        padding: 2rem 0;
    }
    #news .newsContList .newsCont a .newsDate {
        width: 10.13%;
        font-size: 0.875rem;
    }
    #news .newsContList .newsCont a .newsTtlArea {
        width: 89.87%;
    }
    #news .newsContList .newsCont a .newsTtlArea .inner {
        display: table;
        width: 100%;
    }
    #news .newsContList .newsCont a .newsCategory {
        display: table-cell;
        width: 11.27%;
        font-size: 0.75rem;
        text-align: center;
        vertical-align: middle;
        border-right: #E1E1E1 1px solid;
    }
    #news .newsContList .newsCont a .newsTtl {
        display: table-cell;
        width: 88.73%;
        font-size: 1.125rem;
        padding: 0 2rem;
        vertical-align: middle;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #news .newsContList .newsCont a {
        padding: 20px 0;
    }
    #news .newsContList .newsCont a .newsDate {
        width: 20vw;
        font-size: 13px;
    }
    #news .newsContList .newsCont a .newsTtlArea {
        width: 72vw;
        font-size: 13px;
        padding: 0 4vw;
    }
    #news .newsContList .newsCont a .newsCategory {
        font-size: 10px;
        margin-bottom: 15px;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
schedule 
------------------------------------------------------------------------------------------------------------------------- */
#schedule .xo-event-calendar {
    font-family: europa, dnp-shuei-gothic-gin-std, sans-serif;
    font-weight: 400;
    color: #000;
}
#schedule .xo-months {
    width: 100%;
}
/* xo-month */
#schedule .xo-event-calendar table.xo-month {
    margin: 0;
    border: none !important;
}
#schedule .xo-event-calendar table.xo-month .month-header {
    margin: 0;
}
#schedule .xo-event-calendar table.xo-month .month-next,
#schedule .xo-event-calendar table.xo-month .month-prev {
    position: absolute;
    display: block;
    background-size: contain;
}
#schedule .xo-event-calendar table.xo-month .month-next {
    background: url(../img/common/arrow_pager_right_16.svg) no-repeat center center;
}
#schedule .xo-event-calendar table.xo-month .month-prev {
    background: url(../img/common/arrow_pager_left_16.svg) no-repeat center center;
}

#schedule .xo-event-calendar table.xo-month .month-next *,
#schedule .xo-event-calendar table.xo-month .month-prev * {
    border: none !important;
}
#schedule .dashicons-arrow-left-alt2:before,
#schedule .dashicons-arrow-right-alt2:before{
    content: '';
}
#schedule .xo-event-calendar table.xo-month .month-header > span.calendar-caption {
    display: block;
    font-family: WolpePegasus-Regular;
    text-align: left;
}
#schedule .xo-event-calendar table.xo-month .month-week .month-event {
    z-index: 20;
}
#schedule .xo-event-calendar table.xo-month th, .xo-event-calendar table.xo-month td {
    border: none !important;
}
#schedule .xo-event-calendar table.xo-month > thead th {
    font-weight: normal;
}
#schedule .xo-event-calendar table.xo-month > thead th.saturday {
    color: #28398B;
}
#schedule .xo-event-calendar table.xo-month > thead th.sunday {
    color: #F02D2D;
}
/* month-dayname */
#schedule .xo-event-calendar table.xo-month .month-dayname td div {
    position: relative;
    line-height: 1;
    text-align: center;
    border-top: #E1E1E1 1px solid;
    z-index: 10;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div::after {
    position: absolute;
    content: '';
    display: block;
    border-radius: 50%;
    z-index: -1;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.holiday-close {
    color: #BEBEBE;
    background: none !important;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.holiday-close::after {
    background: #E1E1E1;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.other-month.holiday-close::after {
    background: none;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.today { 
    color: #fff;
    border-top: #000 1px solid;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.today::after {
    background: #000;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.today.holiday-close {
    border-top: #F02D2D 1px solid;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.today.holiday-close::after {
    background: #F02D2D;
}
#schedule .xo-event-calendar table.xo-month .month-dayname td div.other-month {
    opacity: 1;
    color: #E1E1E1;
}
#schedule .xo-event-calendar table.xo-month .month-event-title {
    border-radius: 2px;
    color: #000;
}
#schedule .xo-event-calendar table.xo-month a {
    display: block;
    color: #000;
}
#schedule .xo-event-calendar .loading-animation {
    display: none;
}
#schedule .scheduleContList .scheduleContGroupTtl {
    line-height: 1;
    text-align: center;
    border-bottom: #E1E1E1 1px solid;
}
#schedule .scheduleContList .scheduleContGroupToday .holidayMessage {
    font-family: europa, dnp-shuei-gothic-gin-std, sans-serif;
    font-weight: bold;
    color: #F02D2D;
    letter-spacing: 0;
}
#schedule .scheduleContList .scheduleCont {
    display: table;
    width: 100%;
    border-bottom: #E1E1E1 1px solid;
}
#schedule .scheduleCont a {
    display: table;
    width: 100%;
}
#schedule .scheduleGray,
#schedule .scheduleGray a {
    color: #C8C8C8 !important;
}
#schedule .scheduleCont .scheduleContPh,
#schedule .scheduleCont .scheduleContTxtArea {
    display: table-cell;
    vertical-align: middle;
}
#schedule .scheduleCont .scheduleInfo .scheduleSubTtl,
#schedule .scheduleCont .scheduleInfo .scheduleTtl {
    font-weight: bold;
    line-height: 1.5;
}
#schedule .scheduleCont .scheduleInfo .scheduleDate {
    line-height: 1.5;
}
#schedule .scheduleContList .scheduleContGroupPast .scheduleCont .scheduleInfo {
    color: #BEBEBE;
}
#schedule .scheduleContList .scheduleEmpty {
    color: #E1E1E1;
    border-top: #E1E1E1 1px solid;
}
/* scheduleCap */
#schedule .xo-event-calendar .holiday-titles {
    display: none;
}
#schedule .holidaysCap .holidayClose::before {
    content: '';
    display: inline-block;
    padding: 0;
    border-radius: 50%;
    background: #E1E1E1;
}
#schedule .scheduleKome {
    font-size: 10px;
    text-align: left;
}
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print {
    #schedule {
        padding-top: 9rem;
    }
    #schedule .contTtlArea {
        margin-bottom: 0;
    }
    #schedule .xo-months {
        display: table;
    }
    #schedule .xo-month-wrap {
        display: table-cell;
        width: 50%;
        padding-right: 1rem;
        vertical-align: top;
    }
    #schedule .scheduleContList {
        display: table-cell;
        width: 50%;
        padding-left: 1rem;
        padding-top: 0.5rem;
        vertical-align: top;
    }
    /* xo-month */
    #schedule .xo-event-calendar table.xo-month .month-next {
        top: 0.5rem;
        right: 0.5rem;
        width: 1.5rem;
        height: 1.5rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-prev {
        top: 0.5rem;
        right: 2rem;
        width: 1.5rem;
        height: 1.5rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-header > span.calendar-caption {
        height: 5.5rem;
        font-size: 1.75rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-week {
        height: 8rem;
        padding-bottom: 1rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname-space {
        height: 3rem;   
    }
    #schedule .xo-event-calendar table.xo-month .month-event td {
        padding: 0.5rem 0.25rem 0 0.25rem;
    }
    #schedule .xo-event-calendar table.xo-month > thead th {
        font-size: 0.875rem;
        padding: 0 0 0.5rem;
    }
    /* month-dayname */
    #schedule .xo-event-calendar table.xo-month .month-dayname td {
        padding: 0 0.25rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname td div {
        font-size: 1rem;
        padding: 1rem 0 0;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname td div::after {
        top: 0.5rem;
        left: 45%;
        left: calc( 50% - 1rem );
        width: 2rem;
        height: 2rem;
    }
    #schedule .xo-event-calendar table.xo-month .month-event-title {
        font-size: 0.875rem;
        line-height: 1.5rem;
        padding: 0 0.5rem;
    }
    #schedule .xo-event-calendar table.xo-month a {
        font-size: 0.875rem;
        line-height: 1.5rem;
    }
    /* scheduleCont */
    #schedule .scheduleContList .scheduleContGroup {
        margin-top: 4rem;
    }
    #schedule .scheduleContList .scheduleContGroupTtl {
        font-size: 1.125rem;
        padding-bottom: 1rem;
        padding-top: 0.375rem;
    }
    #schedule .scheduleContList .scheduleContGroupToday .scheduleContGroupTtl {
        font-size: 1.5rem;
        padding-top: 0;
    }
    #schedule .scheduleContList .scheduleContGroupToday .holidayMessage {
        font-size: 1rem;
        padding: 1rem 0;
        margin-left: 1rem;
    }
    #schedule .scheduleContList .scheduleCont {
        padding: 1rem 0;
    }
    #schedule .scheduleCont .scheduleContPh {
        width: 20.83%;
    }
    #schedule .scheduleCont .scheduleContTxtArea {
        width: 79.17%;
    }
    #schedule .scheduleCont .scheduleContTxtArea .inner {
        display: table;
        width: 100%;
    }
    #schedule .scheduleCont .scheduleCategory {
        display: table-cell;
        width: 24.56%;
        font-size: 0.75rem;
        text-align: center;
        vertical-align: middle;
    }
    #schedule .scheduleCont .scheduleInfo {
        display: table-cell;
        width: 75.44%;
        vertical-align: middle;
        border-left: #E1E1E1 1px solid;
        padding: 0 2rem;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleSubTtl {
        font-size: 0.875rem;
        margin: 0.25rem 0;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleTtl {
        font-size: 1rem;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleDate {
        font-size: 0.875rem;
        margin-top: 0.5rem;
    }
    #schedule .scheduleContList .scheduleEmpty {
        padding-top: 2rem;
        margin-top: 6.5rem;
    }
    /* scheduleCap */
    #schedule .scheduleCap {
        width: 50%;
        padding-right: 1rem;
    }
    #schedule .holidaysCap {
        font-size: 0.75rem;
        padding-top: 1.5rem;
        border-top: #E1E1E1 1px solid;
    }
    #schedule .holidaysCap .holidayClose::before {
        width: 0.75rem;
        height: 0.75rem;
        margin: 0 0.25rem 0 0;
    }
    #schedule .scheduleKome {
        margin-top: 0.5rem;
        padding-right: 1rem;
    }
    
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #schedule {
        padding-top: 60px;
    }
    #schedule .xo-month-wrap,
    #schedule .scheduleContList {
        width: 100%;
    }
    /* xo-month */
    #schedule .xo-event-calendar table.xo-month .month-header {
        position: relative;
        width: 100%;
    }
    #schedule .xo-event-calendar table.xo-month .month-next {
        top: 0;
        right: 0;
        width: 8vw;
        height: 8vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-prev {
        top: 0;
        right: 10vw;
        width: 8vw;
        height: 8vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-header > span.calendar-caption {
        font-size: 5.6vw;
        margin-bottom: 4vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-week {
        padding-bottom: 4vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname-space {
        height: 12vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-event td {
        padding: 5px 2.5px 0 2.5px;
    }
    #schedule .xo-event-calendar table.xo-month > thead th {
        font-size: 3.2vw;
        padding: 0 0 5px;
    }
    /* month-dayname */
    #schedule .xo-event-calendar table.xo-month .month-dayname td {
        padding: 0 2.5px;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname td div {
        font-size: 4vw;
        padding: 4vw 0 0;
    }
    #schedule .xo-event-calendar table.xo-month .month-dayname td div::after {
        top: 2vw;
        left: 12%;
        left: calc( 50% - 4vw );
        width: 8vw;
        height: 8vw;
    }
    #schedule .xo-event-calendar table.xo-month .month-event-title {
        font-size: 3.2vw;
        line-height: 6vw;
        padding: 0 5px;
    }
    #schedule .xo-event-calendar table.xo-month a {
        font-size: 3.2vw;
        line-height: 6vw;
    }
    /* scheduleCont */
    #schedule .scheduleContList .scheduleContGroup {
        margin-top: 30px;
    }
    #schedule .scheduleContList .scheduleContGroupTtl {
        font-size: 18px;
        padding-bottom: 20px;
    }
    #schedule .scheduleContList .scheduleContGroupToday .scheduleContGroupTtl {
        font-size: 21px;
    }
    #schedule .scheduleContList .scheduleContGroupToday .holidayMessage {
        display: block;
        font-size: 13px;
        margin-top: 10px;
    }
    #schedule .scheduleContList .scheduleCont {
        padding: 20px 0;
    }
    #schedule .scheduleCont .scheduleContPh {
        width: 20vw;
        padding-right: 4vw;
    }
    #schedule .scheduleCont .scheduleContTxtArea {
        width: 72vw;
        padding-left: 4vw;
    }
    #schedule .scheduleCont .scheduleContTxtArea .inner {
        padding-right: 8vw;
    }
    #schedule .scheduleCont .scheduleCategory {
        font-size: 10px;
        margin-bottom: 15px;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleSubTtl {
        font-size: 12px;
        margin: 5px 0;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleTtl {
        font-size: 13px;
    }
    #schedule .scheduleCont .scheduleInfo .scheduleDate {
        font-size: 10px;
        margin-top: 10px;
    }
    #schedule .scheduleContList .scheduleEmpty {
        font-size: 12px;
        text-align: center;
        padding: 15px 0;
        border-bottom: #E1E1E1 1px solid;
    }
    /* scheduleCap */
    #schedule .scheduleCap {
        padding: 0 4vw;
    }
    #schedule .holidaysCap {
        font-size: 11px;
        padding-top: 30px;
    }
    #schedule .holidaysCap .holidayClose::before {
        width: 11px;
        height: 11px;
        margin: 0 5px 0 0;
    }
    #schedule .scheduleKome {
        margin-top: 10px;
    }
}


/* ========================================================================================================================
PROJECT
======================================================================================================================== */
#projects .pjContWrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
/* ------------------------------------------------------------------------------------------------------------------------
pjType01 
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print {
    #projects .pjType01 .pjCont {
        width: 50%;
        margin-bottom: 3rem;
    }
    #projects .pjType01 .pjCont .pjPh {
        height: calc( ( ( 100vw - 8rem * 2 ) / 2 - 0.5rem ) / 3 * 2 );
    }
    #projects .pjType01 .pjCont:nth-child(even) {
        padding-left: 0.5rem;
    }
    #projects .pjType01 .pjCont:nth-child(odd) {
        padding-right: 0.5rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #projects .pjType01 .pjCont {
        width: 100%;
        margin-top: 45px;
    }
    #projects .pjType01 .pjCont:first-child {
        margin-top: 0;
    }
    #projects .pjType01 .pjCont .pjPh {
        height: 61.3333vw;
    }
}
/* ------------------------------------------------------------------------------------------------------------------------
pjType02 
------------------------------------------------------------------------------------------------------------------------- */
/* ============================== PC ============================== */
@media screen and (min-width: 766px) , print { 
    #projects .pjType02 .pjCont {
        width: 33.33%;
        margin-bottom: 3rem;
    }
    #projects .pjType02 .pjCont:nth-child(3n-2) {
        padding-right: 0.66rem;
    }
    #projects .pjType02 .pjCont:nth-child(3n-1) {
        padding: 0 0.33rem;
    }
    #projects .pjType02 .pjCont:nth-child(3n) {
        padding-left: 0.66rem;
    }
    #projects .pjType02 .pjCont .pjPh {
        height: calc( ( ( 100vw - 8rem * 2 ) * 0.3243 ) / 3 * 2 );
    }
    #projects .pjType02 .pjCont .pjSubTtl {
        font-size: 1rem;
    }
    #projects .pjType02 .pjCont .pjTtl {
        font-size: 1.125rem;
    }
    #projects .pjType02 .pjCont .pjSession {
        font-size: 0.875rem;
    }
}
/* ============================== SP ============================== */
@media screen and (max-width: 765px) {
    #projects .pjType02 .pjCont {
        width: 100%;
        margin-top: 45px;
    }
    #projects .pjType02 .pjCont:first-child {
        margin-top: 0;
    }
    #projects .pjType02 .pjCont .pjPh {
        height: 61.3333vw;
    }
    #projects .pjType02 .pjCont .pjSubTtl {
        font-size: 12px;
    }
    #projects .pjType02 .pjCont .pjTtl {
        font-size: 1rem;
    }
    #projects .pjType02 .pjCont .pjSession {
        font-size: 10px;
    }
}