section h2 {
    font-size: 3rem;
    margin-left: 3vw;
    margin-bottom: 3vw;
    line-height: .8;
    font-family: var(--e4n-font-eng);
    font-weight: 300;
}
section h2 span {
    font-size: 1.5rem;
    font-family: var(--e4n-font-jp);
}
section:nth-child(2) {
    padding-top: 2%;
}
.common__sub--overlay {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 15%, rgba(1, 0, 33, 0.6) 30%, rgba(3, 30, 75, 0.35) 50%, rgba(3, 30, 75, 0.2) 60%, rgba(3, 30, 75, 0) 90%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.common__sub--topTxt {
    position: relative;
}
.common__sub--topTxt h1 {
    position: absolute;
    font-size: 6.5vw;
    font-family: var(--e4n-font-eng);
    line-height: 1;
    font-weight: 100;
    top: 47%;
    transform: translateY(-47%);
    left: 27%;
    color: var(--e4n-font-white);
    z-index: 3;
    margin-right: 3vw;
}
section.common__sub--mv img {
    width: 100%;
    height: auto;
}
section.common__Breadcrumb nav {
    margin-left: 1.5vw;
    margin-bottom: 4vw;
}
section.common__Breadcrumb nav ol {
    list-style: none;
    padding: 0;
}

section.common__Breadcrumb nav li {
    display: inline;
    margin-right: 10px;
}

section.common__Breadcrumb nav li a {
    text-decoration: none;
}

section.common__Breadcrumb nav li::after {
    content: ">";
    margin-left: 10px;
}

section.common__Breadcrumb nav li:last-child::after {
    content: none;
}


section.common__accordion {
    margin-bottom: 7vw;
}
.common__sub--category {
    width: 70%;
    margin: 3vw auto 0;
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: unset;
}
.common__sub--category .accordion-item {
    border-bottom: 1px solid var(--e4n-accent-red);
    border-top: unset;
    border-right: unset;
    border-left: unset;
    border-radius: 0;
}
.common__sub--category .accordion-button:focus {
    box-shadow: none;
}
.common__sub--category .accordion-button:not(.collapsed),
.common__sub--category .accordion-button:focus {
    background-color: unset;
    border-color: unset;
}
.common__sub--category .accordion-item:first-of-type .accordion-button,
.common__sub--category .accordion-item:last-of-type .accordion-button.collapsed {
    border-radius: 0;
}
.common__sub--category ul li {
    list-style: none;
    padding: .5vw 0;
}
.common__sub--category ul li a {
    text-decoration: none;
}
.common__sub--category ul li a:hover {
    color: var(--e4n-accent-red);
}
.common__sub--category button {
    font-size: 1.6vw;
}
.common__sub--category ul  {
    display: flex;
    flex-direction: column;
    font-size: 1.2vw;
}






.common__sub--ribbon {
    display: inline-block;
    position: absolute;
    top: 0;
    left: .5rem;
    margin: 0;
    padding: .5rem 0;
    z-index: 2;
    width: 3rem;
    text-align: center;
    font-size: 1vw;
    color: white;
    font-family: var(--e4n-font-eng);
}
.common__sub--ribbon:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-bottom: 1rem solid transparent;
}
.common__sub--ribbon--new {
    background: var(--e4n-accent-red);
}
.common__sub--ribbon--new:after {
    border-left: 1.5rem solid var(--e4n-accent-red);
    border-right: 1.5rem solid var(--e4n-accent-red);
}
.common__sub--date {
    color: #939393;
    display: flex;
    align-items: center;
    justify-content: right;
}
.common__sub--date span.material-symbols-outlined {
    font-family: 'Material Symbols Rounded';
    font-size: 1.3vw;
    padding-right: .2rem;
}
.common__sub--date p {
    margin-bottom: 0 !important;
}
.common__sub--contents--wrap ul {
    width: 85%;
    margin: 4vw auto 0;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}
.common__sub--contents--wrap ul li {
    -webkit-box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.08);
    box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.08);
    margin-bottom: 3rem;
    width: 30%;
    position: relative;
    list-style: none;
    margin: 0 1.6% 4%;
}
.common__sub--contents--wrap ul li a {
    text-decoration: none;
}
.common__sub--contents--wrap ul li img {
    width: 100%;
    height: 11vw;
    object-fit: cover;
}
.common__sub--contents--wrap ul li a div div:first-of-type {
    padding: .5rem;
}
.common__sub--contents--wrap ul li a h3 {
    font-size: 1.3vw;
    margin-top: .5rem;
}
.common__sub--contents--wrap ul li a p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* 任意の行数を指定 */
    margin-bottom: .5rem;
    font-size: 1vw;
}
.common__sub--moreBtm {
    width: 14vw;
    text-align: center;
    text-decoration: none;
    line-height: 3vw;
    outline: none;
    color: var(--e4n-font-white);
    background-color: var(--e4n-accent-red);
    position: relative;
    border: 1px solid var(--e4n-accent-red);
    transition: color 0.5s ease;
    margin: 0vw 3vw 2vw auto;
    display: block;
}
.common__sub--moreBtm:hover {
    color: var(--e4n-accent-red);
}
.common__sub--moreBtm:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}
.common__sub--moreBtm::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--e4n-font-white);
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
}
.common__sub--moreBtm span {
    position: relative;
    font-family: var(--e4n-font-eng);
}

/* スマホ縦表示 (最大 575px) */
@media (max-width: 575px) {
    .common__sub--mv {
        margin-top: 15vw;
    }
    .common__sub--topTxt h1 {
        font-size: 10.5vw;
        left: 10%;
    }
    .common__accordion {
        margin-top: 3vw;
        margin-bottom: 0 !important;
    }
    section:nth-child(n+4) {
        margin-top: 15vw;
    }
    section.common__Breadcrumb nav li {
        font-size: 2.5vw;
    }
    section h2 {
        font-size: 10vw;
    }
    section h2 span {
        font-size: 3.5vw;
    }
    .common__sub--category {
        width: 90%;
    }
    .common__sub--category button {
        font-size: 3.5vw;
    }
    .common__sub--category ul {
        margin-bottom: 0;
    }
    .common__sub--category ul li {
        font-size: 3.2vw;
        line-height: 2;
    }
    .common__sub--category .accordion-body {
        padding: 0 1rem .5rem;
    }
    .common__sub--contents--wrap ul {
        flex-direction: column;
        align-items: center;
    }
    .common__sub--contents--wrap ul li {
        width: 95%;
        margin: 1rem 0;
    }
    .common__sub--contents--wrap ul li a h3 {
        font-size: 4vw;
    }
    .common__sub--contents--wrap ul li a p {
        font-size: 3.5vw;
    }
    .common__sub--date span.material-symbols-outlined {
        font-size: 4vw;
    }
    .common__sub--ribbon {
        font-size: 3.5vw;
    }
    .common__sub--moreBtm {
        width: 30vw !important;
        line-height: 8vw !important;
        margin: 6vw 4vw 0 auto !important;
    }
    .common__sub--contents--wrap ul li img {
        height: 50vw;
    }
}
/* スマホ横表示 (576px 以上かつ最大 767px) */
@media (min-width: 576px) and (max-width: 767px) {
    .common__sub--topTxt h1 {
        left: 10%;
    }
    .common__sub--category button {
        font-size: 2.5vw;
    }
    .common__sub--category ul {
        font-size: 2.2vw;
    }
    .common__sub--contents--wrap ul li {
        width: 45%;
    }
    .common__sub--contents--wrap ul li img {
        height: 25vw;
    }
    .common__sub--contents--wrap ul {
        justify-content: center;
    }
    .common__sub--contents--wrap ul li a h3 {
        font-size: 2.3vw;
    }
    .common__sub--contents--wrap ul li a p {
        font-size: 2vw;
    }
    .common__sub--ribbon {
        font-size: 2vw;
    }
    .common__sub--moreBtm {
        width: 30vw;
        line-height: 6vw;
        margin: 0vw auto 10vw;
    }
    .common__sub--moreBtm span {
        font-size: 1.5rem;
    }
}
/* タブレット縦表示 (768px 以上かつ最大 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .common__sub--topTxt h1 {
        left: 10%;
    }
    .common__sub--category button {
        font-size: 2.3vw;
    }
    .common__sub--category ul {
        font-size: 2vw;
    }
}