@charset "utf-8";

/* =========================================================
   IASO NEWS / JOURNAL | TB 768px-1180px
   Shared namespace for News List / News Detail.
========================================================= */
:root {
    --news-navy:#183247;
    --news-blue:#6e9db8;
    --news-ivory:#f8f7f3;
    --news-sky:#f3f8fb;
    --news-text:#334652;
    --news-muted:#71818a;
    --news-line:#dbe4e9;
    --news-white:#ffffff;
}

.NewsListPage {
    color:var(--news-text);
    background:var(--news-white);
    overflow:hidden;
}

.NewsListPage *,
.NewsListPage *::before,
.NewsListPage *::after {
    box-sizing:border-box;
}

.NewsInner {
    width:calc(100% - 72px);
    max-width:1040px;
    margin:0 auto;
}

.NewsEyebrow {
    margin:0 0 16px;
    color:var(--news-blue);
    font-size:10px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.19em;
}

/* LIST HERO -------------------------------------------- */
.NewsHero {
    position:relative;
    height:590px;
    min-height:590px;
    max-height:590px;
    overflow:hidden;
    background:linear-gradient(135deg,#f8f7f3 0%,#f3f8fb 58%,#edf5f8 100%);
}

.NewsHero::after {
    content:"";
    position:absolute;
    top:-150px;
    right:-130px;
    width:430px;
    height:430px;
    border:1px solid rgba(110,157,184,.12);
    border-radius:50%;
    pointer-events:none;
}

.NewsHero__inner {
    position:relative;
    z-index:1;
    height:100%;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
}

.NewsHero__inner > * {
    width:72%;
    max-width:680px;
}

.NewsHero h1 {
    margin:0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:40px;
    font-weight:500;
    line-height:1.5;
    letter-spacing:.04em;
}

.NewsHero__lead {
    margin:26px 0 0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:18px;
    font-weight:500;
    line-height:1.9;
}

.NewsHero__text {
    max-width:610px;
    margin:18px 0 0;
    color:#536873;
    font-size:13.5px;
    line-height:2.05;
}

.NewsHero__meta {
    display:flex;
    gap:28px;
    margin-top:34px;
    padding-top:21px;
    border-top:1px solid var(--news-line);
    color:var(--news-muted);
    font-size:8px;
    line-height:1.4;
    letter-spacing:.15em;
}

/* CATEGORY NAV ----------------------------------------- */
.NewsCategoryNav {
    border-top:1px solid var(--news-line);
    border-bottom:1px solid var(--news-line);
    background:#fff;
}

.NewsCategoryNav .NewsInner {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.NewsCategoryNav__inner {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    background:var(--news-line);
    counter-reset:news-category;
}

.NewsCategoryNav__link {
    position:relative;
    min-width:0;
    min-height:74px;
    padding:18px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:var(--news-navy);
    background:#fff;
    text-align:center;
    text-decoration:none;
    transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;
}

.NewsCategoryNav__link::before {
    counter-increment:news-category;
    content:counter(news-category,decimal-leading-zero);
    flex:0 0 auto;
    color:var(--news-blue);
    font-family:Georgia,"Times New Roman",serif;
    font-size:11px;
    font-weight:400;
    line-height:1;
}

.NewsCategoryNav__link span { display:none; }

.NewsCategoryNav__link strong {
    color:var(--news-navy);
    font-size:10.5px;
    font-weight:500;
    line-height:1.55;
}

.NewsCategoryNav__link::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:transparent;
}

.NewsCategoryNav__link.is-active {
    background:rgba(110,157,184,.065);
    box-shadow:inset 0 -2px 0 rgba(110,157,184,.42);
}

.NewsCategoryNav__link.is-active::after { background:var(--news-blue); }

/* ARCHIVE ---------------------------------------------- */
.NewsArchive {
    padding:96px 0 108px;
    background:#fff;
}

.NewsArchive__head {
    margin-bottom:54px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);
    gap:50px;
    align-items:end;
}

.NewsArchive__head h2 {
    margin:0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:34px;
    font-weight:500;
    line-height:1.65;
    letter-spacing:.04em;
}

.NewsArchive__intro {
    margin:0;
    padding-bottom:6px;
    color:var(--news-muted);
    font-size:13px;
    line-height:2;
}

.NewsArchive__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:58px 22px;
}

.NewsCard { min-width:0; }

.NewsCard__visual {
    position:relative;
    display:block;
    padding:6px;
    border:1px solid rgba(110,157,184,.28);
    text-decoration:none;
}

.NewsCard__imageFrame {
    position:relative;
    display:block;
    overflow:hidden;
    background:var(--news-sky);
}

.NewsCard__visual img {
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

.NewsCard__imageShade {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(24,50,71,0) 54%,rgba(24,50,71,.18) 100%);
    opacity:.55;
    pointer-events:none;
}

.NewsCard__imageArrow {
    position:absolute;
    right:11px;
    bottom:11px;
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.78);
    border-radius:50%;
    color:#fff;
    background:rgba(24,50,71,.34);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    font-size:12px;
    line-height:1;
}

.NewsCard__body { padding-top:19px; }

.NewsCard__meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 14px;
    color:var(--news-muted);
    font-size:9px;
    line-height:1.5;
    letter-spacing:.07em;
}

.NewsCard__meta span {
    position:relative;
    padding-left:15px;
    color:var(--news-blue);
    font-weight:600;
}

.NewsCard__meta span::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:7px;
    height:1px;
    background:#aac2cf;
}

.NewsCard h3 {
    margin:14px 0 0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:17px;
    font-weight:500;
    line-height:1.72;
    letter-spacing:.02em;
}

.NewsCard h3 a {
    color:inherit;
    text-decoration:none;
}

.NewsCard__link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:17px;
    padding-bottom:4px;
    border-bottom:1px solid #9eb5c2;
    color:var(--news-navy);
    font-size:9px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.13em;
    text-decoration:none;
}

.NewsCard__link::after {
    content:"→";
    color:var(--news-blue);
}

/* PAGER ------------------------------------------------ */
.NewsPager {
    margin-top:72px;
    padding-top:30px;
    border-top:1px solid var(--news-line);
}

.NewsPager__inner {
    display:grid;
    grid-template-columns:100px minmax(0,1fr) 100px;
    align-items:center;
    gap:20px;
}

.NewsPager__pages {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

.NewsPager__page {
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    color:var(--news-navy);
    background:transparent;
    font-family:Georgia,"Times New Roman",serif;
    font-size:12px;
    line-height:1;
    text-decoration:none;
}

.NewsPager__page.is-current {
    border-color:var(--news-navy);
    background:var(--news-navy);
    color:#fff;
}

.NewsPager__control {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--news-navy);
    font-size:8px;
    font-weight:600;
    line-height:1;
    letter-spacing:.15em;
    text-decoration:none;
}

.NewsPager__prev { justify-self:start; }
.NewsPager__next { justify-self:end; }
.NewsPager__control.is-disabled { color:#b9c5cb; }

/* LIST CLOSING ----------------------------------------- */
.NewsClosing {
    padding:108px 0 116px;
    background:var(--news-navy);
    text-align:center;
}

.NewsClosing__inner { max-width:820px; }
.NewsClosing .NewsEyebrow { color:#9bc1d4; }

.NewsClosing h2 {
    margin:0;
    color:#fff;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:34px;
    font-weight:500;
    line-height:1.7;
    letter-spacing:.04em;
}

.NewsClosing__inner > p:not(.NewsEyebrow) {
    max-width:680px;
    margin:27px auto 0;
    color:#cbd8df;
    font-size:13px;
    line-height:2.05;
}

.NewsClosing__actions {
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:36px;
}

/* =========================================================
   NEWS DETAIL / TB
========================================================= */
.NewsDetailPage {
    color:var(--news-text);
    background:#fff;
    overflow:hidden;
}

.NewsDetailPage *,
.NewsDetailPage *::before,
.NewsDetailPage *::after {
    box-sizing:border-box;
}

.NewsArticleHero {
    position:relative;
    min-height:590px;
    overflow:hidden;
    background:linear-gradient(115deg,#fbfaf7 0%,#f7fafc 48%,#eef5f8 100%);
}

.NewsArticleHero::before {
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:45%;
    height:100%;
    background:linear-gradient(180deg,rgba(110,157,184,.045),rgba(110,157,184,.08));
    pointer-events:none;
}

.NewsArticleHero::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:rgba(110,157,184,.18);
}

.NewsArticleHero__inner {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
    gap:44px;
    align-items:center;
    min-height:590px;
    padding:56px 0 50px;
}

.NewsArticleHero__copy {
    position:relative;
    min-width:0;
    padding:6px 0 6px 22px;
}

.NewsArticleHero__copy::before {
    content:"";
    position:absolute;
    left:0;
    top:8px;
    width:1px;
    height:60px;
    background:linear-gradient(180deg,var(--news-blue),rgba(110,157,184,.18));
}

.NewsArticleHero .NewsEyebrow {
    margin-bottom:17px;
}

.NewsArticleHero__meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 18px;
    margin:0 0 19px;
    color:#748792;
    font-size:8.5px;
    line-height:1.5;
    letter-spacing:.09em;
}

.NewsArticleHero__meta a {
    position:relative;
    padding-left:15px;
    color:var(--news-blue);
    font-weight:600;
    text-decoration:none;
}

.NewsArticleHero__meta a::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:1px;
    background:#abc3cf;
}

.NewsArticleHero h1 {
    margin:0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:30px;
    font-weight:500;
    line-height:1.68;
    letter-spacing:.025em;
}

.NewsArticleHero__footer {
    margin-top:26px;
    padding-top:13px;
    display:flex;
    align-items:center;
    gap:20px;
    border-top:1px solid rgba(110,157,184,.2);
    color:#82929a;
    font-size:7px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.16em;
}

.NewsArticleHero__footer span + span {
    position:relative;
    padding-left:20px;
}

.NewsArticleHero__footer span + span::before {
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:8px;
    height:1px;
    background:#bfd0d8;
}

.NewsArticleHero__visual {
    position:relative;
    width:100%;
    margin:0;
    padding:14px 14px 22px 0;
}

.NewsArticleHero__visual::before {
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:88%;
    height:90%;
    border:1px solid rgba(110,157,184,.16);
    background:rgba(255,255,255,.28);
}

.NewsArticleHero__visual::after {
    content:"";
    position:absolute;
    left:-18px;
    bottom:40px;
    width:62px;
    height:1px;
}

.NewsArticleHero__visualFrame {
    position:relative;
    z-index:1;
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#fff;
    box-shadow:0 20px 46px rgba(24,50,71,.09);
}

.NewsArticleHero__visualFrame::after {
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(24,50,71,.06);
    pointer-events:none;
}

.NewsArticleHero__visualFrame img {
    display:block;
    width:100%;
    height:360px;
    object-fit:contain;
    background:#fff;
}

.NewsArticleHero__visual figcaption {
    position:relative;
    z-index:1;
    margin:10px 14px 0 0;
    display:flex;
    justify-content:flex-end;
    gap:11px;
    color:#8a99a1;
    font-size:7px;
    line-height:1.4;
    letter-spacing:.14em;
}

.NewsArticleHero__visual figcaption strong {
    color:var(--news-blue);
    font-size:7px;
    font-weight:600;
}

.NewsArticleHero--noimage {
    min-height:500px;
}

.NewsArticleHero--noimage .NewsArticleHero__inner {
    display:block;
    min-height:500px;
    padding-top:86px;
    padding-bottom:74px;
}

.NewsArticleHero--noimage .NewsArticleHero__copy {
    width:min(760px,88%);
}

.NewsArticle {
    padding:72px 0 104px;
    background:#fff;
}

.NewsArticle__layout {
    position:relative;
    width:min(700px,100%);
    margin:0 auto;
}

.NewsArticle__layout::before {
    content:"";
    display:block;
    width:38px;
    height:1px;
    margin:0 0 36px;
    background:#9ebdcc;
}

.NewsArticleBody {
    color:#344a56;
    font-size:14px;
    line-height:2.1;
    overflow-wrap:anywhere;
}

.NewsArticleBody p {
    margin:0 0 25px;
}

.NewsArticleBody a {
    color:#477d99;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:4px;
}

.NewsArticleBody img,
.NewsArticleBody iframe {
    display:block;
    max-width:100%;
    height:auto;
    margin:36px auto;
}

.NewsArticleBody h2,
.NewsArticleBody .Newsdetailh2 {
    margin:62px 0 25px;
    padding:0 0 16px;
    border-bottom:1px solid #b9cbd5;
    color:var(--news-navy);
    background:transparent;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:25px;
    font-weight:500;
    line-height:1.7;
}

.NewsArticleBody h3,
.NewsArticleBody .Newsdetailh3,
.NewsArticleBody .subsubTi {
    margin:44px 0 20px;
    padding-left:15px;
    border-left:2px solid #8fb7ca;
    color:var(--news-navy);
    background:none;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:19px;
    font-weight:500;
    line-height:1.75;
}

.NewsArticleBody .Heading {
    margin:42px 0;
    padding:25px 26px;
    border:1px solid var(--news-line);
    background:#f8fbfc;
    text-align:left;
}

.NewsArticleBody .mame,
.NewsArticleBody .caution {
    margin:30px 0;
    padding:22px 23px;
    border-radius:0;
    font-size:13px;
    line-height:1.95;
}

.NewsArticleBody .mame {
    border:1px solid #d5e6ed;
    background:#f3f9fb;
    color:#526b78;
}

.NewsArticleBody .caution {
    border:1px solid #eadfda;
    background:#fcf9f7;
    color:#6d5a52;
}

.NewsArticleBody .Emphasis2_borderline {
    color:var(--news-navy);
    background:linear-gradient(transparent 68%,rgba(110,157,184,.16) 0);
    font-weight:600;
}

.NewsArticle__footer {
    margin-top:66px;
    padding-top:26px;
    border-top:1px solid var(--news-line);
}

.NewsArticle__footerMeta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.NewsArticle__footerMeta a {
    min-height:84px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:18px 20px;
    border:1px solid var(--news-line);
    color:var(--news-navy);
    text-decoration:none;
}

.NewsArticle__footerMeta span {
    color:var(--news-blue);
    font-size:7.5px;
    font-weight:600;
    letter-spacing:.14em;
}

.NewsArticle__footerMeta strong {
    font-size:12px;
    font-weight:500;
    line-height:1.6;
}

.NewsRelated {
    padding:96px 0 104px;
    background:#f7fafb;
}

.NewsRelated__head {
    margin-bottom:42px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
}

.NewsRelated__head h2 {
    margin:0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:30px;
    font-weight:500;
    line-height:1.65;
}

.NewsRelated__all {
    padding-bottom:4px;
    border-bottom:1px solid #9eb5c2;
    color:var(--news-navy);
    font-size:9px;
    font-weight:600;
    letter-spacing:.12em;
    text-decoration:none;
}

.NewsRelated__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.NewsRelatedCard__visual {
    display:block;
    padding:5px;
    border:1px solid rgba(110,157,184,.26);
    background:#fff;
    text-decoration:none;
}

.NewsRelatedCard__imageFrame {
    position:relative;
    display:block;
    overflow:hidden;
}

.NewsRelatedCard__imageFrame img {
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

.NewsRelatedCard__arrow {
    position:absolute;
    right:9px;
    bottom:9px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.8);
    border-radius:50%;
    color:#fff;
    background:rgba(24,50,71,.34);
    font-size:11px;
}

.NewsRelatedCard__body { padding-top:15px; }

.NewsRelatedCard__meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    color:var(--news-muted);
    font-size:8.5px;
}

.NewsRelatedCard__meta span { color:var(--news-blue); }

.NewsRelatedCard h3 {
    margin:10px 0 0;
    color:var(--news-navy);
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:15px;
    font-weight:500;
    line-height:1.75;
}

.NewsRelatedCard h3 a {
    color:inherit;
    text-decoration:none;
}

.NewsDetailClosing {
    padding:106px 0 114px;
    background:var(--news-navy);
    text-align:center;
}

.NewsDetailClosing__inner {
    max-width:790px;
}

.NewsDetailClosing .NewsEyebrow { color:#9bc1d4; }

.NewsDetailClosing h2 {
    margin:0;
    color:#fff;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:34px;
    font-weight:500;
    line-height:1.72;
}

.NewsDetailClosing__inner > p:not(.NewsEyebrow) {
    max-width:650px;
    margin:25px auto 0;
    color:#cbd8df;
    font-size:13px;
    line-height:2;
}

.NewsDetailClosing__actions {
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:34px;
}

/* NARROW TABLET ---------------------------------------- */
@media screen and (max-width:900px) {
    .NewsInner {
        width:calc(100% - 56px);
    }

    .NewsHero__inner > * {
        width:82%;
    }

    .NewsCategoryNav__inner {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .NewsCategoryNav__link {
        min-height:70px;
        padding:16px 14px;
    }

    .NewsArchive {
        padding:88px 0 96px;
    }

    .NewsArchive__head {
        grid-template-columns:1fr;
        gap:18px;
        margin-bottom:46px;
    }

    .NewsArchive__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:52px 24px;
    }

    .NewsCard h3 {
        font-size:18px;
    }

    .NewsPager__inner {
        grid-template-columns:84px minmax(0,1fr) 84px;
        gap:12px;
    }

    .NewsPager__pages { gap:4px; }

    .NewsPager__page {
        width:34px;
        height:34px;
        font-size:11px;
    }

    .NewsArticleHero {
        min-height:0;
    }

    .NewsArticleHero::before {
        width:100%;
        height:48%;
        top:auto;
        bottom:0;
    }

    .NewsArticleHero__inner {
        min-height:0;
        grid-template-columns:1fr;
        gap:38px;
        padding:68px 0 52px;
    }

    .NewsArticleHero__copy {
        width:min(720px,92%);
    }

    .NewsArticleHero h1 {
        font-size:30px;
        line-height:1.7;
    }

    .NewsArticleHero__visual {
        width:min(760px,100%);
        margin:0 auto;
        padding:12px 12px 20px 0;
    }

    .NewsArticleHero__visualFrame {
        min-height:0;
    }

    .NewsArticleHero__visualFrame img {
        height:auto;
        max-height:460px;
        object-fit:contain;
    }

    .NewsArticleHero__visual::after {
        left:-14px;
        bottom:36px;
        width:54px;
    }

    .NewsArticle {
        padding:68px 0 92px;
    }

    .NewsArticle__layout {
        width:min(680px,100%);
    }

    .NewsRelated__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:34px 22px;
    }

    .NewsRelatedCard h3 {
        font-size:17px;
    }
}
