@import url("/common/css/keyvisual.css?20250108");

.kv_wrap_bg {
    background-image: url(/common/img/news/kv_news_bg.jpg) !important;
    background-size: cover !important;
    /*    background-position: 79% 41% !important;
    background-size: 124vw !important;
*/
}

.news .kv_text {
    width: 20cqw;
}

.news .kv_wrap2 {
    margin-top: 0;
}

.news .narrow {
    align-items: center;
    background-color: #595757;
    display: block;
    height: 100%;
    padding: 0 0vw 0 2vw;
    width: auto;
    height: 4vw;
    text-align: center;
    width: fit-content;
    margin-bottom: 2vw;
    display: flex;
    justify-content: left;
    gap: 0;
    background-color: #595757;
    padding-right: 2vw;
    margin-left: auto;
    margin-top: -6vw;
}

.news .narrow a {
    display: flex;
    gap: 1vw;
    padding: 0;
}

.news .narrow .icon_narrow {
    width: 1vw;
    height: fit-content;
    height: auto;
    margin: 0.5vw 0;
}

.news .narrow span {
    color: #fff;
    font-size: 1.1vw;
    font-weight: 500;
    transition: all 0.5s;
}

.news .ttl a {
    white-space: pre-wrap;
}

/* ***************************************
    tab
*************************************** */

.news .tab {
    height: 4vw;
    text-align: center;
    width: fit-content;
    margin-bottom: 2vw;
    display: flex;
    justify-content: left;
    gap: 0;
    background-color: #595757;
    padding-right: 2vw;
}

.news .tab li a {
    display: block;
    height: 100%;
    color: #fff;
    border-bottom: none;
    line-height: 4vw;
    padding: 0 0vw 0 2vw;
    margin: 0;
    letter-spacing: 0px;
    cursor: pointer;
    width: auto;
    font-weight: 500;
    opacity: 0.5;
    transition: all 0.5s;
    font-size: 1.1vw;
}

.news .tab li a.act {
    opacity: 1;
}

.news .tab li a:hover {
    opacity: 1;
}

/* --------------------------------------------
    cat
-------------------------------------------- */
.cat {
    margin-bottom: 0.5vw;
}

.cat li {
    display: inline;
    margin-right: 0.3vw;
}

.cat li a {
    font-weight: 500;
    font-size: 1vw;
    background-color: #f1f1f1;
    padding: 0.3em 0.6em;
}

/* --------------------------------------------
    thumnail_img
-------------------------------------------- */

.thumnail_img {
    width: 360px;
    float: left;
    height: auto;
    height: 220px;
    min-height: auto;
    background-position: center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    transition: all 0.5s;
}

.thumnail_img:hover {
    background-size: 120% auto;
    opacity: 1;
}

.thumnail_img img {
    width: 360px;
}

.thumnail_txtbox {
    float: right;
    width: calc(100% - 400px);
    overflow: hidden;
}

.thumnail_txtbox .date {
    letter-spacing: 0;
    white-space: nowrap;
    margin-bottom: 0.5vw;
    line-height: 1;
    font-size: 0.9vw;
}

.thumnail_txtbox .ttl {
    margin-top: 3px;
    white-space: nowrap;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 15px;
    font-weight: 500;
}

/* ***************************************
    modal
*************************************** */
.modal_bg .news_modal {
    display: block;
}

.news_modal {
    display: none;
    width: 640px;
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -320px;
    margin-top: -100px;
    padding: 20px;
    padding-bottom: 10px;
    background-color: #fff;
    z-index: 101;
}

.news_modal .close_btn {
    position: absolute;
    right: 0.5vw;
    top: 0.5vw;
    cursor: pointer;
}

.news_modal h3 {
    text-align: center;
    font-size: 26px;
}

.news_modal p {
    text-align: center;
    font-size: 1vw;
    margin-bottom: 20px;
}

.news_modal ul {
    margin-left: -10px;
}

.news_modal ul li {
    font-size: 1vw;
    display: inline-block;
    margin-left: 10px;
    margin-bottom: 10px;
}

.news_modal ul li a {
    line-height: 2;
    background-color: #E5E5E5;
    display: inline-block;
    text-decoration: none;
    padding: 5px 20px;
}