@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap";
.rel-tecWrap {
    font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif
}
.leadSec {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    padding: 6.07vw;
    background: url(/assets/img/rnl_h1_bg.png) no-repeat center;
    background-size: cover
}
.leadSec h1 {
    font-size: 6.4rem
}
@media screen and (max-width: 499.9px) {
    .leadSec {
        min-height: 240px;
        background: url(/assets/img/rnl_h1_bg_sp.png) no-repeat center;
        background-size: cover
    }
    .leadSec h1 {
        font-size: 3.2rem
    }
}
.nrl-h1_lead {
    font-size: 2rem
}
@media screen and (max-width: 499.9px) {
    .nrl-h1_lead {
        font-size: 1.6rem
    }
}
.rnl-ttl-lev2-Wrap {
    position: relative;
    overflow: hidden;
    margin-bottom: 50px;
    padding-bottom: 20px;
    line-height: 1.6
}
@media screen and (max-width: 499.9px) {
    .rnl-ttl-lev2-Wrap {
        margin-bottom: 24px
    }
}
.rnl-ttl-lev2-Wrap .rnl-ttl-lev2 {
    width: 100%;
    max-width: 1366px;
    margin: auto;
    padding: 0 min(6.07vw, 83px);
    font-size: 5rem
}
@media screen and (max-width: 499.9px) {
    .rnl-ttl-lev2-Wrap .rnl-ttl-lev2 {
        font-size: 2.8rem
    }
}
.rnl-ttl-lev2-Wrap::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 2000px;
    height: 4px;
    background: #c9caca
}
.rnl-ttl-lev2-Wrap::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 600px);
    z-index: 2;
    width: 2000px;
    height: 4px;
    background: #10218b
}
@media all and (max-width: 1380px) {
    .rnl-ttl-lev2-Wrap::after {
        left: 6.07vw
    }
}
.rnl-ttl-lev3 {
    margin-top: 60px;
    margin-bottom: 60px;
    padding-left: 24px;
    border-left: 2px solid #10218b;
    font-size: 3.4rem
}
@media screen and (max-width: 499.9px) {
    .rnl-ttl-lev3 {
        margin-top: 40px;
        margin-bottom: 40px;
        padding-left: 16px;
        font-size: 2.2rem
    }
}

.page-jumplinks {
    padding-top: 14px;
    padding-bottom: 30px;
    background: #f8f8f8
}
.page-jumplinks__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px
}
.page-jumplinks__nav li {
    display: flex;
    width: calc((100% - 48px)/3)
}
@media screen and (max-width: 499.9px) {
    .page-jumplinks__nav li {
        width: 100%
    }
}
.page-jumplinks__nav li a {
    display: block;
    align-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 16px 56px 16px 16px;
    color: #000;
    border-bottom: 1px solid #10218b;
    transition: opacity .4s
}
.page-jumplinks__nav li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 23px;
    height: 23px;
    background: url(/assets/img/rnl_icon_arow_b.svg) no-repeat center/contain;
    transform: translateY(-50%);
    transition: transform .4s
}
.page-jumplinks__nav li a:hover, .page-jumplinks__nav li a:focus-visible {
    background: #ebf6fc;
    opacity: .8;
    text-decoration: none
}
.page-jumplinks__nav li a:hover::after, .page-jumplinks__nav li a:focus-visible::after {
    background-image: url(/assets/img/rnl_icon_arow_b_hv.svg);
    transform: translateY(calc(-50% + 5px))
}


/* page-jumplinks__nav--col2 未使用 */
/*
.page-jumplinks__nav--col2 li {
    width: calc((100% - 24px)/2)
}
@media screen and (max-width: 499.9px) {
    .page-jumplinks__nav--col2 li {
        width: 100%
    }
}
*/

@media screen and (max-width: 499.9px) {
    .page-jumplinks {
        padding-top: 4px;
        padding-bottom: 20px
    }
}

/*
アンカーリンクのナビアイコンを横向きリンクアイコンにしたバージョン
.local-links__nav {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px
}
@media screen and (max-width: 499.9px) {
    .local-links__nav {
        margin-top: 20px
    }
}
.local-links__nav li {
    display: flex;
    width: calc((100% - 48px)/3)
}
@media screen and (max-width: 499.9px) {
    .local-links__nav li {
        width: 100%
    }
}
.local-links__nav li a {
    display: block;
    align-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 16px 56px 16px 16px;
    color: #000;
    border-bottom: 1px solid #10218b;
    transition: opacity .4s
}
.local-links__nav li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 22px;
    height: 22px;
    background: url(/assets/img/rnl_icon_arow.svg) no-repeat center/contain;
    transform: translateY(-50%);
    transition: transform .45s cubic-bezier(0.165, 0.84, 0.44, 1)
}
.local-links__nav li a:hover, .local-links__nav li a:focus-visible {
    background: #ebf6fc;
    opacity: .8;
    text-decoration: none
}
.local-links__nav li a:hover::after, .local-links__nav li a:focus-visible::after {
    background-image: url(/assets/img/rnl_icon_arow_hv.svg);
    transform: translate(5px, -50%)
}
*/


.link-cardsList {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 30px;
    margin-bottom: 120px
}
.link-cardsList::after {
    content: "";
    flex: 1 1 calc((100% - 60px)/3);
    min-width: 260px
}
.link-cardsList li {
    display: flex;
    flex: 1 1 calc((100% - 60px)/3);
    min-width: 260px
}
.link-cardsList li a {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding-bottom: 16px;
    overflow: hidden;
    color: #000;
    border: 1px solid #10218b;
    border-radius: 16px;
    text-decoration: none;
    transition: opacity .45s ease, background-color .45s ease
}
.link-cardsList li a:hover, .link-cardsList li a:focus-visible {
    background-color: #ebf6fc;
    opacity: .86
}
.link-cardsList li a:hover img, .link-cardsList li a:focus-visible img {
    transform: scale(1.03)
}
.link-cardsList li a:hover .link-cardsList__text::after, 
.link-cardsList li a:focus-visible .link-cardsList__text::after {
    background-image: url(/assets/img/rnl_icon_arow_hv.svg);
    transform: translate(5px, -50%)
}

.link-cardsList__thumb {
    display: block;
    overflow: hidden
}
.link-cardsList__thumb img {
    display: block;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}
.link-cardsList__text {
    display: block;
    position: relative;
    margin: 0 24px;
    padding: 16px 40px 16px 0;
    border-bottom: 1px solid #10218b;
    font-size: 2rem
}
.link-cardsList__text::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    width: 22px;
    height: 22px;
    background: url(/assets/img/rnl_icon_arow.svg) no-repeat center/99% auto;
    transform: translateY(-50%);
    transition: transform .45s cubic-bezier(0.165, 0.84, 0.44, 1)
}

/*外部リンクアイコン*/
.link-cardsList li a[target=_blank] .link-cardsList__text::after {
    width: 18px;
    height: 18px;
    background: url(/assets/img/rnl_icon_blank.png) no-repeat center/contain;
}


.link-cardsList__lead {
    padding: 16px 24px 0 24px
}
@media screen and (max-width: 499.9px) {
    .link-cardsList {
        gap: 24px;
        margin-bottom: 60px
    }
    .link-cardsList li {
        flex-basis: 100%;
        min-width: 100%
    }
}





.rnl-columns {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-top: 60px
}
.rnl-columns__col {
    flex: 1 1 0;
    min-width: 0
}
.rnl-columns__col > *:first-child {
    margin-top: 0
}
.rnl-columns__col > *:last-child {
    margin-bottom: 0
}
.rnl-columns__col--image img {
    display: block;
    width: 100%;
    height: auto
}
.rnl-columns__col--image-fit {
    flex: 0 0 auto;
    max-width: 100%
}
.rnl-columns__col--image-fit img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto
}
@media screen and (max-width: 499.9px) {
    .rnl-columns {
        display: block;
        margin-top: 40px
    }
    .rnl-columns__col + .rnl-columns__col {
        margin-top: 30px
    }
    .rnl-columns__col > *:first-child {
        margin-top: 0
    }
}



.rnl-btnLink::after {
    transition: transform .45s cubic-bezier(0.165, 0.84, 0.44, 1)
}
.rnl-btnLink:hover::after, .rnl-btnLink:focus-visible::after {
    transform: translate(5px, -50%)
}
@media(prefers-reduced-motion: reduce) {
    .rnl-btnLink::after {
        transition: none
    }
    .rnl-btnLink:hover::after, .rnl-btnLink:focus-visible::after {
        transform: translateY(-50%)
    }
}
.rnl-btnLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-width: min(420px, 100%);
    min-height: 42px;
    padding: 6px 50px 6px 20px;
    color: #10218b;
    border: 1px solid #10218b;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: opacity .2s linear
}
@media screen and (max-width: 499.9px) {
    .rnl-btnLink {
        min-width: 100%;
        max-width: -moz-fit-content;
        max-width: fit-content
    }
}
.rnl-btnLink::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 12px;
    height: 12px;
    background: url(/assets/img/rnl_icon_arow_s_r.svg) no-repeat center/contain;
    transform: translateY(-50%)
}
.rnl-btnLink:hover, .rnl-btnLink:focus-visible {
    color: #fff;
    background: linear-gradient(90deg, #00A3E0 0%, #006CB8 35%, #10218B 72%, #4A2C8A 100%);
    text-decoration: none
}
.rnl-btnLink:hover::after, .rnl-btnLink:focus-visible::after {
    background: url(/assets/img/rnl_icon_arow_s_r_w.svg) no-repeat center/contain
}
.rnl-btnLink[target=_blank]::after, .rnl-btnLink[href^="http://"i]::after, .rnl-btnLink[href^="https://"i]::after {
    width: 14px;
    height: 14px;
    background: url(/assets/img/rnl_icon_blank.png) no-repeat center/contain
}
.rnl-btnLink[target=_blank]:hover::after, .rnl-btnLink[target=_blank]:focus-visible::after, .rnl-btnLink[href^="http://"i]:hover::after, .rnl-btnLink[href^="http://"i]:focus-visible::after, .rnl-btnLink[href^="https://"i]:hover::after, .rnl-btnLink[href^="https://"i]:focus-visible::after {
    background: url(/assets/img/rnl_icon_blank_hov.png) no-repeat center/contain
}
.rnl-btnLink[href$=".pdf"i]::after, .rnl-btnLink[href*=".pdf?"i]::after, .rnl-btnLink[href*=".pdf#"i]::after {
    width: 18px;
    height: 18px;
    background: url(/assets/img/rnl_icon_pdf.png) no-repeat center/contain
}
.rnl-btnLink[href$=".pdf"i]:hover::after, .rnl-btnLink[href$=".pdf"i]:focus-visible::after, .rnl-btnLink[href*=".pdf?"i]:hover::after, .rnl-btnLink[href*=".pdf?"i]:focus-visible::after, .rnl-btnLink[href*=".pdf#"i]:hover::after, .rnl-btnLink[href*=".pdf#"i]:focus-visible::after {
    background: url(/assets/img/rnl_icon_pdf_hov.png) no-repeat center/contain
}
.rnl-btnLink[href$=".doc"i]::after, .rnl-btnLink[href$=".docx"i]::after, .rnl-btnLink[href*=".doc?"i]::after, .rnl-btnLink[href*=".doc#"i]::after, .rnl-btnLink[href*=".docx?"i]::after, .rnl-btnLink[href*=".docx#"i]::after {
    width: 18px;
    height: 18px;
    background: url(/assets/img/rnl_icon_word.png) no-repeat center/contain
}
.rnl-btnLink[href$=".doc"i]:hover::after, .rnl-btnLink[href$=".doc"i]:focus-visible::after, .rnl-btnLink[href$=".docx"i]:hover::after, .rnl-btnLink[href$=".docx"i]:focus-visible::after, .rnl-btnLink[href*=".doc?"i]:hover::after, .rnl-btnLink[href*=".doc?"i]:focus-visible::after, .rnl-btnLink[href*=".doc#"i]:hover::after, .rnl-btnLink[href*=".doc#"i]:focus-visible::after, .rnl-btnLink[href*=".docx?"i]:hover::after, .rnl-btnLink[href*=".docx?"i]:focus-visible::after, .rnl-btnLink[href*=".docx#"i]:hover::after, .rnl-btnLink[href*=".docx#"i]:focus-visible::after {
    background: url(/assets/img/rnl_icon_word_hov.png) no-repeat center/contain
}
.rnl-btnLink[href$=".xls"i]::after, .rnl-btnLink[href$=".xlsx"i]::after, .rnl-btnLink[href*=".xls?"i]::after, .rnl-btnLink[href*=".xls#"i]::after, .rnl-btnLink[href*=".xlsx?"i]::after, .rnl-btnLink[href*=".xlsx#"i]::after {
    width: 18px;
    height: 18px;
    background: url(/assets/img/rnl_icon_excel.png) no-repeat center/contain
}
.rnl-btnLink[href$=".xls"i]:hover::after, .rnl-btnLink[href$=".xls"i]:focus-visible::after, .rnl-btnLink[href$=".xlsx"i]:hover::after, .rnl-btnLink[href$=".xlsx"i]:focus-visible::after, .rnl-btnLink[href*=".xls?"i]:hover::after, .rnl-btnLink[href*=".xls?"i]:focus-visible::after, .rnl-btnLink[href*=".xls#"i]:hover::after, .rnl-btnLink[href*=".xls#"i]:focus-visible::after, .rnl-btnLink[href*=".xlsx?"i]:hover::after, .rnl-btnLink[href*=".xlsx?"i]:focus-visible::after, .rnl-btnLink[href*=".xlsx#"i]:hover::after, .rnl-btnLink[href*=".xlsx#"i]:focus-visible::after {
    background: url(/assets/img/rnl_icon_excel_hov.png) no-repeat center/contain
}
.rnl-btnLinks {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 30px
}
@media screen and (max-width: 499.9px) {
    .rnl-btnLinks {
        gap: 10px
    }
}
.rnl-btnLinks .rnl-btnLink {
    flex: 0 1 auto
}


.rnl-top-ttlLev2 {
    margin-top: 100px;
    font-size: 5rem;
    line-height: 1.6
}
@media screen and (max-width: 499.9px) {
    .rnl-top-ttlLev2 {
        margin-top: 60px;
        font-size: 2.8rem
    }
}
.rnl-top-ttlLev3 {
    margin-top: 30px;
    font-size: 3.4rem;
    line-height: 1.6
}
@media screen and (max-width: 499.9px) {
    .rnl-top-ttlLev3 {
        margin-top: 20px;
        font-size: 2rem
    }
}
.rnl-top-ttlLev2__lead {
    font-size: 2rem;
    margin-top: 30px
}
@media screen and (max-width: 499.9px) {
    .rnl-top-ttlLev2__lead {
        font-size: 1.6rem;
        margin-top: 20px
    }
}

@media(prefers-reduced-motion: reduce) {

    .link-cardsList li a {
        transition: none
    }
    .link-cardsList li a:hover img, .link-cardsList li a:focus-visible img {
        transform: none
    }
    .link-cardsList li a:hover .link-cardsList__text::after, 
	.link-cardsList li a:focus-visible .link-cardsList__text::after {
        transform: translateY(-50%)
    }
    .link-cardsList__thumb img {
        transition: none
    }
    .link-cardsList__text::after {
        transition: none
    }
} /*# sourceMappingURL=rnl-technology.css.map */