@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap');

.mainVisual {
    width: 100%;
    position: relative;
    margin: 0 0 50px;
}

.mainVisual::after {
    opacity: 0.8;
    content: '';
    background: transparent url('/common/img/pattern001.png') repeat center center;
    /* background-size: 4px 4px; */
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 200;
}

.mainVisual ul {
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

.mainVisual ul li {
    width: 100%;
    height: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

.mainVisual ul li img {
    width: 100%;
    height: 36.0vw;
    object-fit: cover;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    transition: 9.0s transform linear;
    transform: scale(1.1);
}

.mainVisual ul li.slick-active img {
    transform: scale(1.0);
}

.mainVisual p.catch_copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    z-index: 999;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 30px;
    letter-spacing: 0.18em;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0,0,0,0.5);
}

.mainMenu {
    display: flex;
    justify-content: space-around;
    list-style: none;
}

.mainMenu .menuItem {
    width: calc((100% - 120px) / 2);
}

.mainMenu .menuItem a {
    display: block;
    transition: 0.3s all ease;
}

.mainMenu .menuItem a img {
    width: 100%;
    object-fit: cover;
}

.mainMenu .menuItem a:hover {
    opacity: 0.7;
}

.mainMenu .menuItem p.menu_ttl {
    font-size: 20px;
    font-weight: bold;
    border-left: 7px solid #d10000;
    margin: 1.0em 0 0.5em;
    padding: 0.3em 0.5em;
    letter-spacing: 0.05em;
}

.mainMenu .menuItem p.menu_description {
    color: #777;
}

/* ---------------------- */
/* Responsive Styles */
/* ---------------------- */
@media screen and (max-width: 768px) {
    .mainMenu .menuItem {
        width: calc((100% - 50px) / 2);
    }

    .mainVisual p.catch_copy {
        font-size: 5.0vw;
    }
}

/* ---------------------- */
/* Responsive Styles */
/* ---------------------- */
@media screen and (max-width: 480px) {
    .mainVisual ul li img {
        height: 80.0vw;
    }

    .mainMenu {
        display: block;
    }
    
    .mainMenu .menuItem {
        width: 100%;
        margin: 0 0 50px;
    }

    .mainMenu .menuItem p.menu_ttl {
        margin: 20px 0 0.3em; 
    }
}