@charset "UTF-8";

:root {
    --color-base: #404040;
    --color-green: #168D43;
    --color-bg-green: #67815F;
    --color-brown: #8E7A48;
    --color-bg-brown: #968A6F;
    --color-line: #DBDBDB;
    --font-family-base: "Zen Kaku Gothic New", sans-serif;
    --font-family-min: "Sawarabi Mincho", serif;
    --font-family-en: "Cinzel", serif;
    --container-max-width: 1200px;
    --inner-max-width: 786px
}

@keyframes loading {
    0% {
        transform: translate(0) rotate(-7deg)
    }

    50% {
        transform: translateY(-7px) rotate(0)
    }

    to {
        transform: translate(0) rotate(7deg)
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes slide-up {
    0% {
        transform: translateY(40px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.p-mv {
    position: relative
}

.p-mv .splide__list {
    align-items: center
}

.p-mv .splide__pagination {
    bottom: 15px;
    gap: 15px
}

.p-mv .splide__pagination__page {
    background-color: #fff;
    opacity: .4;
    height: 14px;
    margin: 0;
    width: 14px
}

.p-mv .splide__pagination__page.is-active, .p-mv .splide__pagination__page:hover {
    opacity: 1;
    transform: inherit;
    z-index: 1
}

.p-mv .c-mv__label {
    bottom: min(50px, 3.4722vw);
    filter: drop-shadow(0 4px 50px #0000000d);
    left: min(138px, 10.972vw);
    position: absolute;
    width: 200px;
    z-index: 10
}

.p-mv .c-mv__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*max-height:720px*/
}

.p-mv .c-mv__item a:hover {
    opacity: .7;
}

.p-mv .c-mv__item img {
    border-radius: 40px;
    /*height:calc(100% - 70px);*/
    transition: all .3s ease;
    object-fit: cover
}

.p-mv .c-mv__item.is-active img {
    /* height: 100% */
}

@media(max-width:767.98px) {
    .p-mv .c-mv__label {
        left: 30px;
        width: 100px
    }

    .p-mv .c-mv__item {
        align-items: stretch;
    }

    .p-mv .c-mv__item img {
        height: 100%;
    }

    .p-mv .c-mv__item a {
        display: block;
        height: 100%;
    }

    .p-mv .c-mv__item picture {
        display: block;
        height: 100%;
        text-align: center;
    }

    .p-mv .c-mv__item picture img {
        object-fit: contain;
    }

    /* .p-mv .c-mv__item>img {
        height: 100%;
        aspect-ratio: 1 / 0.933;
    } */
}

.p-intro .l-container {
    flex-wrap: wrap;
    gap: 80px 40px
}

.p-intro .l-container:has(> :nth-child(2)) {
    display: flex;
}

.p-intro .p-news, .p-intro .p-event {
    flex-basis: 100%
}

.p-intro .p-news .c-hdg01, .p-intro .p-event .c-hdg01 {
    margin-block-end: 65px
}

.p-event {
	margin-block-start: 0;
}

@media(min-width:768px) {
    .p-intro .p-news {
        flex-basis: calc(69.167% - 40px)
    }

    .p-intro .p-event {
        flex-basis: 30.833%
    }
}

.p-intro .p-news .c-link {
    margin-block-start: 50px
}

.p-intro .p-event .c-link {
    margin-block-start: 40px
}

.p-materials .c-hdg01 {
    margin-block-end: 60px
}

.p-materials .c-btns {
    margin-block-start: 50px;
    padding-inline: min(8.333vw, 120px)
}

@media(max-width:1200px) {
    .p-materials .c-btns {
        padding-inline: 20px
    }
}

.p-materials .c-materials__slide .splide__arrows {
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    margin-block-end: 18px
}

.p-materials .c-materials__slide .splide__arrow {
    background: inherit;
    border: solid 1px rgba(255, 255, 255, .4);
    border-radius: 0;
    color: #fff;
    line-height: 2;
    opacity: 1;
    position: static;
    transform: inherit;
    transition: all .3s ease;
    height: 50px;
    width: 50px
}

.p-materials .c-materials__slide .splide__arrow:hover {
    background-color: #fff6
}

.p-materials .c-materials__slide .splide__arrow[disabled] {
    opacity: .4;
    cursor: default
}

.p-materials .c-materials__slide .splide__arrow[disabled]:hover {
    background-color: transparent
}

.p-applications .c-hdg01 {
    margin-block-end: 50px
}

.p-applications .c-thumb-link {
    gap: 28px
}

.p-access {
    color: #fff;
    font-weight: 500
}

.p-access.bg-brown:before {
    background-image: url(../images/common/brown_bg.svg), url(../images/common/brown_bg.svg);
    background-repeat: repeat-y;
    background-position: left 38px top, right 38px top;
    background-size: 5% auto
}

.p-access .c-hdg01 {
    margin-block-end: 90px
}

.p-access .map {
    margin-block-end: 28px
}

.p-access .map iframe {
    aspect-ratio: 2.194/1;
    width: 100%
}

.p-access address {
    line-height: 1.6;
    margin-block-end: 28px;
}

.p-access .txt {
    line-height: 1.8
}

@media(max-width:767.98px) {
    .p-access.bg-brown:before {
        background-position: left top, right top
    }
}

.p-materials .bg-green {
    padding-block: 90px 220px
}

.p-materials .bg-green::before {
    background-image: url(../images/common/green_bg_01.svg), url(../images/common/green_bg_02.svg), url(../images/common/green_bg_03.svg), url(../images/common/green_bg_04.svg);
    background-repeat: no-repeat;
    background-position: left min(60px, 4.166%) top 38px, right min(60px, 4.166%) top 38px, left min(60px, 4.166%) bottom 38px, right min(60px, 4.166%) bottom 38px;
    background-size: min(130px, 9.0277%) auto;
}

@media (max-width: 767.98px) {
	.p-materials .bg-green {
		padding-block: 90px 140px;
	}
}