@charset "UTF-8";
/*====================================================*/
/* mv */
/*====================================================*/
.mv {
    position: relative;
}
.mv picture {
    aspect-ratio: 23 / 8;
    overflow: hidden;
}
.mv picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mv-text {
    width: 89%;
    padding: 0.5em 0;
    background-color: rgba(255, 217, 172, 0.8);
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    position: absolute;
    left: 0;
    bottom: -2.8rem;
}
.mv-text p {
    margin-left: min(2.7vw, 10px);
    font-size: clamp(14px, 4.3vw, 18px);
    font-weight: 700;
    line-height: 1.6;
}
@media print,screen and (min-width: 1025px){
    .mv picture {
        aspect-ratio: 240 / 83;
    }
    .mv-text {
        width: 66%;
        padding: 2.9rem 0;
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
        bottom: 1.8rem;
    }
    .mv-text p {
        margin-left: min(1.6vw, 24px);
        font-size: clamp(20px, 1.9vw, 28px);
    }
}

/*====================================================*/
/* ニュース */
/*====================================================*/
.front .news {
    margin-top: 6.3rem;
    padding-bottom: 2rem;
    border-bottom: var(--border);
}
.front .news h2 {
    font-size: 1.4rem;
    font-weight: 700;
    white-space: nowrap;
}
.news-post a {
    display: flex;
    align-items: center;
    transition: var(--transition);
}
.news-post a > div {
    margin-left: min(3.2vw, 12px);
    padding-left: min(2.5vw, 9.5px);
    border-left: 1px solid #707070;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.news-post a time {
    display: inline-block;
    margin-right: min(2.5vw, 9.5px);
}
.news-post a h3 {
    display: inline;
}
.news-post a:hover {
    opacity: 0.5;
}
.news-list > a:hover {
    opacity: 0.5;
}

/* コメント */
.main-comment p {
    line-height: 1.5;
    letter-spacing: normal;
}
.front-link {
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.front-link img {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
}
.front-link a {
    text-decoration: underline;
}

/* お知らせ一覧 */
.news-list {
    margin-top: 5rem;
}
.news-list h2 {
    padding: 8px 0.5em;
    background-color: #E6F4D0;
    font-size: 1.4rem;
    font-weight: 700;
}
.news-list ul {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
}
.news-list li {
    display: grid;
    grid-template-columns: 1fr 21px;
    grid-column-gap: 1em;
    align-items: flex-end;
    justify-content: space-between;
    padding: 7px 0;
    border-bottom: 1px dotted var(--green);
    font-size: 1.2rem;
}
.news-list li > div {
    display: flex;
    align-items: center;
}
.news-list li > div > div {
    margin-left: 1.2rem;
    padding: 7px 0 7px 1rem;
    border-left: 1px solid #707070;
}
.news-list li time {
    display: inline-block;
    margin-right: 0.5em;
    white-space: nowrap;

}
.news-list li .new_label {
    display: inline-block;
}
.news-list li .news-post_title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-top: 1rem;
}

.news-list > a {
    width: 8.5em;
    margin-left: auto;
    color: var(--green);
    font-size: 1rem;
    position: relative;
    transition: var(--transition);
}
.news-list > a::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url(../img/arrow.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    filter: invert(80%) sepia(24%) saturate(6104%) hue-rotate(36deg) brightness(101%) contrast(87%);
}

@media print,screen and (max-width: 1024px){
    .news-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
    }
    /* コメント */
    .main-comment .head-title {
        padding-top: 1rem;
    }
    .front-link.pc_only {
        display: none;
    }
	
    .news-list .link-btn {
        width: 2.1rem;
        height: 2.1rem;
        padding: 0;
        border-radius: 60vh;
        line-height: 2.1rem;
        text-align: center;
        position: relative;        
    }
    .news-list .link-btn::after {
        right: 0.5rem;
    }
}
@media print,screen and (min-width: 1025px){
    .front .news {
        display: grid;
        grid-template-columns: 1fr 140px;
        grid-column-gap: min(2.6vw, 40px);
        align-items: center;
        justify-content: space-between;
        margin-top: 3.3rem;
        padding-bottom: 3.4rem;
        padding-left: calc( 40 * 100% / 1500 );
        padding-right: calc( 70 * 100% / 1500 );
    }
    .front .news > div {
        display: flex;
        align-items: center;
    }
    .front .news h2 {
        margin-right: 5.2rem;
        margin-right: min(3.5vw, 52px);
        font-size: 2rem;
    }
    .news-post a > div {
        margin-left: min(1.6vw, 25px);
        padding-left: min(1.5vw, 23px);
    }
    .news-post a time {
        margin-right: 1.6rem;
    }
    
    
    /* 2カラム */
    .front .two-column article section {
        padding-right: min(0.8vw, 12px);
    }
    /* コメント */
    .main-comment .head-title {
        padding-left: 1rem;
    }
    .main-comment p {
        line-height: 1.87;
    }
    .front-link.sp_only {
        display: none;
    }
	
    /* お知らせ一覧 */
    .news-list {
        margin-top: 12rem;
    }
    .news-list h2 {
        padding: 1rem 1em;
        font-size: 2rem;
    }
    .news-list ul {
        margin-top: 0.7rem;
        margin-bottom: 1.6rem;
        padding-left: min(0.8vw, 12px);
    }
    .news-list li {
        grid-template-columns: 1fr 140px;
        grid-column-gap: 1rem;
        align-items: center;
        padding: 1.9rem 0 1.6rem;
        font-size: 1.6rem;
    }
    .news-list li > div > div {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 2.5rem;
        padding: 8px 0 8px 2.2rem;
    }
    .news-list li time {
        margin-right: 1em;
    }
    .news-list li .new_label {
        margin-right: 1em;
        white-space: nowrap;
    }
    .news-list li .news-post_title {
        margin-top: 0;
    }
}
@media print,screen and (min-width: 1250px){
    .news-list li > div {
        display: flex;
        align-items: center;
    }
}