:root{
    --header-height: 110px;
    --color-red: #C70005;
    --color-green: #3DA95B;
    --color-blue: #4F81FF;
    --font-regular: 'MaruBuri';
    --font-semibold: 'MaruBuriSemiBold';
    --font-bold: 'MaruBuriBold';
}

body{
    font-family: 'MaruBuri', serif;
    font-weight: 400;
}
.font-bold{
    font-family: var(--font-bold), serif;
}
.font-semiBold{
    font-family: var(--font-semibold), serif;
}
.font-light{
    font-family: 'MaruBuriLight', serif;
}
.font-extraLight{
    font-family: 'MaruBuriExtraLight', serif;
}
.color-gray{
    color: #999999 !important;
}
.color-red{
    color: var(--color-red) !important;
}
.color-green{
    color: var(--color-green) !important;
}
.color-blue{
    color: var(--color-blue) !important;
}

.container{
    position: relative;
    width: 1264px;
    max-width: 100%;
    padding: 0 24px;
    margin: 0 auto;
}
.container.full {
    width: 100%;
    padding: 0;
    margin: 0 auto;
}
.site-title{
    width: 280px;
}
.img-background{
    position: relative;
    width: 100%;
    height: 0;
}
.img-background img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.btn{
    display: inline-block;
    width: 384px;
    max-width: 100%;
    font-size: 18px;
    line-height: 1.2;
    color: #000;
    padding: 18px;
    border: 1px solid #000;
    text-align: center;
}
.btn.btn-white{
    color: #fff;
    border-color: #fff;
}
.btn:hover{
    color: var(--color-red);
    border-color: var(--color-red);
}
.checkbox-wrap{
    display: flex;
    align-items: flex-start;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #000;
    cursor: pointer;
}
.checkbox-wrap .checkbox{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkbox-wrap .checkbox-text{
    flex: 1;
}
.checkbox-wrap .checkbox + .checkbox-img{
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-top: 3px;
    margin-right: 12px;
    border: 1px solid #000;
}
.checkbox-wrap .checkbox:checked + .checkbox-img{
    background: #000 url(../assets/images/ico-checkbox.svg) no-repeat center;
    background-size: 7px 10px;
}
.page-main-content ul,
.single-content ul{    
    list-style: disc;
    padding-left: 20px;
}
ul.style-none{
    padding-left: 0 !important;
    list-style: none !important;
}
.line-list > *:not(:last-of-type){
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #000;
}
.default-select{    
    appearance: none;
    -webkit-appearance: none;
    font-size: 18px;
    line-height: 1.2;
    color: #000;
    padding: 18px 58px 18px 25px;
    border: 1px solid #000;
    border-radius: 0;
    background: #fff url(../assets/images/ico-dropdown.svg) no-repeat calc(100% - 25px) 23px / 16px 10px;
    outline: none;
}

/* header */
.site-header{    
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    background: #fff;
    border-bottom: 1px solid #000;
    z-index: 100;
}
.site-header .header-inner{
    display: flex;
    align-items: center;
}
.site-header .site-title{
    margin-right: auto;
}
.site-navigation #menu-gnb{
    display: flex;
    gap: 20px;
    height: var(--header-height);
}
.site-navigation #menu-gnb > li{
    position: relative;
}
.site-navigation #menu-gnb > li > a{
    display: block;
    font-family: var(--font-semibold), serif;
    font-size: 18px;
    line-height: var(--header-height);
    color: #000;
    padding: 0 20px;
}
.site-header #menu-gnb > li.current-menu-item > a,
.site-header #menu-gnb > li.current-menu-ancestor > a{
    font-family: var(--font-bold), serif;
    text-decoration: underline;
}
.site-navigation #menu-gnb .sub-menu li.current-menu-item{
    font-family: var(--font-bold), serif;
}
.site-navigation #menu-gnb .sub-menu li > a {
    font-size: 16px;
}
.header-search{
    margin-left: 60px;
}

/* main */
.site-main{
    min-height: 500px;
}

/* footer */
.footer-newsletter{
    font-size: 24px;
    line-height: 1.2;
    color: #000;
    padding: 40px 0 47px 0;
    border-top: 1px solid #000;
}
.footer-newsletter .newsletter-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.footer-newsletter .link{
    text-decoration: underline;
}
.site-footer{
    position: relative;
    padding: 60px 0 90px 0;
    border-top: 1px solid #000;
}
.site-footer .footer-info{
    font-size: 16px;
    line-height: 1.6;
    color: #000;
    margin-top: 47px;
}
.site-footer .copyrights{
    font-size: 14px;
    line-height: 1.6;
    color: #000;
    margin-top: 18px;
}
.site-footer .footer-nav{
    position: absolute;
    top: 8px;
    right: 20px;
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}
.site-footer .footer-nav ul{
    display: flex;
}
.site-footer .footer-nav li:not(:last-of-type):after{
    content: '|';
    margin: 0 15px;
}
.float-button{
    position: fixed;
    right: 0;
    display: block;
    width: 50px;
    height: 50px;
    color: #fff;
    background: #000;
    text-align: center;
    z-index: 100;
}
@media screen and (min-width: 1216px) {
    .float-button{
        right: 40px;
    }
}
#btnShare{
    bottom: 140px;
}
#btnTop{
    bottom: 70px;
    border-bottom: 1px solid #434343;
}
#btnBottom{
    bottom: 20px;
}

/* home */
.section .section-title{
    font-size: 24px;
    line-height: 1.2;
}
.section .section-title > a{
    display: flex;
    align-items: center;
    column-gap: 14px;
}
.section-banner{
    margin-bottom: 60px;
}
.section-banner .banner-item{
    position: relative;
}
.section-banner .swiper-pagination{
    bottom: 20px;
}
.section-banner .swiper-pagination-bullet{
    margin: 0 5px !important;
    background: #fff;
    opacity: 0.5;
}
.section-banner .swiper-pagination-bullet.swiper-pagination-bullet-active{
    opacity: 1;
}
.banner-item .img-background{
    padding-top: 43.75%;
}
.banner-item .text-wrap{
    position: absolute;
    bottom: 53px;
    left: 0;
    width: 100%;
}
.banner-item .text-wrap .sub-title{
    font-size: 24px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 12px;
    text-shadow: -2px 2px 0px #000;
}
.banner-item .text-wrap .title{
    font-size: 40px;
    line-height: 1.2;
    color: #fff;
    text-shadow: -2px 2px 0px #000;
}
.section-search{
    width: 858px;
    max-width: 100%;
    margin: 0 auto 80px auto;
}
.section-search .search-form{
    padding: 0 5px;
    margin-bottom: 30px;
}
.section-search .search-form input{
    width: 100%;
    height: 44px;
    padding: 10px 0;
    font-size: 18px;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #000;
}
.section-search .search-list{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.section-search .search-list .item{
    display: block;
    min-width: 80px;
    font-size: 14px;
    line-height: 1.2;
    color: #000;
    padding: 10px 12px 9px 12px;
    border: 1px solid #000;
    text-align: center;
}
.section-search .search-list .item:hover{
    color: var(--color-red);
    border-color: var(--color-red);
}
.section-collection{
    margin-bottom: 100px;
}
.section-collection .btn-wrap{
    padding: 24px 0;
    border-bottom: 1px solid #000;
}
.section-collection .btn-wrap .more{
    font-size: 24px;
    line-height: 1.2;
    color: #000;
}
.collection-list{
    margin-top: 63px;
    border-top: 1px solid #000;
}
.collection-list li{
    position: relative;
    border-bottom: 1px solid #000;
}
.collection-list li .title-wrap{
    display: flex;
    align-items: center;
    width: 100%;
    padding: 24px 0;
    text-align: left;
    cursor: pointer;
}
.collection-list li .date{
    display: block;
    width: 210px;
    font-size: 24px;
    color: #999;
}
.collection-list li .title{
    flex: 1;
    font-size: 44px;
    line-height: 1.2;
    color: #000;
    max-height: 1.2em;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}
.collection-list .image-wrap{
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    max-height: 0;
    margin: 0 auto;
    overflow: hidden;
    transition: max-height 0.5s;
}
.collection-list .image-wrap.open{
    max-height: 1000px;
}
.collection-list .image-wrap .image-inner{
    flex: 1;
    display: flex;
}
.collection-list .image-wrap img{
    width: 33.3333%;
}
.collection-list .image-wrap .more{
    display: block;
    width: 216px;
    font-size: 18px;
    padding-left: 42px;
}
.section-records{
    margin-bottom: 113px;
}
.section-records .btn-wrap{
    margin-top: 60px;
    text-align: center;
}
.section-video{
    color: #fff;
    background: #000;
}
.section-video .text-wrap{
    position: relative;
    width:1264px;
    left:50%;
    margin-left: -632px;
    height: 730px;
    padding: 90px 24px 80px;
    text-shadow: -2px 2px 0 #000;
    z-index: 1;
}
.section-video .text-wrap .title{
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 60px;
    text-shadow: -2px 2px 0 #000;
}
.section-video .text-wrap .desc{
    position: absolute;
    bottom: 80px;
    right: 0;
    font-size: 20px;
    line-height: 1.6;
    text-shadow: -2px 2px 0 #000;
}
.section-video .text-wrap .btn-wrap{
    margin-top: 60px;
}
.section-video .text-wrap .btn{
    width: 280px;
}
.section-newsletter{
    margin-bottom: 143px;
}
.section-newsletter .section-title{
    margin-bottom: 37px;
}

.section-newsletter .newsletter-list{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -16px;
    line-height: 1.2;
    color: #000;
}
.section-newsletter .newsletter-list .item{
    width: 25%;
    padding: 0 16px;
}
.section-newsletter .newsletter-list .newsletter-inner{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 192px;
    padding: 19px;
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 20px;
    border: 1px solid #000;
}
.section-newsletter .newsletter-list .newsletter-inner:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-top: 19.42%;
    background: #000 url(../assets/images/pattern.png) repeat-x top left / contain;
}
.section-newsletter .newsletter-list .newsletter-inner .news-sub-title{
    font-size: 14px;
}
.section-newsletter .newsletter-list .newsletter-inner .news-title{
    margin-top: 10px;
    max-height: 2.4em;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}
.section-newsletter .newsletter-list .title{
    font-size: 18px;
    margin-bottom: 6px;
}
.section-newsletter .newsletter-list .date{
    font-size: 16px;
}
.section-news-wrap{
    display: flex;
    border-top: 1px solid #000;
}
.section-news-wrap .container{
    display: flex;
}
.section-news-wrap .section-news{
    width: 59.9%;
    padding: 80px 0;
}
.section-news-wrap .section-contact{
    width: 40.1%;
    padding: 80px 0 80px 74px;
    border-left: 1px solid #000;
}
.section-news .news-list{
    position: relative;
    width: 100%;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
    margin-top: 30px;
}
.section-news .news-list:after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.section-news .news-list li{
    position: relative;
}
.section-news .news-list li:after{
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.section-news .news-list .item{
    display: flex;
    padding: 20px 30px 20px 0;
}
.section-news .news-list .date{
    width: 125px;
    padding-right: 30px;
}
.section-news .news-list .cat{
    width: 155px;
    padding-right: 30px;
}
.section-news .news-list .title{
    flex: 1;
}
.section-contact .desc{
    font-size: 18px;
    line-height: 1.6;
    color: #000;
    margin-top: 20px;
}
.section-contact .desc.bottom{
    font-weight: bold;
    margin-top: 90px;
}
.section-contact span.contact{
    display: block;
    font-size: 16px;
    margin-top: 24px;
}
.section-contact .mail{
    display: block;
    font-size: 16px;
    line-height: 1.6;
    color: #000;
    margin-top: 152px;
}

/* list */
.thumbnail-list .item{
    display: block;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
}
.records-list{
    margin: 40px -16px 0 -16px;
}
.records-list.normal-list{
    display: flex;
    flex-wrap: wrap;   
}
.records-list .grid-item{
    width: 25%;
    padding: 0 16px;
    margin-bottom: 40px; 
}   
.records-list.col-3 .grid-item{
    width: 33.3333%;
}
.records-list .item{
    display: block;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
}
.records-list .item .image-wrap{
    position: relative;
}
.records-list .item .image-wrap,
.records-list .item .image-wrap img{
    width: 100%;
}
.records-list .item:hover .image-wrap:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid var(--color-red);
}
.records-list .item img{
    width: 100%;
    filter: saturate(0);
}
.records-list .item:hover img{
    filter: none;
}
.records-list .item .title{ 
    font-size: 16px;
    line-height: 1.2;
    margin-top: 12px;
}
.records-list:not(.type-list) .item .desc,
.records-list:not(.type-list) .item .cat{
    display: none;
}
.records-list .item .date{
    margin-top: 10px;
}
.records-list:not(.type-list) .item .date{
    font-family: var(--font-bold), serif;
}
.records-list.type-list .grid-item{
    position: relative;
    width: 100%;
    padding-bottom: 40px;
}
.records-list.type-list .grid-item:not(:last-child):after{
    content: '';
    position: absolute;
    bottom: 0;
    left: -16px;
    width: calc(100vw + 16px);
    border-bottom: 1px solid #000;
}
.records-list.type-list .item{
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
}
.records-list.type-list .item .image-wrap{
    width: 280px;
}
.records-list.type-list .item .image-wrap img{
    height: 218px;
    object-fit: cover;
}
.records-list.type-list .item .text-wrap{
    flex: 1;
    padding-right: 32px;
}
.records-list.type-list .item .desc{
    margin-top: 10px;
}
.records-list.type-list .item .cat{
    font-size: 14px;
    margin-bottom: 10px;
    text-decoration: underline;
}
.records-list + .wp-pagenavi{
    margin-top: 80px;
}
.publication-list{
    margin-top: 30px;
}
.publication-list .item .image-wrap img{
    border: 1px solid #DDDDDD;
}
.tag-list{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
    padding-left: 0 !important;
    list-style: none !important;
}
.tag-list .item{
    font-size: 12px;
    line-height: 1.2;
    color: #000;
    padding: 3px 10px;
    background: #fff;
    border: 1px solid #000;
}
/* .tag-list .item.black{
    color: #fff;
    background: #000;
} */
.tag-list .item.black{
    display: none;
}
.wp-pagenavi{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 100px -10px 0 -10px;
    text-align: center;
}
.wp-pagenavi span,
.wp-pagenavi a{
    display: inline-block;
    width: 26px;
    height: 26px;
    margin: 0 10px;
    font-family: var(--font-semibold), serif;
    font-size: 18px;
    line-height: 26px;
    color: #7A7A7A;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
    background: url(../assets/images/ico-link.svg) no-repeat center;
    background-size: 7px 12px;
}
.wp-pagenavi .previouspostslink{
    transform: rotate(180deg);
}
.wp-pagenavi .first,
.wp-pagenavi .last{
    display: none;
}
.wp-pagenavi .current{
    font-family: var(--font-bold), serif;
    color: #3D3D3D;
}

/* page */
.page-header{
    padding: 50px 0;
    border-bottom: 1px solid #000;
}
.page-header .page-breadcrumb{
    font-size: 14px;
    line-height: 1.2;
    color: #000;
}
.page-header .page-breadcrumb span:not(:last-of-type):after{
    content: '';
    display: inline-block;
    width: 6px;
    height: 10px;
    margin: 0 10px;
    background: url(../assets/images/ico-link.svg) no-repeat center;
    background-size: 6px 10px;
}
.page-header .page-breadcrumb span:last-of-type{
    font-family: var(--font-bold), serif;
}
.page-header .page-title{
    font-size: 40px;
    line-height: 1.2;
    color: #000;
    margin-top: 22px;
}
.page-search{
    padding: 25px 0;
    border-bottom: 1px solid #000;
}
.page-search .search-input{
    width: 100%;
    height: 50px;
    padding: 10px 30px;
    font-size: 14px;
    line-height: 1.2;
    color: #000;
    background: #F4F4F4;
    border: none;
    border-radius: 0;
}
.page-search .searched-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}
.page-search .searched-list .item{
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    line-height: 1.2;
    color: #000;
    padding: 9px 15px;
    background: #fff;
    border: 1px solid #000;
}
.page-search .searched-list .btn-reset{
    color: #fff;
    background: #000;
}
.page-sidebar .sidebar-inner .title{
    font-size: 24px;
    line-height: 1.2;
    color: #000;
    margin-bottom: 24px;
}
.page-sidebar .checkbox-group{
    margin-bottom: 20px;
}
.page-sidebar .checkbox-group .group-title{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    font-size: 18px;
    column-gap: 10px;
}
.page-sidebar .checkbox-group .group-title span{
    flex: 1; 
}
.page-sidebar .checkbox-group .group-title img{
    width: 11px;
    margin-top: 5px;
    transform: rotate(0deg);
    transition: transform 0.3s;
}
.page-sidebar .checkbox-group .group-title.active img{
    transform: rotate(180deg);
}
.page-sidebar .checkbox-group .checkbox-list{
    display: none;
    margin-top: 20px;
}
.page-sidebar .checkbox-group .checkbox-list.open{
    display: block;
}
.page-sidebar .checkbox-list .item{
    display: flex;
    column-gap: 10px;
}
.page-sidebar .checkbox-list .item:not(:last-child){
    margin-bottom: 14px;
}
.page-sidebar .checkbox-list .item .checkbox-wrap{
    flex: 1;
}
.page-sidebar .checkbox-list .item .count{
    width: 70px;
    font-size: 14px;
    line-height: 1.2;
    color: #999;
}
.page-main-header{
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 1.2;
    color: #000;
}
.page-main-header .order,
.page-main-header .type{
    display: flex;
    align-items: center;
    gap: 10px;
}
.page-main-header .order{
    margin-left: auto;
}
.page-main-header .type{
    display: none;
    margin-left: 32px;
}
.page-main-header .order .active .item{
    font-family: var(--font-bold), serif;
    text-decoration: underline;
}
.page-main-header .type .active .item{
    filter: brightness(0) invert(0);
}
.page-main-content{
    padding-bottom: 120px;
}
.page-section{
    padding: 30px 0;
}
.page-section:not(:last-child){
    border-bottom: 1px solid #000;
}
.page-section-title{
    padding-right: 32px;
    font-size: 32px;
    line-height: 1.3;
    color: #000;
}
.page-tab-wrap{
    position: relative;
}
.page-tab-wrap .swiper{
    width: calc(100% - 98px);
    margin: 0 auto;
}
.page-tab-wrap .item{
    display: block;
    height: 50px;
    font-size: 16px;
    line-height: 48px;
    color: #000;
    border: 1px solid #000;
    border-right: none;
    text-align: center;
}
.page-tab-wrap .swiper-slide:last-child .item{
    border-right: 1px solid;
}
.page-tab-wrap .active .item{
    font-family: var(--font-bold), serif;
    color: var(--color-red);
    border-color: var(--color-red);
}
.page-tab-wrap .prev,
.page-tab-wrap .next{
    position: absolute;
    top: 0;
    width: 50px;
    height: 50px;
    border: 1px solid #000;
    background: #fff;
    z-index: 1;
}
.page-tab-wrap .prev{
    left: 0;
}
.page-tab-wrap .next{
    right: 0;
}

/* introduce */
.introduce-wrap{
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}
.introduce-wrap .title + img,
.introduce-wrap .title + p,
.introduce-wrap img + .title,
.introduce-wrap img + p,
.introduce-wrap p + img,
.introduce-wrap p + p,
.introduce-wrap .btn-wrap{
    margin-top: 30px;
}
.introduce-wrap .title{
    font-size: 24px;
    line-height: 1.3;
    color: #000;
}
.introduce-wrap .sub-title{
    font-size: 18px;
    line-height: 1.2;
    color: #000;
}
.introduce-wrap .btn-wrap .btn{
    font-size: 16px;
}
.introduce-img-wrap{
    margin: 60px 0 80px 0;
}
.introduce-wrap .activity-list{
    margin-top: 30px;
}
.introduce-wrap .activity-list .item:not(:last-child){
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #000;
}
.introduce-wrap .activity-list .title + p{
    margin-top: 10px;
}
.introduce-blockquote{
    margin-top: 30px;
}
.introduce-blockquote .mark{
    display: block;
    font-size: 36px;
    margin-bottom: -20px;
}
.group-wrap:not(:last-child){
    position: relative;
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.group-news{
    margin-top: 60px;
}
.group-news .group-list{
    margin-top: 30px;
    border-top: 1px solid #000;
}
.group-news .group-list .item{
    display: flex;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #000;
}
.group-news .group-list .title, 
.group-news .group-list .date{
    font-size: 16px;
    line-height: 1.2;
}
.group-news .more{
    display: block;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
    margin-top: 20px;
    text-decoration: underline;
}
.group-news .more:hover{
    color: var(--color-red);
}
/* history */
.page-history .page-tab-wrap{
    margin-top: 60px;
}
.history-wrap:not(:last-child){
    margin-bottom: 20px;
}
.history-wrap .history-title{
    font-size: 18px;
    line-height: 1.6;
    color: #000;
}
.history-wrap .history-desc{
    font-size: 16px;
    line-height: 1.6;
    color: #000;
    margin-top: 10px;
}
/* organization */
.page-organization .page-header{
    border-bottom: none;
}
.page-organization .organization-wrap{
    margin-top: 10px;
}
.organization-list{
    display: flex;
    flex-wrap: wrap;
    gap: 24px 40px;
    font-size: 20px;
    line-height: 1.6;
    color: #000;
    margin-top: 24px;
}
/* kwy */
.kwy-wrap li { 
    display: flex;
    align-items: flex-start;
    padding: 20px 0;
    border-bottom:1px solid #000
}
.kwy-wrap li:first-child{ 
    padding-top: 0;
}
.kwy-wrap li strong{
    width: 108px;
    flex-shrink:0;
    font-size: 24px;
    line-height: 1.3;
    font-family: var(--font-bold), serif;
}
.kwy-wrap li p{
    font-size: 16px;
    line-height: 1.6;
}
/* contact */
.page-contact .page-header{
    border-bottom: none;
}
.page-contact .page-section-content{
    font-size: 20px;
    line-height: 1.6;
    color: #000;
}
.map-wrap{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 48.191%;
    background: #ddd;
    margin-bottom: 70px;
    z-index: 0;
}
.map-wrap #map{
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.map-wrap .iw_inner{
    width: 250px;
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    color: #fff;
    text-align: center;
}
/* notice */
.page-notice .page-tab-container{
    padding: 60px 0;
}
.notice-list-wrap .container{
    display: flex;
    align-items: center;
}
.notice-list-wrap .notice-header{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.notice-list-wrap .notice-header .item{
    font-size: 20px;
    line-height: 1.2;
    color: #000;
    padding: 30px;
}
.notice-list-wrap .notice-body .list-item{
    border-bottom: 1px solid #000;
}
.notice-list-wrap .notice-body .item{
    font-size: 18px;
    line-height: 1.2;
    color: #000;
    padding: 20px 30px;
}
.notice-list-wrap .item.item-number{
    width: 108px;
    padding-left: 0;
}
.notice-list-wrap .item.item-cat{
    width: 204px;
}
.notice-list-wrap .item.item-title{
    flex: 1;
}
.notice-list-wrap .item.item-date{
    width: 176px;
}
/* newsletter */
.page-newsletter .page-header {border:none;}
.newsletter-thumbnail-list .list-item{
    padding: 40px 0;
    border-bottom: 1px solid #000;
}
.newsletter-thumbnail-list .list-item .container{
    width: 1056px;
}
.newsletter-thumbnail-list .list-item .item{
    display: flex;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
}
.newsletter-thumbnail-list .item .text-wrap{
    flex: 1;
    padding-right: 32px;
}
.newsletter-thumbnail-list .item .image-wrap{
    width: 384px;
}
.newsletter-thumbnail-list .item .image-wrap img{
    width: 100%;
    height: 218px;
    object-fit: cover;
}
.newsletter-thumbnail-list .item .cat{
    font-size: 14px;
    margin-bottom: 10px;
    text-decoration: underline;
}
.newsletter-thumbnail-list .item .desc{
    line-height: 1.6;
    margin-top: 20px;
    max-height: 6.4em;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}
.newsletter-thumbnail-list .item .date{
    margin-top: 10px;
}

/* academy list */
.academy-list{
    position: relative;
    margin-top: 30px;
}
.academy-list::before{
    content: '';
    position: absolute;
    top: 0;
    left: -32px;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.academy-list .list-item{
    position: relative;
    padding: 30px 0;
}
.academy-list .list-item::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: -32px;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.academy-list .item .tag-list{
    margin-top: 0;
}
.academy-list .item .title{
    font-size: 20px;
    line-height: 1.2;
    margin-top: 10px;
}
.academy-list .item .date{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 10px;
}
.academy-list .academy-data-list{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
    padding-left: 0 !important;
    list-style: none !important;
}
.academy-list .academy-data-list .item > a{
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: #000;    
    padding: 7px 28px 7px 9px;
    background: #fff url(../assets/images/ico-link.svg) no-repeat calc(100% - 10px) 9px / 7px 11px;
    border: 1px solid #000;
    text-align: left;
}
.academy-data-list .item.parti{
    position: relative;
}
.academy-data-list .item.parti .parti-wrap{
    display: none;
    position: absolute;
    width: 165px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #000;
    padding: 6px 10px 16px 10px;
    background: #fff;
    border: 1px solid #000;
    z-index: 1;
}
.academy-data-list .item.parti.open .parti-wrap{
    display: block;
}
.academy-data-list .item.parti:not(.open-bottom) .parti-wrap{
    top: 0;
    left: calc(100% - 1px);
}
.academy-data-list .item.parti.open-bottom .parti-wrap{
    top: 31px;
    right: 0;
}
.academy-data-list .item .parti-wrap a:hover{
    color: var(--color-red);
    text-decoration: underline;
}   

/* collection */
.collection-header{
    padding-top: 68px;
}
.collection-thumbnail-list{
    display: flex;
    flex-wrap: wrap;
    row-gap: 32px;
    margin: 50px -16px 0 -16px;
}
.collection-thumbnail-list .list-item{
    width: 33.3333%;
    padding: 0 16px;
}
.collection-thumbnail-list:not(.exhibition) .list-item .img-background{
    padding-top: 140.626%;
}
.collection-thumbnail-list:not(.exhibition) .list-item .img-background:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(0deg, #000, transparent);
}
.collection-thumbnail-list:not(.exhibition) .list-item .text-wrap{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 35px 34px 35px 40px;
    z-index: 1;
}
.collection-thumbnail-list .list-item .title{
    font-size: 24px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 10px;
}
.collection-thumbnail-list .list-item .desc{
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 20px;
}
.collection-thumbnail-list .list-item .detail{
    display: inline-block;
    font-size: 14px;
    line-height: 1.2;
    color: #000;
    padding: 8px 17px;
    background: #fff;
    border: 1px solid #000;
}

/* exhibition */
.collection-thumbnail-list.exhibition{
    row-gap: 70px;
}
.collection-thumbnail-list.exhibition .list-item .img-background{
    padding-top: 67.708%;
    margin-bottom: 24px;
}
.collection-thumbnail-list.exhibition .list-item .title{
    font-size: 20px;
    color: #000;
}
.collection-thumbnail-list.exhibition .list-item .desc{
    font-size: 16px;
    color: #000;
}
.collection-thumbnail-list.exhibition .list-item .detail{
    color: #fff;
    background: #000;
}
.collection-thumbnail-list.exhibition .list-item.series .img-background:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    background: var(--color-red) url(../assets/images/ico-series.svg) no-repeat center;
}
.recommend-series{
    position: relative;
    width: 100%;
    padding: 50px 16px 70px 16px;
    margin-top: 95px;
    margin-bottom: 66px;
}
.recommend-series::before,
.recommend-series::after{
    content: '';
    position: absolute;
    left: calc(-50vw + 50%);
    display: block;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.recommend-series::before{
    top: 0;
}
.recommend-series::after{
    bottom: 0;
}
.recommend-series-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 30px;
}
.recommend-series-header .title{
    font-size: 28px;
}
.recommend-series-item{
    display: flex;
    width: 100%;
    color: #fff;
    background: var(--color-red);
}
.recommend-series-item .img-background{
    width: 57.3%;
    padding-top: 34.6%;
}
.recommend-series-item .text-wrap{
    display: flex;
    flex-direction: column;
    width: 42.7%;
    font-size: 16px;
    line-height: 1.2;
    padding: 56px 53px 44px 56px;
}
.recommend-series-item .text-wrap .sub-title{
    display: flex;
    align-items: center;
    column-gap: 12px;
    margin-bottom: 22px;
}
.recommend-series-item .text-wrap .title{
    font-size: 24px;
    margin-bottom: auto;
}
.recommend-series-item .text-wrap .sub-desc{
    font-size: 12px;
    margin-top: 40px;
}
.recommend-series .swiper-pagination{
    width: 57.3%;
}

/* single */
body.single .page-header{
    border-bottom: none;
}
.single-content > .container{
    width: 704px;
}
.single-content .single-header{
    padding-bottom: 30px;
    border-bottom: 1px solid #000;
}
.single-content .single-header .single-title{
    font-size: 24px;
    line-height: 1.2;
    color: #000;
}
.single-content .single-body{
    padding-top: 30px;
}
.single-share ul{
    display: flex;
    justify-content: flex-end;
    column-gap: 20px;
    margin-top: 30px;
    padding-left: 0;
    list-style: none;
}
.single-share .sns{
    display: block;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.single-share .sns.sns-url{
    background-image: url(../assets/images/sns-url.png);
}
.single-share .sns.sns-facebook{
    background-image: url(../assets/images/sns-facebook.png);
}
.single-share .sns.sns-x{
    background-image: url(../assets/images/sns-x.png);
}
.single-content .newsletter-select{
    margin-bottom: 50px;
}
.single-content .newsletter-list-wrap{
    position: relative;
    padding-top: 60px;
    margin-top: 60px;
    margin-bottom: 100px;
}
.single-content .newsletter-list-wrap:before{
    content: '';
    position: absolute;
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    width: 100vw;
    border-bottom: 1px solid #000;
}
.single-content .newsletter-list-wrap .list-title{
    font-size: 24px;
    line-height: 1.2;
    color: #000;
    margin-bottom: 40px;
}
.single-content .newsletter-list .list-item{
    font-size: 16px;
    line-height: 1.2;
    color: #000;
    padding: 20px 0;
    border-bottom: 1px solid #000;
}
.single-content .newsletter-list .list-item > a{
    display: flex;
    align-items: flex-start;
}
.single-content .newsletter-list .title-wrap{
    flex: 1;
    min-width: 0;
}
.single-content .newsletter-list .title{
    font-size: 20px;
    margin-bottom: 10px;
}
.single-content .newsletter-list h4 + p{
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.single-content .newsletter-list .date{
    display: block;
    width: 94px;
    font-size: 14px;
    line-height: 1.2;
    color: #999;
    margin-top: 4px;
    margin-left: 30px;
}

/* single records */
.single-records-inner{
    padding: 50px 0;
    border-top: 1px solid #000;
}
.single-records-inner .inner-title{
    font-size: 32px;
    line-height: 1.3;
    color: #000;
    margin-bottom: 30px;
}
.single-records-inner .inner-title > a{
    display: flex;
    align-items: center;
    column-gap: 15px;
}
.single-records-inner .inner-title > a img{
    width: 12px;
}
.single-records-inner .desc{
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}
.records-image-container{
    position: relative;
}
.records-image-container .back{
    position: absolute;
    top: 50px;
    left: 0;
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 0 24px;
    margin-bottom: 30px;
}
@media screen and (min-width: 1256px) {
    .records-image-container .back{
        left: calc(50vw - 608px - 24px);
    }
}
@media screen and (max-width: 1156px) {
    .records-image-container .back{
        position: static;
    }
}
.records-image-container > .container{
    width: 800px;
}
.records-image-container .swiper-controls{
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-top: 20px;
}
.records-image-container .swiper-controls .pagination{
    width: auto;
    font-size: 20px;
    line-height: 1.6;
    color: #3D3D3D;
}
.records-image-container .swiper-controls .navigation{
    display: flex;
    align-items: center;
    column-gap: 8px;
}
.records-image-container .swiper-controls .navigation button{
    width: 16px;
    height: 13px;
    padding: 0 4px;
    filter: brightness(0) saturate(100%) invert(22%) sepia(7%) saturate(10%) hue-rotate(319deg) brightness(90%) contrast(87%);
}
.records-image-container .swiper-controls .navigation .swiper-button-disabled{
    opacity: 0.525;
}
.records-image-container figcaption{
    font-size: 14px;
    line-height: 1.2;
    margin-top: 15px;
}
.records-image-container .copyrights{
    margin-top: 5px;
}
.records-image-container .video-wrap{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.1%;
}
.records-image-container .video-wrap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.records-image-container iframe.pdf{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.414;
    border: 0;
}
.records-image-container .audio-wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 450px;
}
.records-info-container .row .title{
    margin-bottom: 20px;
}
.records-info-container .tag-list{
    gap: 8px;
    margin-top: 0;
}
.records-info-container .tag-list .item{
    padding: 4px 14px;
}
.records-info-list{
    display: flex;
    flex-wrap: wrap;
    column-gap: 25px;
    row-gap: 15px;
    font-size: 18px;
    line-height: 1.2;
    color: #000;
}
.records-info-list dt{
    width: 110px;
    font-weight: 400;
}
.records-info-list dd{
    width: calc(100% - 135px);
    line-height: normal;
}
.records-info-list dd a{
    color: #999;
    text-decoration: underline;
}
.single-records-inner .records-list{
    margin-top: 0;
}
.single-records-inner .records-list .grid-item{
    margin-bottom: 0;
}
.single-records-inner .records-list.swiper .swiper-controls{
    width: 100%;
    margin-top: 75px;
}
.single-records-inner .records-list.swiper .navigation{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 20px;
    width: 100%;
}
.single-records-inner .records-list.swiper .navigation button{
    width: 50px;
    height: 50px;
    border: 1px solid #000;
}
.single-records-inner .records-list.swiper .navigation .swiper-button-disabled{
    opacity: 0.2;
}

a[data-fslightbox]{
    position: relative;
    display: block;
}
a[data-fslightbox]:after{
    content: '';
    position: absolute;
    bottom: 14px;
    right: 11px;
    width: 24px;
    height: 24px;
    background: rgba(0,0,0,0.5) url(../assets/images/ico-fullscreen.svg) no-repeat center / 18px;
}

/* single exhibition */
.progress-bar{
    position: sticky;
    top: var(--header-height);
    left: 0;
    width: 100%;
    height: 10px;
    background: #fff;
    z-index: 99;
}
.progress-bar .bar{
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    height: 100%;
    background-color: #000;
}
.single-exhibition-header{
    position: relative;
    height: 581px;
}
.single-exhibition-header .back-img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.single-exhibition-header .text-wrap{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    padding-top: 40px;
    padding-bottom: 60px;
}
.single-exhibition-header .text-wrap .back{
    display: flex;
    align-items: center;
    column-gap: 8px;
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 50px;
}
.single-exhibition-header .text-wrap .series-title{
    display: inline-block;
    font-size: 12px;
    line-height: 1.2;
    color: #fff;
    padding: 5px 12px;
    margin-bottom: 20px;
    background: var(--color-red);
}
.single-exhibition-header .text-wrap .title{
    font-size: 40px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 20px;
}
.single-exhibition-header .text-wrap .desc{
    font-size: 24px;
    line-height: 1.58;
    color: #fff;
    margin-top: auto;
}
.single-exhibition-content-inner{
    padding: 60px 0;
}