 .l-content {
                max-width: unset;
                padding-left: 0;
                padding-right: 0;
                margin-bottom: 0;
                padding-top: 0;
            }

            .l-mainContent, .l-article {
                max-width: unset;
            }

            .swell-block-fullWide__inner {
                padding: 0;
            }

            .l-mainContent__inner>.post_content {
                padding: 0;
                margin: 0;
            }

            .-sidebar-on .l-content {
                display: block;
            }

            .top #content {
                margin-bottom: 0;
            }

            .post_content :where(ul:not([type])) {
                list-style: none;
            }

            .post_content>* {
                margin-bottom: 0;
            }

            .c-pageTitle {
                display: none;
            }

            .p-breadcrumb {
                display: none;
            }

            h1, h2, h3, h4, h5, h6 {
                all: unset;
                /* すべてのスタイルをリセット */
            }

            .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)), .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
                padding: 0;
                background-color: unset;
                color: #642A2A;
                z-index: unset;
            }

            .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before, .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
                display: none;
            }

            .post_content h3, .post_content h4 {
                margin: 0;
            }

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}
img {
    width: 100%;
}
.mask {
    display: block;
    line-height: 0;
    overflow: hidden;
    border-radius: 15px 0 0 15px;
    height: 100%;
}
.zoom_in img {
    transform: scale(1);
    transition: .3s ease-in-out;
    object-fit: cover;
    overflow: hidden;
    height: 100%;
}
.zoom_in .mask:hover img {
    transform: scale(1.1);
}
.pc {
    display: block;
}
.pc-tab {
    display: block;
}
.sp {
    display: none;
}
.tab-only {
    display: none;
}
.sp-only {
    display: none;
}
@media only screen and (max-width: 980px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .tab-only {
        display: block;
    }
}
@media only screen and (max-width: 680px) {
    .pc-tab {
        display: none;
    }
    .sp-only {
        display: block;
    }
    .tab-only {
        display: none;
    }
}
main {
    padding-top: 100px;
}
@media only screen and (max-width: 980px) {
    main {
        padding-top: 70px;
    }
}
.section-inner {
    position: relative;
    max-width: 1180px;
    width: 100%;
    margin: auto;
}
@media only screen and (max-width: 1250px) {
    .section-inner {
        padding: 0 20px;
    }
}
/* 共通 */
/* 色 */

/* ページタイトル */
.page-title-sec {
    background-color: #DCEFF6;
}
.bg-img-title.page-title-sec {
    padding: 25px 0 45px;
}
.page-title-container {
    position: relative;
    text-align: center;
    padding: 125px 0 95px;
    color: #000;
}

.bg-img-title .page-title-container {
    padding: 115px 0 100px;
    color: #fff;
}
.bg-img-title .page-title-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.bg-img-title .page-title-bg img {
    height: 100%;
    object-fit: cover;
}
.bg-img-title .page-sub-title,
.bg-img-title .page-main-title {
    position: relative;
}
.page-sub-title {
    color: #0095D3;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.2;
    margin-bottom: 10px;
}
.page-main-title {
    display: block;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #343434;
}
.bg-img-title .page-sub-title,
.bg-img-title .page-main-title {
    color: #fff;
}
.bg-img-title .section-inner {
    padding: 0;
}
@media only screen and (max-width: 980px) {
    .page-title-container,
    .bg-img-title .page-title-container {
        padding: 100px 0;
    }
    .page-main-title {
        font-size: 36px;
    }
}
@media only screen and (max-width: 680px) {
    .bg-img-title.page-title-sec {
        padding: 0;
    }
    .page-title-container,
    .bg-img-title .page-title-container {
        padding: 80px 0;
    }
    .bg-img-title .section-inner {
        padding: 0;
    }
    .page-sub-title {
        font-size: 20px;
    }
    .page-main-title {
        font-size: 36px;
    }
}
/* セクションタイトル */
.section-title-container {
    padding: 10px 0;
    margin-bottom: 60px;
    text-align: center;
}
.section-sub-title {
    color: #0095D3;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.05em;
}
.section-main-title {
    display: block;
    margin-top: 15px!important;
    font-size: 40px!important;
    letter-spacing: 0.05em;
}
.top-section-title-container {
    position: relative;
    text-align: center;
    padding-top: 45px;
}
.top-section-title-container::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 70px;
    height: 32px;
    background-image: url("/wp-content/uploads/img/top-section-title-icon.webp");
    background-size: cover;
}
.top-section-title-en {
    font-family: "Montserrat", sans-serif;
    color: #0095D3;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}
.top-section-title-jp {
    color: #343434;
    font-size: 40px!important;
    letter-spacing: 0.1em;
}
@media only screen and (max-width: 980px) {
    .top-section-title-jp {
        font-size: 36px!important;
    }
    .section-sub-title {
        font-size: 18px;
    }
    .section-main-title {
        font-size: 36px!important;
    }
}
@media only screen and (max-width: 680px) {
    .top-section-title-en {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .top-section-title-jp {
        font-size: 28px!important;
    }
    .section-title-container {
        margin-bottom: 50px;
    }
    .section-sub-title {
        font-size: 16px;
    }
    .section-main-title {
        font-size: 32px!important;
    }
}
/* テキスト */
.text-md {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.text-lg {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
@media only screen and (max-width: 980px) {

}
@media only screen and (max-width: 680px) {
    .text-md {
        font-size: 14px;
    }
    .text-lg {
        font-size: 14px;
    }
}
/* ボタン */
.more-btn {
    text-align: center;
}
.more-btn-link {
    display: block;
    width: 100%;
    border-radius: 30px;
    border: 3px solid #343434;
    background-color: #EA5932;
    color: #fff;
    padding: 24px 0;
    font-size: 20px;
    font-weight: bold;
}
.more-btn-link:hover {
    background-color: #fff;
    color: #EA5932;
}
.more-btn-blue {
    text-align: center;
}
.more-btn-blue-link {
    display: block;
    width: 100%;
    border-radius: 100px;
    border: 3px solid #0095D3;
    background-color: #fff;
    color: #0095D3;
    padding: 23px 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.2;
}
.more-btn-blue-link:hover {
    background-color: #0095D3;
    color: #fff;
}
@media only screen and (max-width: 980px) {

}
@media only screen and (max-width: 680px) {
    .more-btn-blue-link {
        padding: 20px 0;
        font-size: 16px;
    }
}
/* ヘッダーここから */
header {
    position: fixed;
    top: 0;
    z-index: 999999;
    width: 100%;
}
.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px 25px 65px;
    width: 100%;
    background: #fff;
    border-radius: 0 0 50px 50px;
}
.header_logo {
    max-width: 295px;
    width: 22%;
}
.header_nav {
    width: 78%;
    display: flex;
    gap: 50px;
}
.header_nav_menu {
    width: 80%;
    display: flex;
    justify-content: right;
    align-items: center;
    gap: 30px;
}
.header_nav_menu_item {
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    color: #343434;
    letter-spacing: 0.1em;
    line-height: 1.3;
}
.header_nav_menu_item_link {
    width: 100%;
    display: block;
}
.header_nav_menu_item_link:hover {
    color: #E35948;
}
.header_nav_menu_item-img {
    width: 45px;
    margin: auto;
}
.header_contact {
    width: 20%;
    display: flex;
    align-items: center;
    text-align: center;
}
.navi_link_btn {
    display: block;
    width: 165px;
    border: 3px solid #343434;
    border-radius: 30px;
    background-color: #E35948;
    color: #fff;
    padding: 8px 0;
    font-size: 18px;
    font-weight: bold;
    margin-left: auto;
}
.navi_link_btn:hover {
    background-color: #fff;
    color: #E35948;
}
#g-nav.panelactive{
    position:fixed;
    z-index: 999;
	top: 0;
    left: 0;
	width:100%;
    height: 100vh;
}

.circle-bg{
    position: fixed;
	z-index:3;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fff;
	transform: scale(0);
	top:-50px;
    left:calc(50% - 50px);
    transition: all .6s;
}

.circle-bg.circleactive{
	transform: scale(50);
}

#g-nav-list{
    display: none;
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     display: block;
}

#g-nav ul {
	opacity: 0;
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    display: flex;
    flex-direction: column;
}

#g-nav.panelactive ul {
    opacity:1;
}

#g-nav.panelactive ul li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}


#g-nav li{
	text-align: center; 
	list-style: none;
}

#g-nav li a{
	color: #3C71B3;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
    overflow: hidden;
}


.openbtn {
	position:fixed;
    z-index: 9999;
	top:25px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
    display: none;
}
.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #000;
  	width: 45%;
}
.page .openbtn span,
.scrolled .openbtn span {
    background-color: #333;
}
.home .openbtn span {
    background-color: #000;
}
.home .scrolled .openbtn span {
    background-color: #333
}
.openbtn.openbtn.active span {
    background-color: #333;
}
.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 40%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 40%;
}
@media only screen and (max-width: 1250px) {
    .header_inner {
        padding: 20px 20px 25px;
    }
}
@media only screen and (max-width: 980px) {
    .header_inner {
        padding: 20px;
        border-radius: 0;
    }
    .header_nav {
        display: none;
    }
    .header_logo {
        position: relative;
        max-width: 195px;
        width: 70%;
        z-index: 1000;
    }
    .g-nav-list_inner {
        max-width: 350px;
        margin: auto;
        margin-top: 100px;
    }
    .header_menu_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        text-align: center;
    }
    .header_menu_item {
        text-align: center;
        width: calc(100% / 3 - 20px);
        margin-bottom: 45px;
        font-size: 12px;
        font-weight: bold;
        color: #343434;
        letter-spacing: 0.1em;
        line-height: 1.3;
    }
    .header_menu_item_img {
        max-width: 45px;
        width: 100%;
        margin: auto;
        margin-bottom: 2px;
    }
    .header_contact-container {
        text-align: center;
    }
    .navi_link_btn {
        margin: auto;
    }
    .openbtn {
        top: 13px;
        display: block;
    }
    #g-nav .header_contact-link {
        padding: 0;
    }
}
@media only screen and (max-width: 680px) {
    .openbtn {
        top: 13px;
    }
}
/* fixサイドここから */
.fix_side {
    position: fixed;
    top: 20%;
    right: 0;
    z-index: 9990;
    pointer-events: none;
    transition: all 0.4s ease-out;
}
.fix_side li {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 180px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    border-width: 3px;
    border-style: solid;
    border-radius: 0.5rem 0 0 0.5rem;
    transform: translateX(calc(100% - 51px));
    transition: all 0.4s ease-out;
    pointer-events: auto;
    z-index: 1000;
}
.fix_side li:hover {
    transform: translateX(0);
}
.fix_side--schedule {
    background-color: #0095D3;
    border: 3px solid #000;
    color: #FFF;
    border-radius: 20px 0px 0px 20px;
    filter: drop-shadow(0px 1px 3px rgba(0,0,0,0.4));
    margin-bottom: 20px;
}
.fix_side  .fix_side--ttl {
    display: grid;
    align-content: center;
    justify-content: center;
    place-content: center;
    flex-shrink: 0;
    width: 51px;
    padding: 1em;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.24em;
    writing-mode: vertical-rl;
    font-weight: 600;
	margin: 0;
    cursor: pointer;
}
.schedule_box .schedule_box--ttl {
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
}
.schedule_box .schedule_box--ttl::before {
    display: none;
}
.schedule_box--ttl span {
    width: -moz-fit-content;
    width: fit-content;
    padding: 3px 10px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.1em;
    background-color: #0095D3;
    color: #fff;
    border-radius: 100px;
}
.schedule_box {
    margin-bottom: 20px;
}
.schedule_box:last-child {
    margin-bottom: 0;
}
.fix_side--schedule .fix_side--cont {
    width: 315px;
}
.fix_side--txtarea {
    height: 100%;
    padding: 1rem 1.25rem;
    line-height: 1.5;
    position: relative;
    background-color: #FFF;
    color: #000;
}
.fix_side--exhibition {
    grid-template-columns: 51px 350px;
    border-color: #000;
    background-color: #E9DEB3;
    font-size: 20px;
    filter: drop-shadow(0px 1px 3px rgba(0,0,0,0.4));
}
.flex {
    display: flex;
}
.fix_side--exhibition .fix_side--ttl{
    color: #fff;
    background-color: #EA5932;
}
.fix_side--exhibition .post--img {
    width: 150px;
    flex-shrink: 0;
    aspect-ratio: 1/1.41421356;
}
.fix_side--exhibition .fix_side--txtarea {
    display: flex;
    width: 240px;
    height: auto;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}
.fix_side--date {
    font-size: 16px;
    font-weight: bold;
}
.fix_side--text {
    font-size: 20px;

}
@media only screen and (max-width: 680px) {
    .fix_side {
        display: none;
    }
}
/* fixサイドここまで */
/* フッター */
footer {
    background-color: #343434;
    padding: 70px 0 25px;
}
.footer_inner {
    padding: 0 20px;
    max-width: 970px;
    width: 100%;
    margin: auto;
}
.footer_container {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 60px;
}
.footer_info {
    max-width: 225px;
    width: 25%;
    color: #fff;
}
.footer_logo {
    max-width: 165px;
    width: 100%;
    margin-bottom: 15px;
}
.footer_adress {
    font-size: 12px;
    font-weight: bold;
}
.footer_adress p {
    display: inline-block;
    margin-bottom: 5px;
}
.footer_tel {
    font-size: 12px;
    font-weight: bold;
    padding-left: 5px;
}
.footer_tel p {
    margin-bottom: 5px;

}
.footer_navi {
    width: 70%;
    max-width: 605px;
    display: flex;
    justify-content: space-between
}
.footer_navi_left-sp,
.footer_navi_right-sp {
    display: none;
}
.footer_navi_menu {
    list-style: none;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.25;
}
.footer_navi_menu_item {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}
.footer_navi_menu_item::before {
    position: absolute;
    content: "";
    left: 0;
    top: 2px;
    width: 12px;
    height: 12px;
    background-color: #EA5932;
    border-radius: 50%;
}
.footer_navi_menu_item_link {
    display: block;
    margin-bottom: 10px;
}
.footer_navi_sub_menu_item {
    position: relative;
    padding-left: 17px;
    margin-bottom: 10px;
}
.footer_navi_menu_item:last-child,
.footer_navi_sub_menu_item:last-child {
    margin-bottom: 0;
}
.footer_navi_sub_menu_item::before {
    position: absolute;
    content: "";
    left: 0;
    top: 8px;
    width: 10px;
    height: 1px;
    background-color: #EA5932;
}
.footer_copyright {
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.25;
}
@media only screen and (max-width: 980px) {
    footer {
        padding: 70px 0 20px;
    }
    .footer_container {
        flex-direction: column-reverse;
    }
    .footer_info {
        max-width: 325px;
        width: 100%;
        margin: auto;
    }
    .footer_logo {
        max-width: 255px;
        margin: auto;
        margin-bottom: 30px;
    }
    .footer_navi {
        max-width: unset;
        width: 100%;
        justify-content: center;
        gap: 30px;
    }
    .footer_navi_left,
    .footer_navi_center,
    .footer_navi_right {
        display: none;
    }
    .footer_navi_left-sp,
    .footer_navi_right-sp {
        display: block;
    }
    .footer_navi_menu {
        font-size: 14px;
    }
    .footer_tel,
    .footer_adress {
        font-size: 16px;
    }
    .footer_adress p {
        margin-bottom: 10px;
    }
    .footer_tel {
        padding: 0;
    }
    .footer_tel p {
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 680px) {
    footer {
        padding: 60px 0 10px;
    }
    .footer_navi {
        max-width: unset;
        width: 100%;
        margin: auto;
        gap: 10px;
    }
    .footer_navi_menu {
        font-size: 12px;
    }

}
/* TOPここから */
/* TOP-KV */
.top-kv {
    position: relative;
    background-color: #DCEFF6;
    padding: 80px 0 0;
    text-align: center;
    overflow: hidden;
}
.top-kv .top-kv-kumo-1 img,
.top-kv .top-kv-kumo-2 img {
    position: absolute;
    height: auto;
    left: 0;
    top: 0;
}
.top-kv .top-kv-kumo-1 {
	/* animation: keyanime_kumo01 7.0s infinite ; */
    animation: kumoFloat1 7s ease-in-out infinite;
    animation-timing-function: ease-in-out;
    animation-delay: -2s;
}
@keyframes kumoFloat1 {
    0%   { transform: translate(0, 0) scale(1); }
    50%  { transform: translate(8px, -16px) scale(0.99); }
    100% { transform: translate(0, 0) scale(1); }
}
.top-kv .top-kv-kumo-2 {
    animation: keyanime_kumo02 7.0s infinite ;
    animation-delay: -3s;
}
@keyframes keyanime_kumo02 {
	0% {transform: translateY(0) scaleY(1);}

	70% {transform: translateY(-30px) scaleY(0.98);}

	100% {transform: translateY(0) scaleY(1);}
}

.top-page-title {
    font-size: 48px;
    color: #343434;
}
.top-page-title-1-sp {
    display: none;
}
.top-page-title>span{
    position:relative;
    display:inline-block;
    width:0.8em;
    vertical-align:top;
  }
  .top-page-title > span:nth-child(1)  > span { animation-delay: 0s; }
.top-page-title > span:nth-child(2)  > span { animation-delay: 0.1s; }
.top-page-title > span:nth-child(3)  > span { animation-delay: 0.2s; }
.top-page-title > span:nth-child(4)  > span { animation-delay: 0.3s; }
.top-page-title > span:nth-child(5)  > span { animation-delay: 0.4s; }
.top-page-title > span:nth-child(6)  > span { animation-delay: 0.5s; }
.top-page-title > span:nth-child(7)  > span { animation-delay: 0.6s; }
.top-page-title > span:nth-child(8)  > span { animation-delay: 0.7s; }
.top-page-title > span:nth-child(9)  > span { animation-delay: 0.8s; }
.top-page-title > span:nth-child(10) > span { animation-delay: 0.9s; }
.top-page-title > span:nth-child(3n)  > span { animation-duration: 3.2s; }
.top-page-title > span:nth-child(4n)  > span { animation-duration: 2.6s; }
.top-page-title>span>span{
    position:absolute;
    color:#333;
    animation: textSway 3.2s ease-in-out 1;
    animation-fill-mode: forwards;
}
@keyframes textSway {
    0% {
        transform: translate(0, 0) rotate(0deg) scale(1);
    }
    20% {
        transform: translate(3px, -4px) rotate(3deg) scale(1.08);
    }
    50% {
        transform: translate(-3px, 3px) rotate(-2deg) scale(1.03);
    }
    80% {
        transform: translate(4px, -2px) rotate(2deg) scale(1.06);
    }
    100% {
        transform: translate(0, 0) rotate(0deg) scale(1);
    }
}
.top-kv-img {
    margin-top: -50px;
}
@media only screen and (max-width: 980px) {
    .top-kv {
        padding-top: 50px;
    }
    .top-page-title {
        font-size: 38px;
    }
    .top-kv-img {
        margin-top: -30px;
    }
}
@media only screen and (max-width: 680px) {
    .top-kv {
        padding-top: 30px;
    }
    .top-page-title {
        font-size: 28px;
    }
    .top-page-title-1-sp {
        display: block;
    }
    .top-kv-img {
        margin-top: -10px;
    }
}
/* TOPガイド */
.top_guide {
    padding: 30px 0 15px;
    background-color: #0095D3;
}
.top_user_guide_container {
    max-width: 450px;
    width: 100%;
    margin: auto;
    border: 3px solid #343434;
    border-radius: 30px;
    overflow: hidden;
}
.top_user_guide_table {
    width: 100%;
}
.top_user_guide_table tr:first-child {
    border-bottom: 3px solid #343434;
}
.top_user_guide_table th {
    width: 95px;
    text-align: center;
    padding: 24px 15px;
    background-color: #E35948;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.top_user_guide_table td {
    background-color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    vertical-align: middle;
    padding: 0 15px;

}
/* TOPようこそ */
.top-welcome {
    background-color: #0095D3;
    padding-top: 30px;
    overflow: hidden;
}
.top-welcome-container {
    max-width: 880px;
    width: 100%;
    margin: auto;
    border-radius: 50px;
    background-color: #fff;
    margin-bottom: 125px;
}
.top-welcome .top-welcome-container {
    position: relative;
}
.top-welcome-img-1 {
    position: absolute;
    left: -250px;
    bottom: 175px;
    width: 175px;
}
.top-welcome-img-2 {
    position: absolute;
    right: -225px;
    top: 45px;
    width: 160px;
}
.top-welcome-img-3 {
    position: absolute;
    right: -200px;
    bottom: 20px;
    width: 160px;
}
.top-welcome-container-inner {
    padding: 70px 20px;
}
.top-welcome-title {
    text-align: center;
    font-size: 36px;
    letter-spacing: 0.1em;
    color: #343434;
    margin-bottom: 40px;
}
.top-welcome-text {
    color: #343434;
    text-align: center;
    margin-bottom: 40px;
}
.top-welcome-btn-link {
    max-width: 290px;
    margin: auto;
}
.top-welcome-slider {
    
}
.top-welcome-slide {
    width: 295px;
    margin: 0 15px;
}
@media only screen and (max-width: 1440px) {
    .top-welcome-img-1 {
        left: -15.36vw;
        bottom: 12.15vw;
        width: 12.15vw;
    }
    .top-welcome-img-2 {
        right: -14.6vw;
        top: 3.13vw;
        width: 11.12vw;
    }
    .top-welcome-img-3 {
        right: -12.9vw;
        bottom: 1.39vw;
        width: 11.11vw;
    }
}
@media only screen and (max-width: 1200px) {
    .top-welcome-img-1 {
        left: unset;
        right: 30px;
        bottom: 20px;
        width: 12.15vw;
    }
    .top-welcome-img-2 {
        right: 0;
        left: 0;
        margin: auto;
        top: 15px;
        width: 75px;
        height: 75px;
    }
    .top-welcome-img-3 {
        display: none;
    }
    .top-welcome-container-inner {
        padding-top: 100px;
    }
}
@media only screen and (max-width: 980px) {
    .top-welcome-container {
        margin-bottom: 80px;
    }
    .top-welcome-container-inner {
        padding-bottom: 100px;
    }
    .top-welcome-title {
        font-size: 30px;
        margin-bottom: 30px;
    }
    .top_user_guide_table td {
        padding: 20px 15px;
    }
    .top-welcome-btn-link {
        font-size: 20px;
    }
    .top-welcome-slide {
        margin: 0 15px;
    }
    .top-welcome-img-1 {
        width: 75px;
    }
}
@media only screen and (max-width: 680px) {
    .top-welcome-container {
        margin-bottom: 50px;
    }
    .top-welcome-title {
        font-size: 24px;
    }
    .top-welcome-text {
        margin-bottom: 30px;
    }
    .top-welcome-btn-link {
        font-size: 16px;
        padding: 20px;
    }
    .top-welcome-slide {
        margin: 0 7.5px;
    }
    .top-welcome-slider {
        padding-bottom: 35px;
    }
}
/* TOPイベント */
.top-event {
    position: relative;
    background-color: #fff;
    padding: 205px 0 110px;
    overflow: hidden;
}
.top-event-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 120px;
}
.top-event-top img {
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}
.top-event-bg {
    position: absolute;
    display: block;
    /* top: 210px; */
    top: 0;
    left: 10%;
    width: 100vw;
    height: 710px;
    background: #D3D9DD;
    z-index: 0;
    border-radius: 300px 0 0 300px;

}
.top-event-img {
    position: absolute;
    left: 10%;
    bottom: 65px;
    width: 320px;
    height: 240px;
}
.top-event-inner {
    position: relative;
}
.top-event .section-inner {
    padding-top: 85px;
    padding-bottom: 50px;
}
.top-event-container {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.top-event-text-container {
    padding-top: 110px;
    width: 25%;
    max-width: 280px;
}

.top-event-card-container {
    width: 70%;
    max-width: 785px;
}
.top-event-card {
    margin-bottom: 45px;
}
.top-event-card-link {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    border: 3px solid #133453;
    border-radius: 50px;
    overflow: hidden;
}
.top-event-card-img {
    width: 45%;
}

.top-event-card-box {
    width: 55%;
}
.top-event-card-box-inner {
    padding: 60px 0 75px;
    max-width: 340px;
    width: 100%;
    margin: auto;

}
.top-event-card-meta {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #133453;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}
.top-event-card-tag {
    display: block;
    padding: 3px 30px;
    border-radius: 30px;
    background-color: #0095D3;
    border: 2px solid #0095D3;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.top-event-card-period {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-bottom: 60px;
}
.top-event-card-period span {
    font-size: 28px;
}
.top-event-card-title {
    display: block;
    color: #343434;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}
.top-event-card-text {
    color: #343434;
}
.top-event-card-btn-link {
    max-width: 350px;
    margin: auto;
}
@media only screen and (max-width: 1400px) {
    .top-event-img {
        left: 6%;
        bottom: 0;
    }
    .top-event-bg {
        left: 5%;
        height: 100%;
    }

}
@media only screen and (max-width: 1200px) {
    .top-event-img {
        width: 250px;
        height: 190px;
        bottom: 20px;
    }
    .top-event-inner {

    }
    .top-event-container {
        flex-direction: column;
        align-items: center;
    }
    .top-event-text-container {
        padding-top: 0;
        max-width: unset;
        width: 100%;
    }
    .top-event-card-container {
        padding-bottom: 195px;
        max-width: unset;
        width: 80%;
    }
}
@media only screen and (max-width: 980px) {
    .top-event-img {
        left: 12%;
        width: 200px;
        height: 135px;
        bottom: 15px;
    }
    .top-event-bg {
        left: 0%;
    }
    .top-event-card-container {
        width: 80%;
        padding-bottom: 150px;
    }
    .top-event-card-link {
        flex-direction: column;
    }
    .top-event-card-img,
    .top-event-card-box {
        width: 100%;
    }
    .top-event-card-box-inner {
        padding: 35px 30px;
        max-width: unset;
    }
    .top-event-card-period {
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 680px) {
    .top-event {
        padding: 90px 0 60px;
    }
    .top-event-top {
        height: 45px;
    }
    .top-event-bg {
        border-radius: 150px 0 0 150px;
    }
    .top-event .section-inner {
        padding-top: 55px;
        padding-bottom: 45px;
    }
    .top-event-card-container {
        width: 100%;
    }
    .top-event-card-meta {
        flex-direction: column;
        gap: 10px;
        align-items: baseline;
        font-size: 12px;
        margin-bottom: 20px;
    }
    .top-event-card-period {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .top-event-card-title {
        font-size: 22px;
    }
    .top-event-card-img {
        text-align: center;
        background-color: #DCEFF6;
    }
    .top-event-card-img img {
        width: 80%;
    }
    .top-event-img {
        width: 165px;
        height: 123px;
        bottom: 10px;
        left: 8%;
    }
}
/* スケジュールここから */
.schedule-news {
    background-color: #DCEFF6;
    padding: 60px 0 80px;
    border-radius: 100px 100px 0 0;
}
/* TOPスケジュール＆お知らせここから */
/* googleカレンダーここから */
.fc .fc-daygrid-day.fc-day-today {
    background-color: #ecc80d4a;
}
/* 休館日カレンダー */
.closing-calendar-class {
    background-color: #f29c9f;
}
/* 源氏物語カレンダー */
.genji-calendar-class {
    background-color: #9370db;
}
/* 古文書カレンダー */
.kobunsho-calendar-class {
    background-color: #ffa07a;
}
/* 企画展カレンダー */
.kikaku-class {
    background-color: #009944;
}
/* 文化講座カレンダー */
.bunka_course-class {
    background-color: #F39800;;
}
/* 歴史講座カレンダー */
.rekishi_course-class {
    background-color: #996633;
}
/* イベントカレンダー */
.event-class {
    background-color: #00A0E9;
}
/* お知らせカレンダー */
.news-class {
    background-color: #FFCC99;
}
.fc-prev-button::after, .fc-next-button::before{
	content: attr(title);
}
.fc .fc-button .fc-icon {
    display: inline-flex;
}
.fc .fc-button-primary:focus {
    box-shadow: none;
}
.fc .fc-button-primary:hover {
    background-color: #fff;
    color: #133453;
}
.fc .fc-button-primary:hover .fc-prev-button::after,
.fc .fc-button-primary:hover .fc-icon-chevron-left:before,
.fc .fc-button-primary:hover .fc-next-button::before,
.fc .fc-button-primary:hover .fc-icon-chevron-right:before {
    color: #133453;
}
/* カレンダー背景色 */
.fc-direction-ltr {
}
/* テーブル背景色 */
.fc-theme-standard td, .fc-theme-standard th {
    background-color: #FFF;
}
@media only screen and (max-width: 980px) {

}
@media only screen and (max-width: 680px) {

}
/* googleカレンダーここまで */
.top_schedule_news {
    padding: 90px 0;
    background-color: #FFF;
}
.schedule_news_container {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.top_schedule {
    position: relative;
    width: 50%;
    max-width: 570px;
    background-color: #fff;
    border-radius: 100px;
    padding: 90px 35px 200px;
}
.top_schedule::before {
    position: absolute;
    content: "";
    right: 50px;
    bottom: 30px;
    width: 240px;
    height: 145px;
    background-image: url("/wp-content/uploads/img/top-schedule-img.webp");
    background-size: cover;
}
.top_schedule_news_title {
    margin-bottom: 40px;
}
.top_schedule_news_title p {
    padding-left: 20px;
    color: #0095D3;
    border-left: 10px solid #0095D3;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.top_schedule_container {
    width: 100%;
}

.top_schedule_container iframe {
    width: 100%;
}
.top_news {
    position: relative;
    width: 50%;
    max-width: 570px;
    background-color: #fff;
    border-radius: 100px;
    padding: 90px 35px 185px;
}
.top_news_schedule_inner {
    max-width: 465px;
    width: 100%;
    margin: auto;
}
.top_news::before {
    position: absolute;
    content: "";
    right: 60px;
    bottom: 30px;
    width: 110px;
    height: 85px;
    background-image: url("/wp-content/uploads/img/top-news-img.webp");
    background-size: cover;
}
.news_list {
    display: flex;
    flex-direction: column;
    padding-bottom: 190px;
    position: relative;
}
.top_news .news_list {
    padding-bottom: 55px;
}
.news_item:last-child {
    border-bottom: 1px solid #dad5d0;
}
.news_item {
    border-top: 1px solid #dad5d0;
}
.news_item_link {
    display: block;
    padding: 25px 0;
}
.news_item_link:hover {
    opacity: 0.6;
}
.news_item_meta {
    display: flex;
    gap: 25px;
    margin-bottom: 10px;
    align-items: center;
}
.news_item_day {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    width: 105px;
    color: #133453;
}
.news_item_tag_list {
    display: flex;
    gap: 10px;
}
.news_item_tag {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #0095D3;
    padding: 5px 25px;
    border: 2px solid #0095D3;
    border-radius: 30px;
    background-color: #FFF;
    display: block;
}
.news_item_tag p {
    white-space: nowrap;
}
.news_item_tag:hover {
    background-color: #0095D3;
    color: #FFF;
}
.news_item_text {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
    display: flex;
    align-items: center;
}
.top_news .more-btn-blue-link {
    max-width: 270px;
    margin: auto;
}
.view-cap, .view-container-border {
    background-color: #133453;
}
@media screen and (max-width: 980px){
    .top_schedule_news {
        padding: 70px 0 50px;
    }
    .schedule_news_container {
        flex-direction: column;
        gap: 60px;
    }
    .top_schedule,
    .top_news {
        width: 100%;
        max-width: unset;
    }
    .top_news_schedule_inner {
        max-width: unset;
    }
    .top_schedule_news_title p {
        font-size: 28px;
        padding-left: 30px;
    }
    .top_news {
        padding-bottom: 150px;
    }
    .top_news::before {
        right: unset;
        left: 75px;
    }
    .news_item_link {
        padding: 20px 0;
    }
    .news_item_tag {
        padding: 5px 15px;
    }
    .top_news .news_list {
        padding-bottom: 50px;
    }
    .top_schedule_news .more-btn-blue-link {
        margin-left: 0;
    }

}
@media screen and (max-width: 680px){
    .schedule-news {
        padding: 50px 0 20px;
        border-radius: 50px 50px 0 0;
    }
    .schedule-news .section-inner {
        padding: 0;
    }
    .top_schedule_news_title p {
        font-size: 20px;
        padding-left: 28px;
    }
    .schedule_news_container {
        border-radius: 50px;
        background-color: #fff;
        overflow: hidden;
    }
    .top_schedule,
    .top_news {
        border-radius: 0;
    }
    .top_news_schedule_inner {
        padding: 0 40px;
    }
    .top_schedule {
        position: relative;
        padding: 77px 0 160px;
    }
    .top_schedule::after {
        position: absolute;
        content: "";
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        max-width: 435px;
        width: 80%;
        border: 1px dashed #343434;
    }
    .top_news {
        padding: 55px 0 135px;
    }
    .news_item_link {
        padding: 15px 0;
    }
    .news_item_day {
        font-size: 14px;
    }
    .news_item_tag {
        font-size: 10px;
        padding: 2px 10px;
    }
}
/* スケジュールここまで */
/* TOPabout */
.top-about {
    position: relative;
    background-color: #DCEFF6;
    padding: 90px 0 165px;
}
.top-about-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 65px;
}
.top-about-bottom img {
    object-fit: cover;
    height: 100%;
}
.top-about-container {
    position: relative;
    padding: 45px 0 85px;
    background-color: #00A0E9;
    border-radius: 100px;
}
.top-about-container::before {
    position: absolute;
    content: "";
    top: -60px;
    right: 100px;
    width: 220px;
    height: 75px;
    background-image: url("/wp-content/uploads/img/top-about-icon.webp");
    background-size: cover;
}

.top-about-container-inner {
    max-width: 1020px;
    width: 100%;
    margin: auto;
}
.top-about .top-section-title-en,
.top-about .top-section-title-jp {
    color: #fff;
}
.top-about-box {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.top-about-img {
    max-width: 475px;
    width: 45%;
}
.top-about-text-box {
    max-width: 490px;
    width: 55%;
    color: #fff;
}
.top-about-title {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 35px;
}
.op-about-text {
}
.top-about-btn {
    margin-top: 30px;
    text-align: center;
}
.top-about-btn-link {
    max-width: 280px;
}
@media only screen and (max-width: 1200px) {
    .top-about-container-inner {
        padding: 0 20px;
    }
}
@media only screen and (max-width: 980px) {
    .top-about {
        padding: 50px 0 80px;
    }
    .top-about-container {
        padding: 40px 0 60px;
        border-radius: 50px;
    }
    .top-about-container::before {
        width: 150px;
        height: 55px;
        top: -40px;
        right: 50px;
    }
    .top-about-box {
        flex-direction: column;
        gap: 30px;
    }
    .top-about-img,
    .top-about-text-box {
        max-width: unset;
        width: 100%;
    }
    .top-about-title {
        text-align: center;
    }
    .top-about .top-about-btn-link {
        margin: auto;
    }
}
@media only screen and (max-width: 680px) {
    .top-about {
        padding: 30px 0 80px;
    }
    .top-about-container {
        padding: 40px 0 35px;
    }
    .top-about-container::before {
        display: none;
    }
    .top-about-box {
        gap: 25px;
    }
    .top-about-title {
        line-height: 1.75;
        margin-bottom: 25px;
    }
    .top-about-text {
        font-size: 16px;
    }
    .top-about-bottom {
        height: 30px;
    }
}
/* TOPボタン */
.top-btn {
    padding: 55px 0 25px;
}
.top-btn-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px 0;
}
.top-btn-item {
    display: block;
    max-width: 380px;
    width: calc(100% / 3 - 20px);
}
@media only screen and (max-width: 980px) {
    .top-btn-list {
        gap: 30px 0;
    }
    .top-btn-item {
        width: calc(100% / 3 - 10px);
    }
}
@media only screen and (max-width: 680px) {
    .top-btn {
        padding: 30px 0 20px;
    }
    .top-btn-list {
        gap: 20px 0;
    }
    .top-btn-item {
        width: calc(100% / 2 - 10px);
    }
}
/* アクセス */
.access {
    position: relative;
    padding: 555px 0 75px;
}
.access-bg {
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/wp-content/uploads/img/access-bg.webp");
    background-size: cover;
    background-position: center;
}
.access-container {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 50px;

}
.access-container-inner {
    padding: 45px 20px 55px;
    max-width: 920px;
    width: 100%;
    margin: auto;
}
.access .section-title-container {
    margin-bottom: 30px;
}
.access-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.access-text-box {
    width: 55%;
    max-width: 450px;
}
.access-text-box-title {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 15px;
}
.access-text {
    color: #343434;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.55;
    margin-bottom: 15px;
}
.access-text a {
    color: #EA5932;
    text-decoration: underline;
}
.access-text a:hover {
    opacity: 0.6;
}
.access-list {
    margin-top: 15px;
    list-style: none;
}
.access-list-item {
    color: #000;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.access-list-item:last-child {
    margin-bottom: 0;
}
.access-sub-list {
    margin-top: 5px;
    list-style: none;
    padding-left: 10px;
}
.access-sub-list-item {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}
.access-map {
    max-width: 405px;
    width: 47%;
}
.access-map-inner {
    border: 2px solid #343434;
    border-radius: 30px;
    overflow: hidden;
}
.access-map-inner iframe {
    width: 100%;
}
@media only screen and (max-width: 980px) {
}
@media only screen and (max-width: 680px) {
    .access {
        padding: 575px 0 75px;
    }
    .access-bg {
        background-image: url("/wp-content/uploads/img/access-bg-sp.webp");
        background-position: top
    }
    .access-container {
        border-radius: 50px;
    }
    .access-container-inner {
        padding: 35px 20px;
    }
    .access-box {
        flex-direction: column;
    }
    .access-text-box{
        max-width: unset;
        width: 100%;
    }
    .access-text-box-title {
        font-size: 20px;
    }
    .access-list-item {
        font-size: 16px;
    }
    .access-sub-list-item {
        font-size: 14px;
    }
    .access-map {
        width: 100%;
    }
}
/* Aboutここから */
/* コンセプト */
.museum-concept {
    background-color: #DCEFF6;
    padding: 50px 0 110px;
}
.mc-img-1,
.mc-img-2,
.mc-img-3,
.mc-img-4,
.mc-img-5,
.mc-img-6 {
    position: absolute;
}
.mc-img-1 {
    left: -8px;
    top: 67px;
    width: 134px;
}
.mc-img-2 {
    left: -80px;
    top: 307px;
    width: 162px;
}
.mc-img-3 {
    left: -60px;
    bottom: 0;
    width: 188px;
}
.mc-img-4 {
    right: -35px;
    top: 130px;
    width: 137px;
}
.mc-img-5 {
    right: -90px;
    top: 365px;
    width: 195px;
}
.mc-img-6 {
    right: -23px;
    bottom: -15px;
    width: 164px;
}
.museum-concept-container {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: auto;
    background-color: #fff;
    padding: 110px 0 100px;
    border-radius: 100px;
    text-align: center;
}
.museum-concept-title-container {
    margin-bottom: 65px;
}
.mc-sub-title {
    font-size: 24px;
    line-height: 1.4;
    font-weight: bold;
    color: #0095D3;
    margin-bottom: 25px;
}
.mc-main-title {
    font-size: 40px;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
.mc-text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
}
.mc-img-sp {
    display: none;
}
@media only screen and (max-width: 1250px) {
    .mc-img-1 {
        left: 30px;
        top: 20px;
        width: 11.25vw;
    }
    .mc-img-2 {
        left: 10px;
        top: 245px;
        width: 13.57vw;
    }
    .mc-img-3 {
        left: 30px;
        bottom: 20px;
        width: 15.75vw;
    }
    .mc-img-4 {
        right: 20px;
        top: 30px;
        width: 11.3vw;
    }
    .mc-img-5 {
        right: -20px;
        top: 210px;
        width: 16.33vw;
    }
    .mc-img-6 {
        right: 40px;
        bottom: -15px;
        width: 13.75vw;
    }
}
@media only screen and (max-width: 980px) {
    .museum-concept {

    }
    .museum-concept-container {
        padding: 80px 15px 50px;
    }
    .museum-concept-title-container {
        margin-bottom: 40px;
    }
    .mc-sub-title {
        font-size: 20px;
    }
    .mc-main-title {
        font-size: 32px;
    }
    .mc-img-sp {
        display: block;
        width: 50%;
        margin: auto;
        margin-top: 30px;
    }
    .mc-text {
        font-size: 18px;
    }
}
@media only screen and (max-width: 680px) {
    .museum-concept {
        padding: 35px 0 50px;
    }
    .museum-concept-container {
        padding: 50px 15px 35px;
        border-radius: 50px;
    }
    .museum-concept-title-container {
        margin-bottom: 20px;
    }
    .mc-sub-title {
        font-size: 14px;
    }
    .mc-main-title {
        font-size: 24px;
    }
    .mc-text {
        font-size: 14px;
    }
    .mc-img-sp {
        width: 100%;
        padding: 0 15px;
    }
}
/* 沿革 */
.museum-history {
    background-color: #DCEFF6;
}
.museum-history-container {
    max-width: 1440px;
    width: 100%;
    margin: auto;
    background-color: #fff;
    border-radius: 100px 100px 0 0;
    padding: 105px 0 130px;
}

.history-table {
    max-width: 750px;
    width: 100%;
    margin: auto;
}
.history-table th {
    width: 180px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    border-bottom: 2px solid #0095D3;
    padding: 20px 0;
    padding-left: 15px;
    vertical-align: top;
}
.history-table td {
    font-size: 16px;
    vertical-align: top;
    padding: 20px 0;
    padding-left: 40px;
    border-bottom: 1px solid #BEBEBE;
}
.history-table td span {
    font-weight: bold;
}
@media only screen and (max-width: 980px) {
    .museum-history-container {
        padding: 80px 0;
    }
}
@media only screen and (max-width: 680px) {
    .museum-history-container {
        padding: 50px 0;
        border-radius: 50px;
    }
    .history-table th,
    .history-table td {
        display: block;
        font-size: 14px;
    }
    .history-table th {
        text-align: left;
        padding: 10px;
        width: 100%;
    }
    .history-table td {
        padding: 10px;
        padding-left: 30px;
    }

}
/* Aboutここまで*/
/* FAQページここから */
.faq-link{
    padding: 85px 0 45px;
}
.faq-link-container {
    background-color: #DCEFF6;
    padding: 70px 0;
    border-radius: 100px;
}
.faq-link-container-inner {
    max-width: 1055px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 20px;
}
.faq-link-item {
    max-width: 250px;
    width: calc(100% / 4 - 20px);
    color: #fff;
    text-align: center;
}
.fli-btn {
    display: block;
    position: relative;
    background-color: #0095D3;
    border: 2px solid #0095D3;
    padding: 20px 0 55px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    border-radius: 30px;
    overflow: hidden;
}
.fli-btn:hover {
    background-color: #fff;
    color: #0095D3;
}
.fli-btn::before {
    position: absolute;
    content: "";
    bottom: 15px;
    left: 0;
    right: 0;
    margin: auto;
    width: 25px;
    height: 26px;
    background-image: url("/wp-content/uploads/img/circle_arrow_white.webp");
    background-size: cover;
}
.fli-btn:hover:before {
    background-image: url("/wp-content/uploads/img/circle_arrow_blue.webp");
}

@media only screen and (max-width: 980px) {
    .faq-link {
        padding: 50px 0;
    }
    .faq-link-container {
        padding: 50px 0;
    }
    .faq-link-container-inner {
        gap: 15px 20px;
    }
    .faq-link-item {
        width: calc(100% / 3 - 20px);
    }
    .fli-btn {

    }
}
@media only screen and (max-width: 680px) {
    .faq-link {
        padding: 30px 0;
    }
    .faq-link-container {
        padding: 30px 0;
        border-radius: 50px;
    }
    .faq-link-item {
        width: calc(100% / 2 - 20px);
    }
    .fli-btn {
        font-size: 14px;
    }
}
/* FAQ一覧 */
.faq-sec {
    padding: 55px 0 175px;
}
.faq-list-box {
    margin-bottom: 70px;
}
.faq-list-box:last-child {
    margin-bottom: 0;
}
.faq-list-title {
    display: block;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 40px;
}

.faq-accordion {
    list-style: none;
    margin: 0 auto;
    max-width: 980px;
    width: 96%;
}

.faq-accordion-item {
    background-color: #fff;
    border: 3px solid #0095D3;
    border-radius: 20px;
    margin-bottom: 30px;
}

.faq-item-title-container {
    background-color: #0095D3;
    border-radius: 15px;
    cursor: pointer;
    font-size: 20px;
    font-weight: 400;
    padding: 25px 90px 25px 0;
    position: relative;
    transition: all .5s ease;
}

.faq-item-title {
    position: relative;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    padding-left: 115px;
}

.faq-item-title:before {
    position: absolute;
    top: 0;
    bottom: 0;
    content: "Q";
    font-family: "Poppins", sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    height: 20px;
    left: 70px;
    margin: auto;
}

.faq-item-title-container:after,
.faq-item-title-container:before {
    background-color: #fff;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 2px;
    margin: auto;
    position: absolute;
    right: 28px;
    top: 0;
    transform: translateY(-50%);
    transition: opacity .25s;
    width: 34px;
}

.faq-item-title-container:after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .25s;
}

.faq-item-title-container.close {
    border-radius: 15px 15px 0 0
}
.faq-item-title-container.close:before {
    opacity: 0;
}

.faq-item-title-container.close:after {
    transform: translateY(-50%) rotate(180deg);
}

.faq-item-text {
    color: #222;
    display: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    padding: 25px 90px 25px 90px;
}

@media only screen and (max-width: 980px) {
    .faq {
        padding:60px 0 100px;
    }

    .faq-title-container {
        margin-bottom: 60px;
    }

    .faq-jp-title {
        font-size: 40px;
    }

    .faq-item-title-container {
        padding-bottom: 20px;
        padding-right: 80px;
        padding-top: 20px;
    }

    .faq-item-title {
        padding-left: 80px;
    }

    .faq-item-title:before {
        height: 40px;
    }

    .faq-item-text {
        padding-left: 80px;
        padding-right: 80px;
    }

    .faq-item-title:before {
        font-size: 28px;
        left: 30px;
    }

    .faq-accordion-item {
        margin-bottom: 25px;
    }
    
    .faq-list-box {
        margin-bottom: 50px;
    }
    .faq-list-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 680px) {
    .faq {
        padding:50px 0 60px;
    }

    .faq-title-container {
        margin-bottom: 50px;
    }

    .faq-en-title {
        font-size: 24px;
        line-height: 1.5;
    }

    .faq-jp-title {
        font-size: 32px;
        line-height: 1.5;
    }

    .faq-item-title-container {
        padding-bottom: 15px;
        padding-right: 50px;
        padding-top: 15px;
    }

    .faq-item-title-container:after,.faq-item-title-container:before {
        right: 15px;
        width: 20px;
    }

    .faq-item-title {
        font-size: 16px;
        padding-left: 50px;
    }

    .faq-item-title:before {
        height: 32px;
    }

    .faq-item-text {
        font-size: 14px;
        line-height: 1.7;
        padding: 18px 25px 18px 35px;
    }

    .faq-item-title:before {
        font-size: 24px;
        left: 15px;
    }

    .faq-accordion-item {
        margin-bottom: 15px;
    }
    
    .faq-list-box {
        margin-bottom: 30px;
    }
    .faq-list-title {
        font-size: 20px;
        margin-bottom: 20px;
    }
}
/* FAQページここまで */
/* 利用案内ここから */
.information-page {

}
.information-link {
    background-color: #DCEFF6;
    padding: 25px 0 33px;
}
.info-link-container {
    background-color: #fff;
    padding: 70px 0;
    border-radius: 100px;
}
.info-link-container-inner {
    max-width: 965px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px 50px;
}
.info-link-item {
    width: 280px;
    /* width: calc(100% / 3 - 30px); */
    text-align: center;
    display: flex;
    justify-content: center;
}
.ali-btn {
    width: 100%;
    height: 125px;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: #0095D3;
    border: 2px solid #0095D3;
    border-radius: 30px;

    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;

    color: #fff;
    overflow: hidden;
}
.ali-btn:hover {
    background-color: #fff;
    color: #0095D3;
}
.ali-btn::before {
    position: absolute;
    content: "";
    bottom: 12px;
    left: 0;
    right: 0;
    margin: auto;
    width: 30px;
    height: 31px;
    background-image: url("/wp-content/uploads/img/circle_arrow_white.webp");
    background-size: cover;
}
.ali-btn:hover:before {
    background-image: url("/wp-content/uploads/img/circle_arrow_blue.webp");
}
.ali-btn span {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 40px;
}
@media only screen and (max-width: 980px) {
    .info-link-container {
        padding: 50px 0;
    }
    .info-link-container-inner {
        padding: 0 20px;
    }
    .info-link-item {
        width: calc(100% / 3 - 20px);
    }
}
@media only screen and (max-width: 680px) {
    .information-link {
        padding: 45px 0;
    }
    .info-link-container {
        border-radius: 50px;
        padding: 50px 0 30px;
    }
    .bg-img-title.page-title-sec {
        padding: 0;
    }
    .info-link-container-inner {
        gap: 15px 20px;
    }
    .info-link-item {
        width: calc(100% / 2 - 10px);
    }
    .ali-btn {
        height: 115px;
        border-radius: 20px;
    }
    .ali-btn span {
        font-size: 16px;
    }
}
/* 開館時間 */
.opening {
    background-color: #DCEFF6;
    padding: 70px 0;
}
.opening-table {
    border-collapse: collapse;
    max-width: 800px;
    width: 100%;
    margin: auto;
    border-radius: 50px;
    overflow: hidden;
}
.opening-table th,
.opening-table td {
    border-bottom: 1px solid #DCEFF6;
    letter-spacing: 0.05em;
}
.opening-table th {
    background-color: #0095D3;
    width: 275px;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    padding: 40px 50px;
    vertical-align: middle;
}
.opening-table td {
    font-family: "Montserrat", sans-serif;
    background-color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8;
    color: #343434;
    padding: 25px 0;
    padding-left: 45px;
    vertical-align: middle;
}
.opening-table .opening-table-time {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
@media only screen and (max-width: 980px) {
    .opening {
        padding: 50px 0;
    }
    .opening-table td {
        font-size: 18px;
    }

}
@media only screen and (max-width: 680px) {
    .opening {
        padding: 30px 0;
    }
    .opening .section-title-container {
        margin-bottom: 25px;
    }
    .opening-table {
        border-radius: 30px;
    }
    .opening-table th {
        width: 105px;
        font-size: 14px;
        padding: 22px;
    }
    .opening-table td {
        font-size: 14px;
        padding: 22px;
    }
    .opening-table .opening-table-time {
        font-size: 18px;
    }
}
/* 観覧料 */
.entry-fee {
    background-color: #DCEFF6;
    padding-bottom: 65px;
}
.entry-fee-table {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    border-radius: 50px;
    overflow: hidden;
    border-collapse: separate;
    margin-bottom: 15px;
    
}
.entry-fee-table th,
.entry-fee-table td {
    width: calc(100% / 4);
    border-bottom: 1px solid #DCEFF6;
}
.entry-fee-table th + .entry-fee-table th,
.entry-fee-table td + .entry-fee-table td {
  border-left: 1px solid #ccc;
}
.entry-fee-table tr + .entry-fee-table tr th,
.entry-fee-table tr + .entry-fee-table tr td {
  border-top: 1px solid #ccc;
}
.entry-fee-table th {
    background-color: #0095D3;
    color: #fff;
    padding: 50px;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.2;
    vertical-align: middle;
}
.entry-fee-table thead th {
    background-color: #0095D3;
    color: #fff;
    text-align: center;
    padding-top: 35px;
    padding-bottom: 35px;
}
.entry-fee-table td {
    background-color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: bold;
    vertical-align: middle;
    color: #343434;
    text-align: center;
}
.entry-fee-table-note {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    list-style: none;
    padding-left: 1em;
    text-indent: -1em;
}
.entry-fee-table-note li {
    padding-left: 0;
    text-indent: -1em;
    color: #000;
}
.entry-fee-table-note li span {
    color: #F77E62;
}
@media only screen and (max-width: 980px) {
    .entry-fee {
        padding-bottom: 50px;
    }
    .entry-fee-table thead th {
        font-size: 16px;
        padding: 20px 5px;
    }
    .entry-fee-table th {
        font-size: 16px;
        padding: 20px 5px;
        padding-left: 30px;
    }
    .entry-fee-table td {
        font-size: 16px;
    }
}
@media only screen and (max-width: 680px) {
    .entry-fee {
        padding: 30px 0;
    }
    .entry-fee .section-title-container {
        margin-bottom: 25px;
    }
    .entry-fee-table {
        border-radius: 30px;
    }
    .entry-fee-table thead th {
        font-size: 12px;
        padding: 15px 5px;
    }
    .entry-fee-table th {
        text-align: center;
        font-size: 12px;
        padding: 15px 5px;
        padding-left: 20px;
    }
    .entry-fee-table td {
        font-size: 14px;
    }
}
@media only screen and (max-width: 450px) {
    .entry-fee-table th {
        padding: 15px 5px;
    }
}
/* ガイドツアー */
.guide-tour {
    background-color: #DCEFF6;
}
.guide-tour-container {
    padding: 70px 0;
    background-color: #fff;
    border-radius: 100px;
}
.guide-tour-container-inner {
    max-width: 900px;
    width: 100%;
    margin: auto;
}
.guide-tour-box {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.gtb-text-container {
    max-width: 530px;
    width: 65%;
}
.gtb-text {
    color: #000;
    margin-bottom: 15px;
}
.about-guide {
    margin-bottom: 15px;
}
.about-guide-title {
    color: #000;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
}
.about-guide-title span {
    color: #F00;
    font-size: 16px;
}
.about-guide-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}
.reservation-btn {
    margin-top: 55px;
    text-align: center;
}
.reservation-btn-link {
    display: block;
    max-width: 275px;
    width: 100%;
    padding: 18px 0;
    font-size: 20px;
}
.gtb-img {
    max-width: 315px;
    width: 30%;
}
@media only screen and (max-width: 980px) {
    .guide-tour-container {
        padding: 50px 0;
    }
    .guide-tour-container-inner {
        padding: 0 20px;
    }
}
@media only screen and (max-width: 680px) {
    .guide-tour {
        padding: 30px 0;
    }
    .guide-tour-container {
        padding: 45px 0 20px;
        border-radius: 50px;
    }
    .gtb-text-container,
    .gtb-img {
        width: 100%;
        max-width: unset;
    }
    .guide-tour-box {
        flex-direction: column;
    }
    .about-guide {
        margin-bottom: 20px;
    }
    .about-guide-title {
        margin-bottom: 10px;
    }
    .about-guide-text {
        font-size: 14px;
        font-weight: bold;
        line-height: 1.8;
    }
    .reservation-btn {
        margin-top: 50px;
    }
    .reservation-btn-link {
        margin: auto;
    }
    .gtb-img {
        max-width: 230px;
        margin: auto;
    }
}



/* 館内のご利用にあたって */
.visitor-guidelines {
    position: relative;
    background-color: #DCEFF6;
    padding: 100px 0 150px;
}
.visitor-guidelines::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 65px;
    background-image: url("/wp-content/uploads/img/page-bottom-circle.webp");
    background-size: cover;
    background-position: center;
}
.visitor-guidelines .section-title-container {
    margin-bottom: 85px;
}
.visitor-guidelines-container {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.visitor-guidelines-item {
    max-width: 550px;
    width: 48%;
    background-color: #fff;
    border-radius: 50px;
}
.visitor-guidelines-item-inner {
    padding: 50px 0 45px;
    max-width: 450px;
    width: 100%;
    margin: auto;
}
.vg-item-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 45px;
}
.vg-item-text {
    margin-bottom: 30px;
}
.vg-item-text-list {
    list-style: none;
}
.vg-item-text-list li {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
}
.vg-item-text-list li:last-child {
    margin-bottom: 0;
}
@media only screen and (max-width: 1100px) {
    .visitor-guidelines-item-inner {
        padding: 50px 20px 45px;
    }
}
@media only screen and (max-width: 980px) {
    .visitor-guidelines {
        padding: 80px 0;
    }
    .visitor-guidelines-container {
        flex-direction: column;
        gap: 30px;
    }
    .visitor-guidelines-item {
        max-width: unset;
        width: 100%;
    }
    .visitor-guidelines-item-inner {
        max-width: unset;
    }
    .vg-item-title {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .vg-item-text {
        margin-bottom: 20px;
    }
    .vg-item-text-list li {
        font-size: 18px;
        margin-bottom: 10px;
    }

}
@media only screen and (max-width: 680px) {
    .visitor-guidelines {
        padding: 50px 0 80px;
    }
    .visitor-guidelines::before {
        height: 40px;
    }
    .visitor-guidelines .section-title-container {
        margin-bottom: 50px;
    }
    .visitor-guidelines-item-inner {
        padding: 30px 20px;
    }
    .vg-item-title {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .vg-item-text {
        margin-bottom: 20px;
    }
    .vg-item-text-list li {
        font-size: 16px;
        margin-bottom: 10px;
    }
}

/* 利用案内ここまで */
/* 館内案内ここから */
/* マップ */
.floor-map-section {
    background-color: #DCEFF6;
    padding: 30px 0 120px;
}
.floor-map-section .section-inner {
    padding: 0;
}
.floor-map-container {
  background: #fff;
  border-radius: 100px;
  padding: 60px 0 95px;
}
.floor-map-container-inner {
  max-width: 1020px;
  width: 100%;
  margin: auto;
}
.floor-map-img-container {
    padding: 35px 0 40px;
    width: 100%;
    background-color: #F4F2ED;
    border-radius: 100px;
}
.floor-map-img {
    max-width: 880px;
    width: 100%;
    margin: auto;
}
@media only screen and (max-width: 1100px) {
    .floor-map-container-inner,
    .floor-map-img-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media only screen and (max-width: 980px) {
    .floor-map-section {
        padding-bottom: 80px;
    }
    .floor-map-container {
        padding: 50px 0 80px;
    }
}
@media only screen and (max-width: 680px) {
    .floor-map-section {
        padding: 95px 0 60px;
    }
    .floor-map-container {
        border-radius: 50px;

    }
    .floor-map-img-container {
        padding: 45px 15px;
        border-radius: 50px;
    }
}
/* 館内マップ */
.exhibition {
    background-color: #DCEFF6;
}
.exhibition-container {
    border-radius: 100px 100px 0 0;
    background-color: #fff;
    padding: 100px 0 155px;

}
@media only screen and (max-width: 980px) {
}
@media only screen and (max-width: 680px) {
}
/* 館内マップリンク */
.exhibition-link-container {
    border-radius: 100px;
    background-color: #DCEFF6;
    padding: 65px 0 60px;
}
.exhibition-link-container-inner {
    max-width: 940px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 50px 0;
}
.exhibition-link-item {
    max-width: 205px;
    width: calc(100% / 4 - 20px);
}
.eli-btn {
    display: block;
}
.eli-btn:hover {
    opacity: 0.6;
}
@media only screen and (max-width: 980px) {
    .exhibition {
        padding: 80px 0 0;
    }
    .exhibition-container {
        padding: 80px 0;
    }
    .exhibition-link-container {
        padding: 50px 20px;
    }
    .exhibition-link-container-inner {
        justify-content: center;
        gap: 30px;
    }
    .exhibition-link-item {
        width: calc(100% / 3 - 20px);
    }
}
@media only screen and (max-width: 680px) {
    .exhibition {
        padding: 70px 0 0;
    }
    .exhibition-container {
        padding: 70px 0 20px;
        border-radius: 50px 50px 0 0;
    }
    .exhibition-link-container {
        border-radius: 50px;
        padding: 25px;
    }
    .exhibition-link-item {
        width: calc(100% / 2 - 20px);
    }
}
/* 展示内容 */
.exhibit-section {
    width: 100%;
    overflow: hidden;
    padding-bottom: 250px;
}
.exhibit-item {
    position: relative;
    margin-bottom: 195px;
}
.exhibit-item:last-child {
    margin-bottom: 0;
}
.exhibit-item-bg {
    display: block;
    position: absolute;
    top: 95px;
    left: 10%;
    width: 100vw;
    height: 100%;
    background: #76C088;
    z-index: 0;
    border-radius: 50px 0 0 50px;
}
.reverce .exhibit-item-bg {
    border-radius: 0 50px 50px 0;
    left: unset;
    right: 10%;
}
.bg-green .exhibit-item-bg {
    background-color: #76C088;
}
.bg-blue .exhibit-item-bg {
    background-color: #65ABE0;
}
.bg-red .exhibit-item-bg {
    background-color: #DA7868;
}
.bg-yellow .exhibit-item-bg {
    background-color: #DBC251;
}
.bg-brown .exhibit-item-bg {
    background-color: #B09571;
}
.bg-pink .exhibit-item-bg {
    background-color: #CC8AC8;
}
.bg-orange .exhibit-item-bg {
    background-color: #D49E60;
}
.bg-gray .exhibit-item-bg {
    background-color: #848D86;
}
.exhibit-item-container {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.reverce .exhibit-item-container {
    flex-direction: row-reverse;
}
.exhibit-item-img {
    position: relative;
    max-width: 600px;
    width: 55%;
    padding-top: 55px;
}
.exhibit-item-text-container {
    position: relative;
    max-width: 500px;
    padding-right: 50px;
    width: 45%;
}
.reverce .exhibit-item-text-container {
    padding-right: 0;
    padding-left: 50px;
}
.exhibit-item-number {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 128px;
    line-height: 105px;
    font-weight: bold;
    text-align: right;
}
.reverce .exhibit-item-number {
    text-align: left;
}
.bg-green .exhibit-item-number {
    color: #76C088;
}
.bg-blue .exhibit-item-number {
    color: #65ABE0;
}
.bg-red .exhibit-item-number {
    color: #DA7868;
}
.bg-yellow .exhibit-item-number {
    color: #DBC251;
}
.bg-brown .exhibit-item-number {
    color: #B09571;
}
.bg-pink .exhibit-item-number {
    color: #CC8AC8;
}
.bg-orange .exhibit-item-number {
    color: #D49E60;
}
.bg-gray .exhibit-item-number {
    color: #848D86;
}
.exhibit-item-title {
    margin-top: 90px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}
.exhibit-item-text {
    color: #fff;
}
@media only screen and (max-width: 980px) {
    .exhibit-item {
        margin-bottom: 150px;
    }
    .exhibit-item-title {
        margin-top: 30px;
        font-size: 28px;
    }
    .exhibit-item-bg {
        top: 85px;
    }
    .exhibit-item-number {
        font-size: 100px;
        line-height: 100px;
    }
    .exhibit-item-text-container {
        padding-right: 0;
    }
    .reverce .exhibit-item-text-container {
        padding-left: 0;
    }
}
@media only screen and (max-width: 680px) {
    .exhibit-item {
        margin-bottom: 150px;
    }
    .exhibit-item .section-inner {
        padding: 0;
    }
    .exhibit-item-title {
        margin-top: 85px;
        font-size: 24px;
    }
    .exhibit-item-text-container {
        max-width: unset;
        width: 100%;
        padding: 0 20px;
    }
    .reverce .exhibit-item-text-container {
        padding: 0 20px;
    }
    .exhibit-item-text {
        line-height: 2;
    }
    .exhibit-item-bg {
        left: 0;
        top: 52px;
        height: calc(100% + 50px);
    }
    .reverce .exhibit-item-bg {
        right: 0;
        left: unset;
    }
    .exhibit-item-number {
        font-size: 72px;
        line-height: 55px;
    }
    .exhibit-item-img {
        width: 100%;
        margin: auto;
        padding-top: 40px;
    }
}
/* お知らせ一覧 */
.news-list-sec {
    padding: 50px 0 0;
}
.news-list-inner {
    max-width: 780px;
    width: 100%;
    margin: auto;
}
.news-list-sec .news_item_link {
    padding: 15px 5px;
    display: flex;
    align-items: center;
    gap: 70px;
}
.news-list-sec .news_item_meta {
    margin-bottom: 0;
}
.news-list-sec .news-list {
    position: relative;
    padding-bottom: 190px;
}
ul.page-numbers {
    position: absolute;
    background-color: #FFF;
    right: 0;
    left: 0;
    bottom: 95px;
    margin: auto;
    display: flex;
    justify-content: center;
    box-shadow: none;
}
.page-numbers {
    display: block;
    text-align: center;
    width: 40px;
    height: 36px;
    line-height: 36px;
    background-color: #fff;
    border-bottom: 2px solid #fff;
    color: #9F9F9F;
    margin: 0;
    box-shadow: none;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.current.page-numbers {
    border-bottom: 2px solid #0095D3;
    background-color: #fff;
    color: #0095D3;
}
.page-numbers.next, .page-numbers.prev {
    border-bottom: 2px solid #F8F3EE;
}
@media only screen and (max-width: 980px) {
    .news-list-inner {
        padding: 0 20px;
    }
}
@media only screen and (max-width: 680px) {
    .news-list-sec .news_item_link {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 10px;
    }
}
/* イベント一覧 */
.event-list-sec {
    padding: 100px 0 0;
}
.event-list {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 180px;
    gap: 20px 0;
}

.event-list::before {
    content: "";
    width: calc(100% / 2 - 10px);
    order: 1;
}
.event-list::after {
    content: "";
    width: calc(100% / 2 - 10px);
}
.event_item {
    width: calc(100% / 2 - 10px);
}
.event_item_link {
    display: flex;
    border: 5px solid #133453;
    background-color: #FFF;
    height: 100%;
    border-radius: 20px;
}
.event_item_link:hover  {
    opacity: 0.6;

}
.event_item:hover .mask img {
    transform: scale(1);
    transition: .3s ease-in-out;
    object-fit: cover;
    overflow: hidden;
    height: 100%;
}
.zoom_in img {
    transform: scale(1);
    transition: .3s ease-in-out;
    object-fit: cover;
    overflow: hidden;
    height: 100%;
}
.event_item:hover .mask img {
    transform: scale(1.1);
}
.event_item .zoom_in .mask:hover img {
    transform: unset;
}
.event_item_img {
    max-width: 210px;
    width: 37%;
    order: 1;
}
.event_item_info {
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    width: 63%;
    height: 100%;
    order: 2;
}
.event_item_title {
    color: #000;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin-bottom: 20px;
    flex: 1;
}

.event_item_title {
    display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
}
.event_item_title p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.event_item_text_container {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.event_item_text {
    color: #000;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin-bottom: 23px;
    flex: 1;
}
.event_item_text p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* 行数を指定 */
}
.event_item_day {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #133453;
}
.event_item_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.event_item_info .event_item_tag_list {
    margin-bottom: 15px;
}
.event_item_tag {
}
.event_item_tag a {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #0095D3;
    padding: 5px 25px;
    border: 2px solid #0095D3;
    border-radius: 30px;
    background-color: #FFF;
    display: block;
}
.event_item_tag a:hover {
    background-color: #0095D3;
    color: #FFF;
}
@media only screen and (max-width: 980px) {
    .section_title_container {
        margin-bottom: 50px;
    }
    .event-list-sec {
        padding: 50px 0 0;
    }
    .event-tab-list_item {
        font-size: 24px;
    }
    .event-tab-list {
        margin-bottom: 50px;
    }
    .event-tab-list_item.active::before {
        width: 45px;
        height: 40px;
        bottom: -25px;
    }
}
@media only screen and (max-width: 680px) {
    .section_title_container {
        margin-bottom: 30px;
    }
    .event-list {
        flex-direction: column;
        gap: 30px 0;
    }
    .event_item_link {
        flex-direction: column;
    }
    .event_item {
        width: 100%;
    }
    .mask {
        border-radius: 15px 15px 0 0;
    }
    .event_item_link {
        background-color: #DCEFF6;
    }
    .event_item_img {
        width: 100%;
        margin: auto;
    }
    .event_item_info {
        width: 100%;
        background-color: #fff;
        border-radius: 0 0 20px 20px;
    }
    .event-tab-list_item {
        font-size: 14px;
    }
    .event-tab-list_item.active::before {
        width: 45px;
        height: 40px;
        bottom: -25px;
    }
}
/* ポリシー */
.policy-sec {
    padding: 95px 0;
}
.policy-inner {
    max-width: 1000px;
    width: 100%;
    margin: auto;
}
.policy-container {
    margin-bottom: 50px;
}
.policy-container:last-child {
    margin-bottom: 0;
}
.policy-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
.policy-text {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
.policy-text-list {
    list-style: none;
    counter-reset: step;
}
.policy-text-list li {
    position: relative;
    counter-increment: step;
    padding-left: 1em;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}
.policy-text-list li:last-child {
    margin-bottom: 0;
}
.policy-text-list li::before {
    content: counter(step) ".";
    position: absolute;
    left: 0;
    top: 0;
    width: 1em;
    height: 1em;
    color: #000;
}
@media only screen and (max-width: 980px) {
    .policy-inner {
        padding: 0 20px;
    }
}
@media only screen and (max-width: 980px) {
    .policy-sec {
        padding: 50px 0;
    }
    .policy-title {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .policy-text-list li {
        font-size: 18px;
    }
}
@media only screen and (max-width: 680px) {
    .policy-sec {
        padding: 30px 0;
    }
    .policy-title {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .policy-text {
        font-size: 14px;
    }
    .policy-text-list li {
        font-size: 16px;
    }

}

/* お問い合わせ */

.contact-sec {
    padding: 95px 0 70px;
  }
  .contact-sec-inner {
    max-width: 900px;
    width: 100%;
    margin: auto;
  }
  .contact-sec-text {
    text-align: center;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 65px;
  }
  .contact-sec-btn {
    text-align: center;
    margin-bottom: 70px;
  }
  .contact-sec-btn-link {
    display: block;
    position: relative;
    max-width: 330px;
    width: 100%;
    margin: auto;
    padding: 20px 0;
    border-radius: 10px;
    overflow: hidden;
    border: 3px solid #0095D3;
    background-color: #0095D3;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
  }
  .contact-sec-btn-link:hover {
    background-color: #fff;
    color: #0095D3;
  }
  .contact_tel_btn_link span {
    font-size: 24px;
}
  .contact-form-container {
    background-color: #DCEFF6;
    border-radius: 100px;
  }
  .contact-form-container-inner {
    padding: 90px 0 115px;
    max-width: 790px;
    width: 100%;
    margin: auto;
  }
  .contact-box {
    margin-bottom: 25px;
  }
  .contact-box-flex {
    display: flex;
    flex-direction: column;
    gap: 10px 25px;
    margin-bottom: 15px;
  }
  .contact-name-box {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    line-height: 1.45;
  }
  
  
  .label-req {
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #EA5932;
    padding: 1px 6px;
    display: inline-block;
    height: 19px;
  }
  .contact-name-box {
    display: flex;
    /* justify-content: space-between;
    width: 250px; */
    gap: 10px;
    margin-bottom: 0;
  }
  .contact-nenrei-container {
    display: flex;
    align-items: center;
    /* width: calc(100% - 260px); */
    width: 100%;

  }
  .contact-nenrei-box {
    display: flex;
    align-items: baseline;
  }
  .contact-nenrei-text {
    width: 50px;
    display: flex;
    justify-content: center;
  }
  .contact-nenrei-input {
    width: calc(100% - 50px);
  }
  .contact-nenrei-input p {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .contact-nenrei-input input {
    border: 1px solid #000;
    background-color: #fff;
  }
  .contact-nenrei-text {
    
  }
  .contact-input {
    width: 100%;
  }
  .contact-input .form-naiyou {
    height: 150px;
  }
  .policy-agree-box {
    justify-content: center;
    margin-bottom: 45px;
  }
  .policy-agree-box label {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .policy-agree-btn-link {
    max-width: 250px;
    margin: auto;
    border-radius: 30px;
    padding: 10px 0;
  }
  .agree {
    width: 100%;
    margin-bottom: 30px;
  }
  .agree a {
    text-decoration: underline;
  }
  .agree a:hover {
    opacity: 0.6;
  }
  @media only screen and (max-width: 1100px) {
    .contact-sec-inner {
        padding: 0 20px;
    }
  }
  @media only screen and (max-width: 980px) {
    .contact-sec {
      padding: 40px 0 100px;
    }
    .contact-sec-text {
        margin-bottom: 50px;
    }
    .contact-sec-btn {
        margin-bottom: 50px;
    }
    .contact-form-container-inner {
        padding: 80px 20px;
    }
    .contact-text {
        margin-bottom: 30px;
    }
    .contact-btn-container {
        margin-bottom: 80px;
    }
    .contact-btn-title {
        font-size: 20px;
    }
  }
  
  @media only screen and (max-width: 680px) {
    .contact-sec {
      padding: 30px 0 80px;
    }
    .contact-btn-container {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 50px;
    }
    .contact-form-container {
        border-radius: 50px;
    }
    .contact-form-container-inner {
        padding: 50px 20px;
        border-radius: 50px;
    }
    .contact-sec-text {
        margin-bottom: 30px;
    }
    .contact-sec-btn {
        margin-bottom: 30px;
    }
    .contact-text {
        font-size: 16px;
    }
    .contact-text {
        margin-bottom: 20px;
    }
    .contact-name-box {
      justify-content: left;
      gap: 5px;
    }
    .contact-box-flex {
      flex-direction: column;
      gap: 20px 10px;
      margin-bottom: 20px;
    }
    .contact-box-flex .contact-box-title {
      margin-bottom: 0;
    }
    .contact-box-flex .contact-box-flex {
      flex-direction: row;
      align-items: center;
      margin-bottom: 0;
    }
    .contact-box-flex .contact-box-flex:first-child,
    .contact-box-flex .contact-box-flex:last-child,
    .contact-box-flex .contact-input {
      width: 100%;
  
    }
  }
/* お問い合わせ内容 */
.inquiry {
    margin-bottom: 20px;
    background-color: #fff7d9;
  }
  
  .wpcf7-form-control {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5px;
  }
  
  .wpcf7-list-item {
    margin-left: 0;
    margin-bottom: 20px;
  }
  .wpcf7-list-item.last {
    margin-bottom: 0;
  }
  .contact-input input,
  .contact-input textarea {
    background-color: #fff;
    border: 1px solid #000;
    height: 38px;
  }
  .contact-sec-inner .wpcf7-form-control {
    padding: 7px 5px;
    padding-left: 20px;
  }
  .wpcf7-list-item input {
    display: none;
  }
  .wpcf7 input[type="date"] {
    flex: 1; /* フレックスボックス内で適切な幅を確保 */
    max-width: 100%;
    -webkit-appearance: none; /* iOSのデフォルトスタイルをリセット */
    appearance: none;
}
  .form-control {}
  
  .btn-submit {
    height: 60px;
    max-width: 250px;
    width: 100%;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    background-color: #642A2A;
    border: 2px solid #642A2A;
    border-radius: 30px;
    text-decoration: none;
    display: block;
    text-align: center;
    text-align: center;
    margin: auto;
  }
  .btn-submit:hover {
    background-color: #fff;
    color: #642A2A;
  }
  @media only screen and (max-width: 850px) {
    .contact-sec-inner {
      padding: 0 20px;
    }
  }
  
  @media only screen and (max-width: 680px) {
    .inquiry {
      margin-bottom: 30px;
    }
    
    .contact-sec-inner .wpcf7-form-control {
        padding-left: 10px;
    }
  }
  
  /* ラベル文字の左側の余白：チェックボックの枠が入るスペース＋ラベル文字との余白 */
  .policy-agree input+span,
  .contact-koumoku input+span {
    padding-left: 45px;
    display: inline-block;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
  }
  
  /* チェックボックスの枠とチェックマークの共通書式 */
  .policy-agree input+span::after,
  .policy-agree input+span::before,
  .contact-koumoku input+span::after,
  .contact-koumoku input+span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
  }
  
  /* チェックボックスの枠 */
  .policy-agree input+span::before,
  .contact-koumoku input+span::before {
    border: 1px solid #DDD;
    background-color: #ffffff;
    height: 25px;
    width: 25px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  
  /* チェックマークにチェックが付いていない時 */
  .policy-agree input+span::after,
  .contact-koumoku input+span::after {
    border: none;
    background-color: #642A2A;
    border-radius: 50%;
    height: 12px;
    width: 12px;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
  }
  
  /* チェックマークにチェックが付いた時 */
  .policy-agree input:checked+span::after,
  .contact-koumoku input:checked+span::after {
    display: block;
  }

