@charset "UTF-8";

/* -------------------------------------------------------
    共通（PC/SP 共通で使える部分）
-------------------------------------------------------- */
/* ---------- ヘッダーロゴ ---------- */
.logo_top {
    display: block;
}
.logo_ot {
    display: none;
}

/* ---------- スライダー ---------- */
#slideblk1 {
    margin: 0;
    padding: 0;
}

#slideblk1 img {
    display: block;
    height: 50vh;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
}

#slideblk1 .slick-box1 {
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}

#slideblk1 .slick-track {
    display: flex !important;
}

#slideblk1 figure {
    margin: 0;
}

/* ---------- h2 共通 ---------- */
#leadsec h2,
#photomenu h2,
#gallery h2,
#campaign h2,
#news h2 {
    text-align: center;
    font-size: 45px;
    margin: 0 auto;
    line-height: 1;
    font-family: "Red Rose", serif;
}

#leadsec h2 span,
#photomenu h2 span,
#gallery h2 span,
#campaign h2 span,
#news h2 span {
    display: block;
    font-size: 14px;
    margin: 5px 0 30px;
    font-weight: 200;
}

/* ---------- リードセクション共通 ---------- */
#leadsec {
    margin: 50px 0;
}

#leadsec p {
    text-align: center;
    line-height: 2;
    margin: 0 auto 50px;
}

/* ---------- photomenu / campaign 共通 ---------- */
#photomenu,
#campaign {
    background-color: #f5f6fb;
}

#photomenu p,
#campaign p {
    font-size: 14px;
    text-align: center;
    letter-spacing: 1.5px;
    line-height: 1.7;
}

#photomenu ul,
#campaign ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

#photomenu .linkbn_menu a,
#campaign .linkbn_menu a {
    display: block;
    margin: 10px auto;
    padding: 10px 20px;
    font-size: 1em;
    text-align: center;
    color: #474a4d;
    background-color: #fff;
    border: 1px solid #6c727c;
    border-radius: 5px;
    text-decoration: none;
}

/* ---------- gallery 共通 ---------- */
#gallery,
#news {
    background-color: #ffffff;
}

#gallery ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

#gallery .imgphoto {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px auto 10px;
}

/* ---------- campaign 共通 ---------- */
#campaign .cpitem {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

/* -------------------------------------------------------
   PC（769px以上）
-------------------------------------------------------- */
@media screen and (min-width: 769px) {

    /* インフォメーション */
    #importantns {
        background-color: #f5f6fb;
        padding: 20px;
    }

    #importantns div {
        width: 80%;
        margin: 0 auto;
    }

    #importantns .imtitle,
    #importantns .imdate,
    #importantns .imtxt {
        font-size: 13px;
    }

    #importantns .imtitle,
    #importantns .imdate {
        padding-right: 30px;
    }

    /* リードセクション */
    #leadsec dl,
    #news dl {
        border-top: 1px dashed #ccc;
        width: 40%;
        margin: 0 auto;
    }

    #leadsec .newsitm,
    #news .newsitm {
        display: flex;
        margin: 20px auto;
        border-bottom: 1px dashed #ccc;
        padding-bottom: 10px;
    }

    #leadsec .newsitm dt,
    #news .newsitm dt {
        width: 30%;
        text-align: right;
        font-size: 13px;
    }

    #leadsec .newsitm dd,
    #news .newsitm dd {
        width: 70%;
        font-size: 13px;
    }

    /* photomenu */
    #photomenu ul {
        width: 70%;
    }

    #photomenu li {
        width: calc(25% - 60px);
        margin: 0 30px 30px;
    }

    #photomenu img {
        width: 100%;
        max-width: 250px;
        border-radius: 15px;
    }

    .link2clm {
        display: flex;
        width: 60%;
        margin: 0 auto;
    }

    .linklt {
        width: 50%;
        padding: 10px;
    }

    /* gallery */
    #gallery ul {
        width: 70%;
    }

    #gallery li {
        width: calc(25% - 40px);
        margin: 0 20px 30px;
    }

    .imgphoto img {
        width: 220px;
        height: 220px;
        object-fit: cover;
    }

    /* campaign */
    #campaign .cpitem {
        width: 70%;
    }

    #campaign .box {
        width: calc(33.3% - 20px);
        margin: 0 20px 10px 0;
    }

    #campaign .box:nth-child(3n) {
        margin-right: 0;
    }

    #campaign .box img {
        width: 100%;
        max-width: 350px;
        border-radius: 5px;
    }
}

/* -------------------------------------------------------
   SP（769px以下）
-------------------------------------------------------- */
@media screen and (max-width: 769px) {

    /* インフォメーション */
    #importantns {
        background-color: #f5f6fb;
        padding: 10px 0 10px 10px;
    }

    #importantns div {
        width: 100%;
    }

    #importantns .imtitle {
        font-weight: 500;
    }

    /* リードセクション */
    #leadsec dl,
    #news dl {
        border-top: 1px dashed #ccc;
        width: 100%;
    }

    #leadsec .newsitm dt,
    #news .newsitm dt {
        width: 20%;
    }

    #leadsec .newsitm dd,
    #news .newsitm dd {
        width: 80%;
    }

    /* photomenu */
    #photomenu ul {
        width: 100%;
    }

    #photomenu li {
        width: calc(50% - 20px);
        margin: 0 5px 30px;
        font-weight: 600;
    }

    #photomenu img {
        width: 100%;
        max-width: 250px;
        border-radius: 8px;
    }

    .w40per,
    .link2clm {
        width: 100%;
    }

    /* gallery */
    #gallery ul {
        width: 100%;
    }

    #gallery li {
        width: calc(50% - 20px);
        margin: 0 10px 30px;
    }

    .imgphoto img {
        width: 100%;
        aspect-ratio: 1/1;
        object-fit: cover;
    }

    /* campaign */
    #campaign .cpitem {
        width: 100%;
    }

    #campaign .box {
        width: 100%;
        margin: 10px 0 20px;
    }
}
