@charset "utf-8";

/* News Archive
---------------------------------------*/
/* 冒頭 */
.n_summary {
    padding: 0 0 12rem;
}
@media screen and (max-width : 767px) {
    .n_summary {
        padding: 0 0 7rem;
    }
}

.n_archive_featured {
    background-color: #F5F5F5;
    padding: 5rem 0;
}
.n_archive_featured_row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0 !important;
}
.n_archive_featured_row .img {
    grid-column: 6 / -1;
    order: 2;
}
.n_archive_featured_row .tmb_box {
    width: 100%;
    height: 100%;
}
.n_archive_featured_row .tmb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.n_archive_featured_row .txt {
    grid-column: 1 / 6;
    padding: 6rem 5rem 8rem;
    background-color: #fff;
    display: flex;
    flex-flow: column;
    gap: 3rem;
    order: 1;
}
.n_archive_featured_row .txt .emphasis {
    color: #4E4C4C;
    margin: 0 0 1rem;
    font-size: 2.0rem;
    font-weight: 700;
}
.n_archive_featured_row .txt .ttl {
    margin-bottom: 4rem;
    padding-right: 5rem;
}
.n_archive_featured_row .txt .info {
    margin-top: auto;
    position: relative;
}
.n_archive_featured_row .txt .ribbon {
    display: inline-block;
    background-color: #E60013;
    color: #fff;
    text-align: center;
    padding: .6rem .8rem;
    font-size: 1.2rem;
    letter-spacing: .05rem;
    line-height: 1;
    font-weight: 700;
    border-radius: .4rem;
}
.n_archive_featured_row .txt .date {
    display: inline-block;
    font-size: 1.3rem;
    margin-left: 1.5rem;
}

a.n_archive_featured_row .info::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 6.2rem;
    height: 6.2rem;
    background-color: #F5F5F5;
    border-radius: 50%;
    background-image: url(/jp/assets/images/common/icon_arrow_rd.svg);
    background-repeat: no-repeat;
    background-size: .7rem;
    background-position: center;
    transition: .2s ease;
}
a.n_archive_featured_row:hover .info:after {
    background-color: #E60013;
    background-image: url(/jp/assets/images/common/icon_arrow_wh.svg);
}

@media screen and (max-width : 767px) {
    .n_archive_featured {
        padding: 3rem 0;
    }
    .n_archive_featured_row {
        grid-template-columns: auto;
    }
    .n_archive_featured_row .img {
        grid-column: span 12;
        order: 1;
    }
    .n_archive_featured_row .txt {
        order: 2;
        padding: 3rem 3rem 6rem;
        gap: 1.5rem;
    }
    .n_archive_featured_row .txt .ttl {
        margin-bottom: 2.5rem;
    }
    a.n_archive_featured_row .txt::after {
        width: 3.8rem;
        height: 3.8rem;
    }
}

/* n_archive_news */
.n_archive_news {
    padding-top: 12rem;
    padding-bottom: 10rem;
}
@media screen and (max-width : 767px) {
    .n_archive_news {
        padding-top: 5rem;
        padding-bottom: 4rem;
    }
}

.n_archive_news_head {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width : 767px) {
    .n_archive_news_head {
        display: block;
    }
}

.n_archive_news_list_wrap {
    background-color: #F5F5F5;
    padding: 5rem 4rem;
}
.n_archive_news_list {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem 2.2rem;
}
.n_archive_news_item {
    grid-column: span 3;
}
.n_archive_news_item .blk {
    display: block;
    background-color: #fff;
    border-radius: .8rem;
    height: 100%;
}
.n_archive_news_item a {
    color: #005AFF;
}
.n_archive_news_item .tmb_box {
    width: 100%;
}
.n_archive_news_item .tmb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.n_archive_news_item .txt {
    padding: 2rem 3rem 5rem;
}
.n_archive_news_item .date {
    font-size: 1.3rem;
    margin: 0 0 .5rem;
}
.n_archive_news_item .ttl {
    font-weight: 700;
}
.n_archive_news_item a:hover {
    text-decoration: underline;
}

@media screen and (max-width : 767px) {
    .n_archive_news_list_wrap {
        padding: 3rem 1.8rem;
    }
    .n_archive_news_list {
        grid-template-columns: auto;
        gap: 1.6rem;
    }
}

/* events */
.n_archive_events {
    padding-top: 8rem;
    padding-bottom: 12rem;
}
@media screen and (max-width : 767px) {
    .n_archive_events {
        padding-top: 5rem;
        padding-bottom: 6rem;
    }
}
.n_archive_events_list {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem 2.2rem;
}
.n_archive_events_item {
    grid-column: span 3;
}
.n_archive_events_item .blk {
    display: block;
    background-color: #F5F5F5;
    border-radius: .8rem;
    height: 100%;
}
.n_archive_events_item .tmb_box {
    width: 100%;
    /* height: 14rem; */
    aspect-ratio: 2.5 / 1;
}
.n_archive_events_item .tmb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.n_archive_events_item .txt {
    padding: 2.5rem 3rem 5rem;
}
.n_archive_events_item .info {
    margin-top: auto;
}
.n_archive_events_item .ribbon {
    display: inline-block;
    vertical-align: middle;
    background-color: #E60013;
    color: #fff;
    text-align: center;
    padding: .5rem .8rem .4rem;
    font-size: 1.2rem;
    letter-spacing: .05rem;
    line-height: 1;
    font-weight: 700;
    border-radius: .2rem;
}
.n_archive_events_item .date {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.3rem;
    margin-left: 1.5rem;
}
.n_archive_events_item .ttl {
    font-weight: 700;
    margin: 1.5rem 0 0;
}
.n_archive_events_item a:hover {
    text-decoration: underline;
}

@media screen and (max-width : 767px) {
    .n_archive_events_list {
        grid-template-columns: auto;
        padding: 2rem 0;
        gap: 1.6rem;
    }
}

/* Events
---------------------------------------*/
.events_item {
    margin: 4rem 0 6rem;
}
.events_item_body {
    padding: 1rem 0 0;
}
.events_item_term {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 1.5rem;
}

@media screen and (max-width : 767px) {
    .events_item_row {
        gap: 1rem;
    }
    .events_item_body {
        padding: 0;
    }
}

/* News Single
---------------------------------------*/
.n_single_row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.6rem;
    padding-top: 5rem;
}
@media screen and (max-width : 1200px) {
    .n_single_row {
        grid-template-columns: auto;
        padding-top: 0;
    }
}

/* n_single_side */
.n_single_side {
    grid-column: 1 / 3;
    padding: 2rem 2rem 0 0;
}
@media screen and (max-width : 1200px) {
    .n_single_side {
        grid-column: span 13;
        margin: 0 0 3rem;
    }
}

.n_btn_back {
    display: block;
    background-color: #F5F5F5;
    color: #b1b1b1;
    font-size: 1.6rem;
    padding: .6rem 1rem .6rem .6rem;
    position: relative;
    border-radius: 4rem;
    max-width: 17.5rem;
}
.n_btn_back::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    margin: 0 1rem 0 0;
    background-color: #fff;
    background-image: url(/jp/assets/images/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: .9rem;
    background-position: center;
    transition: .2s ease;
    transform: scale(-1, -1)
}
.n_btn_back:hover {
    color: #000;
}
.n_btn_back:hover:before {
    background-color: #E60013;
    background-image: url(/jp/assets/images/common/icon_arrow_wh.svg);
}

/* article */
.n_single_article {
    padding: 1rem 0 8rem;
    grid-column: 4 / 11;
    position: relative;
    gap: 0 1.6rem
}
@media screen and (max-width : 1200px) {
    .n_single_article {
        grid-column: span 13;
    }
}
@media screen and (max-width : 767px) {
    .n_single_article {
        padding: 0 0 7rem;
    }
}

/* article parts */
.n_single_article h1 {
    font-size: clamp(2.6rem, 1.17rem + 2.98vw, 4rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 5rem 0 2rem;
    font-feature-settings: "palt";
}
.n_single_article h2 {
    font-size: clamp(2rem, 1.733rem + 1.33vw, 3rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 3.5rem 0 1.5rem;
}
.n_single_article h3 {
    font-size: clamp(2rem, 1.591rem + 0.85vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 3.5rem 0 1.5rem;
}
.n_single_article h4 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 3rem 0 1rem;
}

.n_single_article p + p {
    margin-top: 1.5rem;
}
.n_single_article p + img {
    margin-top: 1.5rem;
}
.n_single_article p + figure {
    margin-top: 1.5rem;
}
.n_single_article figure + p {
    margin-top: 2rem;
}
.n_single_article figure + figure {
    margin-top: 2.5rem;
}

.n_single_article p a {
    color: #005AFF;
}
.n_single_article p a:hover {
    text-decoration: underline;
}

.n_single_article table {
    width: 100%;
    border-collapse: collapse;
    margin: 2.5rem 0;
}
.n_single_article table th, .n_single_article table td {
    padding: 1.3rem 2.5rem 1.2rem;
    line-height: 1.65;
    text-align: left;
    font-size: clamp(1.4rem, 1.373rem + 0.13vw, 1.5rem);
    border-top: solid 1px #dddddd;
}

/* date */
.n_single_article .date {
    color: #005AFF;
    font-size: 1.2rem;
}

/* info */
.n_single_article .gray {
    color: #797574;
    margin: 1.5rem 0;
}
.n_single_article .info a:hover {
    text-decoration: none;
}
.n_single_article .info.right {
    text-align: right;
}

/* hr */
.n_single_article hr {
    background-color: #D2D2D2;
    height: 1px;
    border: none;
    margin: 3.5rem 0 2.5rem;
}

/* list */
.n_single_article ul {
    margin: 2rem 0 1rem;
}
.n_single_article ul li {
    position: relative;
    padding: 0 0 0 1.5rem;
    margin: 0 0 2.5rem;
}
.n_single_article ul li::before {
    content: "";
    display: block;
    width: .6rem;
    height: .6rem;
    border-radius: .6rem;
    background: #000;
    position: absolute;
    top: .5em;
    left: 0;
}
.n_single_article ul li > strong {
    display: inline-block;
    margin: 0 0 .5rem;
}
.n_single_article ul li img {
    margin-top: 1.5rem;
}

@media screen and (max-width : 767px) {
    .n_single_article ul li {
        padding: 0 0 0 2.0rem;
    }
}

/* align */
.n_single_article .left {
    text-align: left;
}
.n_single_article .right {
    text-align: right;
}
.n_single_article .center {
    text-align: center;
}

.n_single_article .grid_2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
    margin: 5rem 0;
}

/* figcaption */
.n_single_article small, .n_single_article figcaption {
    display: inline-block;
    color: #797574;
    margin-bottom: 2rem;
}
.n_single_article figcaption {
    display: block;
    margin-bottom: 2rem;
    text-align: center;
}

/* .border_box */
.n_single_article .border_box {
    border: solid 1px #E4E4E4;
    border-radius: .8rem;
    padding: 2.5rem 5rem 4.5rem;
    margin: 10rem 0 2rem;
}
.n_single_article .border_box p {
    line-height: 1.7;
    margin: 0 0 2.5rem;
}
.n_single_article .border_box p a {
    color: #005AFF;
}
.n_single_article .border_box p a:hover {
    text-decoration: underline;
}

@media screen and (max-width : 767px) {
    .n_single_article .border_box {
       padding: 1rem 2.5rem 2.5rem;
        margin: 6rem 0 2rem;
    }
    .n_single_article .border_box p {
        margin: 0 0 2rem;
    }
}

/* SNS */
.n_single_article .sns_share {
    background-color: #f5f5f5;
    padding: .6rem 1rem;
    border-radius: 4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: .2s ease;
    max-width: 20rem;
}
.n_single_article .sns_share_ttl {
    color: #B1B1B1;
    padding: 0 0 0 1rem;
    font-size: 1.4rem;
}
.n_single_article .sns_share_list {
    display: flex;
    justify-content: center;
    gap: .6rem;
    margin: 0;
}
.n_single_article .sns_share_list li {
    margin: 0;
    padding: 0;
}
.n_single_article .sns_share_list li::before {
    display: none;
}
.n_single_article .sns_share_item a {
    background-color: #fff;
    width: 2.6rem;
    height: 2.6rem;
    text-align: center;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.n_single_article .sns_share_item a.blank {
    padding-right: 0 !important;
}
.n_single_article .sns_share_item a.blank::after {
    display: none !important;
}
.n_single_article .sns_share_item svg {
    width: 100%;
    height: 100%;
    max-width: 1.5rem;
    max-height: 1.5rem;
}
.n_single_article .sns_share_item svg {
    fill: #B1B1B1;
    transition: .2s ease;
}

.n_single_article .sns_share_item.facebook svg {
    max-width: 1.6rem;
}
.n_single_article .sns_share_item.x svg {
    max-width: 1.3rem;
}

.n_single_article .sns_share:hover .sns_share_ttl {
    color: #000;
}
.n_single_article .sns_share_item a:hover svg {
    fill: #005AFF;
}

@media screen and (min-width : 768px) {
    .n_single_article .sns_share {
        position: absolute;
        top: 0;
        right: 0;
    }
}
@media screen and (max-width : 767px) {
    .n_single_article .sns_share {
        margin: 4.5rem 0 0;
    }
}

/* 関連記事 */
.n_single_related_articles_box {
    background-color: #F5F5F5;
    padding: 9rem 10rem;
    margin: 0 0 10rem;
}
.n_single_related_articles_list {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem 4rem;
    margin: 4rem 0 0;
}
.n_single_related_articles_item {
    grid-column: span 4;
}
.n_single_related_articles_item .blk {
    display: block;
    background-color: #fff;
    border-radius: .8rem;
}
.n_single_related_articles_item a {
    color: #005AFF;
}
.n_single_related_articles_item .tmb_box {
    width: 100%;
    height: 100%;
}
.n_single_related_articles_item .tmb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.n_single_related_articles_item .txt {
    padding: 2rem 3rem 5rem;
}
.n_single_related_articles_item .date {
    font-size: 1.3rem;
    margin: 0 0 .5rem;
}
.n_single_related_articles_item .ttl {
    font-weight: 700;
}
.n_single_related_articles_item a:hover {
    text-decoration: underline;
}

@media screen and (max-width : 767px) {
    .n_single_related_articles_box {
        padding: 4rem 1.8rem;
        margin: 0 0 6rem;
    }
    .n_single_related_articles_list {
        grid-template-columns: auto;
        padding: 2rem 0 0;
        gap: 1.6rem;
        margin: 0;
    }
}

/* ページ送り
---------------------------------------*/
.post_index_pager_wrap {
    text-align: center;
    margin: 6rem auto 0;
}
.post_index_pager {
    display: inline-block;
    background-color: #fff;
    padding: .6rem .6rem;
    border-radius: 5rem;
}
.index-pager {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    justify-content: center;
}
.index-pager-num {
    display: flex;
    gap: 1.2rem;
    align-items: center;
    justify-content: center;
}
.index-pager-num .page-numbers {
    font-size: 1.4rem;
    color: #4E4C4C;
}
.index-pager-num .page-numbers.current {
    color: #E60013;
}
.index-pager .prev, .index-pager .next {
    display: inline-block;
    vertical-align: middle;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    background-color: #F5F5F5;
    background-image: url(/jp/assets/images/common/icon_arrow_narrow_gry.svg);
    background-repeat: no-repeat;
    background-size: .7rem;
    background-position: center;
    transition: .2s ease;
    cursor: pointer;
}
.index-pager .prev {
    transform: scale(-1, -1)
}

@media screen and (max-width : 767px) {
    .post_index_pager_wrap {
        margin: 4rem auto 0;
    }
}

/* 別窓アイコン */
.n_single_article a.blank {
    padding-right: .2rem;
}
.n_single_article a.blank::after {
    content: "";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url(/jp/assets/images/common/icon_arrow_circle_bl.svg);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
    vertical-align: text-top;
    margin: .1rem .3rem 0 .3rem;
    transform: rotate(-45deg);
}
